0% found this document useful (0 votes)
73 views

Computer Science - Algorithms

This document discusses algorithms for sorting and searching. It introduces the concepts of sorting algorithms like bubble, selection and insertion sorts. Sorting is useful for organizing large datasets like phone numbers or interests of people. Other applications of sorting include statistical analysis of data. The document then discusses the history of databases and how sorting algorithms were implemented in early databases in the late 19th century. It provides an example of an insertion sort algorithm and discusses how sorting can be done in logarithmic time using binary search trees.

Uploaded by

abun1s
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
73 views

Computer Science - Algorithms

This document discusses algorithms for sorting and searching. It introduces the concepts of sorting algorithms like bubble, selection and insertion sorts. Sorting is useful for organizing large datasets like phone numbers or interests of people. Other applications of sorting include statistical analysis of data. The document then discusses the history of databases and how sorting algorithms were implemented in early databases in the late 19th century. It provides an example of an insertion sort algorithm and discusses how sorting can be done in logarithmic time using binary search trees.

Uploaded by

abun1s
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 42

1

dalagebisa da Zebnis algoriTmebi da maTi Sefaseba

wina semestris Sesaval kursSi Cven ganvixileT YmimarTebebi da dalagebaA: Tu mocemul simravleze gansazRvruli iyo dalageba (sruli, antisimetriuli da tranzituli mimarTeba), am simravleze gansazRvruli sityvebic SeiZleboda garkveuli wesiT dagvelagebina. dalagebul simravleebze bevri amocanis
swrafad gadaWra SeiZleba, maT Soris Zebnisac: milioniani qalaqis telefonis wignSi mocemuli saxelisa da gvaris pirovnebis nomris povna, rogorc wesi, sul ramodenime wams grZeldeba, daulagebel
simravleSi Zebnas ki yvela Tavs aaridebda. dalagebis sxva gamoyeneba statistikuri monacemebis gadamuSavebaSia: davuSvaT, gvainteresebs, saqarTveloSi 25 - 30 wlis asakis ramden moqalaqes aqvs miRebuli ganaTleba Tbilisis saxelmwifo universitetSi? amisaTvis saqarTvelos moqalaqeTa baza unda
davaxarisxoT jer asakis mixedviT, Semdeg ki - ganaTlebis miRebis institutis mixedviT. Sedegad miRebuli ori cxrilidan advilad SeiZleba statistikis dadgena.
Tu saWiroa did monacemTa bazaSi gameorebebis aRmofxvra, aqac Sedegs bazis dalagebiT efeqturad
miviRebT.
didi bazis gadamuSavebis erT-erTi pirveli magaliTia amerikis SeerTebuli Statebis mosaxleobis
1880 wlis aRwera. 1500 adamiani Svidi wlis ganmavlobaSi alagebda bazas saWiro monacemebis mixedviT.
im droisaTvis ucnobma inJinerma herman holeriTma

(Herman Hollerith)

daaxloebiT aTi weli moandoma

damaxarisxebeli manqanebis Seqmnas, romlis saSualebiTac 1890 wlis aRwera (meti mosaxleobiTa da
dasamuSavebeli monacemiT) xuTasma TanamSromelma or weliwadze nakleb droSi daasrula. holeriTis firma, romelic 1924 wlidan

International Business Machines (IBM) Corporation

saxeliTaa cnobili,

SemdgomSic did rols TamaSobda mecnierebasa da teqnikaSi. yvelaferi ki dalagebis algoriTmebiTa


da maTi implementaciiT daiwyo.
rogorc viciT, erTsa da imave simravleze SesaZlebelia sxvadasxva dalagebis gansazRvra (aq da SemdgomSi - Tu sxvagvarad ar iqna aRniSnuli - ganvixilavT srul da refleqsur dalagebas
savarjiSo

1.1: N

savarjiSo

1.2:

naturalur ricxvTa simravleze moiyvaneT xuTi sxvadasxva dalagebis magaliTi.

mocemulia ori simravle

sazRvroT dalageba
savarjiSo

1.3:

a b |a| |b|

).

AB

dalagebiT

gansazRvreT iseTi sruli dalageba


(Tu

da

dalagebiT

B .

rogor SeiZleba ganv-

simravleze?

c = (c1 , c2 ) C, |c| =

c21

c22 ).

kompleqsur ricxvTa

C = RR

simravleze, rom

1.1

Zebna da Casma dalagebul mimdevrobebSi

ganvixiloT Semdegi Zebnis amocana: mocemulia dalagebui mimdevroba


da elementi
Tu ara

c.

daadgineT, WeSmaritia Tu ara

elementi

c A.

A = (a1 , a2 , ..., an ), a1 a2 ... an

sxva sityvebiT rom vTqvaT, unda davadginoT, aris

siaSi.

cxadia, rom Cven SegviZlia

mimdevrobis yvela elementis

ricxvTan Sedareba da Tu

i, ai = c,

pasuxi

iqneba YkiA, winaaRmdeg SemTxvevaSi - YaraA.


savarjiSo
Tu ara

1.4:

dawereT rekursiuli algoriTmi, romelic zemoT aRwerili meTodiT daadgens, Sedis

elementi

mimdevrobaSi.

daamtkiceT, rom Tu

|A| = n,

yvelaze cud SemTxvevaSi

O(n)

biji

iqneba saWiro. ramdeni biji daWirdeba algoriTms yvelaze karg SemTxvevaSi?


am meTodSi Cven ar viTvaliswinebT im faqts, rom
vrobaSi, Tu aviRebT

ai

simravle dalagebulia. ara da, dalagebul mimde-

simravlis nebismier elements

ai

da

c > ai ,

maSin cxadia, rom Zebna mimdevrobis

elementidan marcxena nawilSi saWiro araa. am ideazea agebuli Semdegi algoriTmi:

Sua elements vuwodoT


ments). Tu

a = c,

mimdevrobis

(Tu Sua elementi ar arsebobs, viRebT siis marjvena naxevris minimalur ele-

maSin vadgenT, rom

c A da algoriTms vasrulebT. Tu c < a,

maSin Zebna

A siis marcxena

naxevarSi unda gavagrZeloT, winaaRmdeg SemTxvevaSi - marjvenaSi. am proceduras vimeorebT manam, sanam
saZiebeli simravle carieli ar iqneba (anu saZiebeli elementi ar moiZebneba).
magaliTi

1.1:

sawyisi monacemi:

c < a?
A

1 = 5? ara; 1 < 5? ki
(12, 8, 1, 2, 3, 4, [5], 8, 9, 11, 12, 13, 17)
|
{z
}
1 = 1?
([1])

magaliTi

1 = 2? ara; 1 < 2? ki
(12, 8, 1, [2], 3, 4)
| {z }

1 = 8? ara; 1 < 8?
(12, [8], |{z}
1 )

ara

ki
pasuxi: arsebobs

1.2:

sawyisi monacemi:

c < a?
A

A = (12, 8, 1, 2, 3, 4, 5, 8, 9, 11, 12, 13, 17), c = 1.

A = (12, 8, 1, 2, 3, 4, 5, 8, 9, 11, 12, 13, 17), c = 15.

15 = 5? ara; 15 < 5? ara


15 = 12? ara; 15 < 12?
(12, 8, 1, 2, 3, 4, [5], 8, 9, 11, 12, 13, 17) (8, 9, 11, [12], 13, 17)
|
{z
}
| {z }
15 = 13?
([13])

ara

15 = 17? ara; 15 < 17?


(|{z}
13 , [17])

ki

ara

()

pasuxi: ar arsebobs

iteraciulad es algoriTmi Semdegnairad SeiZleba Caiweros:


mocemuloba:

racionaluri ricxvebisgan Semdgari, dalagebuli sasruli mimdevroba

luri ricxvi

c;

Sedegi: pasuxi SekiTxvaze

c A?

Find( A, c )
A mimdevroba carieli araa, gaimeore Semdegi operaciebi:
{
a = A mimdevrobis Sua elementi;
if( a = c ) {return(YkiA)}
else if( a < c ) A = A simravlis marjvena naxevari;
else A = A simravlis marcxena naxevari
}
{return(YaraA)}
sanam

da raciona-

savarjiSo

1.5:

savarjiSo

1.6: daamtkiceT, rom zemoT moyvanili algoriTmis drois zeda zRvaria O(log n), sadac n = |A|

igive amocana CawereT rekursiulad da daamtkiceT misi siswore.

(Sedarebisa da simravlis marcxena an marjvena nawilis aRebis operaciebi TiTo bijad CaTvaleT). ra
aris Zebnis amocanis drois qveda zRvari?
igive principzea agebuli dalagebul simravleSi
mimdevrobaSi

unda CavamatoT axali elementi

elementis Camatebis amocana: mocemul dalagebul

ise, rom miRebuli mimdevrobac dalagebuli iyos.

gansxvaveba isaa, rom Tu povnis amocanaSi veZebdiT elements

ai c ai+1

aq veZebT or erTmaneTis miyolebiT

ai , ai+1

c < a1 an c > an ,

axali elementi siis TavSi an Sesabamisad boloSi unda Caisvas). TvalsaCinoebisaTvis

iseTs, rom

da

ai = c,

myof elements

