Παράλληλοι Αλγόριθμοι

49

description

κα Ευη

Transcript of Παράλληλοι Αλγόριθμοι

  • PARALLHLOI ALGORIJMOI

  • 2

  • Perieqmena1 Dktua Epexergastn 51.1 Dktua stajern sundsewn . . . . . . . . . . . . . . . . . . . 51.2 Apdosh parllhlwn algorjmwn . . . . . . . . . . . . . . . . 51.3 Perigraf parllhlwn algrijmwn . . . . . . . . . . . . . . . 71.3.1 Taxinmhsh se grammik plgma . . . . . . . . . . . . . 81.3.2 Ena apl prblhma taxinmhsh . . . . . . . . . . . . . 111.3.3 Beltwsh th apdosh . . . . . . . . . . . . . . . . . 141.4 Ktw frgmata . . . . . . . . . . . . . . . . . . . . . . . . . . 151.5 Asksei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162 Akraia Arijmhtik 192.1 Prsjesh me didosh kratoumnou . . . . . . . . . . . . . . . 192.2 Upologismo projemtwn . . . . . . . . . . . . . . . . . . . . . 222.3 Prsjesh me apojkeush kratoumnou . . . . . . . . . . . . . 232.4 Asksei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253 Algrijmoi Taxinmhsh 273.1 Genik . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273.2 Ena algrijmo taxinmhsh gia to grammik plgma . . . . . 273.3 Ena algrijmo taxinmhsh sto didistato plgma . . . . . 303.4 Ena kaltero algrijmo . . . . . . . . . . . . . . . . . . . 323.5 Ktw frgmata gia algorjmou taxinmhsh . . . . . . . . . . 343.6 Asksei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354 Algrijmoi Dromolghsh 374.1 To prblhma . . . . . . . . . . . . . . . . . . . . . . . . . . . 374.2 Aplhstoi algrijmoi . . . . . . . . . . . . . . . . . . . . . . . 374.3 Apodotiko nteterministiko algrijmoi . . . . . . . . . . . . . 394.4 Mia diaforetik lsh . . . . . . . . . . . . . . . . . . . . . . . 403

  • 4 PERIEQOMENA4.5 Asksei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415 To montlo PRAM 435.1 Parllhlh Mhqan Tuqaa Prosplash . . . . . . . . . . 435.2 Montla PRAM kai diamoirazmenh mnmh . . . . . . . . . . . 455.3 Sugqronism kai 'Elegqo . . . . . . . . . . . . . . . . . . . 48

  • Keflaio 1Dktua Epexergastn1.1 Dktua stajern sundsewnTa problmata pou parousizontai sth sunqeia apotelon endeiktikparadegmata parllhlou upologismo se dktua stajern sundsewn (fixedconnection networks). Se ttoia dktua, kje epexergast diajtei topikprgramma elgqou (local control) sqetik apl, qamhl poluplokthtakai mpore na apojhkesei topik, mikr posthta dedomnwn (local storage).Se kje qronik monda, na epexergast:

    dqetai dedomna eisdou, epitele leitourge pou orzontai ap to topik tou prgramma pnw sededomna eisdou kai dedomna pou qei apojhkeumna, exgei apotelsmata pro tou geitoniko tou epexergast kai ananenei ,ti uprqei apojhkeumno sthn topik tou mnmh.H parxh kajoliko rologio (global clock) exasfalzei to sugqronism,opte loi oi epexergast tou diktou ektelon thn parapnw akoloujaleitourgin tautqrona. Ta grammik plgmata epexergastn (Sqma 1.1)kai ta dntra (Sqma 1.2) apotelon ta aplostera paradegmata ttoiwndiktwn.1.2 Apdosh parllhlwn algorjmwnH apdosh en algorjmou metritai me tou akloujou trpou:5

  • 6 KEFALAIO 1. DIKTUA EPEXERGASTWNSqma 1.1: Grammik plgma 5 epexergastn.

    Sqma 1.2: Dndro 7 epexergastn.1. Upologzoume to pso pio grgora leitourge o parllhlo algrijmose sqsh me to grhgortero akoloujiak , se kpoie periptsei, sesqsh me kpoio sugkekrimno seiriak algrijmo. O antstoiqo ropou ma endiafrei, lgetai epitqunsh (speed up) S. Enai:S =

    Tpou o qrno ektlesh tou grhgorterou akoloujiako algorjmoukai T o qrno ektlesh tou parllhlou algorjmou.Oi parllhloi algrijmoi pou anaptssontai prpei na qoun so todunat megalterh epitqunsh. To bltisto enai na parllhlo al-grijmo na petuqanei grammik epitqunsh (linear speedup), dhladan qrhsimopoiontai P epexergast, o parllhlo algrijmo na tr-qei P for pio grgora ap ton akoloujiak. Prpei na anaferjeti kanna parllhlo algrijmo de mpore na petqei epitqunshmegalterh ap ton arijm twn epexergastn (S P ). H apdeixhafnetai san skhsh.2. Metrme to rgo W pou parqjhke ap ton parllhlo algrijmo,dhlad th sunolik epexergastik isq pou qreisjhke o algrijmo

  • 1.3. PERIGRAFH PARALLHLWN ALGORIJMWN 7aplostera, psoi epexergast ete den kanan tpota ete kanan mhqrsimo rgo kat th dirkeia tou upologismo. O orism tou rgouW enai

    W = TPpou T o qrno ektlesh tou parllhlou algorjmou kai P o arijmtwn epexergastn. Epsh, to rgo mpore na ekfraste kai w ex:W = N1 +N2 + ...+Ntpou Ni o arijm twn epexergastn pou enai energo, dhlad ektelonkpoia qrsimh leitourga, kat th dirkeia tou iosto bmato enalgorjmou pou ekteletai gia t bmata. H nnoia tou rgou mpore naqrhsimopoihje gia ton kajorism th apodotikthta (efficiency) me thnopoa qrhsimopoiontai oi epexergast ap ton parllhlo algrijmo.Sugkekrimna, w apodotikthta en parllhlou algrijmou orzetaio lgo tou qrnou pou qreizetai gia na trxei o grhgortero akolou-jiak algrijmo pro to rgo tou parllhlou algrijmou, dhl.

    E =

    W me bsh ton orism tou rgouE =

    W=

    TP=

    S

    P.Oi kalteroi parllhloi algrijmoi enai auto pou enai grgoroi kaiapodotiko. Dhlad, epijumht qarakthristik enai:

    T so to dunat mikrtero kai E so to dunat pio kont sto 1.Aut, mw, enai sqetik dskolo na epiteuqje se pragmatik probl-mata mia kai diaforetiko pargonte anloga me thn efarmog kajistonete thn taqthta ete thn apdotikthta mezono shmasa.1.3 Perigraf parllhlwn algrijmwnEqonta gnwst ta parapnw genik stoiqea sqetik me parllhlo upol-ogism kai parllhlou algrijmou, parajtoume sugkekrimna paradegma-ta pou lnoun problmata taxinmhsh (sorting) kai sgkrish (comparison).

  • 8 KEFALAIO 1. DIKTUA EPEXERGASTWN1.3.1 Taxinmhsh se grammik plgmaJewrome na dktuo stajern sundsewn sthn aploster tou morf,dhl. na grammik plgma. Kje eswterik epexergast epikoinwne me k-je geton tou me sundsei duo kateujnsewn, en o prto qrhsimopoietaisan shmeo eisdou/exdou.To prblhma: Na taxinomhje mia lsta N arijmn me qrsh en gram-miko plgmato me N epexergast.Algrijmo: Parajtoume th seir leitourgin pou ektelontai se kjeepexergast anexrthta ap th jsh tou sto plgma. O algrijmo lei-tourge sti aklouje duo fsei:Sthn prth fsh (Sqma 1.3), kje epexergast:1. parnei dedomna, (nan arijm) ap ton arister tou getona,2. sugkrnei ta dedomna pou dqetai me ,ti qei apojhkeumno sthn topikmnmh tou,3. stlnei sto dexi getona th megalterh tim pou prokuye ap thsgkrish,4. apojhkeei topik th mikrterh tim.Ekola mporome na dexoume ti met ap 2N 1 bmata o iost piomikr arijm brsketai ston iost epexergast tou plgmato (metrntaap arister) (1 i N). Skeftmaste w ex: O aristertero epex-ergast exetzei mia akolouja N arijmn, kratei th mikrterh tim kaipernei thn uploiph akolouja sta dexi. Opte, o epmeno epexergast- ektele ti die leitourge, se N 1 arijmo. Epagwgik, o iostepexergast kratei th iost mikrterh tim kai pernei sto dexi tou ge-tona N i mikrterou arijmo. H megalterh tim fjnei sto dexiteroepexergast sto bma 2N 1 pou enai o sunolik qrno th fsh.Sth deterh fsh, exgetai h taxinomhmnh akolouja twn arijmn me sug-kekrimnh seir. Gia na gnei aut uprqoun difore ide/mjodoi mno pouden enai dunat na ulopoihjon le sto plgma akma kai an ulopoihjonden enai dunatn na leitourgsoun apodotik. 'Etsi: Mli taxinomhjon oi arijmo, kje epexergast stlnei ston aris-ter tou getona ,ti qei apojhkeumno sthn topik tou mnmh. Omwden enai dunat na gnwrzei na eswterik epexergast, ek twn

  • 1.3. PERIGRAFH PARALLHLWN ALGORIJMWN 9

    Sqma 1.3: H prth fsh tou palo algrijmou taxinmhsh se grammikplgma.protrwn, pte qei oloklhrwje h eisagwg th akolouja twn Narijmn sto plgma. Gia to skop aut apaitetai epiplon ulik(hardware), pq. na metrht. Kje epexergast xrei th jsh tou 1 sto plgma kai metrei tonarijm 2 twn antikeimnwn pou qei deqte san eisdou. Otan tojroism tou gnei 1+2 = N +1, o epexergast arqzei na stlneidedomna arister. Ed an kai den apaitetai parapnw ulik, dapantaipol qrno: 4N 1 bmata. O teleutao epexergast (sta dexi) qei thn idiaiterthta na arqseina stlnei dedomna arister mli deqte kti san esodo. Oi uploipoiepexergast tan parnoun kti ap dexi arqzoun na stlnoun aris-ter. Kje epexergast stlnei dedomna arister tan den pirnei lladedomna ap ton arister tou getona. Me ton trpo aut, qwrepiplon ulik, apaitontai mno 3N 1 bmata.H epitqunsh tou parapnw algorjmou enai S = (logN), to rgo

    W = (N2) kai h apodotiktht tou ( logNN ). Ekola parathrome ti

  • 10 KEFALAIO 1. DIKTUA EPEXERGASTWNgia megle tim tou N , dhlad tan jloume na sugkrnoume pollo arij-mo, o parapnw algrijmo enai mh apodotik afo to E enai mikr.Enai pnta ekolo na metatrape na algrijmo pou qei sqediaste giameglo dktuo epexergastn, se nan exsou apodotik algrijmo gia namikrtero dktuo tou opoou oi epexergast qoun megalterh apojhkeutikikanthta.Pardeigma: Ekola metatrpetai na parllhlo algrijmo se isod-namo (dia apdosh) akoloujiak.Prosoq: To antstrofo den isqei pnta. Den uprqei genikeumnh m-jodo metatrop en akoloujiako algorjmou se parllhlo (se orismneperiptsei aut enai adnato).Sunjw o arijm twn epexergastn pou qrhsimopoiontai gia th lshen problmato enai toulqisto so to mgejo tou problmato. Sthsunqeia ja perigrafe h taxinmhsh N arijmn me qrsh en grammikoplgmato me ligterou ap N epexergast. Ennoia-kleid enai h apo-jhkeutik dunatthta twn epexergastn sto grammik plgma (granularity).H qrhsimopohsh ligterwn epexergastn sunepgetai thn axhsh th apo-jhkeutik tou isqo, qi mw aparathta kai th beltwsh th apdoshen parllhlou algrijmou pou trqei se aut to dktuo. Opte, an qoumena taxinomsoume N arijmo se na grammik plgma P epexergastn meP < N , ja prpei kje epexergast na mpore na apojhkesei toulqistoN/P antikemena.H genik mjodo gia mia ttoia metatrop enai h ex. Estw na algri-jmo sqediasmno gia na dktuo G1 pou apoteletai ap P1 epexergast.Jloume na metatryoume autn ton algrijmo ste na trqei se na dktuoG2 me ligterou epexergast P2. Monadik apathsh enai h ex: oi epex-ergast tou diktou G2 na qoun megalterh apojhkeutik dunatthta apauto tou G1.Prokeimnou na epiteuqje h parapnw metatrop, kje epexergast toudiktou G2 exomoinei P1/P2 epexergast tou diktou G1. Me ton trpoaut eisgetai mia kajustrhsh P1/P2 exaita th mewsh tou arijmotwn qrhsimopoiomenwn epexergastn, gegon mw pou den ephrezei thnapodotikthta tou teliko algorjmou gia to dktuo G2 se sqsh me tonarqik algrijmo.Gia na sugkekrimenopoihje h parapnw diadikasa: jewrome na gram-mik plgma G1 me 12 epexergast kai jloume na to exomoisoume me nano G2 me 3 epexergast (Sqma 1.4). Tte, kje epexergast tou G2

  • 1.3. PERIGRAFH PARALLHLWN ALGORIJMWN 11exomoinei 4 diadoqiko epexegast tou G1 kai kat sunpeia, kje bmasto G1 isoduname me 4 bmata sto G2. Dhlad, kje algrijmo pou trqeise qrno T sto G1, apaite qrno 4T gia na trxei sto G2. Genik, loipn, m-porome na taxinomsoume N arijmo se grammik plgma me P epexergastse O(N/P ) bmata (P < N).Sqma 1.4: Exomowsh grammiko plgmato 12 epexergastn G1 msw plg-mato 3 epexergastn G2. Kje bma tou G1 isoduname me tssera bmatatou G2 kai kje algrijmo pou ekteletai se T bmata sto plgma G1 ek-teletai se 4T bmata stp plgma G2.1.3.2 Ena apl prblhma taxinmhshMqri tra perigryame kai analsame algrijmou basizmenoi sto mon-tlo lxh (word model), dhlad jewrsame ti pragmatopoietai sgkrishkai metafor, se kje bma, olklhrwn lxewn (akoloujin ap yhfabits). Aut h praktik, an kai enai arket sunhjismnh, den endeknutaisthn perptwsh pou oi lxei enai megle (apotelontai ap poll bit-s) kai apaitetai na enai gnwst o arijm twn hlektronikn stoiqewn(transistors/gates) pou qreizontai gia na kataskeuaston ta kuklmata.Se aut thn pargrafo, ja qrhsimopoisoume thn nnoia tou bit. Ole oileitourge angontai se leitourge pou pragmatopoiontai se bits (montlobit). 'Etsi, gia thn anlush tou algorjmou taxinmhsh pou proanafrjhke,analetai o trpo pou gnontai oi sugkrsei anmesa sta bits kai qi anmesase lxei. Sth sunqeia, ja parousiaston do mjodoi pragmatopohshsugkrsewn arijmn bitbybit, pou diafroun ston tpo tou diktou pouqrhsimopoietai.Me qrsh grammiko plgmato: Jewrome do arijmo a kai b twnk bits o kajna, me duadik akolouje a1a2...ak kai b1b2...bk. Oi arijmosugkrnontai bitbybit xekinnta ap ta perisstero shmantik bits. Taiost bits twn arijmn, ai kai bi antstoiqa, apojhkeontai kai sugkrnontaisto iost epexergast tou grammiko plgmato. Kat to iost bma, oiost epexergast:

    dqetai ap ton prohgomen tou (ton i 1) mia esodo v, pou deqneipoio ap tou a1a2...ai1 kai b1b2...bi1 enai megaltero an auto

  • 12 KEFALAIO 1. DIKTUA EPEXERGASTWNenai soi, sugkrnei ta ai kai bi, ananenei thn tim v me bsh to apotlesma thsgkrish kai stlnei ston epmen epexergast (ton i + 1) thn timv, deqnonta poio ap tou a1a2...ai kai b1b2...bi enai megaltero(endqetai na enai kai soi).H prohgomenh diadikasa epanalambnetai mqri na sugkrijon la taantstoiqa bits twn arijmn. Sto sqma 1.5 parousizetai h Mjodo 1 giatou arijmo 0110 kai 0101.

    Sqma 1.5: Sgkrish twn arijmn 0110 kai 0101 se grammik plgma me 4epexergast.Me qrsh Plrou Duadiko Dndrou: Jewrome, pli, do arijmoa kai b twn k bits o kajna, me duadik akolouje a1a2...ak kai b1b2...bk.Ta bits twn arijmn apojhkeontai sta flla en plrou duadiko dndroukai ta iost bits ai kai bi sugkrnontai ston iost epexergast tou diktou(fllo tou dndrou). To apotlesma th sgkrish diaddetai pro ta pnwstou eswteriko kmbou. Oi leptomreie th leitourga twn eswteriknkmbwn afnontai ston anagnsth. Otan ftsoume sth rza tou dndrou,h diadikasa th sgkrish qei oloklhrwje. Endeiktik enai to pardeigmasto Sqma 1.6, gia tou arijmo 0110 kai 0101.

  • 1.3. PERIGRAFH PARALLHLWN ALGORIJMWN 13

    Sqma 1.6: Sgkrish twn arijmn 0110 kai 0101 se duadik dndro me 4epexergasts-flla.Gia th sgkrish 2 arijmn megjou k bits, h qrhsimopohsh tou plrouduadiko dndrou pleonekte se sgkrish me to grammik plgma gia touakloujou do lgou: Me th dendrik dom apaitontai log k + 1 bmata, en me to grammikplgma apaitontai k bmata. To plre duadik dndro enai katallhltero gia thn taxinmhsh bit-

    by-bit mia kai sunduazmeno me th diadikasa taxinmhsh arijmn (mon-tlo lxh) thn epitaqnei.Kat th bitbybit sgkrish do arijmn, h diadikasa th gnwstopohsh- (Sqma 1.7)apaite log k bmata gia na duadik dnro me k flla. Opte,met ap 2 log k bmata, h sgkrish do kbit arijmn qei oloklhrwje kaita bits tou megalterou arijmo metakinontai, se na bma, sto dexiteroepexergast.Jewrome ton algrijmo taxinmhsh me qrsh grammiko plgmato pouperigryame parapnw. Kje epexergast tou grammiko plgmato antika-jstatai me na plre duadik dndro kfllwn. Oi epexergast ektelonleitourge metax bits. To dktuo pou prokptei qei (2k 1)N epexer-

  • 14 KEFALAIO 1. DIKTUA EPEXERGASTWN

    Sqma 1.7: Diadikasa gnwstopohsh met th sgkrish twn arijmn 0110kai 0101.gast. H ektlesh th prth fsh tou algorjmou taxinmhsh apaite2(2N 1) log k bmata.Tte mporome, ekola, na kataskeusoume na dktuo me (2k1)N epex-ergast pou apaite 2(2N1) log k bmata gia na oloklhrsei th Fsh 1 toualgorjmou taxinmhsh. Aut fanetai kai sto Sqma 1.8 pou parousizetaith diktuak dom.

    Sqma 1.8: Grammik plgma pou apoteletai ap plrh duadik dndra.1.3.3 Beltwsh th apdoshPra ap thn qrsh duadiko dndrou, o algrijmo mpore na epitaqunjeme qrsh th teqnik pipeline tsi ste kje epexergast na douleei

  • 1.4. KATW FRAGMATA 15se parapnw ap mia sugkrsei, tautqrona. Mlista, aut epitugqnetaiqrhsimopointa ton algrijmo sgkrish sto grammik plgma kai qi stodntro. Diatssoume k grammik plgmata ste na sqhmatiste na k Nplgma sto opoo kje epexergast ektele leitourge metax bits. Me tontrpo aut, o algrijmo gia taxinmhshN kbit arijmn se grammik plgmaepexergastn oloklhrnei thn prth fsh se (k1)+(2N1) = 2N+k2bmata. Me dedomno ti h deterh fsh pragmatopoietai pw akrib kaisto montlo lxh, katalgoume sto sumprasma ti me qrsh pipeline, hsgkrish N kbit arijmn se grammik plgma oloklhrnetai se 3N + k 4bmata.1.4 Ktw frgmataO algrijmo gia taxinmhsh me to bit montlo apotele qarakthristikperptwsh pou aplo epexergast sundontai katllhla prokeimnou na ek-telsoun mia polplokh ergasa. Stqo, bbaia, enai h grgorh, apl kaiqamhlo kstou ektlesh polplokwn ergasin. Trei pargonte ephre-zoun thn apdosh en diktou stajern sundsewn: To pos twn dedomnwn pou mpore na eisgetai/exgetai sto dktuose kje bma (I/O bandwidth). H dimetro tou diktou, dhlad, h mgisth apstash metax 2 epexer-gastn tou diktou. H dimetro apotele sunjw kai to ktw frgmasto qrno pou qreizetai gia na ekteleste na qrsimo upologism.O lgo enai ti plhrofora pou upologzetai ap nan epexergastmpore na qreizetai na qrhsimopoihje ap na makrin epexergast. To ero diqotmhsh (bisection width) tou diktou, dhlad o elqis-to arijm sundsewn pou prpei na apomakrunjon ste na qwristeto dktuo se do xna snola epexergastn sou megjou (Sqma 1.9).To ero diqotmhsh apotele kajoristik pargonta gia thn taqth-ta me thn opoa na dktuo mpore na ektelsei nan upologism, afodedomna pou uprqoun pargontai sto na mis en diktou mporena qreiaston sto llo mis gia na oloklhrwje o upologism.Oi parapnw pargonte apotelon mia bsh gia to qarakthrism enalgorjmou w bltistou (toulqisto gia sugkekrimne kathgore diktwn)kai enai pol qrsimoi gia ton kajorism opoioudpote ktw frgmato stoqrno ektlesh opoioudpote algorjmou gia na sugkekrimno prblhma.

  • 16 KEFALAIO 1. DIKTUA EPEXERGASTWN

    Sqma 1.9: Elqiste diqotomsei gia grammik plgmata diastsewn 3 6kai 4 7 pou apoteletai ap plrh duadik dndra.Merik for ta epiqeirmata aut den mporon na qrhsimopoihjon (dsteparadegmata).1.5 Asksei1. Jewrste duo algorjmou pou lnoun na prblhma megjou M . Oprto ekteletai se M bmata se upologist me M epexergast kaio detero se M bmata se upologist me M2 epexergast. Poioalgrijmo enai pio apodotik; Upojste ti to ksto leitourgaen upologist me P epexergast gia T bmata enai T aP b, pou akai b stajer kai P = M P = M2. Gia poi tim twn a,b sumfreina qrhsimopoisoume ton prto algrijmo kai gia poi ton detero;2. Jewrste duo algorjmou pou lnoun na prblhma megjou M . Oprto ekteletai se M bmata se upologist me M epexergast kaio detero se M bmata se upologist me M2 epexergast. Poioalgrijmo ja ekteleste grhgortera se nan upologist me N epex-ergast; (Updeixh: H apnthsh exarttai ap th sqsh twn N kaiM . Qrhsimopoiste to gegon ti na upologist me N epexer-gast mpore na exomoisei nan upologist me P epexergast mekajustrhsh (slowdown) P/N .)3. Jewrste duo algorjmou pou lnoun na prblhma megjou M . Oprto ekteletai seM bmata se upologist meM epexergast kai odetero se M bmata se upologist me M2 epexergast. Jloume

  • 1.5. ASKHSEIS 17na ektelsoume nan ap tou duo algorjmou Q for se nan upol-ogist me N epexergast. Dste sunjke gia ta Q, M kai N gia naapofassoume poio algrijmo enai kaltero.

  • 18 KEFALAIO 1. DIKTUA EPEXERGASTWN

  • Keflaio 2Akraia Arijmhtik2.1 Prsjesh me didosh kratoumnouOpw enai gnwst, me nan epexergast mporome na prosjsoume 2 ar-ijmo megjou N bits se N + 1 bmata. To erthma pou tjetai enai anmporome kaltera me pollo epexergast. Mia prth apnthsh enai qi,afo gia na prostejon ta duo perisstera shmantik yhfa ja prpei na gn-wrzoume ta kratomena pou qoun prokyei ap ti prosjsei twn ligteroshmantikn yhfwn. Aut shmanei apl ti o sugkekrimno seiriak al-grijmo den parallhlopoietai.Se aut thn pargrafo ja dexoume pw mporome na prosjsoume 2 ari-jmo megjou N bit se 2 logN + 1 bmata, parallhlopointa nan lloalgrijmo. O algrijmo pou ja perigryoume lgetai `prsjesh me didoshkratoumnou' (carry lookahead addition) kai enai sqetik apl all qitetrimmno.H ida tou algorjmou enai na kratme gia kje prsjesh antstoiqwnbit thn plhrofora an h sugkekrimnh prsjesh: stamat (s), diaddei (p) genn (g) kratomeno. Parathrome ti h tim tou iosto kratoumnou enai1 an kai mno an to aristertero mh p bit sta dexi tou iosto bit enai g(Sqma 2.1).Qrhsimopoiome na `dntro didosh kratoumnou'. Oi tim s,p,g apo-jhkeontai sta flla (Sqma 2.2). H tim kje eswteriko kmbou tjetaisthn tim tou aristerterou mh p paidio. An kai ta duo paidi qoun timp, h tim tou patra tjetai sthn tim p. To dntro didosh kratoumnoudhmiourgetai se logN bmata kai kje kmbo periqei thn plhrofora anto upojroisma twn fllwn pou enai apgono tou stamat, diaddei gennkratomeno. 19

  • 20 KEFALAIO 2. AKERAIA ARIJMHTIKH

    Sqma 2.1: Prosdiorism twn upoajroismtwn pou stamaton (s), diaddoun(p) dhmiourgon (g) kratomeno.

    Sqma 2.2: Dhmiourga twn timn se na carry-lookahead dndro.

  • 2.1. PROSJESH ME DIADOSH KRATOUMENOU 21H tim th rza enai g an lo to jroisma genn kratomeno. Kajna eswterik kmbo parnei ti tim twn paidin tou, antikajist thntim tou aristero paidio me thn tim tou dexio sbnonta ti progomenetim tou. Eidik gia th rza, h tim bganei sthn xodo kai antikajstatai aps. Sta epmena bmata kje mhfllo dnei thn tim tou kai stou duo giou.Kje fllo perimnei mqri na lbei thn prth mh p tim. Thn apojhkeeikai agnoe le ti uploipe. Met ap 2 logN +1 kje fllo ja qei lbeikai apojhkesei na g na s (efson uprqei s sth rza). To iost bit jalbei na g prin na s an kai mno an to iost kratomeno tou ajrosmatoenai 1.Sto bma 2 logN +1 kje fllo gnwrzei tou iosto prosjetou kaito iost kratomeno. H prsjesh (qwr kratomeno) dnei to iost bittou apotelsmato. To N + 1 perisstero shmantik bit qei bgei ap thrza.

    Sqma 2.3: To teleutao bma tou algorjmou kat to opoo pargetai tojroisma tan dnontai oi prosjetoi kai oi - upologismne apo prin - timtwn bits kratoumnwn.H apodotikthta tou algorjmou enai ( 1logN ). H apodotikthta tou

  • 22 KEFALAIO 2. AKERAIA ARIJMHTIKHalgorjmou mpore na beltiwje se (1) lnonta poll problmata taut-qrona.2.2 Upologismo projemtwnTo prblhma pou antimetwpzoume se aut thn pargrafo enai to ex:Estw sumboloseir me N stoiqea x1, x2, ..., xN kai na prosetairistiktelest . Na upologiston ta yi = x1 x2 ... xi, gia 1 i N .To prblhma tou upologismo kratoumnwn enai na ttoio prblhma. Toxi enai h tim s,p g sto iost bit (ap dexi). Opw edame sthn prohgo-menh pargrafo, h tim tou apotelsmato yi enai h tim tou aristerteroumh p sta dexi tou iosto bit. Aut mpore na grafte w:

    yi = s x1 ... xi1.O anagnsth mpore ekola na kajorsei ton pnaka timn tou telest .Ekola apodeiknetai ti o telest enai prosetairistik.To genik prblhma mpore na luje se 2D + 1 bmata qrhsimopointana dktuo me topologa duadiko dntrou bjou D. O algrijmo pouakoloujome qei duo fsei:1. Kje eswterik kmbo upologzei to ginmeno twn fllwn pou enaiapgono tou.2. Ta ginmena diaddontai pro ta ktw ste to iost fllo na ftixeito iost prjema.Pio sugkekrimna, sto prto bma to xi enai esodo sto iost fl-lo. H tim apojhkeetai kai diaddetai ston patra. Sta epmena bmata,kje eswterik kmbo upologzei to ginmeno twn eisdwn tou kai pernto apotlesma ston patra. Met ap D + 1 bmata, kje kmbo ja -qei upologsei to ginmeno twn fllwn pou enai apgono tou. Kaj naeswterik kmbo dqetai ti eisdou tou, pern thn tim tou aristerogiou sto dexi (prosxte ti h diadikasa aut enai h antjeth me thn ants-toiqh tou algorjmou didosh kratoumnou). Met to prto bma, ta fllapollaplasizoun thn tim pou tou rqetai ap pnw me thn tim pou qounapojhkeumnh. Ta mh flla pernon thn tim pou rqetai ap pnw stouduo giou. Profan o algrijmo pou perigrfthke apaite 2D+1 bmata,pou D to bjo tou dntrou.Jerhma 1. O algrijmo enai swst, dhl. to iost fllo upologzei toyi = x1 x2 ... xi gia 1 i N .

  • 2.3. PROSJESH ME APOJHKEUSH KRATOUMENOU 23Apdeixh. Qrhsimopoiome epagwg sto bjo D tou dntrou. H perptwshD = 1 enai tetrimmnh. Upojtoume ti o algrijmo douleei swst gia lata dntra bjou to pol D1. Jewrome to prblhma me dntro bjou D.Estw k ttoio ste ta x1, ..., xk enai esodoi sto arister upodntro kai taxk+1, ...xN enai esodoi sto dexi. An agnosoume th rza, to iost flloupologzei to ginmeno x1 ... xN an i k to ginmeno xk+1 ... xNan k + 1 i N .Aut pou knei h rza enai na pern thn tim x1 ... xk pou upologzeito arister upodntro sto dexi. Aut enai h teleutaa esodo pou ja preina fllo tou dexio upodntrou kai ja ananesei thn tim tou se x1...xi.Prosxte ti h rza den ephrrezei ti tim pou upologzontai ap to aristerupodntro.O parllhlo algrijmo upologismo projemtwn mpore na ulopoih-je se kje dktuo me peperasmno bajm me stajer epibrdunsh se qrnoanlogo th diamtrou tou diktou. H ida enai na ftixoume na dntro mediaprash tou diktou kat plto. To bjo tou dntrou pou pargetai meaut ton trpo enai to pol so me th dimetro tou diktou. O algrijmoqei poll efarmog. Gia to lgo aut enai suqn enswmatwmno stoulik twn parllhlwn upologistn.2.3 Prsjesh me apojkeush kratoumnouO algrijmo prsjesh me didosh kratoumnou douleei gia 2 arijmomegjou k bit kai tou prosjtei se 2 log k+1 bmata. Sthn pargrafo autja dexoume pw mporome na prosjsoume grgora N arijmo megjou kbits.H prth ida enai na ekmetalleutome ton algrijmo didosh kratoum-nou. Qrhsimopoi N duadik dntra me k+logN flla to kajna. Prosjtwta N/2 zeugria sta prta 2 log k+1 bmata, met prosjtw ta N/4 zeugriatwn ajroismtwn megjou k+1 bit se 2 log (k + 1) + 1 bmata, k.o.k, tloprosjtw na zeugri arijmn megjou k+logN bit se 2 log (k + logN)+1bmata. O sunolik qrno frssetai ap nw ap thn posthta:

    (2 log (k + logN) + 1) logN = (log k logN + log logN logN).Sthn pargrafo aut, ja parousisoume ton algrijmo `prsjesh meapojkeush kratoumnou' (carry save addition) pou beltinei sunolik tonapaitomeno qrno gia thn prsjesh N arijmn megjou k bit. H basikida tou algorjmou enai, se kje bma, h prsjesh 3 arijmn megjou k bit

  • 24 KEFALAIO 2. AKERAIA ARIJMHTIKHna meiwje sto jroisma 2 arijmn megjou k + 1 bit. Aut mpore na gneigrfonta to jroisma trin bit se kje jsh, san na arijm megjou 2 bitpou apoteletai ap to bit qamhl shmantikthta kai to bit kratoumnou.Sunolik, me aut ton trpo, to jroisma twn trin arijmn metasqhmatzetaisto jroisma tou arijmo pou apoteletai ap ta bit qamhl shmantikthtakai tou arijmo pou apoteletai ap ta bit kratoumnwn.Prtash 2. Estw ak...a1, ak...a1 kai ak...a1 trin arijmn a, a kai a pouprostjentai. Gia 1 i N , stw cidi h duadik anaparstash (megjou 2bit) tou ajrosmato twn ai + ai + ai . Tte a+ a + a = c+ d pou ck....c10h duadik anaparstash tou c kai dk...d1 h duadik anaparstash tou d.Apdeixh.

    a+ a + a =

    k

    i=1

    (ai + ai + a

    i )2

    i1 =

    k

    i=1

    (2ci + di)2i1 =

    =

    k

    i=1

    ci2i +

    k

    i=1

    di2i1 = c+ d.Prtash 3. Epanalambnonta th mewsh tou ajrosmato 3 arijmn stojroisma twn 2, mporome na meisoume to jroisma twn N arijmn megjou

    k bit sto jroisma 2 arijmn megjou k+ logN bit se log3/2 N +1 bmata.Apdeixh. Sto prto bma, qwrzoume se tride kai metatrpoume to jro-isma twn N arijmn megjou k bit se jroisma to pol 2N3 + 23 arijmnmegjou k + 1 bit. Sto epmeno bma ja menoume me to pol2

    3

    (

    2N

    3+

    2

    3

    )

    +2

    3=

    4N

    9+

    4

    9+

    2

    3arijmo megjou k + 2 bit. Met to jost bma ja menoume me to pol(

    2

    3

    )j

    N +

    (

    2

    3

    )j

    +

    (

    2

    3

    )j1

    + ...+2

    3