am or elements Soris unda CavsvaT (cxadia, Tu

moviyvanoT Semdegi magaliTi:


magaliTi

1.3:

sawyisi monacemi:

ai1 c ai ?
A
magaliTi

A = (6, 8, 9, 11, 12, 13, 17), c = 7.

7 6? ara;
([6], 8, 9, 11, 12, 13, 17)

A = (6, [7], 8, 9, 11, 12, 13, 17).

A = (6, 8, 9, 11, 12, 13, 17), c = 20.

ai1 c ai ?

ai1

pasuxi:

1.4:

sawyisi monacemi:

ai1

7 8? ki;
(6, [8], 9, 11, 12, 13, 17)

20 6? ara;
([6], 8, 9, 11, 12, 13, 17)
c ai ? 20 11? ara;
(6, 8, 9, [11], 12, 13, 17)
c ai ? 20 17? ara;
(6, 8, 9, 11, 12, 13, [17])

20 8? ara;
(6, [8], 9, 11, 12, 13, 17)
20 12? ara;
(6, 8, 9, 11, [12], 13, 17)
pasuxi:

20 9? ara;
(6, 8, [9], 11, 12, 13, 17)
20 13? ara;
(6, 8, 9, 11, 12, [13], 17)

A = (6, 8, 9, 11, 12, 13, 17, [20])

rogorc vxedavT, imis mixedviT, Tu rogori monacemi gveqneba, bijebis raodenoba SeiZleba ar iyos
damokidebuli monacemTa sigrZeze (rogorc pirvel magaliTSi), an iyos daaxloebiT imdenive, ramdenic
monacemTa sigrZea (meore magaliTi). aqedan gamomdinare, am meTodiT Casmis bijebis raodenobis qveda da
zeda zRvari iqneba

(1) da O(n) (sxva sityvebiT rom vTqvaT, monacemebisgan damoukideblad, dagvWirdeba


n + 1 biji - yovel elemntTan Sedareba da bolos Casma).

minimum ori biji - Sedareba da Casma - an maqsimum


Tu gaviTvaliswinebT im faqts, rom

mimdevroba dalagebulia, maSin SegviZlia igive meTodi gamovi-

yenoT, rogorc elementis Zebnis amocanaSi: veZebT iseT elements

ai1 c ai

an

ai c ai+1 .

Tu

c a1

an

c an ,

ai ,

romlisTvisac sruldeba piroba

axali elementi emateba Sesabamisad TavSi an boloSi.

TvalsaCinoebisaTvis ganvixiloT Semdegi magaliTi:


sawyisi monacemi:

ai1 c ai ?

A = (6, 8, 9, 11, 12, 13, 17), c = 20.

20 11? ara;
20 13? ara;
(6, 8, 9, [11], 12, 13, 17) (6, 8, 9, 11, 12, [13], 17)
|
{z
}
| {z }
20 17? ara;
(6, 8, 9, 11, 12, 13, [17] ) pasuxi: A = (6, 8, 9, 11, 12, 13, 17, [20])
|{z}

zogadad es meTodi Semdegi algoriTmiT SeiZleba Caiweros:


mocemuloba: racionaluri ricxvebisgan Semdgari, dalagebuli sasruli aracarieli mimdevroba

(a1 , a2 , ..., an )
Sedegi:

da racionaluri ricxvi

A {c}

A=

c;

simravlis elementebisgan Semdgari dalagebuli mimdevroba.

InsertFast( a1 , a2 , ..., an , c )
if( c a1 )
{A = (c, a1 , a2 , ..., an ); return(A) }

/* Tu SesaZlebelia, pirvel elementad CavsvaT */

if( c an )
{A = (a1 , a2 , ..., an , c); return(A) }

/* Tu SesaZlebelia, bolo elementad CavsvaT */

min = 1;
max = n;
do
{

/* davadginoT saZiebeli nawilis sazRvrebi */

e;
i = d min+max
2

/* saZiebeli nawilis Sua elementis indeqsi */

if( ai1 c ai )
{A = (a1 , ..., ai1 , c, ai , ..., an ); return(A) }
if( ai c ai+1 )
/*
{A = (a1 , ..., ai , c, ai+1 , ..., an ); return(A) }
if( c < ai )
max = i;
else min = i;
}

Tu SesaZlebelia, axali elementi saWiro adgilze CavsvaT */

/* saZiebeli nawilis axali sazRvrebi: marcxena naxevari */


/* saZiebeli nawilis axali sazRvrebi: marjvena naxevari */

savarjiSo

1.7:

daamtkiceT, rom zemoT moyvanili algoriTmi yovelTvis SeCerdeba.

savarjiSo

1.8:

daamtkiceT zemoT moyvanili algoriTmis siswore.

savarjiSo

1.9: daamtkiceT, rom zemoT moyvanili algoriTmis drois qveda zRvaria (1).

razea damokide-

buli misi zeda zRvari?


aRsaniSnavia, rom es algoriTmi pirvelze (miyolebiT Zebna da mere Casma) gacilebiT ufro swrafi SeiZleba iyos (magaliTad,
bijs

210 = 1024

elementian siaSi Camatebas miyolebiTi algoriTmi daaxloebiT 2000

SeiZleba andomebdes, xolo

InsertFast

algoriTmi (monacemTa saTanado struqturis SerCevisas)

daaxloebiT 70 bijSi amTavrebdes muSaobas.


es imas ar unda niSnavdes, rom mimdevrobiTi algoriTmi

yovelTvis ufro neli iqneba - garkveuli

monacemebisTvis igi SeiZleba ufro swrafic iyos, magram yvelaze cud SemTxvevaSi

InsertFast algoriTmi

gacilebiT ufro swrafia.


savarjiSo

1.10:

daamtkiceT, rom

A = (1, 2, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)


InsertFast.

da

c=3

monacemisaTvis mimde-

vrobiT Casmis algoriTmi ufro swrafia, vidre

imisaTvis, rom mimdevrobaSi elementi CavamatoT, saWiroa algoriTmi, romelic monacemTa struqturazea damokidebuli. Tu gvaqvs elementebis veqtori, saWiro adgilze Casamateblad mis marjvniv myofi
elementebi unda gadavanacvloT TiTo poziciiT marjvniv, rom adgili YganTavisufldesA:
cvladi
mniSvn.
cvladi
mniSvn.
cvladi
mniSvn.

A[1] A[2] A[3] A[4] A[5] A[6]

1
2
4
5
6

cvladi

A[1] A[2] A[3] A[4] A[5] A[6]

1
2
4
5
6

cvladi

A[1] A[2] A[3] A[4] A[5] A[6]

1
2
4
5
6

cvladi

mniSvn.

mniSvn.

mniSvn.

A[1] A[2] A[3] A[4] A[5] A[6]

1
2
4
5
6
A[1] A[2] A[3] A[4] A[5] A[6]

1
2
4
5
6
A[1] A[2] A[3] A[4] A[5] A[6]
1
2
4
5
6

yvelaze cud SemTxvevaSi, Tu mocemuli gvaqvs


Camateba, mogviwevs

elementiani veqtori da gvWirdeba pirvel poziciaze

gadanacvlebis operaciis Catareba. aqedan gamomdinare, veqtorSi Camatebis opera-

cia yvelaze karg SemTxvevaSi

(1), yvelaze cud SemTxvevaSi ki O(n) operaciis Catarebas moiTxovs (misi

muSaobis dro wrfivia).

1.11: zemoT aRwerili meTodis daxmarebiT dawereT algoriTmi Insert( A, k, c ), romelic A =


(a1 , a2 , ..., an ) mimdevrobis k poziciaze c elements Caamatebs da pasuxad (a1 , ..., ak1 , c, ak , ..., an ) mimdevrobas

savarjiSo

mogvcems.
savarjiSo

1.12:

dawereT algoriTmi

InsertList( A, k, c ),

romelic

bmuli siis

poziciaze

elements

Caamatebs.

1.2

dalagebis martivi algoriTmebi

dalageba amorCeviT:

SelectSort(

sanam

A
A
B

Tu mocemulia dasalagebeli mimdevroba

A,

SegviZlia Semdegnairad moviqceT:

monacemi: racionaluri ricxvebisgan Semdgari sasruli mimdevroba

A)

mimdevroba carieli araa, gaimeore Semdegi operaciebi:

mimdevrobaSi ipovne minimaluri elementi, amoSale iqidan da CarTe

(5, 1, 13, 8, 17) (5, 1, 13, 17)


()
(8)

(5, 13, 17)


(8, 1)

(13, 17)

(8, 1, 5)

savarjiSo

1.13:

igive algoriTmi CawereT rekursiulad.

savarjiSo

1.14:

daamtkiceT, rom am algoriTmis dasrulebis Semdeg

(17)
(8, 1, 5, 13)

mimdevrobaSi

()
(8, 1, 5, 13, 17)

mimdevrobaSi dalagebuli

A sim-

ravle Caiwereba.
zogadad, algoriTmis bijebis raodenoba damokidebulia misi monacemebis sigrZeze. Cvens magaliTSi ki

A mimdevrobaSi Semaval elementTa raodenobaze da TiToeuli ricxvis


|A| = n da A mimdevrobis TiToeuli elementi k bitisagan Sedgeba, monacemTa sigrZe iqneba

monacemis sigrZe damokidebulia


sigrZeze. Tu

n k.
axla ki gamoviTvaloT, Tu ramden bijs moandomebs

SelectSort

algoriTmi monacemad miRebuli mimdevro-

bis dalagebas. amisaTvis unda gvqondes simravleSi minimaluri elementis povnis algoriTmi, romelic
Semdegnairad SeiZleba Caiweros:

Min( monacemi: racionaluri


min = a1 ;
for( i = 2; i n; i++ )
{
if( ai < min)
min = ai ;
}
savarjiSo

Min

1.15:

ricxvebisgan Semdgari sasruli mimdevroba

A = (a1 , a2 , ..., an ) )

daamtkiceT zemoT moyvanili algoriTmis siswore.

algoriTmis bijebis raodenoba Semdegnairad gamoiTvleba:

min cvladisaTvis A mimdevrobis pirveli elementis miniWeba: 1 biji;


for cikli n-jer meordeba; masSi xdeba erTi Sedareba ai < min da Tu es WeSmaritia, erTi miniWeba min = ai .
aqedan gamomdinare, yvelaze cud SemTxvevaSi for ciklSi gveqneba TiTo Sedareba da TiTo miniWeba, sul
2 operacia. yvelaze karg SemTxvevaSi ki mxolod erTi Semowmeba da arc erTi miniWeba.
ese igi, sul bijebis raodenoba iqneba:

n + 1;
2n + 1.

saukeTeso SemTxvevaSi:
uares SemTxvevaSi:

aRsaniSnavia, rom bijebis gamoTvlis dros Cven ar gaviTvaliswineT ciklis mTvlelis Sedarebisa da
gazrdis operaciebi, ciklidan gamosvlis operacia da sxva teqnikuri detalebi, romlebic Cveulebriv
bijebis gamoTvlisas ar iTvleba xolme. sworeT aseTi detalebis ugulebelyofis mizniTaa SemoRebuli zeda da qveda zRvris Sefaseba

da

aRniSnviT.

am algoriTmis qveda da zeda zRvari SeiZleba gamoisaxos rogorc


aqedan gamomdinare, SeiZleba Sefasdes zusti zRvari
yovelive Tqmulidan viRebT:

(n + 1) = (n)

da

O(2n + 1) = O(n).

(n).

T (Min) (n).

Tu algoriTmis gamoTvlis drois zeda zRvaria

O(n),

maSin ityvian, rom misi drois zrdis rigi aris

wrfivi.

SelectSort algoriTmis msvlelobaSi saWiroa agreTve elementis amoSla.


iqneba rogorc bmuli sia, amis moxerxeba 5 bijSi SeiZleba (ix.

Tu

A mimdevroba warmodgenili

wina kursis masalaSi bmuli siebis

operaciebi).

A siidan x poziciaze mdgomi elementis amoSlis Erase(A, x) algoriTmis moqmedebis


T (Erase(A, x)) (5) = (1).

aqedan gamomdinare,
dro iqneba

advili dasanaxia, rom

SelectSort

algoriTmis muSaobis dros jer uda Semowmdes, carielia Tu ara

simravle (erTi biji), Semdeg (Tu

carieli araa) masSi moiZebnos minimaluri elementi (c1

bolos es elementi amoiSalos da Caiweros

T (SelectSort(A)) = T (SelectSort(A {A
Tu CavTvliT, rom

|A {A

|A| = n.

mimdevrobaSi (orive operacia jamSi

simravlis minimaluri elementi}))

c2

biji),

biji):

+ 1 + c1 n + c2 ,

rekursiis gaxnis Sedegad (imis gaTvaliswinebiT, rom

simravlis minimaluri elementi})|

= n 1,

miviRebT:

T (SelectSort(A)) = T (SelectSort())+c1 (n+(n1)+(n2)+ +1)+(c2 +1)n = 1+c1


am SemTxvevaSi ityvian, rom

SelectSort

n(n + 1)
+(c2 +1)n O(n2 ).
2

algoriTmis drois zrdis zeda zRvaria (muSaobis droa)

O(n2 ),

an

misi drois zrdis zeda zRvari (muSaobis dro) kvadratulia.


savarjiSo

1.16:

gamoiTvaleT, ra iqneba programis drois zeda zRvari, Tu bmuli siis nacvlad aviRebT

veqtors da elementis amoSlis Semdeg carieli adgilis YamovsebaA (marcxena an marjvena elementebis
TiTo poziciiT gadaweva) dagvWirdeba.
savarjiSo

1.17:

dawereT programa, romelic amorCeviT dalagebis algoriTmis mixedviT

mimdevrobas

daalagebs ise, rom ar gamoiyenebs meore mimdevrobas: yovel jerze arCeuli minimaluri elementi iseve

mimdevrobaSi Caweros. am programis drois zeda zRvaric kvadratuli unda iyos.

savarjiSo

1.18:

ra gansxvaveba iqneba gamoTvlis droSi, Tu wina savarjiSoSi moyvanili amocanisaTvis

algoriTms jer bmuli siis, Semdeg ki veqtoris gamoyenebiT davwerT? Seicvleba Tu ara drois zrdis
rigi? Seicvleba Tu ara realuri gamoTvlis dro?

1.2.1

dalageba CadgmiT:

mocemuli

sanam

mimdevrobis dalageba Semdegi meTodiTac SeiZleba:

mimdevroba carieli araa, gaimeore Semdegi operaciebi:

airCie

mimdevrobis pirveli elementi, amoSale iqidan da CarTe

mimdevrobaSi (romelic

dalagebulia) saWiro adgilze ise, rom miRebuli mimdevroba dalagebuli iyos.

es meTodi farTod gamoiyeneba praqtikaSi: magaliTad, kartis TamaSis dros rig-rigobiT aRebul karts
YvaxarisxebTA - axals ukve dalagebul mimdevrobaSi saWiro adgilze vsvamT.

A
B

(5, 13, 8, 1, 7) (13, 8, 1, 7) (8, 1, 7)


()
([5])
(5, [13])

(1, 7)
(5, [8], 13)

(7)

([1], 5, 8, 13)

()
(1, 5, [7], 8, 13)

aRsaniSnavia, rom dalagebis zemoT aRniSnuli meTodebi raRaca TvalsazrisiT erTmaneTis YSebrunebuliaA: pirvel meTodSi jer

A mimdevrobis saWiro adgilidan elements varCevT da mere mas B mimdevroA mimdevrobis Tavidan pirvel elements viRebT da mas vsvamT B

bis TavSi vsvamT. meore meTodSi ki jer


mimdevrobaSi saWiro adgilze.
radgan CasmiT dalagebis algoriTmSi

simravlidan viRebT erT elements da mas

ise, rom es ukanaskneli dalagebuli iyos, SegviZlia gamoviyenoT

InsertFast

mocemuloba: racionaluri ricxvebisgan Semdgari sasruli mimdevroba


Sedegi:

B.

InsertionSort( A )
B=;
while( A simravle carieli araa )
{
a = A mimdevrobis pirveli elementi;
InsertFast( B, a )
/* gamoviyenoT InsertFast algoriTmi B simravleSi axali
A = A\{a}
/* A mimdevrobidan amovagdeT pirveli elementi */
}

mimdevrobis pirveli elementis gamoyofa (1 biji);

mimdevrobaSi

elementis saWiro adgilze Camateba

simravleSi vsvamT

A = (a1 , a2 , ..., an );

mimdevrobis elementebisgan Semdgari dalagebuli mimdevroba

InsertionSort algoriTmis bijebis raodenoba Semdegnairad SeiZleba


while cikli n-jer moerdeba; masSi ki Semdegi operaciebi sruldeba:

algoriTmic:

elementis Casamateblad */

daviTvaloT:

InsertionSort algoriTmis gamoyenebiT


T (InsertFast(B, a)) = O(log |B|) = O(log n)

biji;

mimdevrobidan pirveli elementis amogdeba (1 biji).

aqedan gamomdinare, sul gveqneba

T (InsertionSort(A)) (c log n + 2) + (c log(n 1) + 2) + + (c log 1 + 2) = 2n + c(log n + log(n 1) + + log 2 + log 1)

da viRebT:

T (InsertionSort(A)) O(log n + log(n 1) + + log 2 + log 1) = O(n log n).


O(log n + log(n 1) + + log 2 + log 1) = O(n log n).

savarjiSo

1.19:

savarjiSo

1.20: zemoT moyvanili algoriTmis romeli nawilebi gansazRvraven muSaobis drois funqciis

daamtkiceT toloba

zeda zRvars (sxva sityvebiT rom vTqvaT, romeli bijebis ugulebelyofa SeiZleba
savarjiSo

O(n log n)?

1.21:

aRniSnvaSi)?

monacemTa ra struqtura unda avirCioT, rom algoriTmis bijebis zeda zRvari iyos

ra SeiZleba moxdes sxva struqturis arCevis Semdeg?

1.2.2

swrafi dalageba

Tu mocemulia dasalagebeli mimdevroba

A = (an , ..., an/2+1 an/2 , , ..., a1 ),

dalagebis proceduris daCqareba

SeiZleba monacemTa or tol nawilad dayofiT, maTi cal-calke dalagebiT da dalagebuli qvemimdevrobebis erTmaneTSi ise SerwymiT, rom miRebuli mimdevroba dalagebuli iyos. yovelive es erT magaliTze ganvixiloT:

A = (3, 7, 1, 15, 12, 2, 13, 6). misi monacemebi davyoT or tol nawilad:
A = (A2 , A1 ), sadac A2 = (3, 7, 1, 15) da A1 = (12, 2, 13, 6). TiToeuli qvemimdevrobis dalagebis Sedegad
viRebT: Sort(A2 ) = (1, 3, 7, 15) da Sort(A1 ) = (2, 6, 12, 13). cxadia, rom A mimdevrobis minimaluri elementi
an Sort(A1 ), an Sort(A2 ) mimdevrobis minimaluri (marcxena) elementi iqneba. Tu am elements Sesabamisi
mimdevrobidan amovSliT, darCenili mimdevrobebidan minimaluri elementi A mimdevrobis meore ele-

mocemulia dasalagebeli mimdevroba

menti iqneba. am process vagrZelebT manam, sanam erT-erTi mimdevroba ar dacarieldeba, ris Semdegac
aracariel mimdevrobas pasuxs mivawerT:

A1
A2
B

([1], 3, 14, 15)


(3, 14, 15)
(2, 6, 12, 13) ([2], 6, 12, 13)
( )
(1)

saboloo pasuxi:

([3], 14, 15)


(14, 15)
(14, 15)
(6, 12, 13) ([6], 12, 13) ([12], 13)
(1, 2)
(1, 2, 3) (1, 2, 3, 6)

(14, 15)
([13])
(1, 2, 3, 6, 12)

(14, 15)
( )
(1, 2, 3, 6, 12, 13)

(B, A1 ) = (1, 2, 3, 6, 12, 13, 14, 15)

yovelive es Semdegi algoriTmiT SeiZleba Caiweros:


sawyisi monacemi: or (TiTqmis) tol nawilad dayofili mimdevroba

ai aj , ai+ n2 aj+ n2 , 1 i < j


M ergeSort(A)
if( A mimdevroba erT
B1 = M ergeSort(A1 );
B2 = M ergeSort(A2 );
M erge(B1 , B2 );

n
2.

elementiania

) return(A)

A = (A2 , A1 ) = (an , ..., a n2 +1 , a n2 , ..., a1 ),

/* pirdapir erTi elementi daabrune */


/* daalage mimdevrobis orive nawili */
/* Seurie dalagebuli naxevrebi ise, rom miRebuli mimdevroba
dalagebuli iyos */

zemoT moyvanil fsevdo kodSi gamoyenebulia qveprograma

M erge,

romelic Semdegnairad SeiZleba Cai-

weros:
sawyisi monacemi: ori dalagebuli mimdevroba

A = (an , ..., a1 )

M erge(A, B)
C = ( );
do
{
if( A mimdevroba carielia ) return( (C, B) );
if( B mimdevroba carielia ) return( (C, A) );
if( A mimdevrobis minimaluri elementi < B mimdevrobis
{
C = ( C, A mimdevrobis minimaluri elementi);
A mimdevrobidan amoagde minimaluri elementi;
}
else
{
C = ( C, B mimdevrobis minimaluri elementi);
B mimdevrobidan amoagde minimaluri elementi;
}
}
savarjiSo

1.22:

da

B = (bm , ..., b1 ).

minimaluri elementi

induqciis gamoyenebiT daamtkiceT moyvanili algoriTmebis siswore.

savarjiSo

1.23:

daamtkiceT, rom Tu

|A| + |B| = n,

T (M erge(A, B)) O(n)

maSin

da iyenebs ara umetes

n1

elementebis Sedarebas.

M ergeSort
Teorema

algoriTmis drois zrdis rigis Sefaseba Semdegnairad SeiZleba:

1.1: M ergeSort

algoriTmi iyenebs maqsimum

maluri raodenoba ekuTvnis


damtkiceba: Tu

M ergeSort

O(n log n)

dn log ne

algoriTmi

sigrZis mimdevrobas alagebs, mis mier gamoyenebul Sedarebis

operaciaTa maqsimaluri raodenoba aRvniSnoT rogorc


analiziTa da

M erge

Sedarebis operacias da misi bijebis maqsi-

simravles.

C(n).

ra Tqma unda,

C(1) = 0

da algoriTmis

funqciis Sedarebis operaciaTa raodenobis gamoTvliT viRebT:

C(n) = C(bn/2c) + C(dn/2e) + (n 1) = 2C(dn/2e) + (n 1).


rekursiis gaxsnis Sedegad viRebT:

C(n) = 2C(dn/2e)+(n1) = 2dlog ne +(n+n/2+n/4+ 1)log n = n+n(1/2+1/4+ +1/2log n )log n dn log ne.
savarjiSo

1.24:

maTematikuri induqciis gamoyenebiT daamtkiceT, rom Tu

log n

n + n(1/2 + 1/4 + + 1/2


savarjiSo

1.25:

n > 1,

) log n dn log ne.

daamtkiceT, rom

M ergeSort

algoriTmis drois zrdis rigi iqneba

O(n log n)

(jer daamt-

kiceT, rom am algoriTmis muSaobis dro didad ar aRemateba Sedarebis operaciaTa ricxvs da aqedan
gamoitaneT daskvna).

M ergeSort

savarjiSo

1.26:

dawereT programa, romelic

savarjiSo

1.27:

dawereT algoriTmi, romlis saSualebiTac

elements

O(k log k + n)

algoriTmis bmul siebze realizacia iqneba.

elementian dalagebul mimdevrobaSi

droSi CavsvamT.

axla ki ganvixiloT meTodi, romelSic dalagebis YrTuli nawiliA rekursiul gamoZaxebamde xdeba:
mocemulia dasalagebeli mimdevroba
pirvel) elements

a}.

a = a1

A = (an , ..., a1 ).

Tavidan virCevT mimdevrobis erT-erT (magaliTad,

da gamovyofT sam nawils:

sityvebiT rom vTqvaT, pirveli simravle Sedgeba

C1 = {ai |ai < a}, C2 = {ai |ai = a}, C3 = {ai |ai >
A mimdevrobis yvela im elementisagan, romelic

arCeul elementze naklebia, meore - iseTebisgan, romelic arCeuli elementis tolia da mesame - iseTebisagan, romlebic arCeul elementze metia. cxadia, rom Tu Semdgom etapze pirvel da mesame simravles
cal-calke davalagebT, maSin dalagebuli

simravle iqneba:

Sort(A) = (Sort(C1 ), C2 , Sort(C3 )).


dalagebis am meTods

QuickSort

ewodeba, romelic farTod gamoiyeneba praqtikaSi, imis da miuzedavad,

rom misi maqsimaluri bijebis zrdis rigi kvadratuli SeiZleba iyos garkveuli monacemebisaTvis:

T (QuickSort(A)) O(n2 ),
sawyisi monacemi:

sadac

|A| = n.

A = (an , ..., a1 )

ricxvTa mimdevroba.

Quicksort(A)
if( |A| = 1) return(A);
a A;
C1 = {ai |ai < a}, C2 = {ai |ai = a}, C3 = {ai |ai > a};
return((QuickSort(C1 ), C2 , QuickSort(C3 ));

nebismieri meTodiT airCie erTi elementi


aage simravleebi

aRsaniSnavia, rom sawyisi

elementis arCeva SeiZleba nebismieri meTodiT: an SemTxveviT, an fiqsire-

buli (magaliTad, pirveli, an bolo, an sxva) elementis, rac mudmiv droSi SeiZleba. amas garda,

C1 , C2

da

C3

simravleebis ageba wrfiv droSi SeiZleba, iseve, rogorc saboloo pasuxis gamotana im pirobiT,

Tu es qvesimravleebi dalagebulia.
aqedan gamomdinare, viRebT bijebis raodenobis Sefasebis Semdeg rekursiul formulas:

T (QuickSort(A)) = O(1) + O(n) + T (QuickSort(C1 )) + T (QuickSort(C3 )).


O(n log n) droSi alagebs monacemebs, zustad ki misi bijeT (Quicksort(A)) < 2n lg n, sadac |A| = n.

samagierod umetes SemTxvevaSi es algoriTmi


bis raodenoba umetes SemTxvevaSi gveqneba

A = (5, 3, 1, 5, 12, 8, 4, 7) (nax. 1). pirvel rigSi viRebT pirvel elements a = 5


C1 = {3, 1, 4}; C2 = {5, 5}, C3 = {12, 8, 7} simravleebs. C2 simravlis elementebi pirdapir unda
pasuxSi, xolo C1 da C3 igive principiT unda daiyos (naxazis meore striqoni).

magaliTisaTvis ganvixiloT
da vagebT
gavides

erT elementiani qvesimravleebi pirdapir unda gamovitanoT pasuxSi, xolo sul cota or elementiani
(rogoricaa

{8, 7})

igive principiT unda daiSalos. aRsaniSnavia is faqti, rom carieli simravleebis

pasuxSi ar unda gamovitanoT.

( 5, 3, 1, 5, 12, 8, 4, 7 )
( 3, 1, 4 )

( 12, 8, 7 )

( 5, 5 )

(1) (3) (4)

( 8, 7 )

( 12 )

( )

(7) (8) ( )

savarjiSo

1.28:

( 1,

3,

nax. 1:

QuickSort

4,

5, 5, 7,

8,

12 )

algoriTmis gamoTvlis sqema

daamtkiceT, rom arsebobs iseTi sawyisi mimdevroba

A,

romlis dalagebasac

QuickSort

algoriTmi kvadratul dros moandomebs.


savarjiSo

1.29:

dawereT algoriTmi, romelic mimdevrobiT mosuli

(a1 , a2 , ..., an )

elementebis siidan

k-

ur elements amoarCevs (minimaluri elementi pirvelia, meore iqneba is elementi, romelic minimalurze
naklebi an tolia da a.S.). am algoriTmis mexsierebis xarjvis zeda zRvari unda iyos

O(k)

(mexsierebis

xarjvis funqciis zeda zRvari bijebis raodenobis zeda zRvris analogiurad gamoiTvleba).

1.3

dalagebis amocanis qveda zRvari

aqamde algoriTmebis analizis dros Cven maT zeda da qveda zRvars viTvlidiT. Tu raime algoriTmi
garkveul amocanas Wris (mag. monacemTa mimdevrobis dalagebas) misi zeda zRvari gveubneba imas, Tu
ramdenad swrafad SeiZleba am amocanis gadaWra. imis dadgena, Tu ramden dros moandomebs

yvelaze

swrafi algoriTmi mocemuli amocanis gadaWras, sakmaod Znelia da mas amocanis qveda zRvris dadgena

ewodeba (ar agerioT algoriTmis qveda zRvarSi, romelic gviCvenebs, sul cota ramdeni biji Wirdeba
am konkretul algoriTms yvelaze karg SemTxvevaSi). mocemuli amocanis qveda zRvari gveubneba, rom
veravin dawers iseT algoriTms, romlis muSaobis maqsimaluri dro am qveda zRvarze swrafi iqneba.
araa gasakviri, rom imis dadgena, rom raRacis gakeTebas veravin SeZlebs, sakmaod rTuli procesia
da ar arsebobs erTi meTodi, romliTac amas yvela amocanisaTvis gavakeTebdiT: amocanaTa sxvadasxva
jgufs sxvadasxvanairi midgoma Wirdeba.
aq Cven davamtkicebT, rom Sedarebis operaciebze dafuZnebuli Zebnis amocanis qveda zRvaria

(n log n).

sxva sityvebiT rom vTqvaT, veravin dawers iseT algoriTms, romelic Sedarebis operaciebze iqneba

10

dafuZnebuli (rogorebsac Cven aqamde ganvixilavdiT) da romlis bijebis zeda zRvris (maqsimaluri
raodenobis) zrdis rigi iqneba ukeTesi, vidre

O(n log n).

amisaTvis SemoviRoT Semdegi

1.1:

ganmarteba

mocemuli

A = (a1 , a2 , ..., an ) mimdevrobis


permutare - gacvla).

permutacia misi elementebis gadanacvlebas

ewodeba (laTinuri sityvidan

A = (a1 , a2 , a3 , a4 , a5 ) mimdevrobis erT-erTi permutaciis Sedegia (a5 , a1 , a2 , a4 , a3 ), an (a1 , a2 , a3 , a5 , a4 ),


(a3 , a2 , a5 , a1 , a4 ). TviT es mimdevrobac (a1 , a2 , a3 , a4 , a5 ) A mimdevrobis permutaciis Sedegia, romelic

magaliTad,
an

yvela elements Tavis adgilze tovebs.


permutaciaTa aRweris sxvadasxva meTodi arsebobs, magram xSirad maT ricxvTa mimdevrobiT gamosaxaven xolme, romelic gviCvenebs, Tu romel poziciaze unda gadavides sawyisi mimdevrobis esa Tu is
elementi.

magaliTad,

= (2, 3, 5, 4, 1)

permutaciiT

mimdevroba gadava

(a5 , a1 , a2 , a4 , a3 )

mimdevrobaSi:

misi pirveli elementi gadava meore adgilze, meore - mesameze, mesame - mexuTeze, meoTxe iseve meoTxeze

= (4, 2, 1, 5, 3) permutaciiT A mimdevrobis


(1, 2, 3, 4, 5) ki sawyis mimdevrobas ucvlels da-

darCeba da mexuTe gadava pirvel adgilze. analogiurad,


elementebi gadava

(a3 , a2 , a5 , a1 , a4 )

mimdevrobaSi, xolo

tovebs.
savarjiSo

1.30: maTematikuri induqciis gamoyenebiT daamtkiceT, rom n elementiani mimdevrobis n! sxva-

dasxva permutacia arsebobs.


savarjiSo
(b)

savarjiSo
(b)

1.31: romeli permutaciebiT miiReba sawyisi (a, b, c, d, e, f, g, h) mimdevrobidan

(d, a, h, b, g, f, e, e)
1.32:

ra mimdevrobebSi gadaiyvans sawyisi

(8, 7, 6, 5, 4, 3, 2, 1)

(a)

(a, d, h, b, c, f, e, g),

mimdevrobebi?

(a, b, c, d, e, f, g, h) mimdevrobidan

(a)

(1, 2, 4, 3, 6, 5, 7, 8),

permutacia?

aRsaniSnavia, rom dalagebac sawyisi mimdevrobis permutaciaa. faqtiurad, dalagebis algoriTmis amocanaa, rac SeiZleba swrafad gaaanalizos Semosuli monacemi da Sesabamisi permutaciiT dalagebul
mimdevrobaSi gadaiyvanos.
xSirad dalagebis algoriTmisaTvis monacemTa Tanmimdevrobis Seswavlis erTad-erTi saSualeba mxo-

a2 < a1
(a2 , a1 , a3 ). am

lod misi elementebis Sedarebaa. magaliTad, Tu sam elementian mimdevrobaSi davaskvniT, rom
da

a1 < a3 ,

maSin dalagebis permutacia iqneba

(2, 1, 3)

da dalagebuli simravle gamova

SemTxvevaSi ityvian, rom dalagebis es algoriTmi Sedarebis operaciebzea agebuli. aqamde ganxiluli
yvela algoriTmi aseTi iyo.
zemoT Tqmulidan gamomdinareobs, rom Cven SegviZlia permutaciebis gamoTvlis xis ageba.

imave sam

elementiani mimdevrobis magaliTze SegviZlia avagoT gamoTvlis xe, romelic moyvanilia naxazSi 2.

a1 < a 2
ki

ara

a2 < a 3

a2 < a 3
ki

ki

ara

a1 < a 3
ki

a1 < a2 < a 3

a1 < a3 < a 2

ara

a1 < a 3
ki

ara

a3 < a1 < a 2

a2 < a1 < a 3

ara

a2 < a3 < a 1

nax. 2: sam elementiani permutaciis xe

11

a3 < a2 < a 1

aseT struqturas Ygadawyvetilebis orobiTi xeA ewodeba.

YorobiTiA imitom, rom yovel kvanZs (fo-

Tlebis garda) zustad ori Svili yavs, xolo YgadawyvetilebisA imitom, rom gamoTvlis dros raRaca
SekiTxvas pasuxi unda gavceT (gadawyvetileba miviRoT) da Semdeg Sesabamis gzas gavyveT. radgan am
konkretul magaliTSi dasmul Sekitxvaze (ai

< aj

?)

ori sxvadasxva pasuxia SesaZlebeli, es sqema

orobiT xeSi kargad jdeba.


am principiT nebismieri
sac foTlebSi

A = (a1 , ..., an ) mimdevrobis orobiTi gadawyvetilebis xis ageba SeiZleba, romel-

mimdevrobis yvela permutacia eqneba.

cxadia, rom nebismier algoriTms, romelic

Sedarebebzea agebuli, dalagebis dros aseTi xis zemodan qvemoT gasvla mouwevs da pasuxi (dalageba)
is Sesabamisi permutacia iqneba, romelsac xis foTolSi mivaRwevT.
mtkicebaTa simartivisaTvis davuSvaT, rom dasalagebeli mimdevrobis yvela elementi erTmaneTisagan
gansxvavebulia (Tu ori an ramodenime elementi erTmaneTis tolia, am SemTxvevisaTvisac SeiZleba analogiuri Teoremebis damtkiceba).
mniSvnelovania Semdegi
lema

1.1:

Tu

da

erTi da igive mimdevrobis sxvadasxva permutaciaa, maSin Sesabamis orobiT gadawyve-

` 6= `

tilebis xes ori sxvadasxva foToli


savarjiSo

1.33:

eqneba, romelic am permutaciebs Seesabameba.

sawinaaRmdegos daSvebiT daamtkiceT zemoT moyvanili lema.

es TiTqos da elementaruli leba gadamwyvetia dalagebis algoriTmis qveda zRvris gamoTvlaSi, radgan
aqedan gamomdinareobs, rom yoveli gadawyvetilebis orobiTi xe, romelic
viT alagebs, aucileblad unda Seicavdes
radgan

siRrmis orobiT xes maqsimum

2T n!
savarjiSo

2T

1.34:

2T

n!

n monacems zrdadobis mixed-

foTols.

foToli SeiZleba qondes, viRebT:

da, aqedan gamomdinare,

T log n!.

maTematikur induqciaze dayrdnobiT daamtkiceT, rom

siRrmis orobiT xes maqsimum

foToli SeiZleba qondes.

e.w. stirlingis formulis Tanaxmad, romelic farTod gamoiyeneba kombinatorikaSi da Cven aq daumtkiceblad miviRebT, gvaqvs:

 n n
log n! log
e }
{z
|

= n log n n log e,

stirlingis formula
sadac

mudmiva

e.w. naturaluri logariTmis fuZe (an, rogorc mas sxvanairadac uwodeben eileris ricxvia) -

e = limn 1 +

SeniSvna:


1 n
n

1
n=0 n!

= 2, 718281828459045235...

Tavisi sruli saxiT stirlingis formula Semdegnairad gamoisaxeba:

log n! log

 n n
2n,
e

rac marcxena da marjvena nawilSi mocemuli funqciebis YmsgavsebasA niSnavs:

lim

log

log n!

= 1.
2n


n n
e

es formula imiTicaa saintereso, rom masSi mecnierebis ori umniSvnelovanesi mudmiva -

da

erTad

figurirebs.
aqedan gamomdinare, zemoT moyvanili gadawyvetilebis orobiTi xe, romelic saWiro permutaciamde
migviyvans, daaxloebiT

n log n

siRrmisaa da Cven davamtkiceT

12

Teorema

1.2:

Sedarebis operaciebze agebuli daxarisxebis algoriTmis qveda zRvaria

zustad misi gamoTvla SeiZleba formuliT


savarjiSo
beli

1.35:

1.36:

n1

Sedarebas moiTxovs.

aCveneT, rom Sedarebis operaciebze agebuli nebismieri algoriTmi, romelic daulage-

n elementiani siidan minimalur


n 1 + log n Sedarebas moiTxovs.
beli

ufro

aCveneT, rom Sedarebis operaciebze agebuli nebismieri algoriTmi, romelic daulage-

elementiani siis minimalur elements ipovnis, sul cota

savarjiSo

(n log n).

n log n O(n).

da mis Semdgom (anu or umcires) elements ipovnis, sul cota

moiyvaneT aseTi (optimaluri) algoriTmis magaliTi.

13

algoriTmebi grafebze

rogorc wina semestris Sesaval kursSi aRvniSneT, grafebiT Zalian bevri problemis aRwera da gadaWra
SeiZleba. Tu mocemulia raime amocana

A, misi monacemebis gardaqmna SeiZleba iseT grafad, romelzedac

raRaca sxva amocanis amoxsniT am sawyisi problemis pasuxis dadgena iqneba SesaZlebeli.
magaliTad, manqanebSi Cadgmuli navigaciis sistemebi, romlelTa meSveobiTac qalaqis erTi adgilidan
meoreze misvlis umokles gzas vgebulobT, grafebze or wveros Soris umoklesi gzis povnaze daiyvaneba: Tu quCebis gadakveTas aRvniSnavT rogorc grafis wveroebs, xolo wiboebiT ki TviTon quCebs,
gamogviva Sewonili grafi, romelSic quCebis sigrZe wibos wonis toli iqneba.

cxadia, rom grafSi

umoklesi gzis povna qalaqSi umoklesi gzis povnis tolfasi iqneba.


pirvel rigSi, aucilebelia gadasaWreli amocanis mkafiod da

sworad gadatana grafebze, ris Semde-

gac mis amosaxsnelad ramodenime fundamenturi algoriTmis codnaa saWiro, maT Soris (magram ara
mxolod) umciresi damfaravi xis, mocemuli ori wveros Soris umoklesi gzis, grafis planarulad
(brtylad) sibrtyeze daxazvis amocanebi. Tu adamiani ramodenime ZiriTadi amocanis gadaWris xerxs
daeufleba, ufro rTuli amocanebis gadaWra, rogorc wesi, am ZiriTadi amocanebis Tanmimdevrulad
gadaWris saSualebiTac SeiZleba.
amocanaTa gadaWris ZiriTad meTodebs Soris (romelic farTod gamoiyneba grafebze algoriTmebSi)
SeiZleba moviyvanoT e.w. YsiganeSi ZebnisA da YsiRrmeSi ZebnisA algoriTmebi, romelTa saSualebiTac
swrafad SegviZlia SemoviaroT grafis yvela wvero (yovelgvari SezRudvis gareSe).
algoriTmebisa da maTi gadaWris meTodebis Seswavla umjobesia praqtikuli problemebis ganxilviT
daviwyoT.

2.1

berZnuli miTi minotavris Sesaxeb

kunZul kretaze labirinTSi damwyvdeuli iyo adamianis tanisa da xaris Tavis mqone urCxuli minotavri,
romlisTvis aTenelebs xalxis msxverpli unda SeegzavnaT. am saSinelebisagan Tavis daxsnis mizniT
berZeni gmiri Tesevsi labirinTSi Sevida da minotavri gangmira.

radgan labirinTSi gzis gakvleva

sakmaod rTuli saqmea, man mefis qaliSvilis - ariadnas mier micemuli Zafi gamoiyena, riTac advilad
gamoagno gareT (aqedan momdinareobs gamoTqma Ymsjelobis Zafi dakargaA, YZafi gaeqcaA da sxva).

nax. 3: msoflioSi yvelaze ganTqmuli labirinTi

14

es miTi - filosofiuri, istoriuli, kulturuli da mravali sxva mniSvnelobis garda - aseve did rols
TamaSobs informatikaSic, radgan ucnob garemoSi moZraobis amocanas ukavSirdeba, xolo Zafis an sxva
saSualebebiT ganvlili gzis moniSnva da ukan dabruneba farTod gamoiyeneba algoriTmebTan dakavSirebuli problemebis gadasaWrelad.
yovel labirinTs SegviZlia SevusabamoT raRaca grafi. nax. 4-Si naCvenebia SedarebiT rTuli labirinTi, romelSic Sesabamisi grafia Caxazuli.

nax. 4: SedarebiT rTuli labirinTi Sesabamisi grafiT

igive grafi SegviZlia sxvanairadac davxatoT, rom aRsaqmelad ufro advili iyos (nax. 5). cxadia, rom
Tu gveqneba algoriTmi, romlis saSualebiTac grafis yvela wveros Semovlas SevZlebT, amiT labirinTSi Sesvlis an gamosvlis algoriTmsac avagebT.

nax. 5: labirinTis eqvivalenturi grafi

aRsaniSnavia, rom zeda or naxazSi moyvanili grafi erTmaneTis eqvivalenturia (erTis meoreSi gadayvana SeiZleba ise, rom grafis struqtura ar Seicvalos, aq mxolod daxatvis wesia sxvadasxva), amitom
Tu labirinTSi Sesvlisas gzis pirvel gasayarTan unda gavuxvioT marcxniv, meore grafSi unda viaroT
pirdapir. magram amas raime principuli mniSvneloba ar aqvs: erT grafze moZebnili amonaxsni advilad
SeiZleba gadavitanoT meoreze.

15

labirinTebSi gzis gakvlevis garda, grafSi wveroebis Semovlis amocanas mravali gamoyebena SeiZleba
movuZebnoT, magaliTad, grafis wveroebis SigTavsis amobeWdvaSi, grafTa kopirebasa an sxvadasxva formatebSi CaweraSi, wveroTa an wiboTa raodenobis daTvlaSi, grafis bmuli komponentebis povnaSi, or
wveros Soris gzis povnaSi, grafSi ciklebis aRmoCenaSi da bevr sxva amocanaSi.
Tu movaxerxebT imas, rom grafis Semovlisas yovel wiboze gavivliT

zustad orjer (YiqiT-aqeTA),

gveqneba imis garantia, rom ar gaviWedebiT da yvela wverosac gavivliT.


savarjiSo

2.1:

formalurad daamtkiceT, rom Tu grafis yvela wibos SemovuvliT zustad orjer, mis

yvela wveroSi erTxel mainc SevalT.


grafis Semovlis ZiriTadi principia wveroebisa Tu wiboebis

statusis aRniSnva: raime meTodiT imis

aRwera, gavlili gvaqvs Tu ara raRaca gza da Rirs Tu ara misi Tavidan gavla. zRaprebsa da miTebSi
ganvlili gzebis dasaniSnad Zafebs, puris namcecebs, xorbals, qvebsa da sxva yoveldRiur nivTebs
iyeneben, magram amocanisa da misi amoxsnis aRweris dros umjobesia maTematikuri obieqtebiT operireba.
amitom yovel wveros TiTo cvladi SevusabamoT, romelic mis Yaqtualur mdgomareobasA aRwers.

es

mdgomareobebi SeiZleba iyos:

aRmouCeneli

- Tavdapirvelad yvela wvero YaRmouCenelA mdgomareobaSia, masTan dakavSirebuli

arc erTi wibo jer gavlili araa;

aRmoCenili

Seswavlili

- wverosTan mierTebuli gzebi nawilobrivaa gavlili, darCenilia Sesaswavli wiboebi;


- am wverosTan dakavSirebuli yvela wibo ukve Semovlilia.

cxadia, rom yvela wveros statusi Tavidan aRmouCenelia, Semdeg xdeba nawilobriv Seswavlili da bolos - Seswavlili. yvela wveros aqtualuri statusis SesarCevad saWiroa Sesabamisi monacemTa struqtura.

grafis Semovlis dawyebamde yvela wvero aRmouCenel mdgomareobaSia, Semdeg pirveli wvero,

romlidanac viwyebT Semovlas, xdeba aRmoCenili.

masTan dakavSirebuli wibos gavliT gadavdivarT

wveroSi, romlis statussac vcvliT, vxdiT aRmoCenilad da vumatebT YdasamuSavebel wveroTaA sias.
Tu romelime wibos Seswavlil wverosTan mivyavarT, mas ugulebelvyofT, radgan iq mibmuli qvegrafi
sruladaa Seswavlili da amiT axal informacias ver miviRebT.
am ZiriTadi principebis gaTvaliswinebiT SegviZlia grafis Semovlis algoriTmebi avagoT, romlis or
magaliTs axla moviyvanT.

16

2.1.1

siRrmeSi Zebna

labirinTSi moZraobis yvelaze bunebrivi meTodia siaruli gzis pirvel gasayaramde, nebismieri mimarTulebis arCeva da Semdgomi siaruli Semdeg gasayaramde, Semdeg iseve raime mimarTulebis arCeva,
siaruli da a.S. manam, sanam an CixSi ar moveqceviT, an ar mivalT gzis iseT gasayarTan, romlis yvela
mimarTuleba gavlili gvaqvs. Tu win moZraobis saSualeba aRaraa, gzas ukan gavivliT gzis uaxloes
gasayaramde da igive meTods gavimeorebT. Tu labirinTis SesasvlelTan davbrundebiT da iqidan yvela
gza gavlili gveqneba, SegviZlia darwmunebiT vTqvaT, rom mTeli labirinTi Semovlilia.
sxva sityvebiT rom vTqvaT, Sesasvlelidan unda avirCioT raime gza da mas rac SeiZleba Sors mivyveT
manam, sanam amis saSualeba gvaqvs (gamovyoT maqsimaluri gza). Semdeg am gzas gavyveT ukan da pirvelive
SesaZleblobisas sxva maqsimaluri gza vipovnoT. amis magaliTi naCvenebia naxazSi 6.

V1
V2

V1

V4

V3

V2

V8
V9

V6
V7

V5

V2

V9
V7

V2
V9

V6
V7

V7

V2
V9

V7

V5

V9

V1

V8

V6

V8

V6

V4

V3

V4

V3

V5

V1

V8

V2

V8

V6

V4

V3

V5

V3

V5

V1

V1

V4

V4

V3

V8
V9

V6
V5

V7

nax. 6: siRrmeSi Zebnis ori magaliTi

Tu Sesasvlels wvero

V1

aRniSnavs, misgan nebismier wibos virCevT (romelic jer ar gagvivlia) da mis

gaswvriv vagrZelebT moZraobas. naxazis zemoTa nawilSi naCvenebia gza

(V1 V2 V6 V5 V7 V8 V9 V4 ). ra Tqma unda,


(V1 V2 V6 V8 V7 V5 ),

sruliad SemTxveviT Cven SegveZlo agverCia agreTve naxazis qveda nawilSi moyvanili gza
rac, cxadia, Semovlis alternatiul variants mogvcems.
Semovlis zeda variantSi

V4

V1 iqneboda,
V9 ) da vnaxoT,

wverodan veRarsad gadavalT, radgan erTad-erTi varianti

romelic ukve gavlilia. amitom ukan unda davbrundeT mis wina wveroSi (am SemTxvevaSi

SegviZlia Tu ara iqidan raime gzis gavla. radgan es ase araa, iseve erTi wveroTi ukan dabruneba gviwevs,
Semdeg isev erTiT da ase manam, sanam ar mivalT

V6

wveromde, romlidanac kidev darCenilia gza

V3 -Si.

radgan aqedan gzis gagrZeleba SeuZlebelia, iseve ukan vbrundebiT, vamowmebT wina wveros, vrwmundebiT, rom win ver mivdivarT, isev avdivarT zemoT da am process vagrZelebT manam, sanam iseve sawyis
wveromde ar mivalT. radgan gzis gagrZeleba iqidanac aRaraa SesaZlebeli, algoriTmi dasrulebulia.

(V1 V2 V6 V8 V7 V5 ), V5 wverodan vbrundebiT V7


V8 -Si. iqidan ukve arsebobs axali gzis gavlis
iqidan V9 , Tumca piriqiTac SegveZlo. radgan aqedan

naxazis qvemoT moyvanil variantSi, rodesac sawyisi gza iyo


wveroSi da, radgan iqidan axal wveros ver vuerTdebiT,
ori varianti.

SemTxveviT virCevT erT-erTs:

V4

da

ukve axali gza aRaraa, vbrundebiT ukan pirvel wveromde, saidanac axali gzis povnaa SesaZlebeli. am
SemTxvevaSi esaa

V6 , saidanac gadavalT wveroSi V3 . ukve nacnobi principiT vbrundebiT ukan V1 wveromde

da, radgan iqidan axali gza ar arsebobs, algoriTms vasrulebT.


am meTods YsiRrmeSi ZebnasA uwodeben, radgan misi ZiriTadi principia rac SeiZleba grZeli gzebis
gamoyofa, anu YsiRrmeSi CasvlaA.
cxadia, rom siRrmeSi Zebnis dros ganvlili wiboebiT xe Seiqmneba (ar gveqneba ciklebi). radgan yvela
wvero gavlili gveqneba, es iqneba mocemuli grafis Ydamfaravi xeA, anu iseTi, romelic yvela wveros

17

moicavs (faravs).
savarjiSo

2.2:

daamtkiceT, rom siRrmeSi Zebnis dros ciklebi ar Seiqmneba.

savarjiSo

2.3:

daamtkiceT siRrmeSi Zebnis meTodis siswore (rom Sedegad yvela wveros erTxel mainc

gavivliT).
am Tavis dasawyisSi aRwerili principebis Tanaxmad, siRrmeSi Zebnis konkretuli algoriTmi unda adgendes YdasamuSavebeli wveroebisA sias da mis mixedviT moqmedebdes. Cvens magaliTebSi es procedura
Semdegnairi iqneba:
sawyisi mocemuloba:

R = ( )

carieli sia (am siaSi wveroebi iqneba Camowerili im TanmimdevrobiT,

romliTac SemovivliT grafs);


grafi

wveroTa simravliT

E(G)

da wiboTa simravliT

V (G)

da am grafis romelime wvero

(grafis

yvela wvero Tavdapirvelad moniSnulia rogorc YaRmouCeneliA).

DFS(G, u)
moniSne u wvero rogorc YaRmoCeniliA;
miumate u wvero R sias;
for( v, (u, v) E(G) )
{
if( v wvero araa YSeswavliliA )
{
DFS(G, v)
}
moniSne u wvero rogorc YSeswavliliA;

/* axali wvero miemata gzis sias */


/* ganvixilavT

/* radgan

u
savarjiSo

2.1.2

2.4:

for

wverosTan mibmul yvela wveros */

ciklidan gamovediT,

wveros yvela wibo gaviareT */

daamtkiceT am algoriTmis siswore da SeafaseT misi bijebis raodenobis zeda zRvari.

siganeSi Zebna

bunebrivi movlenebis, kerZod ki talRebis gavrcelebis principzea agebuli e.w. YsiganeSi ZebnisA

First Search, BFS)

(Breadth-

meTodi. wyalSi Cagdebuli qvis mier gamowveuli talRebi, rogorc viciT, centridan

vrceldeba, pirvel rigSi uSualo siaxloveSi myof ares moicavs da Semdeg gadadis ufro Soreul
sivrceze (siganeSi Tanabrad vrceldeba). Cvens mier naxseneb meTodSic sawyisi wverodan jer yvela mis
uSualo aRmouCenel mezobels CaviniSnavT, Semdeg maTze rig-rigobiT gadavalT da igive proceduras
gavimeorebT.

V1
V2

V3

V2

V8
V9

V6
V5

V1

V4

V7

V1

V4

V3

V2

V8
V9

V6

V3

V2

V8
V9

V6

V7

V5

V1

V4

V7

V5

V3

V2

V8
V9

V6
V5

V1

V4

V7

V4

V3

V8
V9

V6
V5

V7

nax. 7: siganeSi Zebnis sqema


V1
V2

V4

V3

Tavidan sawyis wveros vwerT YdasamuSavebel


siaSiA, Semdeg viniSnavT mis yvela
V8

aRmouCenel uSualo

V9
mezobels da sawyis wveros siidan vSliT
(samagierod
viniSnavT Seswavlil wveroTa siaSi, romelSic
V
6

bolos Tanmimdevrulad yvela is wvero


iqneba CaniSnuli, romelic gaviareT). ra Tqma unda, yoveli
V
V5

18

Seswavlili wverosaTvis unda CaviniSnoT aseve, Tu romeli wverodan gadmovediT masze, rom mere ukan
wasvla SevZloT.
am process vimeorebT manam, sanam grafis yvela wvero ar iqneba Seswavlili.
savarjiSo

2.5:

dawereT siganeSi Zebnis algoriTmi, daamtkiceT misi siswore da gamoiTvaleT bijebis

raodenobis zeda zRvari.

2.1.3

grafis Semovlis algoriTmebis gamoyeneba

bmuli komponentebi

rogorc viciT, araa aucilebeli, rom grafSi yvela nawili bmuli iyos, anu SeiZleba arsebobdes ori
wvero, romelTa Soris SemaerTebeli gza ar moiZebneba. aseTi calkeuli komponentebis povna fundamenturi amocanaa grafTa TeoriaSi: rodesac raime amocana dayofil grafebze unda amoixsnas, umetes
SemTxvevaSi unda davadginoT damoukidebeli nawilebi da isini cal-calke davamuSaoT.
magaliTad, Tu mocemulia raime simravle, masze mocemuli eqvivalentobis mimarTeba, rogorc viciT,
am simravles eqvivalenturobis klasebad yofs da Tu am mimarTebas grafis saxiT gamovxatavT, TiTo
klasi am grafis bmulobis komponenti iqneba.
rogorc siRrmeSi, aseve siganeSi Zebnis algoriTmebis gamoyenebiT advilad SeiZleba grafis bmulobis
komponentebis gamoyofa: avirCevT nebismier wveros da am romelime algoriTmiT SemovivliT danarCen
SesaZlo wveroebs, romlebsac erTi da igive niSans davadebT (magaliTad, mTvlelis ricxvi). Tu grafSi
sxva wveroebic darCa, mTvlels erTiT gavzrdiT da igive proceduras gavimeorebT manam, sanam grafis
yvela wveros raime niSani ar daedeba.
savarjiSo

2.6:

dawereT bmulobis komponentebis gamoyofis algoriTmi, daamtkiceT misi siswore da

gamoiTvaleT bijebis zeda zRvari.

xeebisa da ciklebis povna

xeebi - acikluri (uciklo) grafebi - saintereso grafTa yvelaze martiv klass qmnian. siRrmeSi Zebnis
meTodi pirdapir gvaZlevs imis pasuxs, aris Tu ara mocemuli grafi xe: Tu Zebnis procesSi ganvlil
wibos aRvniSnavT rogorc Yxis wibosA, xolo iseT wibos, romelsac ar gadavivliT (magaliTad iseTs,
romelsac erTi wverodan ukve Seswavlil wveroSi mivyavarT) aRvniSnavT, rogorc YdamatebiTsA, mocemuli grafi iqneba xe maSin da mxolod maSin, Tu siRrmeSi Zebnis Semdeg damatebiTi wiboebi ar aqvs.
radgan nebismieri xisaTvis

|E| = |V | 1,

am algoriTmis drois zeda zRvari iqneba

O(|V |).

Tu grafi Seicavs cikls, misi aRmoCena SeiZleba pirvelive damatebiTi wibos povniT: Tu aRmoCnda da-

(u, v),

matebiTi wibo

maSin ukve Seqmnil xeSi unda arsebobdes gza

wverodan

wveroSi da igi

(u, v)

wibosTan erTad mogvcems cikls.


savarjiSo

(u, v)

2.7:

daamtkiceT, rom nebismieri damatebiTi

2.8:

siRrmeSi Zebnis gamoyenebiT dawereT algoriTmi, romelic mocemuli grafisaTvis daad-

wibos wvereobs Soris arsebobs SemaerTe-

beli gza.
savarjiSo

gens, aris Tu ara igi xe da Tu ara, ciklebsac ipovnis.


savarjiSo

2.9:

ganixileT wina amocanaSi dawerili algoriTmi. SeiZleba Tu ara misi saSualebiT yvela

ciklis aRmoCena?
savarjiSo

2.10:

SeiZleba Tu ara igive amocanis siganeSi Zebnis meTodiT gadaWra?

orad SeRebili grafebi

grafis SeRebvis zogad amocanaSi grafis wveroebi ise unda SeiRebos, rom wiboTi SeRebil or wveros
sxvadasxva feri qondes. cxadia, Tu yvela wveros sxvadasxva frad SevRebavT, es amocana gadaiWreba,

19

magram sainteresoa grafis rac SeiZleba cota frad SeRebvis amocana - mokled: grafis SeRebvis amocana
- romelic farTod gamoiyeneba algoriTmebis Teoriasa Tu praqtikaSi:

efeqturi cxrilebis SedgenaSi - magaliTad, mravalbirTvian procesorebSi amocanis nawilebis


paralelurad damuSavebis mizniT - ra nawili ris Semdeg unda damuSavdes;

radiotalRebis sixSireebis efeqtur dadgenaSi - magaliTad, Tu ori momxmarebeli radiogadamcems xmarobs, axlos mdgomebs sxvadasxva sixSireebi unda qondeT, Sors mdgomebs SeiZleba erTi
da igive;

registrebis efeqturad danawilebis amocana - procesoris registrebis gamoyenebiT monacemebis


damuSaveba gacilebiT ufro swrafad SeiZleba, vidre

RAM

mexsierebidan. magram radgan xSirad

cvladTa raodenoba registrebis raodenobas aWarbebs, saWiroa imis dadgena, ra dros romeli
cvladi Caiweros registrebSi;

saxeTa amocnobaSi - magaliTad, mocemuli suraTiT katalogSi adamianis moZebna;

arqeologiuri an biologiuri masalis analizi - rogorc biologiaSi, aseve arqeologiaSi monacemebi xis saxiT SegviZlia SevinaxoT: erTi saxeoba an kultura meoredan momdinareobs, erTi saxeoba
an kultura sxva ramodenimes warmoSobs.

zogadad, grafis minimalurad SeRebvis amocana (an misi qromatuli ricxvis dadgenis amocana, rogorc
mas uwodeben xolme), Zneli gadasaWrelia. misi erT-erTi mniSvnelovani qveamocanaa, SeiZleba Tu ara
mocemuli grafis or frad SeRebva, an, sxva sityvebiT rom vTqvaT, iseT or nawilad dayofa, romelSic
wveroebi erTmaneTisgan izolirebulni arian. aseTi grafis magaliTia moyvanili naxazSi 8.

nax. 8: orad SeRebili grafis magaliTi

orad SeRebil grafs zogjer orad dayofilsac uwodeben. imis dasadgenad, SeiZleba Tu ara mocemuli
grafis orad dayofa, Semdegi strategiiT SeiZleba moqmedeba:
virCevT erT-erT wveros, romelsac vRebavT romelime frad (davuSvaT, TeTrad). siRrmeSi an siganeSi
ZebniT axlad aRmoCenil wveros vRebavT misi mSoblis (im wverosi, romelTanac aris dakavSirebuli)
gansxvavebuli feriT (TeTri an Savi). Semdeg yoveli aRmouCeneli wverosaTvis vamowmebT, aris Tu ara
igi mierTebuli or erTsa da imave frad SeRebil wverosTan da Tu asea, es imas unda niSnavdes, rom
grafi ar SeiRebeba (ar daiyofa) orad. Tu algoriTmi am saxis konfliqtis gareSe dasruldeba, es imas
unda niSnavdes, rom grafi orad SeiReba.
savarjiSo

2.11:

daamtkiceT am meTodis siswore.

damokidebulia Tu ara es meTodi imaze, Tu romel

sawyis wveros aviRebT?


savarjiSo

2.12: am meTodze dayrdnobiT dawereT algoriTmi, romelic daadgens, SeiZleba Tu ara grafis

orad SeRebva.

topologiuri dalageba

ganvixiloT nax. 9-Si moyvanili sami grafis magaliTi.

20

(a)

(b)

(g)

(d)

nax. 9: aramimarTuli cikluri, mimarTuli cikluri da mimarTuli acikluri grafebi

pirveli grafi araa mimarTuli da Seicavs cikls; meore mimarTulia da cikls Seicavs, xolo mesame ki
mimarTulia, magram cikls ar Seicavs (acikluria), radgan ver movZebniT iseT daSvebul gzas, romelic
gayveba isrebs da romelime wverodan isev igive wveroSi dagvabrunebda.
aseT struqturas

acikluri mimarTuli grafi ewodeba da maTi daxazva SeiZleba ise, rom yvela wibo

marcxnidan marjvniv iyos mimarTuli (magaliTad, nax. 9(d)), rasac am grafis

topologiur dalagebas

uwodeben.
aRsaniSnavia, rom mxolod aciklur mimarTul grafebs SeiZleba movuZebnoT topologiuri dalageba,
radgan nebismieri cikli romelime kvanZidan ukan (anu marjvnidan marcxniv) dagvabrunebda, Tanac aciklur mimarTul grafebs yovelTvis movuZebniT erT topologiur dalagebas mainc.
topologiur dalagebas didi mniSvneloba aqvs mTel rig praqtikul amocanebSi, magaliTad zemoT
naxseneb cxrilis SedgenaSi.
SiRrmeSi Zebnis algoriTmiT advilad SegviZlia mimarTuli grafis aciklurobis dadgena (rac damokidebulia imaze, Segvxvdeba Tu ara muSaobis procesSi zemoT naxsenebi YdamatebiTi wiboebiA). Tu grafi
acikluria, maSin algoriTmis msvlelobisas Seqmnili

R mimdevroba topologiuri dalagebis Tanmimde-

vrobas gvaZlevs.
savarjiSo

2.13: daamtkiceT, rom siRrmeSi Zebnis procesSi Seqmnili R mimdevroba topologiuri dalage-

bis Tanmimdevrobas gvaZlevs.

saartikulacio kvanZebi

xSirad saWiroa imis dadgena, Tu minimum ramdeni kvanzis amogdebaa saWiro bmuli grafidan imisaTvis,
rom igi nawilebad daiSalos. qvemoT moyvanil naxazSi naCvenebia sami grafi, romelTa daSla

minimum

erTi (a), ori (b) da sami (g) kvanZis amogdebiT SeiZleba. am SemTxvevaSi ityvian, rom grafia erTad bmuli,
an orad bmuli, samad bmuli da, zogadad,

n-ad

bmuli.

ityvian aseve, rom grafis bmulobis koeficientia

(a)

n.

(b)

(g)

nax. 10: erTad, orad da samad bmuli grafi

Tu grafis bmulobis koeficientia 1, maSin ityvian, rom mas aqvs e.w. saartikulacio kvanZi.
saartikulacio kvanZebis Zebna Zalian mniSvnelovania magaliTad sakomunikacio qselebis stabilurobis dadgenaSi. zogadad, rac ufro maRalia qselis Sesabamisi grafis bmulobis koeficienti, miT ufro
stabiluria igi.
advili SesamCnevia, rom saartikulacio kvanZebis Zebna grafidan rig-rigobiT wveroebis amogdebiTa da
darCenili struqturis bmulobaze SemowmebiT SeiZleba.
savarjiSo

2.14:

dawereT algoriTmi, romliTac grafis saartikulacio kvanZebis arsebobas davadgenT.

daamtkiceT misi siswore da daiTvaleT bijebis zeda zRvari.

21

umciresi damfaravi xe

2.2

Tu mocemulia Sewonili grafi, Zalian mniSvnelovania e.w. Yminimaluri damfaravi xisA gamoyofa: iseTi
xisa, romelic grafis yvela wveros moicavs da romlis wiboTa wonebis jami minimaluria yveala SesaZlo damfaravi xis wiboTa wonebis jams Soris.
qvemoT moyvanil naxazSi naCvenebia aseTi damfaravi xis magaliTi.

2
1

2
3

3
1

nax. 11: mocemuli grafis minimaluri damfaravi xe

es amocana xSirad wamoiWreba xolme ramodenime punqts Soris optimaluri qselis (mag. satelefono,
sakabelo, sagzao an sxva) Sedgenis dros.
garda amisa, mocemul grafSi minimaluri damfaravi xis gamoyofis Semdeg bevri rTuli amocanis miaxloebiTi amoxsnis povna SeiZleba.
cxadia, rom bev SemTxvevaSi erT grafs ramodenime minimaluri damfaravi xe SeiZleba qondes. Tu grafi
Sewonili araa, maSin miiCneven, rom misi wiboebi erTi da igive wonisaa (mag. 1).
minimaluri damfaravi xis sapovnelad ori YxarbiA algoriTmi gamoiyeneba, romelsac axla ganvixilavT
(xarbi ewodeba iseT algoriTms, romelic yovel jerze Seqmnil situaciaSi sauketeso arCevans eZebs,
globaluri suraTis gaTvaliswinebis gareSe).

2.2.1

primis algoriTmi

am algoriTmis principi sakmaod martivia: xis agebas viwyebT nebismieri wverodan da veZebT minimaluri
wonis mqone wibos, romelic ukve Sedgenili xis wverosa da darCenil wveroebs Soris (romlebsac Cven
Ygare wveroebsA vuwodebT) arsebobs. aseT wibos da masTan mierTebul gare wveros xes vumatebT (Tanac
axal wveros gare wveroTa simravlidan vSliT). am process vagrZelebT manam, sanam gare wveroTa simravle ar iqneba carieli.

2
3

2
1

3
1

5
3

5
4

5
4

nax. 12: minimaluri damfaravi xis agebis procedura

22

2
3

2
3

5
4

5
4

1
3

2
2

2
2

5
4

3
1

1
3

2
2

2
1

2
2

Sesabamisi fsevdo kodi Semdegnairad SeiZleba Caiweros:


sawyisi monacemi: Sewonili grafi
mosalodneli Sedegi:

G = (E, V )

wonaTa funqciiT

d : E Q;

grafis minimaluri damfaravi xe.

Prim(G, d)
T V = ;
T E = ;
Out = V

/* xis wveroTa simravle jer carielia */


/* xis wiboTa simravle jer carielia */
/* Tavdapirvelad yvela wvero garea (xeSi ar Sedis) */

airCie nebismieri wvero

v V;

T V = T V {v}
Out = Out {v};
while( Out 6= )
{
w1 T V , w2 Out,
d(w1 , w2 ) = min{d(x, y)|x T V, y Out}
T V = T V {w2 };
Out = Out {w2 };
T E = T E {(w1 , w2 )};
moZebne iseTi

rom

/* sawyisi wvero xis nawili xdeba */


/* gare wveroTa simravle erTiT Semcirda */

/* moZebne minimaluri wonis mqone iseTi wibo,


romlis erTi wvero agebul xeSia, meore ki ara */
/* xis wiboTa simravles axal wveros vumatebT */
/* igive wveros vaklebT gare wveroTa simravles */
/* xis wiboTa simravles Sesabamisi wibo emateba */

}
return(T = (T V, T E));
savarjiSo

2.15:

sawinaaRmdegos daSvebiT daamtkiceT am algoriTmis siswore.

bijebis raodenobis Sesafaseblad Semdegnairad SeiZleba vimsjeloT:

while

ciklis yovel bijze (ro-

melTa raodenoba wiboTa raodenobis tolia) unda gadavaTvalieroT yvela is wibo, romelic gare
wveros xis wverosTan aerTebs da aseTebs Soris minimalur woniani avirCioT.
monacemTa struqturis sworad arCevis SemTxvevaSi primis algoriTmis realizacia

O(|V |2 ) droSia Sesa-

Zlebeli.
radgan zeda zRvris SefasebaSi wiboebis raodenoba ar figurirebs, es algoriTmi kargad unda muSaobdes e.w.

YmWidroA grafebTan: Tu wiboebis raodenoba wveroebis raodenobasTan SedarebiT didia, es

mainc ver moaxdens gavlenas algoriTmis muSaobis rdoze.

23

2.2.2

kraskalis algoriTmi

axla ganvixiloT kraskalis algoriTmi, romelic ufro swrafad e.w. YgauxSoebulA grafebze muSaobs:
iseTebze, romelTa wiboTa ricxvi wveroebis ricxvTan SedarebiT dabalia.
Tavidan

G = (V, E)

bmuli grafis yvela wvero ganvixiloT rogorc calke aRebuli erT elementiani xe

|V |

(rac imas niSnavs, rom erTdroulad

(u, v)

wibos, rom

da

cal xes vagebT). yovel bijze varCevT minimaluri wonis iseT

wveroebi erTsa da imave ukve Seqmnil xes

u T1

xeSia, maSin am wibos vagdebT). Tu

da

v T2 , T1 6= T2 ,

ar ekuTvnodes (Tu orive wvero erT

am or xes

(u, v)

wiboTi erTmaneTs vabamT,

ris Sedegadac erTi xiT naklebs viRebT. am process vagZelebT mnam, sanam ar Seiqmneba erTi bmuli
komponenti (xe).
savarjiSo

2.16:

daamtkiceT, rom am proceduris Catarebis Sedegad aucileblad miviRebT xes (ar gve-

qneba ciklebi).
yovelive zemoT naTqvami ganvixiloT magaliTze (nax. 13).

2
3

2
1

5
3

2
2

5
4

1
3

2
2

2
2

1
3

2
2

2
2

2
2

5
3

nax. 13: kraskalis algoriTmis moqmedebis magaliTi

yovelive es Semdegi fsevdo kodiT SeiZleba Caiweros:


sawyisi monacemi: bmuli Sewonili grafi

Kruskal(G, d)
G grafis n wibosagan

Seadgine xe

G = (V, E)

wonis funqciiT

d : E Q.

/* Tavdapirvelad

xe

cali

izolirebuli wverosagan Sedgeba */


Seadgine

grafis yvela SesaZlo wiboTa sia

/* algoriTmis daswrafebis mizniT


sia SeiZleba davalagoT */

for( i = 1, i < |V |, i + +)
{
wiboTa siidan amoarCie minimaluri wonis wibo

if( u da v sxvadasxva bmul komponents


T xeSi Caumate wibo (u, v);
(u, v) wibo amoSale wiboTa siidan

ekuTvnis

(u, v);
)

}
return(T )
SeniSvna: radgan yovel xes wveroebze erTiT naklebi wibo aqvs,
savarjiSo

xeSi

da

2.17:

for

cikls Sesabamisad vatrialebT.

ra cvladebi da operaciebi unda davamatoT zeda algoriTms, rom advilad davadginoT,

wveroebi erT bmul komponents ekuTvnis, Tu ara?

O(|V | |E|).

savarjiSo

2.18:

daamtkiceT, rom kraskalis meTodis bijebis zeda zRvaria

savarjiSo

2.19:

romel SemTxvevebSi jobia primis algoriTmis gamoyeneba da romelSi - kraskalis? pa-

suxi daasabuTeT.

24

2.3

umoklesi gza grafSi

Tu mocemulia Sewonili grafi, xSirad saWiroa xolme mis or wveros Soris umoklesi gzis dadgena
(or wveros SemaerTebel yvela SesaZlo gzas Soris iseTis arCeva, romlis wiboTa wonebis jami minimaluria).
am amocanis gadaWraze zalian bevri sxva amocanaa damokidebuli, maT Soris:

satransporto qselebSi or punqts Soris umoklesi gzis povna: Tu grafs ganvixilavT rogorc
qalaqebs (wveroebi) da maT SemaerTebel gzebs (wiboebi), an qalaqSi quCebs (wiboebi) da maT gadakveTebs (wveroebi), erTi punqtidan meoreSi gadasvlisaTvis umciresi gzis gamoTvla am amocanis
gadaWriT SeiZleba;

nalaparakevi teqstis amocnobis erT-erTi umTavresi amocana erTnairi JReradobis sityvebis (omofonebis) gansxvavebaa. aseT sityvebzea agebuli akaki wereTelis cnobili leqsi YaRmarT-aRmarTA:

aRmarT-aRmarT mivdiodi me nela,


serzed Sevdeq, Wmunvis ali menela;
mzeman sxivi momafina maSina,
sicocxle vgrZen, sikvdilma ver maSina.
Tu enis sityvebs aRvniSnavT, rogorc grafis wveroebs da YmsgavsA sityvebs wiboebiT SevaerTebT
(Tanac msgavsebis koeficients wibos wonad mivuwerT - rac ufro msgavsia ori sityva, ufro naklebs),
wveroebs Soris umoklesi gzis povna winadadebis azris dadgenaSi dagvexmareba.

grafTa ganlagebaSi: xSirad saWiroa xolme grafis YcentrisA dadgena da ise ganlageba, rom igi
mis SuagulSi moeqces.

aseTi SeiZleba iyos wvero, romlis maqsimaluri daSoreba yvela sxva

wverosTan yvelaze dabalia.

cxadia, rom amis dasadgenad saWiroa nebismier or wveros Soris

manZilis codna.
aRsaniSnavia, rom umciresi damfaravi xe yovelTvis umcires manZils ar mogvcems, rogorc es Semdgom

naxazSia naCvenebi.

10

10

3
8

12

12

10

10
3

7
7

7
7

5
10

10

8
10

13

10

13

12

12

(a)

(b)

nax. 14: minimaluri damfaravi xe (a) da Semoxazuli wverodan umoklesi manZilis xe (b)

savarjiSo

2.20:

moiyvaneT sxva xeebis magaliTi, romlebSic umciresi damfaravi xe ar mogvcems umokles

manZilebs.

u, v V

wveroebsSoris umoklesi manZili aRvniSnoT rogorc

kavSirebuli araa, miviCnioT


grafis raime

d(u, v) = ),

wverodan nebismier sxva

xolo grafis

wvero, romlisTvisac

gzad miviRebT minimalur gzas

s, x

d(u, v)

(Tu es wveroebi erTmaneTTan da-

wibos wona iyos mocemuli funqciiT

wveromde umoklesi gzis dasadgenad amocanas

SevxedoT: Tu dadgenili gvaqvs umoklesi manZili


CioT iseTi

eE

d(s, x) + w(x, t)

s wverosa da

nebismier sxva wveros Soris, unda avar-

iqneba minimaluri da

wveroebs Seoris da

25

(x, t)

w(e).

YbolodanA

wibos.

s, t

wveroebs Soris minimalur

t wveros iseTi x mezobeli, rom x wveros gavliT gza s wveros da x wveroebs Soris umoklesi gza

sxva sityvebiT rom vTqvaT, unda avirCioT


dan

wveromde minimaluri iyos (amis dadgena SesaZlebelia, Tu

winaswar gveqneba dadgenili).

s wveros manZili Tavis TavTan. cxadia, rom Tu


d(s, s) = 0. amas garda, x V, x 6= s, d(s, x) = . aseve

Tavdapirvelad unda ganvsazRvroT, Tu risi tolia


grafSi ar gvaqvs uaryofiTi wonis mqone wiboebi,

unda ganisazRvros yvela wveros YwinamorbediA - is wvero, romelic umokles gzaSi am wveros ukavSirdeba:

p(s) = s, x V, x 6= s, p(x) = N U LL.

aqedan gamomdinare, umoklesi gzis povnis algoriTmis fsevdokodi Semdegnairad SeiZleba Caiweros:
sawyisi monacemi: bmuli Sewonili grafi

G = (V, E)

wonis funqciiT

ShortPathDijkstra(G, d, s)
for( v G)
{
d(v) = ;
p(v) = N U LL;
}
d(s) = 0;
p(s) = s;
Q=V;

d:EQ

da erT-erTi wvero

s.

/* Tavdapirvelad yvela wveros daSoreba


sawyisTan aris usasruloba da
winamorbedic ar arsebobs */

/* mxolod

wverosTvis ganisazRvreba

Tavis TavTan manZili da winamorbedi */


/* dasamuSavebel wveroTa sia Tavidan
yvela wveros moicavs */

while( Q 6= )
{
u = umciresi d(u) manZilis
if( d(u) = ) break;

/* sanam kidev gvaqvs dasamuSavebeli


wveroebi */
mqone wvero;
/* Tu umciresi manZili usasrulobaa,
yvela danarCeni wvero sawyisisgan
izolirebulia */

u dasamuSavebeli
for( v Q, (u, v) E)
{
if( d(v) > d(u) + w(u, v))
{
d(v) = d(u) + w(u, v);
p(v) = u;
{
}
amoagde

wveroebis

simravlidan;

es algoriTmi pirvelad holandielma mecnierma edsger deiqstram gamoaqveyna da mis saxels atarebs.
uxeSad rom vTqvaT, es igive xarb princips iyenebs, rogorc primis algoriTmi im gansxvavebiT, rom primis
meTodi yvela wveros SemaerTebeli damfaravi xis, deiqstras algoriTmi ki or wveros Soris umokles
manZilis mqone xis Seqmnas cdilobs.
savarjiSo

2.21:

daamtkiceT, rom deiqstras algoriTmiT marTlac SesaZlebelia mocemuli wverodan

yvela sxva wveromde umoklesi gzis povna.

O(|V |2 ).

savarjiSo

2.22:

daamtkiceT, rom deiqstras algoriTmis drois zeda zRvaria

savarjiSo

2.23:

gaaanalizeT deiqstras algoriTmi uaryofiT wonian grafebze. ratom ver mogvcems igi

swor pasuxs?

26

amocanaTa grafebze gadatanis magaliTebi

amocanaTa scorad Camoyalibeba da grafebze gadatana (modelireba) umniSvnelovanes rols TamaSobs


maT gadawyvetaSi - sworad dasmuli amocana naxevari amoxsnis tolfasia. aqamde grafebTan dakavSirebul ZiriTad amocanebsa da gansazRvrebebs ganvixilavdiT, axla ki gadavideT amocanaTa modelirebis magaliTebze da moviyvanoT is umniSvnelovanesi amocanebi, romelTa gadaWrac xSir SemTxvevaSi
mravali sxva praqtikuli amocanis daZlevaSi mogvexmareba.
qvemoT moyvanili magaliTebiT naTlad unda Candes, Tu rogor SeiZleba ama Tu im amocanis grafebis
meSveobiT gadaWra. xSir SemTxvevaSi gamoviyenebT im faqts, rom amocanis monacemTa elementebis simravleze

mimarTebebis ganmarteba SeiZleba (imis gaTvaliswinebiT, Tu ra damokidebulebaa am ele-

mentebs Soris), xolo mimarTebebis gamosaxva grafTa meSveobiT advilad SeiZleba.

SeniSvna:

amocanis pirobis wakiTxvis Semdeg, sanam kiTxvas gaagrZelebT, Tqven TviTon dafiqrdiT sa-

kiTxze, Tu rogor SeiZleba misi gadatana grafebze.

amocana: moZraoba video TamaSebSi.

warmoidgineT, rom gvinda vamoZraoT video TamaSis gmiri oTaxSi,

romelSic sagnebia ganTavsebuli. rogor SeiZleba optimaluri gzis gamoangariSeba?


am amocanis amoxsnisas bunebrivad grafebSi umoklesi gzis povnis asociacia Cndeba. magram rogori
unda iyos grafi?

pirveli, rac TavSi SeiZleba mogvivides, Semdegi ideaa: oTaxis suraTs davadoT

bade, Semdeg amovyaroT is wertilebi (maTTan mierTebul wiboebTan erTad), romlebic sagnebis naxatebs
emTxveva. miviRebT grafs, romlis wiboebs Soris manZili erTis tolad SeiZleba miviCnioT (anu grafi
ar iqneba Sewonili).

nax. 15: moZraobis bade


ra Tqma unda, SegveZlo sxva grafis Seqmnac, romelic ufro efeqturad gadaWrida am amocanas (magaliTad, araa aucilebeli sul marTi kuTxe gvqondes - zogjer SeiZleba zemoT moyvanili badis diagonalebze gasvla, an iseT adgilebSi, sadac badis ori paraleluri xazi gadis erTis aReba da a.S. am
SemTxvevebSi grafebi ukve Sewonili unda iyos). amas garda, arsebobs geometruili algoriTmebi, romlebic analogiuri amocanebisaTvis ufro efeqturad gadaWrida umoklesi gzis sakiTxs, magram am saxis
algoriTmis implementacia gacilebiT ufro martivia da Sedegic ar iqneba sagrZnoblad uaresi.

amocana: geneturi kodis ageba.

romlebic unda ganTavsdnen

= (1 , 2 , ..., n ), romf fragmentisaTvis vipovniT iseT elementebs,

am amocanaSi mocemuli gvaqvs dnm kodis nawilebi

lebic eqsperimentebis Sedegad iqna miRebuli. yoveli

fragmentis marjvniv (an, Sesabamisad, marcxniv). rogorc wesi, iarsebebs

agreTve iseTi (erTi an ramodenime) elementi, romlis ganTavsebac orive mxares SeiZleba. aRsaniSnavia,
rom ganlagebis wesi tranzitulia: Tu

f1

fragmenti

fragmentis marcxniv unda ganTavsdes, maSin

f1

f2

fragmentis marcxniv da es ki Tavis Tavad

unda aRmoCndes

f3

geneturi kodis agebis amocana imaSi mdgomareobs, rom vipovnoT

Semdgari iseTi mimdevroba, romelic zeda pirobebs akmayofilebs.


vipovnoT
Tanaxmad

mimdevrobis iseTi permutacia (i1 , ..., in ), rom


ik fragmenti unda idges il fragmentis marcxniv

fragmentis marjvniv).

27

Tu

f3

nawilis marcxniv.
mimdevrobis

yvela elementisagan

sxva sityvebiT rom vTqvaT, unda

k < l,

maSin zemoT moyvanili wesebis

(Sesabamisad,

il

fragmenti

unda idges

ik

am amocanis gadaWra Semdegnairad SeiZleba: SevadginoT mimarTeba

R = {(i , j )|i

fragmenti unda ganTavsdes

fragmentis marcxniv}.

cxadia, rom es mimarTeba Seqmnis (erT an ramodenime) mimarTul aciklur grafs, romlis topologiuri
dalageba saZiebo mimdevrobas mogvcems.
savarjiSo

3.1:

savarjiSo

3.2: daamtkiceT, rom am acikluri grafebis topologiuri dalageba marTlac geneturi kodis

daamtkiceT, rom zemoT moyvanili wesiT mimarTul aciklur grafs miviRebT.

dasaSveb mimdevrobas mogvcems ( mimdevrobis iseT permutacias


fragmenti SeiZleba idges

il

(i1 , ..., in ),

rom Tu

k < l,

maSin

ik

fragmentis marcxniv).

amocana: obieqtebis dajgufeba.

grafikul amocanebSi xSirad saWiroa xolme grafikuli obieqtebis

(mag. marTkuTxedebis) iseTi dajgufeba, rom erT jgufSi myofi obieqtebi erTmaneTs ar kveTdnen (sxvadasxva jgufSi moxvedrili obieqtebi erTmaneTs SeiZleba kveTdnen).

M11

M11
M12

M1

M10

M8

M7

M2
M3

M1

M9

M4

M10
M2

M6

M3

M12
M9

M8

M7

M4

M6
M5

M5

nax. 16: geometriuli obieqtebi da maTi Sesabamisi (samad SeRebili) grafi


am amocanis gadasaWrelad yovel obieqts grafis wvero SevusabamoT. Tu ori obieqti erTmaneTs kveTs,
maSin Sesabamisi wveroebi wiboTi SevaerToT. cxadia, grafikul obieqtTa yoveli gaerTianeba ase Seqmnili grafis damoukidebel wveroTa simravlea.
grafis wveroebis SeRebvis amocana, romelic zemoT gvqonda aRwerili, swored aseT izolirebul wertilTa simravles (da, Sesabamisad, aragadamkveT obieqtTa gaerTianebas) mogvcems.

grafis SeRebvaSi

gamoyenebuli ferebis raodenobis minimizacia ki minimaluri raodenobis gaerTianebebs mogvcems.


zemoT moyvanili naxazis magaliTSi obieqtebi sam klasad SeiZleba davajgufoT:

K1 = {M1 , M3 , M5 , M6 , M7 , M8 , M10 }, K2 = {M2 , M4 , M11 , M12 }, K3 = {M9 }.


amocana: sityvaTa Semokleba.

zogjer saWiroa xolme did monacemTa bazaSi monacemTa saxelebis sigrZis

Semcireba. magaliTad, Tu gvaqvs grZel sityvaTa simravle (davuSvaT, ramodenime aseuli 32 simbolosagan
Semdgari), maTi sigrZis Semcireba SeiZleba (magaliTad 8 simboloianze) ise, rom sxvadasxva sityva iseve
sxvadasxva darCes. am SemTxvevaSi pirveli 8 asos aReba ar gamodgeba, radgan YmagaliTi1A da YmagaliTi2A
gansxvavebuli aRar iqneba. ra wesiT unda SevamokloT sityvebi ise, rom Sedegebi erTmaneTs ar daemTxvas?
yovel Sesamoklebel sityvas

wi

SevusabamoT grafis erTi wvero

SevqmnaT SesaZlo Semoklebuli sityvebi

0
vi , vi,j

yvela SesaZlo

da

0
wi,j

vi .

Semdeg yoveli

da SevusabamoT wveroebi

0
vi,j
.

wi

sityvisaTvis

Semdeg gavavloT wiboebi

parametrebisaTvis (yovel sityvasa da mis SesaZlebel Semoklebas Soris).

cxadia, rom Tu am grafSi aviRebT iseT wiboebs, romlebic erTmaneTTan ar iqneba dakavSirebuli (izolirebul wiboebs), calsaxa Semoklebebis siis Sedgenas SevZlebT. ase, nax. 17-Si moyvanil magaliTSi
SeiZleba aviRoT wiboebi

{(magaliTi1,

magl), (magaliTi2, maai), (magaliTi3, gaTi), (magaliTi4, liTi)},

rac erT-erT SesaZlebel Semoklebis sias mogvcems.

28

maai

magl

magaliTi1

maTi

mglT

magaliTi2

gaTi

magaliTi3

glTi

liTi

magaliTi4

nax. 17: Semoklebis grafi

amocana: gayalbebis aRmoCena.

am amocanaSi saWiroa gamyalbebelTa dokumentebis dadgena. xSirad ise

xdeba xolme, rom gamyalbeblebi maT mier Seqmnil sabuTebs gzavnian (bankebSi, sagadasaxado sistemebSi gadasaxadebis asanazRaureblad, benzogasamarT sadgurebSi an sxva dawesebulebebSi gayalbebuli vauCerebiT saqonlis misaRebad da a.S.), romlebic identuri araa, magram garkveuli TvalsazrisiT
erTmaneTis msgavsia. rogor SeiZleba maTi aRmoCena?
pirvel rigSi dasadgenia, rogori sabuTebi iTvleba msgavsad (sxvadasxva amocanisaTvis es sxvadasxva
SeiZleba iyos, rogorc mag. msgavsi nomrebi, formebi, misamarTebi, saxelebi, gvarebi da a.S.).
yovel sabuTs grafis erTi wvero SevusabamoT da or wveros Soris wibo gavavloT, Tu Sesabamisi
sabuTebi msgavsia. cxadia, rom Tu aseT grafSi vipovniT wveroTa simravles, romelic

bevri wiboTi

iqneba SeerTebuli (magaliTad yvela yvelasTan - sruli qvegrafi), Sesabamisi sabuTebis ufro detaluri Seswavla SeiZleba Rirdes. am amocanis gadasawyvetad grafSi maqsimaluri sruli qvegrafis
amorCevis algoriTmebi SeiZleba gamogvadges.

29

ariTmetikuli algoriTmebi da maTi gamoyeneba

radgan Cven orobiT sistemaSi moqmedebas vapirebT, aucilebelia Sesabamisi operaciebis gansazRvrac.
Tu Cven aTobiT ariTmetikaSi (Sesabamisad algebraSi) mimatebis, gamravlebis, gayofis operaciebi gvaqvs
SemoRebuli, analogiuri operaciebi unda SemoviRoT orobiT algebraSic, anu
gorc amas misi fuZemdeblis, ingliseli maTematikosis jorj bulis (George

4.1

, ro-

bulis algebraSi

Boole) pativsacemad uwodeben.

bulis algebris elementebi


B = {0, 1}

bulis logika da, aqedan gamomdinare, bulis algebra

orobiT anbanzea gansazRvruli. zo-

gadad rom vTqvaT, es klasikuri logikis maTematikur enaze gadatanis erT-erTi (yvelaze gavrcelebuli) magaliTia. logikaSi gvaqvs WeSmariti da mcdari gamonaTqvamebi: yoveli gamonaTqvami (magaliTad, Y3 + 4

= 7A, Y12 3 = 1A, Yxval mze amovaA, YguSin wvimdaA da a.S.)

an WeSmaritia, an mcdari - sxva ram

SeuZlebelia.
bulis ZiriTadi idea gamonaTqvamebis maTematikur cvladebze gadatana iyo: yoveli gamonaTqvami
WeSmaritia (maSin

X = 1),

an mcdari (X

= 0).

an

aseve SesaZlebelia gamonaTqvamebis kombinirebac, magali-

2 7 = 1A.
Z =YguSin mze
amovida da amavdroulad wvimdaA maTematikurad Semdegnairad Caiwereba: Z = X&Y . saboloo jamSi,
Tu guSin marTla amovida mze (X = 1) da am dros marTlac wvimda (Y = 1), maSin Z = X&Y = 1 WeSmariti
Tad: YguSin mze amovida da amavdroulad wvimdaA, an Y2
am magaliTebSi, Tu

X =YguSin

mze amovidaA,

+ 3 = 5 da
Y =YwvimdaA, maSin

amavdroulad

sruli gamonaTqvami

iqneba.

X 0 =Y2 + 3 = 5A (WeSmaritia) da Y 0 =Y2 7 = 1A (mcdaria), cxadia, rom X 0 = 1 da Y 0 = 0.


0
0
aqedan gamomdinare, X &Y = 0 da gamonaTqvami Z =Y2 + 3 = 5 da amavdroulad 2 7 = 1A mcdaria.
analogiurad SeiZleba Semdegi gamonaTqvamebis Sedgena: Yxval iwvimebs an xval qari iqnebaA; Y3 + 7 = 11
an 2 5 = 3A. cxadia, rom aseTi gamonaTqvamebi WeSmaritia, Tu erTi mainc WeSmaritia. maTematikurad
es Semdegnairad SeiZleba Camoyalibdes: X =Yxval iwvimebsA, Y =Yxval qari iqnebaA, Z = X Y =Yxval
0
0
0
0
0
iwvimebs an xval qari iqnebaA; X =Y3 + 7 = 11A, Y =Y2 5 = 3A, Z = X Y = 1: aq an erTi unda
meores mxriv, Tu

Sesrulebuliyo, an meore.
mesame mniSvnelovani operacia uaryofaa: gamonaTqvamis Sebrunebulis aReba.
magaliTad, Yxval iwvimebsAYxval

ar

iwvimebs; Y3

uaryofa maTematikurad Semdegnairad Caiwereba:

+ 7 = 13 3 + 7 6= 13A

da a.S.

gamonaTqvamis

X .

bulis algebris es sami operacia qarTul enaze Semdegnairad SeiZleba CamovayaliboT: gamonaTqvami

Z = X&Y

WeSmaritia, Tu

WeSmaritia;

Z = X

da

WeSmaritia, Tu

gamonaTqvami orive WeSmaritia;

es yvelaferi maTematiker enaze Semdegnairad Camoyalibdeba: ori


or cvladian funqcias
1; ori

X 0, Y 0

f : B2 B

gamonaTqvamis

h:BB

WeSmaritia, Tu

an

X, Y

gamonaTqvamis koniunqcia

X&Y

ewodeba, romlis mniSvnelobaa 1, Tu orive cvladis mniSvnelobaa

diziunqcia

XY

or cvladian funqcias

mniSvnelobaa 1, Tu erT-erTi cvladis mniSvnelobaa 1;


funqcias

Z = XY

mcdaria.

ewodeba, romlis mniSvnelobaa 1, Tu

g : B2 B

ewodeba, romlis

Z gamonaTqvamis uaryofa Z
Z cvladis mniSvnelobaa 0.

erT cvladian

yovelive es cxrilis saxiTac SeiZleba gamovsaxoT:

X
0
0
1
1

Y
0
1
0
1

X&Y
0
0
0
1

X Y
0
1
1
1

X
1
1
0
0

am cxrilSi mocemulia aRsaweri funqciebis mniSvnelobebi cvladebis (am SemTxvevaSi

da

Y)

yvela

SesaZlo kombinaciisaTvis.
SeniSvna:

koniunqcia da uaryofa sxvadasxvanairad aRiwereba xolme. simartivisTvis SegviZlia davweroT:

X&Y = X Y = X Y , X = X .
bulis algebraSi usasrulod bevri funqciis moyvana SeiZleba, magram mTavari isaa, rom yvela es funqcia zemoT moyvanili diziunqciis, koniunqciisa da uaryofis saSualebiT gamoisaxeba.
funqciebis magaliTad SegviZlia moviyvanoT:

30

f (x1 , x2 , x3 )
= x1 x2 x3 ,
g(x1 , x2 , x3 , x4 ) = (x1 x2 x3 x4 , x1 x2 ),
h(x1 , x2 )
= (x1 x2 , x1 x2 , x1 x2 x1 x2 )
am magaliTSi
pasuxad (igive

f : B3 B.
g funqcia 4

f funqcia sam cvladiania (TiToeuli cvladi B simravlidan) da erT elements gvaZlevs


B simravlidan). am SemTxvevaSi ityvian, rom es funqcia B3 simravles asaxavs B simravleSi:

cvlads asaxavs or parametrian pasuxSi, ese igi

g : B4 B2 ,

xolo

hB2 B3 .
raime A simravlidan

n cvladiania, xolo es cvladebi mniSvnelobas


Seim parametriania da am pasuxis elementebi C simravlidan SeiZleba iyos,
n
ityvian, rom es funqcia A simravles (anu A simravlis elementebisagan Semdgar n sigrZis sityvas m
veqtors) asaxavs C
simravleSi (anu C simravlis elementebisagan Semdgar m sigrZis sityvaSi - veqzogadad, Tu ramie funqcia

Zleba iRebdnen da misi pasixi

torSi).
maTematikurad es Semdegnairad Caiwereba:
am TavSi Cven

f :B B

: An C m .

funqciebs ganvixilavT. aseT funqciebs diskretulsac, anu yvelgan wyvetils

uwodeben. analogiurad, aseT funqciebze Sedgenil maTematikas diskretuli maTematika ewodeba.


ganvixiloT diskretuli funqcia

f (x1 , x2 , x3 , x4 ) = x1 x2 x3 x4 x2 x3 x1 x2 x3 x4 . am funqciis gamosaTvlelad

saWiroa Semdegi bijebi:


1.

z1 = x2 x3 ;

2.

z2 = x1 z1 = x1 x2 x3 ;

3.

z3 = z2 x4 = x1 x2 x3 x4 ;

4.

z4 = z1 = x2 x3 ;

5.

z5 = x2 ;

6.

z6 = x1 z5 = x1 x2 ;

7.

z7 = z6 x3 = x1 x2 x3 ;

8.

z8 = z7 x4 = x1 x2 x3 x4 ;

9.

z9 = z8 z4 = x1 x2 x3 x4 x2 x3 ;

10.

z10 = z9 z3 = x1 x2 x3 x4 x2 x3 x1 x2 x3 x4 .

logikurad ismis ori SekiTxva: ramdeni operaciis Catareba gvixdeba am gamosaxulebis gamosaTvlelad? ramdeni bijia (droa) saWiro am gamosaxulebis gamosaTvlelad? am SekiTxvebze pasuxis gacema
Semdegnairad SeiZleba:
operaciaTa raodenobis dasaTvlelad sakmarisia logikuri operaciebis (koniunqcia, diziunqcia, uaryofa) daTvla:

C(f (x1 , x2 , x3 , x4 )) = 10.

rac Seexeba dros (bijebis raodenobas)

T (f (x1 , x2 , x3 , x4 )), zemoT moyvanil gamoTvlis meTodSi es opera-

ciaTa raodenobas daemTxva, radgan Cven yvela operacias rig-rigobiT vatarebdiT.


am magaliTSi gasaTvaliswinebelia is faqti, rom ramodenime operacia erTdroulad SeiZleba Catardes:
magaliTad, SesaZlebelia

(x1 x3 ), x2 da (x2 x3 gamosaxulebebis gamoTvla, radgan isini erTmaneTze damokidey1 = x1 x2 da y2 = x1 x2 x3 gamosaxulebelisagan, romelTa gamoTvla

buli araa, gansxvavebiT, magaliTad,

erTdroulad ar SeiZleba: erTi meorezea damokidebuli.


aqedan gamomdinare, SegviZlia Semdegi YparaleluriA algoriTmis SemoTavazeba:

1.

z1 = x2 x3

2.

z3 = z1 z2 = x1 x2 x3 x4

3.

z8 = z7 x4 = x1 x2 x3 x4

4.

z10 = z8 z9 = x1 x2 x3 x4 x2 x3 x1 x2 x3 x4 .

da amavdroulad

z2 = x1 x4

da amavdroulad

da amavdroulad

z4 = z1 = x2 x3

da amavdroulad

z5 = x2

da amavdroulad

da amavdroulad

z7 = z5 z6 = x1 x2 x3 ;

z9 = z4 z3 = x2 x3 x1 x2 x3 x4 ;

31

z6 = x1 x3 ;

aq mniSvnelovania is faqti, rom garkveuli operaciebi erTdroulad sruldeba, ris xarjzec funqciis
siRrme

(anu gamoTvlis bijebis raodenoba) mcirdeba.

aqedan gamomdinare viRebT Semdeg gansazRvrebas:


ganmarteba

4.1: f : Bn Bm

bulis funqciis operaciaTa raodenoba

C(f (x1 , ..., xn )

masSi Semavali koniun-

C(f (x1 , ..., xn )

qiis, diziunqciisa da uaryofebis raodenobaTa jamis tolia; igive funqciis siRrme

misi

realizaciisaTvis paralelurad Catarebul operaciaTa bijebis raodenobis tolia.


aRsaniSnavia, rom Tu funqcia mravalganzomilebiania, rogorc, magaliTad,

f (x1 , x2 ) = (x1 x2 , x2 ), misi


C(x1

elementebis raodenobis gamosaTvlelad unda daviTvaloT yvela pasuxisTvis (am SemtxvevaSi

x2 ) = 3, C(x2 ) = 0

da daviTvaloT maTi jami:

C(f (x1 , x2 )) = 3 + 0 = 3,

xolo siRrmis dasaTvlelad unda

gamoviangariSoT TiToeulis siRrme da aviRoT maTi maqsimumi (funqiis yoveli mniSvnelobis gamoTvla
SeiZleba erTdroulad):
savarjiSo

4.1:

T (x1 x2 ) = 2, T (x2 ) = 0, T (x1 x2 , x2 ) = max{T (x1 x2 ), T (x2 )} = max{2, 0} = 2.

ganixileT funqciebi

h(x1 , x2 ) = (x1 x2 , x1 x2 , x1 x2 x1 x2 ).

f (x1 , x2 , x3 ) = x1 x2 x3 , g(x1 , x2 , x3 , x4 ) = (x1 x2 x3 x4 , x1 x2 )

da

daiTvaleT maTi operaciaTa raodenoba da siRrme.

im amocanebSi, romelTa ganxilvas Cven vapirebT, mniSvnelovan rols oris moduliT mimateba asrulebs.
es ganpirobebulia imiT, rom kompiuteruli sistemebi orobiT anbanzea agebuli.
orobiTi mimateba (rogorc mas sxvanairad uwodeben) gansazRvrulia Semdegnairad:

f (x, y) = x y = 1 maSin da
0 0 = 0, 0 1 = 1, 1 0 = 1, 1 1 = 0.

funqcia

mxolod maSin, Tu misi cvladebidan

zustad erTi tolia erTis:

rogor SeiZleba am funqciis koniunqiis, diziunqciisa da uaryofis meSveobiT Cawera? pirvel rigSi
qarTul enaze CamovayaliboT, Tu cvladebis ra mniSvnelobebisaTvis xdeba funqcia

f (x, y) = x y

funqcia erTis toli xdeba maSin da mxolod maSin, Tu

logikurad, Tu cvladi aris

xy

da

y=0

1:
an

x=0

da

y = 1.
=

misi uaryofa unda iyos 0. amitomac viRebT Semdeg gamonaTqvams:f (x, y)

x = 1 da y = 1 an x = 1 da y = 1. es Semdeg
= 0A (analogiurad Yy = 0A) gamonaTqvamebis
dagvWirda, rom x y gamosaxuleba gamosuliyo 1, Tu

funqcia erTis toli xdeba maSin da mxolod maSin, Tu

funqcias ganapirobebs:
Yx

1,

x=1

= 1A

zustad

(Yy

= 1A)

f (x, y) = x y = x y x y .

gamonaTqvamebad Secvla imitom

erTi cvladia

aq Yx

1.

zogadad, Tu raime ucnobi funqcia mocemulia cxrilis saxiT, misi formulebiT Cawera Semdegnairad
SeiZleba:
mocemulia funqcia

gamoyaviT cvladebis is kombinaciebi, romlisTvisac funqcia xdeba 1 (zeda SemTxvevaSi esaa

0, y = 1

da

ci ,

x =

x = 1, y = 0);

TiToeuli aseTi kombinaciisaTvis SeadgineT koniunqciebisagan Semdgari gamosaxuleba. Tu


aiReT

f (x1 , x2 , ..., xn );

winaaRmdeg SemTxvevaSi TviTon

ci

(zeda SemTxvevaSi esaa

x y

es gamosaxulebebi SeaerTeT diziunqciebiT (zeda SemTxvevaSi viRebT

da

ci = 0,

x y );

x y x y).

aseTi saxiT Caweril funqciebs, sadac koniunqciebiT Sekruli cvladebiT (an maTi uaryofebiT) gamosaxulebebi SeerTebulia diziunqciebiT, diziunqciuri normaluri forma ewodeba.
savarjiSo

4.2:

criliT mocemuli funqciebi CawereT diziunqciuri normaluri formiT:

32

x0
0
0
0
0
1
1
1
1

x1
0
0
1
1
0
0
1
1

x2
0
1
0
1
0
1
0
1

f1
1
0
0
1
1
1
0
0

f2
0
1
1
0
1
1
0
0

f3
1
0
1
1
0
1
1
0

f4
1
0
0
1
0
1
0
0

aRsaniSnavia, rom (Cveulebrivi algebris msgavsad) WeSmaritia Semdegi tolobebi:

x(y z) = x y x z; x 0 = x; x 1 = 1; x 0 = 0; x 0 = x.
savarjiSo

4.3:

daamtkiceT zemoT moyvanili tolobebis WeSmariteba (moiyvaneT TiToeuli funqciis

cxrili da SeadareT maTi mniSvnelobebi).


savarjiSo

4.4:

daamtkiceT:

x x y = 1; x x y = x y .

rogorc simravleTa TeoriaSi, aseve bulis logikaSic mniSvnelovania e.w. de morganis kanonebi:

xy = xy; xy = xy.

savarjiSo

4.5:

daamtkiceT de morganis kanonSi moyvanili formulebi.

savarjiSo

4.6:

risi tolia

(x) ?

de morganis kanonebze dayrdnobiT disiunqciuri normaluri formis gadayvana SeiZleba e.w. koniunqciur normalur formaSi - iseT gamosaxulebaSi, romelic Sedgeba cvladebis diziunqciuri gaerTianebebiT da am gamosaxulebaTa koniunqciebiT gaerTianebebisagan. koniunqciuri normaluri formiT

(x2 x3 )(x1 x2 x3 )(x1 x2 x3 )


(x2 x3 )(x1 x2 x3 )(x1 x2 x3 ) x1 .

Cawerili funqciebis magaliTebia


magram ara

da

(x1 x3 )(x1 x2 )(x1 x2 x3 ),

Tu mocemuli gvaqvs raime funqcia, zogjer misi operaciebisa da bijebis raodenobis Semcireba SeiZleba zemoT moyvanili tolobebis meSveobiT:

(x1 x2 x3 x4 x1 x2 ) = x1 (1 x4 x2 ) x2 x3 = x1 x2 x3 .

igive funqciis koniunqciuri normaluri formiT Cawera Semdegnairad SeiZleba:

x1 x2 x3 = (x1 (x2 x3 )) = (x1 (x2 x3 )).


savarjiSo

4.7:

Semdegi funqciebi CawereT diziunqciuri normaluri formiT:

f (x1 , x2 , x3 ) = (x2 x3 )(x1 x2 x3 )(x1 x2 x3 );


g(x1 , x2 , x3 ) = (x1 x3 )(x1 x2 )(x1 x2 x3 );
h(x1 , x2 , x3 ) = (x1 x2 )(x1 x2 )(x1 x2 x3 ).

4.2

n bitiani ricxvebis mimateba

mimatebis operacia imdenad xSiria Cvens yoveldRiur cxovrebaSi, rom bevr adamians, albaT, arc ki
mosvlia TavSi azrad is faqti, rom es procesi arc Tu ise martivia. magaliTad, yvela scrafad gamogviTvlis

5 + 3 = 8,

magram

3434164136861 + 3289747301047 = 6723911437908

arc Tu ise mcire drosa da

yuradRebas moiTxovs. zogadad, rac ufro grZelia Sesakrebi ricxvebi, miT ufro did dros vandomebT
gamoTvlas.
miuxedavad imisa, rom Sekrebis yvelaze martivi algoriTmi - qveS miweriT mimateba - sayovelTaod cnobilia, Cven mainc SevecdebiT mis ganxilvasa da gaanalizebas da amas rogorc aTobiT, aseve orobiTi
ricxvebis magaliTze gavakeTebT.

33

4.2.1

qveS miweriT mimatebis meTodi

sayovelTaod cnobili meTodis garCeva martivi magaliTiT daviwyoT:

427
613
0

427
613
40

zogadad, Tu mocemulia ori

427
613
040

427
613
1040

n cifriani ricxvi an1 ...a0 da bn1 ...b0 , misi jami dn ...d0 Semdegi algoriTmiT

SeiZleba gamoviangariSoT:

c0 = 0;
for( i = 0, i < n, i + +)
{
zi = ai + bi + ci mod 10;
if( ai + bi + ci > 9 )
ci+1 = 1;
else ci+1 = 0;
}
dn = cn ;
imis dasamtkiceblad, rom moyvanili algoriTmi marTlac swor Sedegs mogvcems, saWiroa Semdegi maTematikuri formula:

(xn xn1 ...x0 ) = 10n xn + 10n1 xn1 + ... + 100 x0 .


(xn xn1 ...x0 ) = 10n xn + 10n1 xn1 + ... + 100 x0 .

savarjiSo

4.8:

daamtkiceT toloba

savarjiSo

4.9:

wina savarjiSos Sedegis gamoyenebiT daamtkiceT zemoT moyvanili algoriTmis siswore.

igive meTodiT orobiTi rocxvebis Sekrebac SegviZlia:


mocemulia ori

a = (an1 ...a0 )2

bitiani orobiTi ricxvi

da

b = (bn1 ...b0 )2 .

gamoiangariSeT misi jami

(dn ...d0 )2 :
+
dn

an1
bn1
dn1

... a1
... b1
... d1

a0
b0
d0

c0 = 0;
for( i = 0, i < n, i + +)
{
zi = ai + bi + ci mod 2;
if( ai + bi + ci > 2 )
ci+1 = 1;
else ci+1 = 0;
}
dn = cn ;
(xn xn1 ...x0 )2 = 2n xn + 2n1 xn1 + ... + 20 x0 .

savarjiSo

4.10:

savarjiSo

4.11: wina savarjiSos Sedegis gamoyenebiT daamtkiceT zemoT moyvanili algoriTmis siswore.

daamtkiceT toloba

aRsaniSnavia, rom
tolia.

ci+1 = 1

ai , bi da ci
ai = bi = 1,

maSin da mxolod maSin, Tu

amis gansazRvra Semdegnairad SeiZleba: Tu

cvladebs Soris ori an sami erTis


maSin piroba sruldeba.

cvladidan zustad erTia erTis toli, maSin amavdroulad mesame cvladic (anu

ci )

Tu am ori

unda iyos 1. imis

dadgena, aris Tu ara ori cvladidan zustad erTi erTianis toli, SeiZleba oris moduliT mimatebiT:

ai bi .

aqedan gamomdinare, imis dadgena, gvxvdeba Tu ara ori an sami erTiani sam cvladSi, Semdegi

formuliT SeiZleba:
cvladi aris

ci+1 = ai bi (ai bi )ci

(aRsaniSnavia, rom

1).

34

ai bi = 1

maSin da mxolod maSin, Tu orive

aqedan gamomdinare

zi

da

ci (i = 1, ..., n 1)

cvladebis gamosaTvlelad gvaqvs Semdegi formulebi:

zi = xi yi ci ,
ci+1 = ai bi (xi yi )ci ,
dn = cn .
magaliTi:

7
1
1
1
1

a
b
d
c

6
1
1
0
1

5
0
1
1
0

4
0
1
1
0

3
1
0
1
0

2
0
0
0
0

1
0
1
1
0

0
1
0
1
0

zemoT moyvanili bulis algebris formulebi grafikuladac SeiZleba gamovsaxoT:

a b

&
a& b

a b

nax. 18: logikuri operaciebis grafikuli gamosaxva

koniunqiis, diziunqciisa da uaryofis operaciebs bulis algebris elementarul operaciebsac uwodeben.


aqedan gamomdinare, SegviZlia SevadginoT

zi

da

ci

cvladebis gamosaTvleli sqema:

ai bi

&

ci

&
c i+1
nax. 19:

aRsaniSnavia, rom

zi

da

ci+1

zi
cvladebis gamosaTvleli sqema

operacia imdenad xSirad gamoiyeneba, rom misi sqema erTi simboloTia aRniSnuli,

Tumca igi ramodenime operaciis Sesrulebas moiTxovs.


savarjiSo

4.12:

gamoiangariSeT, risi folia

Tu Cven am sqemas aRvniSnavT rogorc

T ()

da

C().

F A (inglisuri Full Adder, anu sruli Semkrebi), maSin ori n bitiani


CRAn ) Semdegnairi iqneba:

ricxvis SekrebisaTvis saWiro sqema (romelsac vuwodebT

35

an bn
cn+1 FA

ai bi
c i+1 FA

...

cn

zn

a1 b1
...

ci

FA

c2

zi
n

nax. 20: ori

a0 b0
FA

c1

z1

c0

z0

bitiani ricxvis SekrebisaTvis saWiro sqema

CRAn

T (F A) (anu im bijebis raodenoba, rac saWiroa F A sqemis


yvela Sedegis gamosaangariSeblad) da C(F A) (anu F A sqemaSi arsebuli elementebis raodenoba), Tu
T (&) = T () = T () = 1, da C(&) = C() = C() = 1. aqve gamoiyeneT wina savarjiSoSi gamoTvlili T ()
da C().

savarjiSo

4.13:

gamoiangariSeT, risi tolia

T () = 0

SeniSvna: xSirad iReben

C() = 0,

da

anu sqemebSi uaryofis elementebs ugulebelyofen imis

gamo, rom maTi realizacia sxva elementebis realizaciasTan SedarebiT sakmaod mcirea da, amave dros,
uaryofebs xSirad iyeneben damxmare elementebad (sxvadasxva teqnikuri mizezebiT or erTmaneTze miyolebul uaryofas svamen xolme). amas garda, teqnikurad SesaZlebelia elementebis sqemis iseTi realizacia, rom

T ((ab)) = T (ab), T ((a b)) = T (a b), T (ab) = T (ab), T (a b) = T (a b).

savarjiSo

4.14:

iswinebiT, rom

T (), C()

gamoiangariSeT, risi tolia

da, aqedan gamomdinare,

T (F A)

imis gaTval-

T () = C() = 0.
z1 cvladi ar gamoiTvleba, sanam ar iqneba gamoTvlili c1 da, zogadad, zi cvladis
ci1 . aqedan gamomdinare, T (CRAn ) = 4n, C(CRAn ) = 9n
davuSvebT, rom T () = C() = 0).

advili dasanaxia, rom

gamoTvla ar SeiZleba, sanam ar iqneba gamoTvlili


(aq da SemdgomSi
savarjiSo

4.15:

daamtkiceT

savarjiSo

4.16:

daxazeT

T (CRAn ) = 4n

da

CRA1 , CRA2 , CRA3

C(CRAn ) = 9n

da

CRA4

tolobebi.

sqemebi.

bunebrivia Semdegi SekiTxva: SesaZlebelia Tu ara bijebis raodenobisa da elementebis ricxvis Semcireba?
Tu davakvirdebiT nax. 21 (a)-Si pirvel or

FA

elementi, romelic

z1

da

c1

F A elements, davinaxavT Semdeg mniSvnelovan faqts: marcxena


c0 cvladis gamoTvlas.

cvladebs iTvlis, YelodebaA

a1 b1
a1 b1
c2

FA

FA

a0 b0
c1

FA

z1

1
2

c0

z0

c2

FA

1
1
1

Mux 2

0
2

z1

(a)

nax. 21: ori

a0 b0

FA

0
0
1

c0

c1

z0

(,)

bitiani ricxvis mimatebis paraleluri sqema

c1 = 0 an c1 = 1, Cven SegviZlia erTdroulad gamoviTc1 = 0 (z10 , c02 ) da im SemTxvevisaTvis, rodesac c1 = 1 (z11 ,

imis gamo, rom mas SeiZleba miewodos mxolod


valoT

z1

c12 ).Semdeg,

da

c2

im SemTxvevisaTvis, rodesac

rodesac

c1

gamoTvlili iqneba, SeiZleba am ori saSualedo Sedegidan erT-erTis arCeva (nax.

21 (b)).

36

am naxazSi gvxvdeba axali elementi


z1 =
zogadad,

M uxn

M ux2 , romlis muSaobis Sedegebi Semdegi cxriliT SeiZleba gamoisaxos:


 0
z10 , Tu c1 = 0,
c2 , Tu c1 = 0,
c2 =
z11 , Tu c1 = 1
c12 , Tu c1 = 1.

Semdegnairad SeiZleba aRiweros (nax. 22) :

a1

bn . . . b1
an . . . a1
bn+1
a n+1

b1
c

&

&

Mux 1

z1

Mux n
zn . . . z1

z n+1

Mux 1
Muxn

zi =
nax. 21 -Si moyvanil sqemas uwodeben

Adder -Semkrebi). igi or 2


z = (c2 , z1 , z0 ) mogvcems pasuxad.
- SerCeva,

+1

CSA2n+1 ,

ori

n+1

bi ,
ai ,

bitiani ricxvis amorCevis sqema

Tu
Tu

c = 0,
c = 1.

CSA2 (Carry Select Adder Carry bit daxsomebul bits


a = (a1 , a0 ) da b = (b1 , b0 ) Sekrebs da 3

bitian ricxvs

ewodeba,

Select

bitian ricxvs

2n+1 bitian ricxvs A = (a2n 1 , ..., a0 ) da B = (b2n 1 , ..., b0 ) Sekrebs


z = (c2n , z2n 1 , ..., z0 ) mogvcems pasuxad, Semdegnairad aRiwereba (nax. 23):

b2 n+1-1 a2 n+1-1

b2 n a2 n

...

CSA 2 n

a0 b0
FA

c0

1
2 n+1

...

1
2 n+1-1

c 21n+1

z0

1
2n

CSA 2 n

c
z
Mux 2 n+1
0
2 n+1

b2 n-1 a2 n-1

...

...

0
2 n+1-1

0
2n

...

da

a0 b0

CSA 2 nc

c2 n

z 2n

z 2 n+1-1

z 2 n-1

z0

CSA 2 n+1

CSA1
nax. 23:

CSA1 ,

i = 1; n + 1.

romelic or

bitian ricxvs

c1

Mux n+1

nax. 22:

zogadad,

CSA2n+1

ori

2n+1

bitiani ricxvis Sekrebis paraleluri sqema

anu ori erTbitiani ricxvis Semkrebi aris zemoT ganxiluli sqema

F A.

ZiriTadi idea Ydayavi da ibatoneA paradigmazea agebuli: monacemebi or nawilad iyofa

A1 = (a2n+1 1 ...a2n ) A0 = (a2n 1 ...a0 )


B1 = (b2n+1 1 ...b2n ) B0 = (b2n 1 ...b0 )
Semdeg gamoiTvleba

Z0 = A0 + B0

da

amavdroulad

Z10 = A1 + B1 + 0

signalis meSveobiT, amoirCeva

37

da

Z11 = A1 + B1 + 1.

amis Semdeg,

c2n


Z1 =
aq

Z0 = (z2n 1 , ..., z0 )

da

Z10 ,
Z11 ,

Tu
Tu

c2n = 0,
c2n = 1

c2n+1 =

c02n+1 ,
c12n+1 ,

Tu
Tu

c2n = 0,
c2n = 1

Z1 = (z2n+1 1 , ..., z2n ).

advili dasamtkicebelia am sqemis siswore maTematikur induqciaze dayrdnobiT:

induqciis Semowmeba: Tu

induqciis daSveba: davuSvaT,

induqciis biji: davamtkicoT, rom

savarjiSo
Sekrebs or

4.17:

CSA2n

daamtkiceT, rom Tu

n+1

n = 0, cxadia, rom CSA1 = F A da igi or erT bitian ricxvs sworad Sekrebs;


sworad Sekrebs or

CSA2n+1

CSA2n

2n

bitian ricxvs;

sworad Sekrebs or

sworad Sekrebs or

2n

2n+1

bitian ricxvs.

bitian ricxvs, maSin

CSA2n+1

sworad

bitian ricxvs.

T (CSA2n+1 ), misi gamoTvla Semdegnairad SeiZleba:


Z0 , Z10 da Z11 , rac erTdroulad SeiZleba moxdes
0
1
T (CSA2n ) bijSi. amis Semdeg unda avirCioT Z1 da Z1 cvladebidan erT-erTi M ux2n +1 sqemis saSualebiT,
rac T (M ux2n +1 ) = 2 bijSia SesaZlebeli.
aqedan gamomdinare, T (CSA2n+1 ) = T (CSA2n ) + T (M ux2n +1 ) = T (CSA2n ) + 2. am rekursiuli formulis
rac Seexeba am algoriTmis bijebis raodenobas

upirvelesad yovlisa, unda gamoviTvaloT cvladebi

gaxsnis Semdeg miviRebT:

T (CSA2n+1 ) = O(log n).


savarjiSo

C(CSA2n+1 )

4.18:

daamtkiceT toloba

T (M ux2n +1 ) = 2

(gamoiyeneT nax. 22-Si moyvanili rekursiuli sqema).

operaciaTa raodenobis gamosaTvlelad gamoviyenoT formula:

C(CSA2n+1 ) = 3 C(CSA2n ) + C(M ux2n +1 ).


savarjiSo

4.19: daamtkiceT, rom C(CSA2n+1 ) marTlac am rekursiuli formuliT gamoiTvleba da gamoiT-

valeT misi mniSvneloba.


rogorc vxedavT, paraleluri algoriTmebiT SeiZleba Sekrebis amocanis swrafad gadaWra:
bitiani ricxvisaTvis ara

O(n),

aramed

O(log n)

ori

bijia saWiro, samagierod izrdeba elementebis raode-

noba. es gasakviri ar aris: met operacias vatarebT, oRond erTdroulad da amis xarjze vigebT dros.

n bitiani ricxvis mimatebis paraleluri algoriTmi, romlis


O(log n) da elementebis raodenobis zeda zRvaria O(n) (sxva sityvebiT rom vTqvaT,

aqve unda aRiniSnos, rom arsebobs ori


drois zeda zRvaria

SesaZlebelia logariTmul droSi gamoTvla ise, rom elementebis raodenoba Zalian ar gaizardos),
magram maTi ganxilva Cveni kursis programas cdeba.

4.3

n bitiani ricxvebis gamokleba

n N bitiani sistemebis ageba SeiZleba. roden bitiani orobiTi ricxvebis dasamuSaveblad, maqsimaluri ricxvi,
n
rac SeiZleba warmovadginoT, iqneba 2 1: (11...1)2 . masze erTiT meti ricxvi ukve n + 1 bitiani iqneba:
(100...0), sadac marjvena n biti nulis tolia, anu Tu Cven mxolod n bitian ricxvebs ganvixilavT da
n
ufro maRal bitebs ubralod vagdebT, nebismier ariTmetikul operacias 2
moduliT ariTmetikaSi
n
vatarebT, rac imas niSnavs, rom nebismieri 0 x < 2 ricxvisaTvis SegviZlia gamoviangariSoT iseTi
n
Sesabamisi y , rom x + y = 0 mod 2 , an, sxva sityvebiT rom vTqvaT, x ricxvis Sebrunebuli (uaryofiTi)
n
moduliT 2 .
bunebrivia SekiTxva: rogor SeiZleba gamoviangariSoT mocemuli x ricxvis Sebrunebuli y ? Tu ganvin
n
n
xilavT ricxvs 0 mod 2 = 2 = (11...1)2 + 12 mod 2 , SeiZleba davaskvnaT, rom x ricxvis Sebrunebulis
gamosaTvlelad unda gamoviangariSoT iseTi z ricxvi, rom x + z = (11...1)2 da Semdeg y = z + 1.

wina paragrafSi ganxiluli algoriTmebiT fiqsirebuli


sac awyobilia sistema fiqsirebuli

38

savarjiSo

4.20:

x + z = (11...1)2 ,

daamtkiceT, rom Tu mocemuli


maSin

4.21:

maSin

daamtkiceT, rom mocemuli

WeSmaritia toloba
aqedan gamomdinare,

x ricxvisTvis movZebniT
2n ) iqneba y = z + 1.

bitiani

ricxvis Sebrunebuli (moduliT

x = (xn1 xn2 ...x0 )2 ,

cxadia, Tu aviRebT
savarjiSo

iseT

ricxvs, rom

z = x = (xn1 xn2 ...x0 )2 .

x = (xn1 xn2 ...x0 )2

da

z = (xn1 xn2 ...x0 )2

ricxvebisaTvis

x + z = 0 mod 2n .

x = (xn1 xn2 ...x0 )2 ricxvis Sebrunebulia y = x+1 mod 2n = (xn1 xn2 ...x0 )2 +1 mod 2n .
a = (an1 an2 ...a0 )2 da b = (bn1 bn2 ...b0 )2
n
n
jami: d = a b mod 2 = a + b + 1 mod 2 .

yovelive zemoT Tqmulidan SeiZleba davaskvnaT, rom mocemuli


ricxvis sxvaobis gamosaTvlelad unda gamoviTvaloT Semdegi
es ki nax. 24(a)-Si naCveneb sqemas mogvcems.

B
Add n

B
Add n

aq

Addn

ori

Add n

(a)
nax. 24: ori

(b)

(g)

bitiani ricxvis gamoklebis sqema (a), (b) da mimateba-gamoklebis kombinirebuli sqema (g)

n bitiani ricxvis mimatebis sqemaa, romlis konkretuli realizacia am SemTxvevaSi mniSvne-

lovani araa.
savarjiSo
radgan

4.22: daamtkiceT, rom nax.

x = x 1,

24(a)-Si naCveneb sqema marTlac

A da B ricxvebis sxvaobas gamoiTvlis.

24(a) da 24(b) naxazebSi naCvenebi sqemebi erTsa da igive Sedegs iZleva. aqedan gamom-

dinare, SesaZlebelia 24(g) naxazSi naCvenebi sqemiT Sekrebisa da gamoklebis erTiani sqemis Seqmna: Tu
makontrolebeli signali

L = 1,

Sesruldeba gamokleba, xolo Tu

x = x 1

L=0

mimateba.

x = x 0.

savarjiSo

4.23:

daamtkiceT, rom

savarjiSo

4.24:

daamtkiceT, rom Tu 24(g) naxazSi naCveneb sqemaSi makontrolebeli signali

ruldeba gamokleba, xolo Tu

L=0

da

aRsaniSnavia, rom realur sistemebSi Sedegi

dn
n
Cven 2

L = 1,

Ses-

mimateba.

D = (dn , dn1 ...d0 )2 (da saerTod ricxvebi) n + 1 bitiani


dn = 1, D ricxvi uaryofiTia, winaaRmdeg

sityvebia, romlebSic ufrosi biti

niSans gviCvenebs: Tu

SemTxvevaSi ki dadebiTi. magram

moduliT ariTmetikuli operaciebiT SemovifarglebiT (niSnis

gareSe), riTic ufro advilia ZiriTadi principebis gageba da Semdgom sxvadasxva praqtikuli realizaciis aTviseba.

4.4

n bitiani ricxvebis gamravleba

YqveS miweriT gamravlebaA pirveli algoriTmia, romelsac skolaSi vswavlobT:

39

427
613
1281

427
613
1281
4270

427
613
1281
4270
256200

427
613
1281
4270
256200
261751

A = (an1 ...a0 ) da B = (bn1 ...b0 ) ricxvebis gadasamravleblad gamoiangariSe Ck = 10k A bk da maTi jami
C = C0 +C1 + +Cn1 . aRsaniSnavia, rom Abk ricxvis gamosaTvlelad calke algoriTmia saWiro, xolo
10k x mocemuli x ricxvis k poziciiT marcxniv YCaCoCebasA niSnavs (an marjvniv Sesabamisi raodenobis
nulebis miweras).
savarjiSo

4.25:

daamtkiceT, rom zemoT moyvanili qveS miweriT gamravlebis meTodi marTlac swor pa-

suxs iZleva.

B = (bn1 ...b0 )

miniSneba:

ricxvi warmoadgineT Semdegi jamis saxiT:

B = 10n1 bn1 + + 100 b0 .

analogiurad SegviZlia gamoviangariSoT orobiTSi warmodgenili ricxvebis namravlic:

cxadia, rom

A = (an1 ...a0 )

da

10110
10011
10110
101100
0000000
00000000
101100000
110100010

B = (bn1 ...b0 ) orobiTi ricxvis gamravlebis SemTxvevaSi Semdegnairad


Ck = 2k A bk = 2k A & bk da maTi jami C = C0 + C1 + + Cn1 .

unda moviqceT: gamoviangariSoT


savarjiSo

4.26:

aTobiTi ricxvebis algoriTmis analogiurad daamtkiceT am meTodis siswore.

savarjiSo

4.27:

daamtkiceT, rom qveS miweriT gamravlebis meTodis operaciaTa raodenobis zeda zRva-

ria

O(n2 ).

ra aris misi bijebis raodenobis zeda zRvari? SeiZleba Tu ara am meTodis paralelizacia?

n bitiani ricxvebis qveS miweriT gamravlebis algoM ultBinn , romelic orobiTSi Caweril n bitian ricxvebs amra gansxvavebaa C(M ultDecn ) da C(M ultBinn ) zeda zRvrebs Soris? T (M ultDecn ) da T (M ultBinn )

savarjiSo
riTmi

4.28:

M ultDecn

ravlebs.

ganixileT aTobiTSi Cawerili


da analogiuri algoriTmi

zeda zRvrebs Soris? pasuxi daamtkiceT.

4.4.1

gamravlebis paraleluri meTodi: volesis xe

1964 wels avstralielma mecnierma kris volesma

(Wallace Tree)

(Chris Wallace) gamravlebis paralelizaciis idea wamoayena,

romelsac Cvens magaliTze ganvixilavT.

Ci

cvladebi gamoviangariSoT rogorc qveS miweriT meTodSi:

C0
C1
C2
C3
C4
C
daxsomebuli

10110
10011
10110
101100
0000000
00000000
101100000
110100010
001111100

C0
C1
C2
C3
C4
C

40

a4,, a3,0 a2,, a1,, a0,0


b4,0 b3,0 b2,0 b1,0 b0,0
c0,4 c0,3 c0,2 c0,1 c0,0
c1,4 c1,3 c1,2 c1,1 c1,0 c0,0
c2,4 c2,3 c2,2 c2,1 c2,0 c1,0 c0,0
c3,4 c3,3 c3,2 c3,1 c3,0 c2,0 c1,0 c0,0
c4,4 c4,3 c4,2 c4,1 c4,0 c3,0 c2,0 c1,0 c0,0
c9,0 c8,0 c7,0 c6,0 c5,0 c4,0 c3,0 c2,0 c1,0 c0,0

Ci = (ci,4 ci,3 ci,2 ci,1 ci,0 )2 da yovel aseT ci,j cvlads vuwodoT 2i+j
0
1
2
3
rigis. aqedan gamomdinare, gveqneba 1 cali 2 = 1 rigis, 2 cali 2 rigis, sami 2 rigis, oTxi 2 rigis,
4
5
6
7
8
xuTi 2 rigis, iseve oTxi 2 rigis, sami 2 rigis, ori 2 rigis da erTi 2 rigis cvladi.
c0,0 cvladi pirdapir unda gadavides, rogorc saboloo pasuxis yvelaze dabali biti: c0 = c0,0 (20 rigis

cvladebisaTvis SemovitanoT aRniSvna

cvladi mxolod erTia, ase rom, mas araferi emateba).

21

rigis cvladebi unda SevkriboT, Sedegad viRebT erT

21

rigis pasuxs (maT orobiT jams) da erT

22

rigis pasuxs (daxsomebul bits, romelic SemdegSi ufro maRali bitebis jams daemateba).
analogiurad vajamebT
am wesiT vajamebT

22

rigis sam cvlads, pasuxad viRebT erT

22

rigis da erT

rigis cvladebs (ors an sams erTad) da Sedegad viRebT

23
da

rigis bits.

2i+1

rigis bitebs,

romlebic Semdeg bijSi unda davajgufoT da igive wesiT avjamoT.


am process vimeorebT man am, sanam ar miviRebT yoveli rigSi or an erT bits.

bolos Cveulebrivi

SemkrebiT vajamebT im nawils, romelic yoveli rigis or-ori bitisagan Sedgeba.


yovelive es sqematurad naCvenebia naxazSi 25.

C0

C0, 0
C0, 1
C1, 0
C0, 2
C1, 1
C2, 0

d 1, 1

HA

d 1, 2

FA

C0, 4
C1, 3
C2, 2
C3, 1
C4, 0

FA

FA

C2, 4
C3, 3
C4, 2
C3, 4
C4, 3

HA

aRsaniSnavia, rom

HA

FA

d 1, 4
d 1, 4

FA

FA

HA

d 1, 6
d 1, 6
d 1, 7
d 1, 7
d 1, 8
d 1, 8

d 2,3

HA

d 2,4

HA

HA
HA

C3

d 3, 4

C4

HA

d 3, 5

C5

d 3, 5

C6

d 2,5

d 2,5

FA

d 3, 3

d 3,4

d 2,4

FA

d 1, 5
d 1, 5

FA

C2

d 1, 5

d 1, 5

C4, 4

nax. 25: ori

d 1, 3

d 2,2

d 2,3

d 1, 4

C4, 1
C1, 4
C2, 3
C3, 2

HA

d 1, 3
d 1, 3

C3, 0
C0, 3
C1, 2
C2, 1

d 1, 2

C1

d 2,5

d 2,6
d 2,6
d 2,7

d 2,7

d 3,6

HA

HA

d 2,8
d 2,8

d 3,6
C7

Add6

d 3, 7

C8

d 3, 7
d 3,8

C9

d 3, 8

HA

d 3, 9

d 2,9

C10

bitiani ricxvis gamravlebis volesis xis Semkrebi nawili

ori bitis Semkrebi sqemaa, romelic

daxsomebul bits gamoiTvlis. faqtiurad es igive

FA
41

da

erT bitiani ricxvebis orobiT jams da

sqemaa, sadac

C = 0.

savarjiSo

4.29: FA

sqemis gamoyenebiT daxazeT

HA

sqema.

zemoT moyvanil meTods volesis xe ewodeba, radgan mis sqemas xis struqtura aqvs: yovel SreSi SesakrebTa
raodenoba iklebs. uxeSad rom daviTvaloT, sami Sesakrebi orze dadis.
misi ZiriTadi ideac esaa:
rom

HA sqemis gamoyenebiT sami Sesakrebi a, b, c or iseT Sesakrebze x, y

daviyvanoT,

a + b + c = x + 2y .

savarjiSo

4.30:

maqsimum ramden bitiani ricxvi SeiZleba miviRoT ori

Sedegad?

42

bitiani ricxvis gamravlebis

You might also like