96

cgi.di.uoa.grcgi.di.uoa.gr/~pothitos/papers/MScThesis.pdf · PerÐlhyh Ta probl mat a ikanopoÐ hshc peri ori sm¸n (PIP) apant¸nt ai se po lloÔc t o-meÐ c, ì qi mì no thc Plhroforik

Embed Size (px)

Citation preview

  • EJNIKO KAI KAPODISTRIAKO PANEPISTHMIO AJHNWNSQOLH JETIKWN EPISTHMWNTMHMA PLHROFORIKHS KAI THLEPIKOINWNIWNPROGRAMMA METAPTUQIAKWN SPOUDWNDIPLWMATIKH ERGASIAMjodoi Didoshc Periorismnkai Anazthshc ston Programmatismme Periorismoc

    Niklaoc I. PojhtcEpiblpwn: Panagithc Stamatpouloc, Epk. Kajhghtc EKPA

    AJHNAMARTIOS 2009

  • DIPLWMATIKH ERGASIAMjodoi Didoshc Periorismnkai Anazthshc ston Programmatismme PeriorismocNiklaoc I. PojhtcA.M.: M780EPIBLEPWN KAJHGHTHS:Panagithc Stamatpouloc, Epkouroc Kajhghtc EKPAEXETASTIKH EPITROPH:Panagithc Stamatpouloc, Epkouroc Kajhghtc EKPAStaroc Kollipouloc, Epkouroc Kajhghtc EKPAMrtioc 2009

  • PerlhyhTa problmata ikanopohshc periorismn (PIP) apantntai se polloc to-mec, qi mno thc Plhroforikc, all kai thc kajhmerinthtac. P.q. nadskolo ttoio prblhma enai h katrtish wrologou progrmmatoc gia ek-paideutik idrmata. O Programmatismc me Periorismoc enai ma dhmofilcsgqronh mejodologa eplushc PIP, pou estizei sto na knei th fsh e-reshc lsewn enc PIP so to dunatn apodotikterh kai anexrthth ap thfsh diatpwsc tou. Se autn thn ergasa epilxame tra basik sustatiktou Programmatismo me Periorismoc, thn apeiknish tou pedou timn twnmetablhtn enc PIP, th didosh (epibol) twn periorismn se autc, kajckai th mjodo anazthshc lshc sugkekrimna th diqotmhsh pedwn timnkai protename kainorgiec teqnikc, h apodotikthta twn opown elgqjhkekai peiramatik.

    JEMATIKH PERIOQH: Teqnht NohmosnhLEXEIS-KLEIDIA: didosh periorismn, sunpeia akmn, diqotmhshpedwn timn

  • Abstract

    Constraint satisfaction problems (CSPs) appear in many areas not only ofComputer Science, but in daily routine too. E.g. timetabling for educationalinstitutes is a (difficult) CSP. Constraint Programming is a popular modernmethodology for solving CSPs, that focuses on making the solving phase ofa CSP as much efficient and independent of the problem statement phase,as possible. In this work we chose three critical components of ConstraintProgramming, the representation of the domains of CSP variables, the pro-pagation of the constraints to the variables, and the search (for solution)methodspecifically the domain-splitting methodand we proposed newtechniques. We also used experiments to show the efficiency of our propo-sals.

    SUBJECT AREA: Artificial Intelligence

    KEYWORDS: constraint propagation, arc-consistency, domain-splitting

  • Sth giagi mou, Bsw,kai sth mnmh tou flou kai sumfoithtGinnh Belesith

  • PerieqmenaPrlogoc 151 Eisagwg 192 Programmatismc me Periorismoc 212.1 Orismc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.2 Pardeigma . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.2.1 Kruptrijmoi . . . . . . . . . . . . . . . . . . . . . . . 232.2.2 Diatpwsh enc Kruptarjmou wc PIP . . . . . . . . . 232.3 Anazthsh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.3.1 Gnna-kai-Dokmaze . . . . . . . . . . . . . . . . . . . . 252.3.2 Topik Anazthsh . . . . . . . . . . . . . . . . . . . . 262.3.3 Mjodoi me Opisjodrmhsh . . . . . . . . . . . . . . . 272.3.4 Didosh Periorismn . . . . . . . . . . . . . . . . . . . 293 H Mhqan Didoshc Periorismn AC-5+ 353.1 Gnwsto Algrijmoi Epibolc Sunpeiac Akmn . . . . . . . . 353.1.1 Algrijmoi Adrc Ufc . . . . . . . . . . . . . . . . . 363.1.2 Algrijmoi Leptc Ufc . . . . . . . . . . . . . . . . . 363.1.3 Parametriko Algrijmoi . . . . . . . . . . . . . . . . . 373.2 O Algrijmoc AC-5 . . . . . . . . . . . . . . . . . . . . . . . . 373.3 Ma Prth Prosarmog tou AC-5 . . . . . . . . . . . . . . . . 393.3.1 Perissterec Tropopoiseic . . . . . . . . . . . . . . . 403.3.2 Genikeumnh Sunpeia Akmn . . . . . . . . . . . . . . . 433.4 Paradegmata Sunartsewn ArcCons kai LocalArcCons . 45 . 11

  • 3.4.1 O Periorismc X = Y . . . . . . . . . . . . . . . . . . 453.4.2 O Periorismc X 6= Y . . . . . . . . . . . . . . . . . . 463.4.3 Ma Parallag thc c2.LocalArcCons . . . . . . . . 473.5 Kathgoriopohsh Mejdwn LocalArcCons . . . . . . . . . . 483.5.1 Sumbnta pou Energopoion Sunartseic Didoshc . . 483.5.2 H Sunrthsh Didoshc LocalArcCons . . . . . . . . 493.5.3 Jewrhtik Omadopohsh twn Sumbntwn . . . . . . . . 503.5.4 Ulopohsh Omadopohshc Sumbntwn . . . . . . . . . . 523.5.5 Grgorh Eisagwg sthn Our Nou Tpou . . . . . . . 523.6 O Algrijmoc AC-5+ . . . . . . . . . . . . . . . . . . . . . . . 543.6.1 Enswmtwsh c.LocalArcCons 3hc Kathgorac . . . . 543.7 Peiramatik Apotelsmata . . . . . . . . . . . . . . . . . . . . 564 Apeiknish Pedou Timn wc Snolo Diasthmtwn 614.1 Apeiknish Sunlou Diasthmtwn . . . . . . . . . . . . . . . . 614.2 Algrijmoc Diagrafc/Anazthshc . . . . . . . . . . . . . . . 624.3 Efarmog se Prblhma Akoloujac DNA . . . . . . . . . . . . 654.3.1 Orismc Qrwmosmatoc . . . . . . . . . . . . . . . . . 654.3.2 'Ena Apl Prblhma Akoloujin . . . . . . . . . . . . 654.3.3 Duskolec kat thn Eplush . . . . . . . . . . . . . . . 664.3.4 Sumpersmata . . . . . . . . . . . . . . . . . . . . . . . 675 Dkaih Diqotmhsh Pedwn Timn 695.1 Ma Diaforetik Optik . . . . . . . . . . . . . . . . . . . . . 705.2 O Periorismc X < Y . . . . . . . . . . . . . . . . . . . . . . 715.3 'Alloi Tpoi Periorismn . . . . . . . . . . . . . . . . . . . . . 735.4 O Periorismc X = Y 2 . . . . . . . . . . . . . . . . . . . . . . 745.5 Perissteroi Periorismo . . . . . . . . . . . . . . . . . . . . . 755.6 Peiramatik Apotelsmata . . . . . . . . . . . . . . . . . . . . 765.6.1 Ubridik Euristik Epilogc Metablhtc . . . . . . . . 765.6.2 Apotelsmata Beltistopohshc . . . . . . . . . . . . . 796 Sumpersmata kai Mellontikc Kateujnseic 81A Prblhma Katrtishc Wrologou Progrmmatoc 83A.1 Eisagwg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84A.2 Ontthtec . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84A.3 (Austhro) Periorismo . . . . . . . . . . . . . . . . . . . . . . 85 . 12

  • A.4 Poithta Wrologou Progrmmatoc . . . . . . . . . . . . . . . 85B Phgaoc Kdikac gia to Prblhma Akoloujac DNAthc 4.3.2 87B.1 Kdikac ECLiPSe . . . . . . . . . . . . . . . . . . . . . . . . . 87B.2 Kdikac Epilut Ilog . . . . . . . . . . . . . . . . . . . . . . 88B.3 Kdikac Epilut Naxos . . . . . . . . . . . . . . . . . . . . . 89Bibliografa 91Euretrio 95

    . 13

  • PrlogocNxoc, Ajna, Krinjoc, Keqric, Xnjh, Spec, orein Rodph, Frec, Di-dumteiqo. Enai anapfeukto na mou rqontai sto mual topa ap ta mrhpou tuqe na diamenw lo aut to qronik disthma kat to opoo ekponosatoth thn ergasa. 'Allote se diakopc, agnanteontac to Aigao, llote sthstratiwtik mou jhtea, skotnontac thn ra mou sth skopi, den stamthsana tribelzw th skyh mou me ta jmata thc diplwmatikc.Euqarist pra pol ton epiblponta thc ergasac Epkouro KajhghtPanagith Stamatpoulo pou brisktan pnta {online} sto pleur mou, apthn prth mqri kai thn teleutaa stigm. H petuqhmnh episthmonik touporea kai h panjomologomenh didaktik tou deinthta qi mno den episki-zoun, all anadeiknoun ton spnio gia thn epoq mac romantism me ton opooantimetwpzei thn reuna, to ekpaideutik tou leitorghma kai geniktera tonsunnjrwpo.Euqarist jerm ton Epkouro Kajhght Staro Kollipoulo gia thsummetoq tou sthn epitrop extashc thc ergasac. Qwrc kal-kal na tosuneidhtopoisw, h parousa tou me odghse sto na dw ap ma pio {jew-rhtik} skopi touc algorjmouc pou sqedisame, exgontac kat' autn tontrpo poltima sumpersmata.Euqarist touc Dionsh Kakabolh, Girgo Kastrnh kai Miqlh Siothpou mou kanan thn tim na pareurejon sthn parousash thc ergasac. Touceqomai olyuqa na pargoun kaltera apotelsmata ap ta dik mou sticdikc touc ergasec thc koinc mac ereunhtikc perioqc kai touc upsqomaiti ja prospajsw na touc bohjsw an me qreiaston. Makri na kataf-roume na qoume thn dia amoibaa sunergasa, san aut pou eqa me ton FoboJeoqrh kai ton Alxandro Papaggel, oi opooi enai plon metaptuqiako . 15

  • foithtc; touc eqomai ,ti kaltero gia th sunqeia.Euqarist touc {afanec rwec} autc thc ergasac, touc gonec mou dh-lad, oi opooi, pra ap thn hjik kai ulik upostrix touc, {prepe} naakon kai th gkrnia mou kje for pou kti pgaine strab.Euqarist ton Anjupoloqag Apstolo Pournra gia thn epiplon deiapou mou qorghse gia na proqwrsw ma efarmog sqetik me th diplwmati-k tan uphretosa th stratiwtik mou jhtea sto Didumteiqo, ton qeimnatou 20072008. Tloc, euqarist ton Suntagmatrqh Girgo Pjo gia toendiafron tou sqetik me thn porea thc ergasac, all kai gia thn protroptou na suneqsw tic spoudc mou; makri na mhn ton apogohtesw ,.H ergasa afiernetai wc elqistoc froc mnmhc kai timc ston ae-mnhsto sumfoitht, flo kai sunergth Ginnh Belesith o opooc fugeanapnteqa ap kont mac to brdu thc prwtoqronic tou 2008. Makri naanapaetai eke yhl pou enai blpontac ti h doulei pou qei prosfrei sthneurterh ereunhtik perioq apotele akma shmeo anaforc gia polloc apemc.

    . 16

  • Sqma 1: Dndro anazthshc gia to prblhma thc topojthshc 8 basilissnse ma skakira, tsi ste na mhn apeilontai metax touc. Diakrnontai 92maroi rmboi pou paristnoun tic lseic. (To digramma parqjh autmataap ton epilut Naxos.) . 17

  • Keflaio 1EisagwgOi hlektroniko upologistc ja gnoun ta pio jaumsia ergaleaap th stigm pou h suggraf kai h aposfalmtwshprogrammtwn ja enai plon peritt. Jean-Louis Lauriere, 1976.O Programmatismc me Periorismoc enai nac ap touc basikoc tomecthc Teqnhtc Nohmosnhc. Gia kpoion {amhto} sgoura h prohgomenhprtash den ja bgaze kai pol nhma. Pso mesh mpore na enai h sqshenc edouc {programmatismo} me th {nohmosnh} pou qei nac upologistc?Gia na gnei katanoht aut h sndesh, ja prpei na anafroume nan aptouc basikoc stqouc tou Programmatismo me Periorismoc: na aposund-sei th fsh diatpwshc enc problmatoc ap ton algrijmo eplusc tou.Kat' autn ton trpo ja mpore nac programmatistc-qrsthc na dhlneiekola to prblhm tou kai sth sunqeia na kaletai na ssthma eplushcna knei thn uploiph doulei. 'Oso pio {xupno} enai aut to ssthma, tsoligterh doulei ja qei na knei o qrsthc tou [15]. Sto epmeno keflaioja gnoume pio safec anaforik me tic jemelideic idec pou emperiqontaiston Programmatism me Periorismoc.Ma ap autc afor sth megalterh ekmetlleush twn periorismn encproblmatoc, msw thc legmenhc didosc touc. 'Ena ap ta tra jmata meta opoa asqolomaste se autn thn ergasa enai to {pntrema} twn prtwnmejdwn didoshc periorismn me tic pio prsfatec pnw stic opoec baszon-tai la ta sgqrona praktik sustmata eplushc. Epshc protenoume nanno trpo anaparstashc enc pedou timn, gia na emaste se jsh na pe-rigryoume apodotik megla peda timn twn metablhtn (sunistwsn) twn . 19

  • problhmtwn. Tloc, epektenoume ma uprqousa mjodo anazthshc (poulgetai diqotmhsh pedwn timn) tsi ste na lambnei upyh tic idithteckai touc periorismoc tou problmatoc pou epiloume.

    . 20

  • Keflaio 2Programmatismc mePeriorismocO Programmatismc me Periorismoc (Constraint Programming CP) apo-tele nan eurtato toma thc Teqnhtc Nohmosnhc kai na energ pedo thcsgqronhc episthmonikc reunac. Estizei sta Problmata IkanopohshcPeriorismn (PIP Constraint Satisfaction Problems CSPs), o majhmati-kc orismc twn opown ddetai paraktw.Paradegmata ttoiwn problhmtwn apantntai se louc sqedn touc to-mec thc Plhroforikc. P.q. sth Jewrhtik Plhroforik qoume to prblhmaikanopohshc miac frmoulac pou periqei logikc (boolean) metablhtc [16],kajc kai lla NP-plrh problmata; teleutaa, gnetai epshc poll su-zthsh son afor ton Programmatism me Periorismoc sthn UpologistikBiologa [3].2.1 OrismcO orismc me lla lgia h diatpwsh enc PIP enai pol dhlwtikc. E-xllou, enai anexrthtoc ap th diadikasa eplushc tou problmatoc kaiautc enai o lgoc gia ton opoon o Programmatismc me Periorismoc enaitso dhmofilc: oi polurijmec mjodoi eplushc mporon na efarmostonse opoiodpote ttoio prblhma.'Ena prblhma ikanopohshc periorismn orzetai msa ap to exc trptu-qo [41, 33]: . 21

  • Periorismnec metablhtc ( apl metablhtc) pou apotelon to sno-lo V = {V1, V2, . . . , Vn}. Peda timn twn metablhtn pou apotelon to snolo D = {D1, D2,

    . . . , Dn}. Praktik, ma metablht Vi lme ti {parnei timc} ap toDi, gia 1 i n. Se aut thn ergasa jewrome ti kje pedo timnenai peperasmno kai apoteletai ap diakritc akraiec timc. Periorismo pou epibllontai metax twn metablhtn kai apotelonto snolo C = {C1, C2, . . . , Ce}, pou to Ci periqei mia sqsh me-tax twn pedwn timn twn metablhtn enc sunlou Si V . O-rzoume Ci = (Si, Ti), me Ti Di1 Di2 Diq to snolo metouc dunatoc sunduasmoc gia tic timc twn metablhtn tou sunlou

    Si = {Vi1, Vi2 , . . . , Viq}. Anloga me ton arijm twn metablhtn thcsqshc (o opooc isotai me |Si|), katatssoume ton periorism Ci sticexc kathgorec/txeic periorismn: An ston periorism emplketai ma metablht, tte enai monadiaoc(unary). An emplkontai do metablhtc, tte enai duadikc (binary). An emplkontai perissterec metablhtc, tte enai anterhc txhc(higher order). Sthn eidik perptwsh pou nac periorismc mporena sundsei genik nan opoiondpote arijm metablhtn n, tteprkeitai gia nan kajolik periorism (global constraint).P.q., gia tic metablhtc V1 kai V2 me peda timn stw {0, 1, 2, 3}, o pe-riorismc thc isthtac mpore na dhlwje san C1({V1, V2}, {(0, 0), (1, 1),

    (2, 2), (3, 3)}). Parti autc o sumbolismc enai so pio genikc gne-tai, sthn prxh qrhsimopoiome aplc sqseic gia na perigryoume tadktua periorismn. Sto parapnw pardeigma, o periorismc mpore nagrafe apl san V1 = V2.'Otan to pedo timn kje metablhtc gnei monosnolo, me lla lgia tankje metablht isotai me ma sugkekrimnh tim, tte qoume ma anjesh(assignment). ('Otan to pedo timn miac metablhtc periqei ma mno tim,tte lme ti enai desmeumnh (bound singleton).) 'Otan ma anjesh enaisunepc wc proc touc periorismoc tou problmatoc, tte mporome na thnonomsoume kai lsh. . 22

  • 2.2 PardeigmaSe autn thn enthta perigrfetai na apl pardeigma problmatoc ikano-pohshc periorismn; sugkekrimna, ankei sthn kathgora twn kruptarjmwn.2.2.1 Kruptrijmoi'Enac kruptrijmoc (cryptarithm, pou perigrfetai kai san verbal arithmetic)enai na majhmatik pagnio pou perilambnei ma majhmatik exswsh metaxagnstwn arijmn, twn opown ta yhfa anaparstantai ap grmmata. Ostqoc tou enai na breje h arijmhtik tim kje grmmatoc.'Ena tetrimmno pardeigma kruptarjmou enai o A + B = C. Ma lshenai h {A 1, B 2, C 3}. H anjesh {A 1, B 1, C 2} den mackalptei (den enai lsh), giat, paradosiak, kajna grmma anaparist nadiaforetik yhfo. Epshc, isqei ti to prto yhfo tou kje arijmo enaimh mhdenik.2.2.2 Diatpwsh enc Kruptarjmou wc PIPTo kurwc pardeigma PIP pou ja dome enai o kruptrijmoc:A S

    + A

    -------

    M U MGia na orsoume to PIP, dhlnoume ta tra snola pou to apotelon: Metablhtc: A, S, M, U , dhlad la ta grmmata pou blpoume stonkruptrijmo. Peda timn (twn antstoiqwn metablhtn): DA = [1..9], DS = [0..9],

    DM = [1..9], DU = [0..9]. Epeid ta grmmata A kai M uprqounsthn arq lxewn, qoume afairsei to 0 ap ta antstoiqa peda. Me[a..b] sumbolzoume to snolo akerawn {a, a + 1, . . . , b}. Periorismo: O sundetikc krkoc metax twn metablhtn enai h exsw-sh:

    . 23

  • A S

    + A

    -------

    M U Mpou mpore na {metafraste} sthn10 A + S + A = 100 M + 10 U + M. (2.1)Autc enai kai o prtoc periorismc, o opooc prpei na ikanopoietaiap tic metablhtc. O deteroc periorismc sumpuknnetai sth frsh{oi metablhtc prpei na enai diaforetikc metax touc}. H majhmatikdiatpwsh ddetai paraktw:1

    A 6= S, A 6= M, A 6= U,S 6= M, S 6= U,

    M 6= U.(2.2)Tloc, ja mporose kanec na prosjsei sto snolo twn periorismntouc

    A 6= 0 kai M 6= 0,afo ta A kai M apotelon ta prta grmmata twn lxewn AS kaiMUM antstoiqa. 'Omwc, epeid prkeitai gia monadiaouc periorismocston kajnan emplketai ma metablht, qoume dh prosarmsei tapeda timn DA kai DM tsi ste na mhn periqoun to 0. Kat sunpeia,den qreizetai na asqolhjome plon me touc periorismoc autoc.2.3 AnazthshO Programmatismc me Periorismoc perilambnei do fseic, , me diaforeti-k lgia, do remata: a) aut thc diatpwshc enc PIP kai thc montelopo-hsc tou me to opoo asqolhjkame stic prohgomenec enthtec kai b) aut1 , P ,

    AllDifferent, AllDiff. , :

    AllDifferent(P ), P = {A, S, M, U}.

    . 24

  • thc eplusc tou, dhlad thc anazthshc lshc (search), me to opoo ja a-sqolhjome kurwc ap dw kai pra. Wstso, den prpei na parablyoume tito prto rema enai exsou shmantik, kajc h megalterh eukola me thn o-poa diatupnei kanec na PIP ja knei ton Programmatism me Periorismocakma pio qrsimo kai dhmofil.Sth sunqeia parousizontai perilhptik oi basikc kathgorec twn me-jdwn eplushc. 'Ena ap ta kria pleonektmata tou Programmatismo mePeriorismoc qei na knei me th genikthta twn algorjmwn anazthshc pouqrhsimopoie. Oi mjodoi dhlad enai genikc (generic) kai mporon na {dou-lyoun} gia opoiodpote PIP, llote me perissterh kai llote me ligterhepituqa. Exllou, den mpore na uprqei ma apodotik mjodoc gia la taPIP, afo metax autn uprqoun problmata pou qoun apodeiqje ti e-nai dskola (NP-plrh) pwc o qronoprogrammatismc kai gia th grgorheplush twn opown anagkazmaste na prosarmzoume kai na allxoume ticmejodologec anazthshc lshc, epilgontac msa ap ma plhjra gnwstnalgorjmwn.2.3.1 Gnna-kai-DokmazeMa tetrimmnh mejodologa eplushc enc PIP enai na proume louc toucdunatoc sunduasmoc twn timn pou mporon na anatejon stic metablhtc(dhlad to kartesian ginmeno D1 D2 Dn) kai na touc exetzoumenan proc nan (wc proc thn ikanopohsh lwn twn periorismn), mqri nabrome ma lsh. H mjodoc aut onomzetai gnna-kai-dokmaze (generate-and-test).Den enai dskolo na fantastome pso anapotelesmatikc enai autc oalgrijmoc, afo ftnei sto shmeo na exetzei la ta stoiqea tou kartesia-no ginomnou pou enai ekjetik poll wc proc to n.PardeigmaEpistrfoume sto pardeigma thc 2.2. Gia na epiluje o kruptrijmoc AS +A = MUM , ja prpei na proume tic anajseic . 25

  • A S M U1 0 1 01 0 1 11 0 1 2...9 9 9 9kai na tic elgxoume ma proc ma an ikanopoion touc periorismoc (2.1) kai(2.2).Telik, ja ftsoume sthn 7381h anjesh, gia na brome th lsh {A 9, S 2, M 1, U 0}, en, an den uprqe lsh, ja prepe na elgxoumelouc touc sunduasmoc, o arijmc twn opown enai soc me |DA| |DS| |DM | |DU | = 9 10 9 10 = 8100.2.3.2 Topik AnazthshH topik anazthsh (local search) qrhsimopoietai eurwc gia thn eplushdskolwn upologistikn problhmtwn. Akma kai smera pou oi mjodoianazthshc me opisjodrmhsh (oi opoec onomzontai kai susthmatikc, mesec, pwc ja dome kai se epmenh enthta) exelqjhkan shmantik, denqoun ftsei sto eppedo na lnoun arket megla kai polploka stigmitupaproblhmtwn, ta opoa gnetai na epilujon msw topikc anazthshc (h opoaqarakthrzetai kai san {mmesh} mjodoc).O algrijmoc psw ap kje mjodo topikc anazthshc sunoyzetai sthnexc prtash: Xekinme ap ma (tuqaa) anjesh, h opoa pijann na enaimerik, dhlad na mhn perilambnei lec tic metablhtc kai, epanalhptik,beltinoume aut thn {upoyfia lsh} knontac mikrc allagc. O akribctpoc twn allagn autn enai to shmeo sto opoo diafroun metax touc oimjodoi topikc anazthshc [18].Geitonic AnajsewnAn efarmsoume ma allag se ma anjesh a1 kai prokyei ma anjesha2, tte lme ti oi do anajseic enai geitonikc. Kat autn ton trpoorzontai oi geitonic anajsewn. (P.q. an h a2 ankei sth geitoni thc a1, ttegrfoume a2 N(a1).) Ma gnwst geitoni enai h 1-enallag (1-exchangeneighbourhood), smfwna me thn opoa do anajseic enai geitonikc an kaimno an diafroun sthn tim pou qei anateje se ma metablht. . 26

  • Epanalhptik BeltwshMa apl mjodoc topikc anazthshc enai h epanalhptik beltwsh (itera-tive improvement), gnwst kai wc anarrqhsh lfou (hill climbing). Gia namporome na axiologome kajema anjesh se autn th mjodo, qrhsimopoio-me ma sunrthsh apotmhshc g. 'Otan loipn se kpoio bma thc sugkekrim-nhc mejdou qoume thn anjesh a1, proqwrme se ma anjesh a2 N(a1),efson g(a2) < g(a1), efson dhlad h sunrthsh apotmhshc beltinetai.An g(a1) = 0, tte h a1 enai lsh kai o algrijmoc den enai aparathto nasuneqsei.2.3.3 Mjodoi me OpisjodrmhshH topik anazthsh, an kai gnwst gia thn apotelesmatiktht thc se mapoikila shmantikn problhmtwn, idwc kat thn klimkws touc, den enai engnei plrhc mjodoc, dhlad den brskei lec tic lseic enc problmatoc,prgma pou enai ekolo na fane akma kai se mikr stigmitupa problhm-twn. Sunepc, qei gnei poll reuna pnw stic plreic mejdouc, oi opoecemperiqoun se mikrtero bajm to stoiqeo thc tuqaithtac kai, sunjwc,enai pio katanohtc kai sunaklouja elkustikc.En sthn topik anazthsh kai sth gnna-kai-dokmaze dname timc se lectic metablhtc kai sth sunqeia elgqame an parabizontan oi periorismo,sthn opisjodrmhsh dnoume tim se ma metablht kai peita elgqoume anisqoun oi periorismo gia tic dh desmeumnec (bound) metablhtc.Oi algrijmoi me opisjodrmhsh problpoun ti an kat thn anjesh ti-mc se ma metablht breje ti parabizetai kpoioc periorismc metax twndh desmeumnwn metablhtn pnta, tte epilgetai ma llh tim ap to pe-do timn thc. An qoume dokimsei lec tic timc tou pedou thc metablhtc,opisjodromome (, me lla lgia, upanaqwrome), dhlad dokimzoume thnepmenh tim thc prohgomenhc metablhtc pou desmejhke. An apotqounlec oi anajseic kai gia autn, tte opisjodromome sthn proprohgome-nh k.o.k. Dsmeush lwn twn metablhtn me ikanopohsh twn periorismnshmanei epituqa, en antjeta h angkh na opisjodromsoume psw ap thnprth metablht isoduname me apotuqa.Ston yeudokdika pou akolouje h opisjodrmhsh epitugqnetai mswanadromc: . 27

  • function BackTracking(V ariables, Constraints)if exists unbound v in V ariables then

    for each a in domain(v) dov aif there is no violation of Constraintsfor the V ariables that are bound then

    BackTracking(V ariables, Constraints)end if

    end for

    v domain(v)else

    return true . Brjhke lsh!end if

    return false . Apotuqaend functionKat thn efarmog tou algorjmou sto pardeigma thc 2.2 emfanzontai taexc bmata:

    A S M UPeriorismcpou parabizetai Opisjodrmhsh11 01 0 1 (2.2)1 0 21 0 2 0 (2.1)1 0 2 1 (2.1)...1 0 2 9 (2.1) X1 0 31 0 3 0 (2.1)1 0 3 1 (2.1)...1 0 9 9 (2.1) X1 1 (2.2)1 2 ...

    . 28

  • H mjodoc xekin me thn anjesh A 1. Den qoume parabash k-poiou periorismo, opte proqwrme sthn anjesh S 0. H merik an-jesh {A 1, S 0} den parabizei touc periorismoc metax twn dhdesmeumnwn metablhtn (touc uploipouc periorismoc den touc exetzou-me otwc llwc), opte pme sto trto bma kai parnoume thn anjesh{A 1, S 0, M 1}. 'Omwc o periorismc (2.2) (sugkekrimna o A 6= M)den thretai, opte exetzoume kateujean thn epmenh tim tou DM (qwrc naqoume ftsei akma sth U , glitnontac tsi 10 elgqouc).Met thn anjesh {A 1, S 0, M 2, U 9} qoume thn prthopisjodrmhsh, gia na proume th merik anjesh {A 1, S 0, M 3}.2 Mqri na ftsoume sth lsh, qoume poll {kladmata}3 ap ta opoaglitnoume polloc elgqouc periorismn, pwc parapnw. Kai aut giatden enai aparathto na exetzoume apokleistik plreic anajseic; mporomena elgqoume touc periorismoc metax twn metablhtn akma kai gia miamerik anjesh.Apodeiknetai mwc ti sth qeirterh perptwsh h opisjodrmhsh qei thndia apodotikthta me th gnna-kai-dokmaze. Epinojhkan loipn teqnikc,pwc h didosh periorismn pou ja dome sth sunqeia, gia akma perissterhmewsh tou qrou anazthshc.2.3.4 Didosh PeriorismnTo {mustik} thc didoshc periorismn enai ti prospaje na ekmetalleu-te louc touc periorismoc, dhlad qi mno touc periorismoc pou aforontic dh desmeumnec metablhtc, pwc knei h mjodoc thc prohgomenhc e-nthtac. 'Eqoume na {kldema} tou dndrou anazthshc, me skop na mhnanatejon sto mllon lanjasmnec timc (a priori pruning). Prin thn parou-sash twn algorjmwn, ja dome pc mpore na apotupwje san grfoc naPIP.To dktuo periorismn (constraint network) enai nac grfoc me kmboucpou anapariston tic metablhtc. Touc kmbouc sundoun akmc pou ana-pariston touc periorismoc. Mia akm ennei do kmbouc-metablhtc kaiepomnwc sumbolzei nan duadik periorism. Oi monadiaoi periorismo denenai angkh na anaparastajon, kajc mporon na ikanopoihjon se mia fsh2 , .3 no-goods.

    . 29

  • proepexergasac msw thc diagrafc kpoiwn timn ap ta peda twn meta-blhtn. An eqame p.q. th metablht Vi me pedo timn Di = {2,1, 0, 1, 2}kai ton monadiao periorism Vi 0, tte apl ja jtame san pedo timnthc Vi to Di = {6 2,6 1, 0, 1, 2} = {0, 1, 2}, ap thn arq. 'Oson aforthn anaparstash periorismn anterhc txhc sto dktuo periorismn, denenai aparathth, afo apodeiknetai ti: Kje prblhma ikanopohshc perio-rismn mpore na metasqhmatiste se na isodnamo prblhma, pou periqeimno duadikoc periorismoc. O metasqhmatismc autc lgetai duadikopoh-sh (binarization).To dktuo periorismn enai to mso sto opoo ja diaddontai oi periori-smo (propagation). Oi algrijmoi pou ja dome gia aut to dktuo-grfo,epiqeiron na ton froun se mia katstash sunpeiac akmn (arc consistency AC). Mia akm (Vi, Vj) enai sunepc, an gia kje x Di, uprqei y Dj ,ttoio ste to zegoc timn (x, y) na mhn parabizei ton periorism gia thnakm aut. 'Otan mia akm (Vi, Vj) enai sunepc, tte den isqei aparathtati kai h (Vj, Vi) enai sunepc, afo h sunpeia enai kateujunmenh. P.q.stw V1 {17, 18} kai V2 {7, 8, 9} me V1 = V2 + 10. Isqei ti h (V1, V2)sunepc kai h (V2, V1) asunepc, afo den uprqei y D1, me y = 9 + 10.Me ton paraktw algrijmo mporome na exasfalsoume th sunpeia macakmc (Vi, Vj), afairntac tic timc tou Di pou den ikanopoion ton periorismgia tic do metablhtc. (P.q. gia thn parapnw akm (V2, V1), afaire to 9ap to D2.)

    function Revise(Vi, Vj)del falsefor each x in Di do

    if there is no y Dj, with (x, y) not violating the constraint thendelete x from Didel true

    end if

    end for

    return delend functionH mjodoc aut kaletai ap kpoion algrijmo epibolc sunpeiac akmn.Den uprqei mno nac ttoioc algrijmoc, all olklhrh oikogneia algo-rjmwn AC. P.q. oi AC-1, AC-2, . . . , AC-7 kai o pio prsfatoc AC-2001. Acdome ton prto algrijmo AC [26]:

    . 30

  • procedure AC-1(G)Q {(Vi, Vj) | (Vi, Vj) arcs(G)}repeat

    changed falsefor each (Vi, Vj) Q do

    changed changed or Revise(Vi, Vj)end for

    until not changedend procedureParathrome ti o algrijmoc met ap kje allag ston grfo, elgqeixan tic akmc tou gia na diapistwje an enai sunepec. Kai aut giat mporena sumbe to fainmeno tou ntmino: na afaireje mia tim tou pedou miacmetablhtc V1 gia gnei sunepc mia akm (V1, V2) kai aut na prokalseiasunpeia se akmc tpou (Vx, V1). An prosxoume ton AC-1 mwc, ja dometi den ja elgxei mno tic akmc tpou (Vx, V1), all lec. O AC-3 rqetaina stamatsei autn th spatlh stouc elgqouc [26]:procedure AC-3(G)

    Q {(Vi, Vj) | (Vi, Vj) arcs(G)}while Q 6= do

    select and delete (Vk, Vm) from Qif Revise(Vk, Vm) then

    Q Q {(Vi, Vk) | (Vi, Vk) arcs(G), i 6= m}end if

    end while

    end procedureTonzetai ti h sunpeia twn akmn enc grfou den shmatodote ti upr-qoun ma perissterec lseic, ote kan ti ja qoume lsh. Gia tou lgouto alhjc parousizontai oi treic grfoi tou Sqmatoc 2.1. 'Otan mwc qounafaireje lec oi timc ap kpoia metablht tte sgoura den uprqei lsh.Ap thn llh pleur, tan lec oi metablhtc qoun monomel peda timn sekatstash sunpeiac akmn, qoume mprost mac ma lsh. . 31

  • onmlhijkVA{1, 2}

    VB 6= VA

    ~~~~

    ~~~~

    ~~~~

    ~~~~

    ~~~

    VA 6= V

    @@@@

    @@@@

    @@@@

    @@@@

    @@@

    onmlhijkVB{1, 2} VB 6= V

    onmlhijkV{1, 2}

    () Den uprqei lshonmlhijkVA{1, 2}

    VB 6= VA

    ~~~~

    ~~~~

    ~~~~

    ~~~~

    ~~~

    VA 6= V

    @@@@

    @@@@

    @@@@

    @@@@

    @@@

    onmlhijkVB{1, 2} VB 6= V

    onmlhijkV{2, 3}

    () 'Eqei do lseiconmlhijkVA{1, 2}

    VB 6= VA

    ~~~~

    ~~~~

    ~~~~

    ~~~~

    ~~~

    VA 6= V

    @@@@

    @@@@

    @@@@

    @@@@

    @@@

    onmlhijkVB{1, 2}

    VB 6= V

    ((VB = 2) (V = 3))onmlhijkV{2, 3}

    () 'Eqei monadik lshSqma 2.1: Treic grfoi me sunpeia wc proc tic akmc . 32

  • Genikeumnh Sunpeia AkmnGia na epiblloume sunpeia akmn se periorismoc anterhc txhc (pou enaiekenoi stouc opoouc summetqoun perissterec ap do metablhtc), uprqeih diadikasa thc duadikopohshc pou proanafrjhke. Mporome, dhlad, naepiblloume sunpeia akmn stouc duadikoc periorismoc pou pargontaiap nan periorism anterhc txhc.O lloc drmoc enai na epiblloume apeujeac th legmenh genikeumnhsunpeia akmn (generalized arc consistency GAC, hyper-arc consistency)ston dio ton periorism. Prkeitai gia ma epktash thc nnoiac thc sunpeiacakmn kai anafretai se ma metablht kai nan periorism.Ma metablht Vi enai sunepc wc proc nan periorism ston opoo em-plkontai oi metablhtc {V1, . . . , Vi1, Vi, Vi+1, . . . , Vk}, an gia kje tim vitou pedou timn thc Vi uprqei ma pleida timn v1, . . . , vi1, vi+1, . . . , vkap ta antstoiqa peda timn, h opoa, maz me thn vi, den ja parabizei tonperiorism.Pardeigma. 'Estw ti qoume ton periorism V1 + V2 = V3, me D1 =D2 = D3 = [1..9], kai stw ti jloume na epiblloume genikeumnh sunpeiaakmn gia th metablht V1. Parnoume ma-ma tic timc tou D1 kai yqnoume{sthrgmata} (, pio epshma, {timc upostrixhc} (support values)) sto D2D3. Gia thn tim v1 = 1 qoume thn {pleida upostrixhc} v2, v3 = 1, 2,afo isqei v1 + v2 = v3.4 Gia v1 = 2 qoume thn 1, 3, gia v1 = 3 thn1, 4, . . . , gia v1 = 8 thn 1, 9. Gia v1 = 9 mwc, den qoume kpoia pleidaupostrixhc, sunepc prokaletai ma asunpeia.Sunpeia OrwnH sunpeia orwn (bounds consistency) enai ma pio qalar nnoia se sqshme th sunpeia akmn, all sunma pol qrsimh, afo h parx thc mporena elegqje grhgortera. Se aut thn ergasa qrhsimopoiome polloc pe-riorismoc anterhc txhc, opte boleei na perigryoume th sunpeia orwntsi ste na touc kalptei kai autoc.H (genikeumnh) sunpeia orwn, loipn, anmesa se ma metablht Vi kainan periorism ston opoo emplkontai oi metablhtc {V1, . . . , Vi1, Vi, Vi+1,. . . , Vk} isqei an gia kajna ap ta do kra tou Di, dhlad ta min(Di)4 v2, v3 = 1, 2, 2, 3, 3, 4, . . . ,8, 9, .

    . 33

  • kai max(Di), uprqei {pleida upostrixhc} v1, . . . , vi1, vi+1, . . . , vk stoD1 Di1 Di+1 Dk.5Enai shmantik ti h sunpeia orwn parousizei moia sumperifor me thsunpeia akmn sta exc do krsima shmea: a) tan kpoia metablht qeiken pedo timn sthn katstash sunpeiac orwn, tte to prblhma den qeilsh kai b) tan lec oi metablhtc qoun monomel peda sthn katstashsunpeiac orwn, tte h sugkekrimnh anjesh enai kai lsh tou problmatoc.Wstso, h sunpeia akmn prokale perisstera kladmata sto dndroanazthshc, afo afaire perissterec timc ap ta peda timn twn metablh-tn, tsi ste na ta frei se sunpeia. Parla aut qei na epiplon qronikkstoc, son afor thn epibol thc, se sqsh me th sunpeia orwn. Op-te na jma proc suzthsh enai na breje h qrus tom sto exc {Jloumemikrtero dndro anazthshc taqterh extash thc sunpeiac enc kmboutou?}. (H apnthsh se autn, pwc kai se pollc ttoiou edouc erwtseicenai kointuph: {Exarttai ap to prblhma pou jloume na epilsoume}.)Pardeigma. Ac xanadome to pardeigma thc prohgomenhc paragrfou,dhlad ton periorism V1 + V2 = V3, me D1 = D2 = D3 = [1..9]. Sthgenik sunpeia akmn exetsame lec tic timc tou D1 gia na apodexoumethn asunpeia, en sth sunpeia orwn arke na elgxoume ti gnetai gia thnelqisth tim min(D1) = 1 kai gia th mgisth max(D1) = 9. Me do mlicelgqouc ja deqname thn asunpeia (pou prokaletai ap th max(D1), pwcedame sthn prohgomenh pargrafo).

    5 v1, . . . , vi1, vi+1, . . . , vk [V 1..V 1] [V i1..V i1] [V i+1..V i+1] [V k..V k] ( V i V i Di, ) [7]. .

    . 34

  • Keflaio 3H Mhqan DidoshcPeriorismn AC-5+H didosh periorismn enai mia morf exagwgcsumpersmatoc, qi anazthshc, kai wc ttoia enaiperisstero {ikanopoihtik}, tso teqnik so kai aisjhtik. Eugene C. Freuder, 2005.Oi algrijmoi thc oikogneiac AC emfanzontai sunjwc se jewrhtikcergasec. Sta praktik sustmata Programmatismo me Periorismoc mwcden qoun tsh apqhsh; sunjwc se aut ulopoiontai oi legmenec mhqancdidoshc periorismn. Se aut to keflaio ja dome pc nac noc algrij-moc AC-5+ mpore na enai tautqrona kai ma perptwsh mhqanc didoshcperiorismn ulopoihmnhc se nan epilut genikn problhmtwn ikanopohshcperiorismn.3.1 Gnwsto Algrijmoi EpibolcSunpeiac AkmnSthn 2.3.4 parousisthkan do algrijmoi epibolc sunpeiac akmn: oAC-1 kai o AC-3. Protjhkan ap ton Mackworth, arqik se ma teqnikkjesh to 1975 [25] kai pio epshma se ma dhmoseush to 1977 [26]. O AC-3apotele ousiastik ma beltiwmnh kdosh twn AC-1 kai AC-2, oi opooi ana-frontai plon mno gia istorikoc kai didaktikoc lgouc. Akma kai smeratreic dekaetec met, en qoun protaje kai ulopoihje dekdec algrijmoi . 35

  • epibolc sunpeiac akmn, ta perisstera sustmata eplushc PIP qrhsimo-poion ton AC-3 san bsh thc mhqanc didoshc periorismn (propagationengine) pou enswmatnoun, elleyei enc llou genikc apodekto plaisou,pwc omologe o Bessiere se ma prsfath sqetik episkphsh [7].3.1.1 Algrijmoi Adrc UfcO AC-3 katatssetai sth legmenh kathgora algorjmwn adrc ufc (coa-rse-grained). Prkeitai gia thn kathgora algorjmwn epibolc sunpeiacakmn, stouc opoouc kentrik rlo pazoun oi legqoi periorismn, oi opooi{purodotontai} ap ma afaresh timc. Me lla lgia, sqhmatik, mporomena pome ti to {kaldio} msa ap to opoo pernei to {mnuma} thc metabo-lc enc pedou timn se aut thn kathgora algorjmwn enai oi periorismo,dhlad oi akmc tou diktou periorismn.To 2001 oi Bessiere kai Regin, kajc kai oi Zhang kai Yap prteinan msaap anexrthtec douleic [10, 39] ma beltwsh tou algorjmou AC-3. Thndia qroni, oi tsseric ereunhtc dhmoseusan ma koin ergasa kai onmasanautn ton algrijmo AC-2001 [9]. (O AC-2001 eqe onomaste proswrin kaiAC-3.1. Autc enai o lgoc pou kpoiec beltiseic tou AC-2001 onomsth-kan AC-3.2 kai AC-3.3 [23].)3.1.2 Algrijmoi Leptc UfcOi legmenoi algrijmoi leptc ufc (fine-grained) suniston th deterh kaiteleutaa kathgora algorjmwn epibolc sunpeiac akmn. Sqhmatik, ta{kaldia} msa ap ta opoa oi algrijmoi auto metafroun to {mnuma} thcmetabolc enc pedou timn, enai oi diec oi timc twn pedwn timn; exllou,kje tim enc pedou timn sundetai msw mac domc dedomnwn (p.q. mswenc pnaka) me lec tic timc twn llwn metablhtn stic opoec sthrzetai.Praktik, en oi algrijmoi adrc ufc estizoun sto dktuo periorismn,oi algrijmoi leptc ufc {proqwron na bma paraktw}, afo epexerg-zontai na dktuo sto opoo kje tim enc pedou timn mac metablhtcsusqetzetai me tic timc twn upolopwn metablhtn pnw stic opoec sthr-zetai.1 Oi gnwstteroi algrijmoi thc kathgorac enai o AC-4 [29], o AC-61.. X = Y +5 2 Y 7 X ( 7 = 2 + 5). (support values) .

    . 36

  • [6] kai o AC-7 [8].3.1.3 Parametriko AlgrijmoiKlenoume thn parousash twn gnwstterwn algorjmwn epibolc sunpeiacakmn, parousizontac ton AC-5 [37]. O algrijmoc autc den entssetaiapeujeac se kpoia ap tic do kathgorec algorjmwn pou anafrjhkanstic prohgomenec enthtec. Aut sumbanei epeid prkeitai gia nan para-metrik algrijmo: gia kje periorism orzontai ap autn pou kale tonalgrijmo sugkekrimnec uporoutnec gia thn antimetpish tou periorismoauto.Efson o algrijmoc dqetai uporoutnec pou orzontai ap ton qrsth,enai dunatn na prosomoiwjon msw auto tso o AC-3, so kai o AC-4,kajc kai ubrdia.3.2 O Algrijmoc AC-5Paraktw parousizetai o arqikc orismc tou AC-5 [37].21: procedure AC-5

    2: Q 3: for each (i, j) arcs(G) do4: ArcCons(i, j, )5: Q Q {((k, i), w) | (k, i) arcs(G), k 6= j}6: Di Di 7: end for

    8: while Q 6= do9: Pick and remove an ((i, j), w) out of Q

    10: LocalArcCons(i, j, w, )11: Q Q {((k, i), w) | (k, i) arcs(G), k 6= j}12: Di Di 13: end while

    14: end procedure2 - 5 11, k 6= j. AC-3.

    . 37

  • Den uprqei mesoc orismc gia tic uporoutnec ArcCons kai LocalA-rcCons; o programmatistc pou kale ton AC-5 prpei na orsei o dioc ticdo uporoutnec autc gia kje periorism (, kaltera, gia kje tpo perio-rismo). Autc enai llwste o lgoc gia ton opoo o AC-5 qarakthrzetaiwc parametrikc.Parla aut, enai aparathto na xekajariston oi prodiagrafc pou o-feloun na plhron oi do uporoutnec: H ArcCons(i, j, ), ja prpei na frnei se sunpeia thn akm (i, j).Kat th diadikasa aut, poiec timc afairejon ap to pedo Di, japrpei na mpoun sto snolo to opoo kat thn narxh thc ektleshcthc uporoutnac enai ken. H LocalArcCons(i, j, w, ) ja prpei na frnei se sunpeia thn akm

    (i, j) afairntac timc ap to Di kai bzontc tic sto ken arqiksnolo dedomnhc thc afareshc thc timc w ap to pedo Dj . Toshmeo pou ja prpei na proseqje ed, enai ti h LocalArcConsden apaitetai na exasfalsei th sunpeia thc akmc (i, j). Aut pouprpei na knei enai na afairsei tic timc ekenec tou Di, oi opoeceqan monadik strigma sth metablht j, thn tim w.Enai dunatn, na orsoume th LocalArcCons tsi:procedure LocalArcCons(i, j, w, )

    ArcCons(i, j, )end procedureAn qrhsimopoisoume ton parapnw orism, kat' ousan agnoome to w kaitelik o AC-5 tautzetai me ton AC-3.Prgmati, an qoume gia ma akm (i, j) {afhrhmnouc} periorismoc toutpou Cij = {(1, 25), (10, 7), (201, 99), (5, 4)}, aut to w den ja enai idiateraqrsimo. Gia ttoiec periptseic periorismn, o idanikc algrijmoc ja tano AC-2001.Sthn prxh, mwc, oi periorismo pou sunjwc tjentai metax do peris-sotrwn metablhtn enai {safsteroi}. P.q. enai thc morfc Cij = {(x, y) |

    x = y + 1, x Di, y Dj}. Sunhjismnoi periorismo pou diatupnontai senan epilut, enai oi sunarthsiako (functional), pwc ma sqsh Vi = 4Vj +7,metax twn metablhtn Vi kai Vj, anti-sunarthsiako (anti-functional), pwch anisthta Vi 6= Vj kai montonoi (monotonic) pwc to Vi < 8Vj. . 38

  • Gia tic parapnw kathgorec periorismn kajc kai gia arketc llecmporome na orsoume thn LocalArcCons kat ttoio trpo, ste na qeistajer poluplokthta. P.q. gia ton periorism Vi = 2Vj + 1, an klhje hLocalArcCons(i, j, 5, ) dhlad an qoume w = 5 mporome na dome seO(1) bmata an (2 5 + 1) Di, en h antstoiqh klsh ArcCons(i, j, ),ja pairne qrno O(|Di|).Kai en h logik tou algorjmou AC-5 enai dia me aut tou AC-3, hqrsh ston AC-5 prosarmosmnwn sunartsewn (ArcCons kai LocalA-rcCons) gia ton legqo thc sunpeiac enc periorismo apodeiknetai kal-terh ap th qrsh thc genikc sunrthshc (Revise) tou AC-3.To tmhma wstso gia aut th beltwsh enai ti gia kje tpo periorismoofeloume na orzoume tic mejdouc tou ArcCons kai LocalArcCons, -pwc ja knoume endeiktik gia kpoiouc periorismoc paraktw, se aut tokeflaio. Dhlad, nai men ekmetalleumaste ta qarakthristik kai tic idiai-terthtec sugkekrimnwn kathgorin periorismn, tsi ste na touc anti-metwpzoume grhgortera, all h algorijmik ulopohsh autc thc gnshcapaite kpoion epiplon kpo.3.3 Ma Prth Prosarmog tou AC-5Sth sunqeia parousizoume ma prth tropopohsh tou AC-5:

    procedure AC-5-NewQueue

    Q for each (i, j) arcs(G) do

    ArcCons(i, j, )Q Q {(i, (i, j), w) | w }Di Di

    end for

    while Q 6= doPick and remove an (i, (i, j), w) out of Qfor each (k, i) arcs(G), with k 6= j do

    LocalArcCons(k, i, w, )Q Q {(k, (k, i), w) | w }Dk Dk

    end for

    end while

    . 39

  • end procedureParathrome ti to Q periqei tra llou tpou stoiqea. En stonAC-5 to Q apotelontan ap stoiqea ((i, j), w), pou smaine ti prepe naelegqje h sunpeia thc akmc (i, j), dedomnhc thc apousac tou w ap toDj, ston AC-5-NewQueue to Q qei stoiqea (i, (i, j), w), pou shmanei tija prpei na elegqje h sunpeia lwn twn akmn, pou kateujnontai proc thmetablht i, dedomnhc thc apousac tou w ap Di [28, 13]. H akm (j, i) denqreizetai na elegqje. O noc tpoc loipn twn stoiqewn tou Q, periqeiperissterec plhroforec.3Sunoptik, qoume thn exc allag ston tpo twn stoiqewn thc ourc.Algrijmoc TpocStoiqewn Q ErmhneaAC-5 ((i, j), w)

    Prpei na klhje hLocalArcCons(i, j, w, ).

    AC-5-NewQueue (i, (i, j), w)Prpei na klhje hLocalArcCons(k, i, w, )gia kje (k, i) arcs(G), me k 6= j.3.3.1 Perissterec TropopoiseicO algrijmoc AC-5-NewQueue pou parousisthke prohgoumnwc, {peri-strfetai} grw ap tic akmc (i, j) tou grfou pou anaparist to dktuotwn periorismn. Tra ja ton metasqhmatsoume tsi ste na estizei a-peujeac stouc diouc touc periorismoc. 'Estw ti nac periorismc c Csundei tic metablhtc i kai j. Sunepc oi do akmc (i, j) kai (j, i) mporonna antiproswpeujon ap ton periorism c.

    1: procedure AC-5-Final

    2: Q 3: for each c C do4: c.ArcCons(Q)5: end for

    6: while Q 6= do7: Pick and remove an (i, (i, j), w) out of Q8: for each c C , with i vars(c) and c 6= (i, j) do9: c.LocalArcCons(i, w, Q)3 Q G.

    . 40

  • 10: end for

    11: end while

    12: end procedureGia na dexoume ti o parapnw algrijmoc enai isodnamoc me ton AC-5-NewQueue, ja prpei na orsoume tic do parametrikc mejdouc. Mec.ArcCons(Q) kai c.LocalArcCons(v, w, Q) sumbolzoume antstoiqa ticArcCons(c, Q) kai LocalArcCons(c, v, w, Q). Protimsame mwc na b-loume to prjema {c.} prin to noma twn mejdwn, gia na toniste ti oi domjodoi prpei na oriston gia kje periorism c. Epshc, jelsame tsi naepishmnoume ti o algrijmoc enai kat kpoion trpo antikeimenostrefckai ti ta antikemena sta opoa estizei enai loi oi periorismo sto C .'Estw ti oi akmc pou perilambnontai ston periorism c entssontai stosnolo arcs(c). H c.ArcCons(Q) ja prpei loipn na sumperilbei tsecklseic thc ArcCons (pwc aut qrhsimopoietai ston AC-5-NewQueue),sec enai oi akmc tou arcs(c):

    procedure c.ArcCons(Q)for each (i, j) arcs(c) do

    ArcCons(i, j, )Q Q {(i, (i, j), w) | w }Di Di

    end for

    end procedure'H, pio apl, gia arcs(c) = {(p, q), (q, p)} qoume:procedure c.ArcCons(Q)

    ArcCons(p, q, )Q Q {(p, (p, q), w) | w }Dp Dp ArcCons(q, p, )Q Q {(q, (q, p), w) | w }Dq Dq

    end procedureShmeinoume pli, proc apofug parexhgsewn, ti h c.ArcCons enaiprofanc diaforetik mjodoc ap thn ArcCons pou qrhsimopoietai stonAC-5-NewQueue, all mpore na ekfraste bsei autc. . 41

  • En me th c.ArcCons anafermaste kai stic do akmc tou c (tan o c e-nai duadikc periorismc), dhlad tic (p, q) kai (q, p), me th c.LocalArcConsanafermaste se ma ap tic do akmc. Wc ek totou, to prto risma thcc.LocalArcCons qei na knei me th metablht v sthn opoa katalgei hakm sthn opoa epijumome na epiblloume sunpeia.

    procedure c.LocalArcCons(v, w, Q)for each (i, j) arcs(c), with i 6= v do

    LocalArcCons(i, j, w, )Q Q {(i, (i, j), w) | w }Di Di

    end for

    end procedureTo opoo gia arcs(c) = {(p, q), (q, p)} gnetai:procedure c.LocalArcCons(v, w, Q)

    if v = p thenLocalArcCons(q, p, w, )Q Q {(q, (q, p), w) | w }Dq Dq

    else . v = qLocalArcCons(p, q, w, )Q Q {(p, (p, q), w) | w }Dp Dp

    end if

    end procedureSthn prxh, den ulopoiome tic do parapnw mejdouc kat ton trpome ton opoo parousisthkan. Aut h parousash tan jewrhtik ep topleston, gia na apodeiqje h isodunama tou AC-5-Final me ton AC-5.Wstso, auto oi jewrhtiko orismo mc kajodhgon sto na perigryoumetic idithtec pou ofeloun oi do mjodoi na plhron. H c.ArcCons ofelei na epibllei diadoqik sunpeia akmn gia ticakmc tou periorismo c.44 .

    vars(c) = {p, q}. ) c.ArcCons (p, q).) (q, p). .

    . 42

  • H c.LocalArcCons(v, w, Q) ofelei na frnei se sunpeia tic akmcekenec tou c pou den xekinne ap th metablht v (dhlad tic akmcekenec pou kateujnontai proc to v), dedomnhc thc apousac thc timcw ap to Dv, pwc akribc kai h LocalArcCons tou AC-5.5Epishmanetai ti kai stic do mejdouc qoun anateje plon {armodith-tec} na afairon oi diec tic asunepec timc ap ta peda timn kai qi na ticbzoun apl sto endimeso snolo . Epshc, enai {upejunec} gia thn ei-sagwg stoiqewn sto snolo Q. H leitourga thc eisagwgc stoiqewn sthnour enai dunatn gia lgouc aplthtac all kai {omoiomorfac} thc ulo-pohshc na enswmatwje sth mjodo afareshc timn ap to pedo timn macmetablhtc v (to noma thc mejdou ja mporose na enai p.q. {v.remove}).Ma ttoia mjodoc ja enai epshc dunatn na egerei ma shmaa asunpeiac,tan to pedo timn thc metablhtc sthn opoa anafretai gnei ken (gegoncpou shmanei ti lo to dktuo periorismn enai asunepc).3.3.2 Genikeumnh Sunpeia AkmnSthn 2.3.4 anaferjkame sthn nnoia thc genikeumnhc sunpeiac akmn(GAC), pou enai qrsimh tan qoume na asqolhjome pra ap touc dua-dikoc kai me kajolikoc periorismoc.To 1977 o Mackworth epkteine me nan pol fusik kai apl trpo tonalgrijm tou AC-3 orzontac ton GAC-3, katafrnontac tsi na ekmetal-leute touc kajolikoc periorismoc [27]. Prin epiqeirsoume kai emec to diogia ton AC-5-Final, ja epishmnoume prta ma {asfei} tou sth gram-m 8: eke uprqei h anisthta c 6= (i, j). Me aut thn anisthta jloume naexasfalsoume ti (p, q) 6= (j, i) kai (q, p) 6= (j, i), an arcs(c) = {(p, q), (q, p)}.(O lgoc pou knoume autn ton legqo enai epeid den qreizetai na elg-xoume ton periorism pou proklese th didosh periorismn pwc gnetai

    c ... (p, q) ), ), q, (p, q) ., c.ArcCons , c.5 ( ), - AC-5 . , c.LocalArcCons c, (p, q), (q, p).

    . 43

  • kai ston AC-3. H akm pou prokale th didosh periorismn enai h (i, j).Sunepc ote h akm (j, i) qreizetai na elegqje.)An jsoume arcs(cf) = {(i, j), (j, i)},6 mporome thn anisthta thc gram-mc 8 na thn xanagryoume isodnama san c 6= cf . Aut mporome na toisquristome kai sthn perptwsh pou uprqoun kajoliko periorismo.Met kai ap thn parapnw allag emaste se jsh na tropopoisoumekai ton tpo twn stoiqewn thc ourc Q, tsi ste na uposthrzei kai autctouc kajolikoc periorismoc. ('Oloc o uploipoc algrijmoc AC-5-Final,kajc kai oi prodiagrafc twn mejdwn c.ArcCons kai c.LocalArcConstouc uposthrzoun dh.) O trqwn tpoc enai o (i, (i, j), w). Ton tropo-poiome tra se (i, cf , w), me (i, j) arcs(cf). 'Eqoume ma genkeush dhlad,all parla aut den qnoume kpoia qrsimh plhrofora, afo xroume tih akm pou proklese thn afaresh thc timc w ap to Di, xekinei ap to ikai ankei sto arcs(cf).7Dedomnwn twn prodiagrafn twn do mejdwn c.ArcCons kai c.Lo-calArcCons, h diatpwsh tou algorjmou epibolc genikeumnhc sunpeiacakmn gnetai aprsmena apl:1: procedure GAC-5

    2: Q 3: for each c C do4: c.ArcCons(Q)5: end for

    6: while Q 6= do7: Pick and remove an (i, cf , w) out of Q8: for each c C , with i vars(c) and c 6= cf do9: c.LocalArcCons(i, w, Q)

    10: end for

    11: end while

    12: end procedure6 f fired, cf .7 - - . .. (V1, V2, V3) (V1, V3, V2). ,, .

    . 44

  • 3.4 Paradegmata Sunartsewn ArcConskai LocalArcConsOi anaforc mac sthn oikogneia algorjmwn AC-5 peristrfhkan grw apth qrsh kai tic idithtec twn mejdwn c.ArcCons kai c.LocalArcCons.Den qoume orsei wstso akma kpoia ap autc. Gia kje periorismexllou oi mjodoi autc orzontai diaforetik.Prin parousisoume touc algorjmouc gia sugkekrimnouc periorismoc, o-rzoume th mjodo afareshc mac timc val ap to pedo timn mac metablhtcVf , h opoa prokljhke ap ma mjodo cf .ArcCons cf .LocalArcCons.H mjodoc aut frontzei na enhmerwje katllhla kai h our Q.

    procedure Vf .remove(val, Q, cf)DVf DVf {val} . An DVf = , to prblhma den qei lsh.Q Q {(Vf , cf , val)}

    end procedure3.4.1 O Periorismc X = YParaktw orzoume tic mejdouc c1.ArcCons kai c1.LocalArcCons gianan periorism c1 o opooc ekfrzei thn isthta metax do periorismnwnmetablhtn X kai Y . O periorismc autc sumbolzetai kai san {X = Y }.procedure c1.ArcCons(Q)

    for each val DX doif val / DY then

    X.remove(val, Q, c1)end if

    end for

    for each val DY doif val / DX then

    Y.remove(val, Q, c1)end if

    end for

    end procedureOi prodiagrafc mac opoiasdpote c1.ArcCons pwc diatupjhkanapaiton th diadoqik efarmog sunpeiac akmn gia kje akm sto arcs(c1).Wc ek totou, ston parapnw algrijmo blpoume ti ston prto brqo (for) . 45

  • rqetai se sunpeia h akm (X, Y ), en met ton detero brqo h akm (Y, X)rqetai se sunpeia.H c1.LocalArcCons enai pio exeidikeumnh sunrthsh, afo parnei doepiplon orsmata: to Vf 8 kai to w. Sunepc, kaletai gia na frei se sunpeiathn/tic akm/c tou sunlou arcs(c1) pou kateujnetai/ontai proc th Vf ,dedomnhc thc afareshc thc timc w ap to pedo timn DVf .procedure c1.LocalArcCons(Vf , w, Q)

    if X Vf thenif w DY then

    Y.remove(w, Q, c1)end if

    else . Y Vfif w DX then

    X.remove(w, Q, c1)end if

    end if

    end procedureMe th c1.LocalArcCons, exasfalzoume ti met thn afaresh mactimc w ap to pedo thc mac metablhtc (dhlad thc Vf), ja afaireje h diatim ap to pedo thc llhc metablhtc, efson bbaia ankei se aut.Se autn ton periorism fanetai xekjara h diafor sthn txh polu-plokthtac, metax twn c1.ArcCons kai c1.LocalArcCons. Ousiastik,drpoume touc karpoc thc apfasc mac na qrhsimopoisoume ton AC-5.3.4.2 O Periorismc X 6= YSe autn thn pargrafo exetzoume tic mejdouc gia ton periorism c2 thcanisthtac metax do metablhtn X kai Y , pou sumbolzetai kai san {X 6=Y }. O periorismc autc apagoreei thn anjesh thc diac timc kai stic dometablhtc.'Otan ma metablht V enai desmeumnh, tte th monadik tim tou pedoutimn DV th sumbolzoume me {V.value} (kai isqei ti DV = {V.value}).

    procedure c2.ArcCons(Q)if |DY | = 1 and Y.value DX then8 cf, f Vf

    (fires) .

    . 46

  • X.remove(Y.value, Q, c2)end if

    if |DX | = 1 and X.value DY thenY.remove(X.value, Q, c2)

    end if

    end procedureH c2.LocalArcCons ja mporose ed na tautiste me thn c2.ArcCons,afo h asumptwtik poluplokthta tc teleutaac enai dh bltisth (kai shme O(1)).procedure c2.LocalArcCons(Vf , w, Q)

    c2.ArcCons(Q)end procedure

    3.4.3 Ma Parallag thc c2.LocalArcCons'Eqoume dh orsei th c2.LocalArcCons gia ton periorism thc anisthtacX 6= Y , basizmenoi sth mjodo c2.ArcCons. Parla aut, ja knoume maprospjeia na ekmetalleutome thn parmetro Vf (metablht {purodthshc}didoshc periorismn), tsi ste na ektelontai mno oi aparathtec entolc.

    procedure c3.LocalArcCons(Vf , w, Q)if X Vf then

    if |DX | = 1 and X.value DY thenY.remove(X.value, Q, c2)

    end if

    else . Y Vfif |DY | = 1 and Y.value DX then

    X.remove(Y.value, Q, c2)end if

    end if

    end procedure

    . 47

  • 3.5 Kathgoriopohsh MejdwnLocalArcConsSthn prohgomenh enthta parousisthkan tra diaforetik zegh mejdwn

    ArcCons kai LocalArcCons gia touc periorismoc thc isthtac (c1) kaithc anisthtac (c2 kai c3: o c2 diafrei ap ton c3 mno sth mjodo Loca-lArcCons me thn opoa antimetwpzetai).Me tic mejdouc ArcCons den ja asqolhjome, kajc kalontai mamno for. Antjeta, ja exetsoume pio prosektik tic idithtec twn mejdwnLocalArcCons, afo autc enai pou kalontai tic perissterec forc.'Ena posost mlista twn klsewn autn gnetai skopa kai tsi polloereunhtc qoun asqolhje me th mews tou. P.q. se autn thn katejun-sh kinontai oi apaithtiko se mnmh algrijmoi epibolc sunpeiac leptcufc.3.5.1 Sumbnta pou Energopoion SunartseicDidoshc'Ena llo ligtero apaithtik genik plasio algorjmwn epibolc sun-peiac akmn enai h mhqan didoshc periorismn, tsi pwc orzetai aptouc Schulte kai Carlsson se ma episkphsh periballntwn Programmatismome Periorismoc [35]. H episkphs touc estizei se sunartseic didoshc(propagators). (Ma ttoia sunrthsh enai kai h LocalArcCons.) Masunrthsh didoshc kaletai9 tan lbei qra kpoio sugkekrimno sumbn(event). Anafrontai tra dh sumbntwn (pou to na enai upoperptwsh toullou):any(X). To sumbn aut mac enhmernei ti to pedo timn thc periorismnhcmetablhtcX qei uposte ma (opoiadpote) metabol. Praktik, qou-me ma afaresh timc ap to DX . Se merikc periptseic, ant tou sum-bntoc any(X) qrhsimopoietai to pio sugkekrimno sumbn any(X, w)pou upodeiknei ti h tim w qei afaireje ap to DX [40].bounds(X). Sumbn pou upodeiknei ti qei allxei ete h elqisth tim toupedou timn DX (to sumbn tte onomzetai kai {minc(X)}), ete hmgisth tim tou (to sumbn aut lgetai kai {maxc(X)}).9 , .

    . 48

  • fix(X). Sumbn pou emfanzetai mlic ma metablht desmeute (mlic dhladto pedo timn thc periqei ma mno tim).Kje sumbn qei sundeje ek twn protrwn me tic antstoiqec sunart-seic didoshc. 'Etsi, kje for pou lambnei qra na sumbn, automtwcmpanoun se ma our anamonc oi sunartseic didoshc periorismn me ticopoec aut sundetai.Dhlad h mhqan didoshc periorismn twn Schulte kai Carlsson baszetaise ma our ap sunartseic didoshc. Jewrhtik, tan prokyei kpoio sum-bn, tte enai pijann na qoume O(e) eisagwgc sthn our twn sunartsewndidoshc. Mpore dhlad na qreiaste sth qeirterh perptwsh na klhjongia touc e periorismoc enc PIP, oi antstoiqec e sunartseic didoshc.3.5.2 H Sunrthsh Didoshc LocalArcConsSton algrijmo GAC-5 pou perigrfhke sthn parosa ergasa, h our Qden periqei sunartseic didoshc. Mporome na pome ti h our tou GAC-5periqei sumbnta. Sunepc, ta sumbnta aut qoun th morf (Vf , cf , w) kaiupodeiknoun ti sunbh h diagraf thc timc w ap to pedo timn DVf (hopoa prokljhke ap kpoia klsh cf .ArcCons cf .LocalArcCons).'Ena ttoio sumbn moizei me to any(Vf , w). H diafor gkeitai sto tito teleutao prokale O(e) eisagwgc sthn our sunartsewn didoshc thcmhqanc didoshc periorismn pwc analjhke sthn prohgomenh pargra-fo, en ston GAC-5 to dio sumbn prokale ma mno eisagwg sthn oursumbntwn tou algorjmou.Epeid qoume (proc to parn) nan tpo sumbntwn ston GAC-5, den jakathgoriopoisoume ta dia ta sumbnta, all tic sunartseic didoshc pouapantntai ston GAC-5 kai sugkekrimna tic mejdouc LocalArcCons.1h Kathgora c.LocalArcCons: Qrsh paramtrwn Vf kai w.Kje c.LocalArcCons qei san paramtrouc eisdou tic Vf kai w.(Uprqei kai h parmetroc Q me thn opoa mwc den ja asqolhjome,giat ousiastik qrhsimopoietai mno san parmetroc exdou.) All,pwc edame kai sta paradegmata thc 3.4, den ekmetalleontai lecoi mjodoi tic paramtrouc touc. Sugkekrimna, to w to qrhsimopoiemno h mjodoc c1.LocalArcCons thc 3.4. Opte h mjodoc autentssetai sthn 1h kathgora. . 49

  • 2h Kathgora c.LocalArcCons: Qrsh paramtrou Vf . Se autnthn kathgora entssontai oi mjodoi pou knoun qrsh thc param-trou Vf , all qi kai thc paramtrou w. P.q. aut knei h mjodocc3.LocalArcCons thc 3.4. Kat autn ton trpo epiblletai sun-peia wc proc thn akm ekenh tou arcs(c) pou xekinei ap th Vf .En h 1h kathgora c.LocalArcCons ja mporosame na pome tiafor ta sumbnta tpou any(Vf , w), h 2h ja lgame ti afor genikta sumbnta any(Vf ). Wstso emec sthn parosa ergasa ja thn anti-stoiqsoume sto sumbn bounds(Vf), prgma pou shmanei ti oi mjodoiautc thc kathgorac ja kalontai mno tan h elqisth h mgisthtim tou pedou timn mac metablhtc allxei. Knoume aut thn anti-stoqhsh epeid sta pragmatik sustmata eplushc oi perissterec su-nartseic didoshc antistoiqzontai se na ttoio sumbn (bounds(Vf))kai epiblloun sunpeia orwn.3h Kathgora c.LocalArcCons: Kama qrsh twn paramtrwnVf kai w. Se aut thn teleutaa kathgora entssontai oi mjodoiekenec pou epiblloun sunpeia orwn, oi opoec den ekmetalleontaikama ap tic paramtrouc eisdou touc, pwc h c2.LocalArcConsthc 3.4. Aut qei san apotlesma na epiblloun sunpeia orwnse lec tic akmc (tou sunlou arcs(c)) tou periorismo ston opooanafrontai. Afo o {kmboc-afethra} Vf ousiastik den uprqei, hsunpeia epiblletai proc lec tic kateujnseic.'Oson afor thn antistoqhsh twn sunartsewn didoshc me ta sumbn-ta (pwc perigrfhkan sthn prohgomenh enthta), mporome na pometi oi mjodoi c.LocalArcCons autc thc kathgorac kalontai tanuprqei na perisstera sumbnta bounds(Vf), me Vf vars(c).3.5.3 Jewrhtik Omadopohsh twn SumbntwnH 1h kathgora c.LocalArcCons qei dh entaqje armonik ston GAC-5.Anaforik me th 2h kathgora, enai profanc ti den qrhsimopoie th metablh-t w tou GAC-5. Dhlad ta stoiqea (Vf , c1, w1), (Vf , c2, w2), . . . , (Vf , cn, wn)thc ourc Q tou algorjmou antistoiqon se na mno stoiqeo (Vf , cn, w), -pou w tuqaoc arijmc kai pou c1, c2, . . . , cn oi periorismo pou (oi mjodoielgqou sunpeiac touc) afaresan tic antstoiqec timc w1, w2, . . . , wn apto DVf , se qronologik seir afareshc.

    . 50

  • Apdeixh. Thn teleutaa prtash mporome na thn apodexoume an parath-rsoume poiec klseic mejdwn ja prokalose to kajna ap ta n parapnwstoiqea thc ourc tou GAC-5.Stoiqeo thc Q Klseic Sunartsewn2hc Kathgorac pou prokale(Vf , c1, w1)

    c.LocalArcCons(Vf , w1, Q),c 6= c1, me Vf vars(c).... ...

    (Vf , cn, wn)c.LocalArcCons(Vf , wn, Q),c 6= cn, me Vf vars(c).Snolo Klsewn c.LocalArcCons(Vf , w, Q),c, me Vf vars(c).Ap ton parapnw pnaka sumperanoume loipn ti, lgw thc dunatth-tac pou qoume na allxoume th seir ektleshc twn sunartsewn didoshckai epeid kje wi mpore na antikatastaje me to tuqao w, ta sumbnta

    (Vf , c1, w1), . . . , (Vf , cn, wn) pou pijann na uprqoun anmesa sta llasthn our tou GAC-5 prokalon tic exc klseic: c.LocalArcCons meorsmata ta Vf , w, Q, gia kje c.LocalArcCons 2hc kathgorac, me ton pe-riorism c na sundetai me th metablht Vf (toi, Vf vars(c)).Epeid, pwc fanetai ap ta stoiqea thc ourc, h teleutaa klsh sunr-thshc didoshc prin arqsoume emec tic dikc mac klseic tan h cn.Local-ArcCons (ap thn opoa prokuye to sumbn (Vf , cn, wn)), den uprqei lgocna thn xanakalsoume. Telik gia ta n sumbnta ja qoume tic exc klseic:c.LocalArcCons me orsmata ta Vf , w, Q, gia kje c.LocalArcCons 2hckathgorac, me c 6= cn kai Vf vars(c). Sunepc, ta sumbnta (Vf , c1, w1),. . . , (Vf , cn, wn) prokalon isodnamec klseic sunartsewn didoshc 2hc ka-thgorac me autc pou ja prokalose to sumbn (Vf , cn, w), pou w tuqaocarijmc.Epeid oi c.LocalArcCons 2hc kathgorac aforon thn epibol sunpeiacorwn, to paketrisma twn stoiqewn thc ourc (Vf , c1, w1), . . . , (Vf , cn, wn)sto isodnamo stoiqeo (Vf , cn, w) qei nhma mno an kpoio ap ta wi tanprhn elqisto mgisto tou DVf . Efson den qei peiraqte to elqisto to mgisto tou DVf , den uprqei lgoc na efarmsoume sunpeia orwn. . 51

  • 3.5.4 Ulopohsh Omadopohshc Sumbntwn'Estw ti qoume sthn our tou GAC-5 ta sumbnta (Vf , c1, w1), . . . , (Vf ,cn, wn). Efson uprqoun mjodoi c.LocalArcCons 1hc kathgorac me ticopoec sundetai h metablht Vf (msw thc sqshc Vf vars(c)), den japrpei na qsoume thn plhrofora pou dnoun oi timc w1, . . . , wn.Ja prpei mwc na lboume upyh ti an uprqoun c.LocalArcCons 2hckathgorac me tic opoec epshc sundetai h metablht Vf (msw thc sqshcVf vars(c)), ta sumbnta (Vf , c1, w1), . . . , (Vf , cn, wn) ja prokalsoun nperpou skopec klseic thc kajemac ap autc. Epomnwc mporome na{paketroume} ta sumbnta aut se na thc morfc (Vf , W ), pou W ={(c1, w1), . . . , (cn, wn)}. Mporome epiplon na epauxsoume autn ton tposumbntoc gia na emaste se jsh na gnwrzoume an qei allaqte ete toelqisto, ete to mgisto tou DVf kai ton periorism pou kane thn allagaut. 'Etsi prokptei to sumbn (Vf , W, (cb, boundc)).H boundc (onomsthke tsi ap tic lxeic {bound changed}) parnei thntim true false. An enai true, upodeiknei ti ta kra tou DVf qoun allxeikai ti h teleutaa sunrthsh didoshc pou ta llaxe aforose ton periorismcb.10 Ston paraktw pnaka fanetai to pc mporome na ekmetalleutome tonno tpo sumbntoc (Vf , W, (cb, boundc)) ton opoo ja enswmatsoume arg-tera sth na our tou GAC-5 gia na meisoume tic klseic twn sunartsewn2hc kathgorac.Kathgora

    c.LocalArcCons

    Klseic thc pou prokalena sumbn (Vf , W, (cb, boundc)) ArijmcKlsewn1h wi me (ci, wi) W kai ci 6= cc.LocalArcCons(Vf , wi, Q). O(|W |)2h An boundc = true kai cb 6= cc.LocalArcCons(Vf , w, Q)(w tuqao). O(1)3.5.5 Grgorh Eisagwg sthn Our Nou TpouO noc tpoc stoiqewn thc ourc tou GAC-5 enai o (Vf , W, (cb, boundc)),pwc prokptei ap thn prohgomenh pargrafo. Sunepc, na stigmitupothc ourc ja mporose na enai to exc:

    Q = {(V1, W1, (cb1 , boundc1)), . . . , (Vn, Wn, (cbn, boundcn))}.10 DVf cb.ArcCons cb.LocalArcCons.

    . 52

  • An h our periqei aut ta stoiqea-sumbnta, anakptei to paraktw er-thma: An afaireje h tim wi ap ma metablht Vi, me poion trpo ja enhme-rwje h Q? H apnthsh enai ti an uprqei to stoiqeo (Vi, Wi, (cbi, boundci))entc thc ourc, ja prpei na enhmerwje katllhla. An den uprqei, tteja prpei na to dhmiourgsoume.To {anagnwristik} me to opoo xeqwrzoume na stoiqeo (Vi, Wi, (cbi ,boundci)) thc Q enai h metablht Vi, afo gia kje metablht orzetai nato pol stoiqeo thc ourc. Epomnwc, to epmeno erthma pou prokpteienai to exc: Pc entopzw na stoiqeo sthn our (an uprqei)?An kname seiriak anazthsh, ja kstize O(n) bmata, ta opoa enaipoll gia ma apl prxh eisagwgc. Gia na meisoume to kstoc aut, ekme-talleumaste thn na proc na antistoiqa kje metablhtc me na stoiqeothc ourc. 'Etsi orzoume gia kje metablht Vi nan dekth Vi.q item procto trqon stoiqeo pou thn antiproswpeei sthn our. An den uprqei ttoiostoiqeo, tte Vi.q item = NIL.Gia na katanosoume th qrhsimthta auto tou dekth, anajewrome thmjodo afareshc timn ap ma metablht V pou perigrfhke sthn 3.4. Hmjodoc aut afaire to disthma timn [a..b] ap to DV , en parllhlaenhmernei thn our Q prosjtontac/enhmernontac ta katllhla sumbnta.1: procedure V.remove(a, b, Q, cf )2: if V.q item = NIL then3: Q Q {(V, , (NIL, false))}4: V.q item points to the new item of Q (end of Q)5: end if

    6: Get the item (V, W, (cb, boundc)) that V.q item points to

    7: if min(DV ) [a..b] or max(DV ) [a..b] then8: Replace (V, W, (cb, boundc)) by (V, W, (cf , true))9: end if

    10: if c with V vars(c) and c.LocalArcCons category is 1st then11: Replace (V, W, (cb, boundc))12: by (V, W {(cf , w) | w [a..b] DV }, (cb, boundc)))13: end if

    14: DV DV [a..b] . An DV = , to prblhma den qei lsh.15: end procedure'Otan h V den sundetai (msw thc sqshc V vars(c)) me kannan perio- . 53

  • rism 1hc kathgorac, h poluplokthta thc parapnw mejdou enai stajer.(To an ma metablht sundetai me nan periorism 1hc kathgorac mporomena to gnwrzoume ek twn protrwn, opte o legqoc pou gnetai sth gramm 10thc mejdou kostzei O(1) bmata kai qi O({c | V vars(c)}).) Allic,an uprqei stw kai nac ttoioc periorismc 1hc kathgorac, tte to kstocthc mejdou enai O(|[a..b]|) kajc gia kje afaresh timc prokptei kaiap na sumbn gia to opoo prpei na enhmersoume thn our.3.6 O Algrijmoc AC-5+'Ewc tra parousisthkan oi tropopoiseic pou kname grw ap ton alg-rijmo GAC-5: Sthn 3.5.4 allxame ton tpo thc ourc tou, sthn 3.5.5anajewrsame ton trpo me ton opoo h mjodoc afareshc timc prosjteistoiqea sth (na) our kai gia la aut basistkame sthn 3.5.2 pou knamenan apl diaqwrism twn sunartsewn c.LocalArcCons se treic kathgo-rec. Afsame gia to tloc ton kentrik algrijmo epibolc sunpeiac, tonopoo onomsame AC-5+ kai ton parousizoume sthn epmenh selda. (Jamporosame na ton eqame onomsei kai GAC-5+, afo uposthrzei plrwcth genikeumnh sunpeia akmn, all den to kname gia na upodexoume tiapotele metexlixh tou algorjmou AC-5.)O AC-5+ den qei thn aplthta tou GAC-5, all h ulopohs tou denapaite th qrsh kpoiwn polplokwn domn dedomnwn (h txh poluplok-thtac thc mnmhc parmeine stajer), ote kai prsjese kti sthn poluplo-kthta qrnou. Antijtwc, fanetai kajar ti prospajsame na apofgoumeton eswterik brqo twn grammn 1214, epishmanontac do nec kathgorecc.LocalArcCons th 2h kai thn 3h tic opoec mporome na epexergastomeme taqtero trpo. Oi c.LocalArcCons twn do teleutawn kathgorinenai autc pou apantntai kat suntriptik pleioyhfa sta sgqrona su-stmata Programmatismo me Periorismoc, kajc ta perisstera ap autestizoun sth sunpeia orwn kai stouc kajolikoc periorismoc.3.6.1 Enswmtwsh c.LocalArcCons 3 Kathgor-acAfsame gia to tloc thn epexghsh thc enswmtwshc twn sunartsewnc.LocalArcCons(V, w, Q) 3hc kathgorac ston AC-5+. Upenjumzoume tih kathgora aut apotele upoperptwsh thc 2hc kathgorac. Oi sunartseic . 54

  • 1: procedure AC-5+

    2: time 03: Q 4: for each c C do5: c.ArcCons(Q)6: end for

    7: while Q 6= do8: Pick and remove a (V, W, (cb, boundc, timec)) out of Q9: V.q item NIL

    10: for each c C , with V vars(c) do11: if c.LocalArcCons category is 1st then12: for each (cf , w) W , with c 6= cf do13: c.LocalArcCons(V, w, Q)14: end for

    15: else if c.LocalArcCons category is 2nd then16: if boundc = true and c 6= cb then17: c.LocalArcCons(V, w, Q) . w tuqao.18: end if

    19: else . c.LocalArcCons category is 3rd

    20: if boundc = true and c.last check time < timec then21: c.LocalArcCons(V, w, Q)22: . Ta V kai w den qrhsimopoiontai.23: end if

    24: end if

    25: c.last check time time26: time time + 127: end for

    28: end while

    29: end procedure

    . 55

  • didoshc pou upgontai se autn den ekmetalleontai ote to risma V oteto w. Dhlad, gia thn 3h kathgora isqei katarqn ,ti kai gia thn 2h lgwthc mh ekmetlleushc tou w.'Oson afor th mh ekmetlleush tou V , aut sunepgetai ti do sum-bnta (V1, W1, (cb1 , boundc1, t1)) kai (V2, W2, (cb2, boundc2, t2)) pou brskon-tai tautqrona sthn our Q ja qoun to dio apotlesma son afor thc.LocalArcCons (efson V1, V2 vars(c)): ja klhje (skopa) do fo-rc an antimetwpiste san sunrthsh 2hc kathgorac. Exllou, efson auth c.LocalArcCons den diabzei tic paramtrouc eisdou thc, oi klseicc.LocalArcCons(V1, w, Q) kai c.LocalArcCons(V2, w, Q) tautzontai.Gi' autn ton lgo qoume dh prosjsei ston tpo stoiqeou-sumbntocthc ourc th metablht t ( timec) sthn opoa shmeinetai o qrnoc pousunbh h teleutaa metabol twn orwn tou DV . Msw autc o AC-5+ apo-fegei skopec klseic twn c.LocalArcCons 3hc kathgorac; tic kale mafor gia lec tic metabolc twn orwn tou DV , me V vars(c), pou qounshmeiwje sthn Q.3.7 Peiramatik ApotelsmataO AC-5+ qei ulopoihje se ma na kdosh tou epilut problhmtwn ikano-pohshc periorismn Naxos [42]. Ston epilut autn enai ulopoihmnh mapoikila periorismn. 'Eqoume dhlad periorismoc lwn twn kathgorin.To zhtomeno loipn tan na brome kai na ulopoisoume na PIP pouja ekmetalleutan periorismoc kai twn trin kathgorin me tic opoec qou-me asqolhje se aut to keflaio. Ta apl kai gnwsttera PIP estizounsunjwc se ma mikr gkma periorismn. Gia autn ton lgo asqolhjkameme na meglo {polusullektik} PIP, to opoo periqei periorismoc pollneidn. Prkeitai gia to prblhma katrtishc wrologwn programmtwn giaekpaideutik idrmata me th morf pou eqe ston detero antstoiqo diejndiagwnism (International Timetabling Competition 2007). Ektenc perigra-f tou problmatoc uprqei sto Parrthma A.Sto Sqma 3.1 fanetai o arijmc twn periorismn twn 14 stigmitupwntou problmatoc ta opoa apotlesan to epkentro tou diagwnismo. Enaiemfanc h kathgoriopohs touc stic treic kathgorec thc 3.5.2. Wstso,ofeloume na epishmnoume ti den mporome na sumpernoume ap to di-gramma thn ousiastik epdrash thc kje kathgorac sto prblhma, efsonsthn katamtrhsh den xeqwrsame p.q. touc duadikoc ap touc kajolikoc . 56

  • 0

    10000

    20000

    30000

    40000

    50000

    60000

    com

    p01.

    ctt

    com

    p02.

    ctt

    com

    p03.

    ctt

    com

    p04.

    ctt

    com

    p05.

    ctt

    com

    p06.

    ctt

    com

    p07.

    ctt

    com

    p08.

    ctt

    com

    p09.

    ctt

    com

    p10.

    ctt

    com

    p11.

    ctt

    com

    p12.

    ctt

    com

    p13.

    ctt

    com

    p14.

    ctt

    PSfrag replacementc

    1h 2h 3h

    Sqma 3.1: Oi kathgorec twn periorismn pou apantntai sta 14 problmatakatrtishc wrologou progrmmatocperiorismoc pou diatjentai ston epilut Naxos. Enai emfanc pntwc -ti kuriarqon pwc sunhjzetai sta praktik sustmata periorismo stoucopoouc epiblletai sunpeia orwn (dhlad periorismo thc 2hc kai thc 3hckathgorac).Epiqeirsame loipn na sugkrnoume ton AC-5+ me ton {proktoq} tou,ton AC-5, o opooc apotele exlixh tou AC-3. Sta sqmata pou akoloujonuprqoun grafikc parastseic twn apotelesmtwn pou prame prospajn-tac na epilsoume ta 14 stigmitupa me th bojeia twn algorjmwn autn.Lme ti h eplush gine {me th bojeia} twn algorjmwn epibolc sunpeiacakmn/orwn, giat ap mnoi touc auto den arkon pnta gia na epilsounna PIP (bl. k. 2.3.4). Wc ek totou, qreisthke na touc sundusoume mema mjodo anazthshc.Qrhsimopoisame th mjodo anazthshc me fragmnh kat bjoc asumfw-na (depth-bounded discrepancy search DDS) [38]. Prkeitai gia ma mjodoanazthshc me opisjodrmhsh (bl. k. 2.3.3). Se kje bma twn mejdwnautn (dhlad se kje anjesh timc se ma metablht tou problmatoc) e- . 57

  • 0

    100

    200

    300

    400

    500

    600

    700

    800

    900

    com

    p01.

    ctt

    com

    p02.

    ctt

    com

    p03.

    ctt

    com

    p04.

    ctt

    com

    p05.

    ctt

    com

    p06.

    ctt

    com

    p07.

    ctt

    com

    p08.

    ctt

    com

    p09.

    ctt

    com

    p10.

    ctt

    com

    p11.

    ctt

    com

    p12.

    ctt

    com

    p13.

    ctt

    com

    p14.

    ctt

    MAC-3MAC-5

    MAC-5+

    PSfrag replacementc

    hhh

    Sqma 3.2: Ta ksth twn lsewn pou brjhkan ap tic treic diaforetikcmejodologec pou efarmsthkan (se kajna ap ta 14 problmata katrtishcwrologou progrmmatoc)piblloume sunpeia akmn tsi ste na meisoume ton qro anazthshc.H mejodologa aut onomzetai diatrhsh sunpeiac akmn (maintaining arcconsistency MAC) [34] kai qrhsimopoietai kat kron stouc epilutc, pwckai ston Naxos. Autc enai o lgoc gia ton opoon sta paraktw sqmataqrhsimopoiontai oi onomasec MAC-3, MAC-5 kai MAC-5+.Gia kje dunat sunduasm mejodologac kai stigmitupou problmatocafsame ton Naxos na to epilei brskontac diadoqik lseic, me th malsh na enai upoqrewtik kalterh ap thn prohgomen thc, smfwna me thmejodologa diakldwse-kai-frxe (branch-and-bound) [22]. O qrnoc poutreqe o Naxos gia kje PIP tan prokajorismnoc ap ton diagwnism mswenc progrmmatoc (benchmark) pou anlue tic dunatthtec kje upologist.(P.q. se na mhqnhma me diprhno epexergast Intel Core sta 2.8 GHz, toqronik rio pou prepe na teje tan 7 lept kai 20 deuterlepta.)Sto Sqma 3.2 parathrome ti msa sta plasia aut h MAC-5+ prola-banei na dsei elafrc kalterec lseic ap th MAC-5, h opoa epshc dnei . 58

  • 00:00

    01:00

    02:00

    03:00

    04:00

    05:00

    06:00

    07:00

    com

    p01.

    ctt

    com

    p02.

    ctt

    com

    p03.

    ctt

    com

    p04.

    ctt

    com

    p05.

    ctt

    com

    p06.

    ctt

    com

    p07.

    ctt

    com

    p08.

    ctt

    com

    p09.

    ctt

    com

    p10.

    ctt

    com

    p11.

    ctt

    com

    p12.

    ctt

    com

    p13.

    ctt

    com

    p14.

    ctt

    MAC-3MAC-5

    MAC-5+

    PSfrag replacementc

    hhh

    ()

    Sqma 3.3: O qrnoc pou qreisthkan oi treic diaforetikc mejodologec giana ftsoun sthn kalterh koin touc lsh (se kajna ap ta 14 problmatakatrtishc wrologou progrmmatoc)elafrc kalterec lseic ap th MAC-3.Prin ftsoun mwc stic bltistec lseic, oi mejodologec autc qounbrei kpoiec koinc lseic, san endimesec. (Den apokleetai bbaia h bltisthlsh thc mac mejodologac na enai endimesh kpoiac kalterhc mejodo-logac.) Gia na katanosoume kaltera th filosofa pou krbetai psw aptouc treic algorjmouc, sta teleutaa do sqmata estisame sth bltisthkoin lsh twn trin mejodologin pou prokuye gia kje stigmitupo kaito pc ftsame se autn.To pte ftsame sth bltisth koin lsh fanetai sto Sqma 3.3; h upe-roq thc MAC-5+ enai profanc. H filosofa thc mwc anadeiknetai apto Sqma 3.4. Ap to digramma aut fanetai ti qrsh tou AC-5 auxneikatakrufa touc elgqouc periorismn. Prohgoumnwc mwc edame ti enaiapodotikteroc tou AC-3. To oxmwro aut exhgetai ap to gegonc ti naclegqoc periorismn tou AC-5 parnei ligtero qrno ap touc antstoiqouctou AC-3. Gia na gnei mwc aut, o AC-5 auxnei ton arijm twn taqterwn . 59

  • 0

    5

    10

    15

    20

    25

    30

    com

    p01.

    ctt

    com

    p02.

    ctt

    com

    p03.

    ctt

    com

    p04.

    ctt

    com

    p05.

    ctt

    com

    p06.

    ctt

    com

    p07.

    ctt

    com

    p08.

    ctt

    com

    p09.

    ctt

    com

    p10.

    ctt

    com

    p11.

    ctt

    com

    p12.

    ctt

    com

    p13.

    ctt

    com

    p14.

    ctt

    MAC-3MAC-5

    MAC-5+

    PSfrag replacementc

    hhh ()

    Sqma 3.4: O arijmc twn elgqwn periorismn pou kanan oi treic diafo-retikc mejodologec, mqri na ftsoun sthn kalterh koin touc lsh (sekajna ap ta 14 problmata katrtishc wrologou progrmmatoc)kat ta lla elgqwn periorismn. O AC-5+ meinei tic spatlec tou AC-5ekmetalleumenoc kaltera ta sumbnta pou prokptoun kat thn ektlestou.

    . 60

  • Keflaio 4Apeiknish Pedou Timn wcSnolo DiasthmtwnSth bibliografa den gnetai sunjwc lgoc gia th dom dedomnwn sthn opoaapojhkeoume na pedo timn apotelomeno ap akraiec timc. Ejistai naqrhsimopoietai nac pnakac ap logikc metablhtc (oi opoec paristnontaiap bit 0 1).Ac proume thn apl perptwsh sthn opoa to pedo timn perilambneimno jetikc akraiec timc kai stw ti o pnakac gia na pedo timn Donomzetai a. Tte qoume ti ma tim v ankei sto D, an kai mno ana[v] = 1. 'Allec ulopoiseic ekmetalleontai uprqousec domc dedomnwnpou perigrfoun snola akerawn.4.1 Apeiknish Sunlou DiasthmtwnH kainotoma thc dikc mac prosggishc qei na knei me ton tpo twn stoiqe-wn pou periqei to snolo to opoo ulopoisame. Den ftixame na snoloap arijmoc, all na snolo ap diastmata akerawn arijmn.Gia thn akrbeia, jewrsame skpimo ta stoiqea tou sunlou na enai taken diastmata tou pedou timn pou perigrfoume. H logik psw ap autthn epilog mac qei na knei me to gegonc ti kat thn porea eplushcenc problmatoc ikanopohshc periorismn to mgejoc twn pedwn timn twnmetablhtn elattnetai, kajc gnontai anajseic timn kai didosh perio-rismn. Dhlad den gnetai na qoume prosjkec timn se na pedo timn,par mno afairseic. Kat thn afaresh loipn mac timc enc diast- . 61

  • [10..10][100..102][2001..+][-..-17]

    [-5..0] [999..1050]Sqma 4.1: Dndro me ta ken diastmata tou pedou timn [-16..-6 1..911..99 103..998 1051..2000]matoc timn ap na pedo, emec eisgoume sto snolo kenn diasthmtwnna akma stoiqeo tou. To snolo me ta ken ulopoijhke san na duadikdndro anazthshc.Gia pardeigma, to pedo timn [9..17 44..101] perigrfetai ap ta traken [..8], [18..43] kai [102.. +]. Sto Sqma 4.1 qoume na llopardeigma apeiknishc (twn kenn) enc pedou timn. Ta ken enai mlistadiatetagmna smfwna me th dom enc duadiko dndrou. Profanc, nackmboc tou dndrou periqei ton prto kai ton teleutao arijm enc kenodiastmatoc, kajc kai dektec sto arister kai sto dex paid tou kmbou.4.2 Algrijmoc Diagrafc/AnazthshcDo enai oi basikc mjodoi oi opoec allhlepidron me na pedo timn: hmjodoc diagrafc enc diastmatoc timn kai h mjodoc (anazthshc) pouelgqei an na disthma timn ankei sto pedo timn.To pleonkthma thc prosggisc mac enai ti oi do basikc mjodoi dia-grafc/anazthshc ulopoiontai ousiastik ap thn dia sunrthsh onmatiSearchGap, pou parousizoume paraktw. H SearchGap dqetai tsse-ra orsmata (gapNode, newStartV al, newEndV al, removeInterval). An to . 62

  • removeInterval enai 1, tte o algrijmoc diagrfei to disthma [newStar-tVal..newEndV al] ap to pedo timn, pou paristnetai ap na dndro merza ton gapNode.An to removeInterval enai 0, tte h sunrthsh epistrfei nan km-bo tou dndrou o opooc periqei stw kai na stoiqeo tou [newStartV al..newEndV al]. An den uprqei kpoioc kmboc pou na plhro aut to krit-rio, tte epistrfetai nac kenc kmboc. 'Etsi, gia na elgxoume p.q. anna disthma [a..b] ankei sto pedo timn D (pou apeikonzetai ap th domdedomnwn), kalome th SearchGap(rza dndrou, a, b, 0) kai en o epistre-fmenoc kmboc enai kenc, tte isqei [a..b] D, allic isqei [a..b] * D.Akolouje o en lgw algrijmoc.1: function SearchGap (gapNode, newStartV al, newEndV al,2: removeInterval)3: while true do4: if gapNode is empty then5: if removeInterval = 1 then6: Insert [newStartV al..newEndV al] into gapNode7: end if

    8: return gapNode9: else

    10: gapStartV al min of gap in(gapNode)11: gapEndV al max of gap in(gapNode)12: if newEndV al + removeInterval < gapStartV al then13: gapNode left child(gapNode)14: else if newStartV al removeInterval > gapEndV al then15: gapNode right child(gapNode)16: else

    17: if removeInterval = 1 and (newStartV al < gapStartV al18: or newEndV al > gapEndV al) then19: if newStartV al gapStartV al then20: newStartV al gapStartV al21: else

    22: extensionNode SearchGap(left child(gapNode),23: newStartV al 1, newStartV al 1, 0)24: if extensionNode not empty then25: newStartV al min of gap in(extensionNode)26: end if

    . 63

  • 27: end if

    28: if newEndV al gapEndV al then29: newEndV al gapEndV al30: else

    31: extensionNode SearchGap(right child(gapNode),32: newEndV al + 1, newEndV al + 1, 0)33: if extensionNode not empty then34: newEndV al max of gap in(extensionNode)35: end if

    36: end if

    37: Insert [newStartV al..newEndV al] into gapNode38: end if

    39: return gapNode40: end if

    41: end if

    42: end while

    43: end functionO algrijmoc {perikleetai} ap nan atrmona brqo, se kje epanlhyhtou opoou diasqzetai o kmboc tou dndrou gapNode (o opooc arqik enaih rza tou dndrou, en sto tloc kje epanlhyhc qei antikatastaje apkpoio paid tou).Proqwrntac sth gramm 12 (kai antstoiqa sth gramm 14) thc sunrth-shc, parathrome th qrsh thc metablhtc removeInterval msa se sunjkh.H qrhsimtht thc ed qei na knei me thn perptwsh eisagwgc (, kalte-ra, proskllhshc) enc keno diastmatoc [newStartV al..newEndV al] =[a..b], tan o trqwn kmboc perilambnei to disthma [gapStartV al..gap-EndV al] = [b + 1..c] (kai sunepc mpore na epektaje se [gapStartV al..gapEndV al] = [a..c]). To {+1} ed anaparstatai ap th removeInterval.H sunjkh stic grammc 1718 uprqei gia na elegqje an [newStartV al..newEndV al] [gapStartV al..gapEndV al]. An isqei aut, tte den qeinhma na eisgoume kpoio no ken disthma.Stic grammc 2223 (kai antstoiqa stic grammc 3132) anazhtome anuprqei kpoio ken disthma [a..b] sto dndro, me newStartV al1 [a..b].An uprqei, tte to no ken disthma [newStartV al..newEndV al] mporena sugqwneuje me to [a..b].Shmeinetai tloc ti sthn pragmatikthta kje kmboc tou dndrou denperiqei mno na ken, all ma stoba ap ken (to kajna ap aut suno- . 64

  • deumeno ap ma {qronik ndeixh} gia to pte prostjhke) h opoa gemzeikajc na prblhma ikanopohshc periorismn epiletai kai adeizei poteopisjodromome.4.3 Efarmog se Prblhma AkoloujacDNAH qrsh thc domc dedomnwn pou exetzoume endeknutai tan qoume meglamh suneq peda timn. Se aut thn enthta parousizoume na apl prblhmame metablhtc me megla mh suneq peda timn kai sugkrnoume th dik macprosggish me aut llwn gnwstn epilutn.4.3.1 Orismc Qrwmosmatoc [24]Kje kttaro enc anjrpou periqei 46 qrwmosmata, kpoia ap ta opo-a moizoun me aut tou Sqmatoc 4.2. 'Ena qrwmswma apotele mroc tougenetiko mac uliko, afo den enai tpota llo ap ma akolouja noukle-otidwn DNA. Uprqoun tsseric tpoi noukleotidwn pou sumbolzontai me

    A, T, G kai C. (A = adennh, T = jumnh, G = gouannh, C = kutosnh.)Se kje qrwmswm mac uprqei ma akolouja 247.2 perpou ekatommurwnttoiwn noukleotidwn. P.q.C A G G C A T ... G A A A C A A 247,200,000 noukleotdia4.3.2 'Ena Apl Prblhma Akoloujin'Estw ti jloume na {qwrsoume} se na qrwmswma ma akolouja aptsseric kutosnec C1, C2, C3, C4 kai ma akolouja ap tsseric gouannec

    G1, G2, G3, G4. 'Estw ti h prth akolouja moizei me gewmetrik prodo,me Ci = bCi+1/99c kai h deterh akolouja enai arijmhtik prodoc me Gi+1 =Gi + 99. Me Ci kai Gi sumbolsame tic jseic twn antstoiqwn noukleotidwnsthn alusda DNA; to pedo timn gia ma jsh enai to [1..247200000]. Tozhtomeno enai na brome kajema ap tic jseic autc. O phgaoc kdikacpou to epilei se difora sustmata programmatismo me periorismoc enaidiajsimoc sto Parrthma B. . 65

  • PSfrag replacementchhhSqma 4.2: 'Ena qrwmswma anjrpou idwmno msa ap hlektronik mikro-skpio [36]4.3.3 Duskolec kat thn Eplush'Ena apl kai {ajo} prblhma, loipn, okt periorismnwn metablhtn toopoo gnetai. . . dskolo an den diaqeiristome swst ta okt peda timn taopoa periqoun ekatommria timc.Gia thn eplush tou problmatoc qrhsimopoisame arqik th dom dedo-mnwn gia ta peda timn, pou perigrfhke se aut to keflaio. O epilutcmsa ston opoo enswmatsame th dom san epktash enai o Naxos [42].Prame akariaa th lsh1 sto prblhma qrhsimopointac 3 MB mnmh.Entotoic, sto dio mhqnhma2 to ssthma logiko programmatismo meperiorismoc ECLiPSe [1, 2] kane tra deuterlepta gia na epilsei to pr-blhma, all to qeirtero enai ti qrhsimopohse 124 MB mnmh. Brejkamedhlad lgo prin ap to prokajorismno rio qrshc mnmhc ap thn ECLiPSe!An dokimsoume na prosjsoume na akmh noukleotdio, h eplush ja sta-1 C1 = 1, C2 = 99, C3 = 9801, C4 = 970299, G1 = 2, G2 = 101, G3 = 200 G4 = 299.2 Sun Blade SPARC 1.5 GHz 8 GB.

    . 66

  • matsei lgw lleiyhc mnmhc.Sto dio mhqnhma pli, o epilutc Ilog [21, 20] knei triplsio qrnose sqsh me thn ECLiPSe gia na brei lsh (perpou dka deuterlepta), endapan sqedn thn dia mnmh. 'Oson afor thn klimkwsh tou problmatoc,o Ilog mc epitrpei na ekmetalleutome lh sqedn th mnmh tou upologistkai sunepc enai dunatn na prosjsoume akma mqri 80 perpou noukleo-tdia sthn alusda DNA. Mporome p.q. na bloume llec 80 gouannec sthnantstoiqh arijmhtik prodo, ja spatalsoume mwc grw sta 5 GB mnmh(kajc kai ma ra ap ton qrno mac mqri na emfaniston ta apotelsmata)!Ap thn llh pleur, o Naxos klimaknetai omal kai mpore na sumpe-rilbei qilidec periorismnec metablhtc-noukleotdia me megla peda timn.P.q. mpore se tra lept kai qrhsimopointac mlic 6 MB mnmh na epilseito dio prblhma, me thn arijmhtik prodo na periqei tra qliec gouannec.4.3.4 SumpersmataGnwsto epilutc problhmtwn ikanopohshc periorismn qrhsimopoion domcdedomnwn, oi opoec gia na apojhkesoun na pedo timn qrhsimopoionmnmh anlogh me to mgejc tou. (Me exaresh thn perptwsh pou to pedotimn enai suneqc: tte aut mpore na anaparastaje mno ap ta do kratou kai qi ap olklhro pnaka timn.)H dik mac ulopohsh qrhsimopoie mnmh megjouc anlogou me ton arij-m twn kenn diasthmtwn pou to pedo timn periqei. Wstso, lgw thcdendrikc morfc thc domc, oi basikc leitourgec pou aforon sthn anaz-thsh diagraf mac timc ap to pedo, kostzoun logarijmik qrno (wcproc ton arijm twn kenn pou to pedo timn periqei). Oi diec leitourgecse nan pnaka pou qei dh dhmiourghje me to poio tmhma se mnmh kaiqrno ja pairnan stajer qrno. Oi leitourgec mwc pou aforon anaz-thsh diagraf enc suneqoc diastmatoc akerawn timn, megjouc stwd, en suneqzoun na kostzoun ton dio logarijmik qrno son afor sthdendrik dom, se nan pnaka kostzoun O(d) epanalyeic. . 67

  • Keflaio 5Dkaih Diqotmhsh PedwnTimnAc jewrsoume ti qoume na dktuo periorismn se katstash sunpeiacakmn. Wc gnwstn, h sunpeia akmn den sunepgetai ti oi timc twn pedwntimn tou problmatoc ikanopohshc periorismn summetqoun aparathta sema lsh tou problmatoc auto (bl. k. Sqma 2.1). 'Etsi, odhgomaste ektwn pragmtwn sth qrsh mac mejdou anazthshc se sunduasm sunjwcme nan algrijmo epibolc sunpeiac akmn.P.q. smfwna me thn praktik thc diatrhshc sunpeiac akmn (maintain-ing arc consistency MAC) [34], epilgoume ma mh desmeumnh periorismnhmetablht, thc anajtoume ma tim ap to pedo timn thc kai epiblloumexan sunpeia akmn. Aut h diadikasa epanalambnetai mqri na brome malsh. An kpoia stigm ftsoume se adixodo, toi se na asunepc dktuoperiorismn, opisjodromome se ma prohgomenh katstash kai sth sunqeiaepilgoume llec atrapoc proc th lsh.H diqotmhsh pedwn timn (domain splitting) enai ma parallag thcparapnw mejodologac. En olgoic, sth diqotmhsh pedwn timn ant giama anjesh timc se ma metablht kat th diadikasa thc anazthshc,qoume periorism twn pedwn timn thc: apokptontai oi misc timc thc, exou kai o roc {diqotmhsh}. Me lla lgia, ant na {sbnoume} lec tic timcplhn mac (ap to pedo mac sugkekrimnhc metablhtc kat thn anjesh),kboume apl tic misc timc. 'Etsi den prokptei anjesh, ektc an to pedotimn apoteletai ap do timc.H mejodologa aut qei idiaterh efarmog se arijmhtik problmata ika-nopohshc periorismn (numerical constraint satisfaction problems NCSPs). . 69

  • H difora autn twn problhmtwn ap ta klasik PIP gkeitai sto ti tapeda timn twn metablhtn aforon diastmata pragmatikn arijmn [5].Se aut thn ergasa ja peiramatistome mno me klasik PIP, mwc h jewraden afor mno aut.5.1 Ma Diaforetik Optik'Estw loipn ti kat th fsh thc anazthshc kalomaste na diqotom-soume to pedo timn DX = {1, . . . , 10} mac periorismnhc metablhtc X.To snhjec se autc tic periptseic enai na periorsoume to DX , ete se{1, . . . , 5}, ete se {6, . . . , 10}: Ja epilxoume na ap ta do uposnola kaian qreiaste sto mllon na anairsoume aut thn epilog mac se ma pijanopisjodrmhsh, ja mporome na epilxoume to tero uposnolo.Wstso, enai emfanc ti aut h praktik upojtei ti lec oi timc encpedou timn enai {isobarec}. P.q. sto DX = {1, . . . , 10}, to dio broc qeito 1 to 2 me to 3, 4, 5 kai genik opoiadpote llh tim. Enai profanc mwcti se pragmatik problmata aut den isqei. Epshc enai eunhto ti denmporome na xroume a priori to {broc}, dhlad thn axa, miac sugkekrimnhctimc enc pedou timn; an to xrame, ja mporosame mesa na brome lshsto prblhma, kajc oi timc ekenec pou den summetqoun se lsh ja eqanbroc so me 0. Opte katafegoume se euristikc ektimseic.O skopc enc euristiko epilogc timc (value ordering heuristic) enaina dialxoume thn tim ekenh ap to pedo miac metablhtc, pou ja mac o-dhgsei me megalterh pijanthta se lsh (succeed-first heuristic) [4]. 'Enattoio, eurwc diadedomno euristik enai h arq thc epilogc thc timc e-kenhc gia thn opoa qoume tic perissterec timc upostrixhc (supporters).P.q. an eqame ton periorism X 6= Y , me DX = {1, 2} kai DY = {2, 3}, kaiprepe na epilxoume ma tim ap to DX , ja epilgame to 1, kajc qei dotimc upostrixhc sto DY , en to 2 qei mno ma (thn tim 3 DY ).An jlame na qrhsimopoisoume to parapnw euristik sth diqotmhshpedwn timn, ja prepe na to prosarmsoume tsi ste na dnei plhrofor-ec/ektimseic gia snola timn kai qi gia xeqwristc timc enc pedou. Sthdiqotmhsh pedwn timn, ant na koboume sth msh na pedo, ja tan ka-ltero na to qwrzoume se do {isobar} mrh son afor ton arijm twntimn upostrixhc gia ta do snola timn pou ja prokyoun.Ja meletsoume aut to euristik gia thn perptwsh pou ta peda timntwn emplekmenwn metablhtn aforon snola ap diadoqikoc akraiouc . 70

  • (thc morfc {a, a+1, . . . , b}). Ja asqolhjome idiatera me ton periorism

  • X X

    Y Y

    () Perptwsh X Y X X Y Y() Perptwsh X < YSqma 5.1: Apeiknish twn do upoperiptsewn tou periorismo X < Yti i D1, suppY (i) = DY kai i D2, suppY (i) = {i + 1, . . . , Y }. Ap taparapnw prokptoun ta exc:

    iDX

    |suppY (i)| =

    iD1

    |suppY (i)|+

    iD2

    |suppY (i)| (5.1)

    iD1

    |suppY (i)| =C

    i=X

    |suppY (i)|

    =C

    i=X

    |DY |

    = (C X + 1) |DY |

    (5.2)

    iD2

    |suppY (i)| =X

    i=C+1

    |suppY (i)|

    =X

    i=C+1

    (Y i

    )

    j:=iC=

    XC

    j=1

    (Y j C

    )

    =1

    2

    (X C

    ) (2Y X C 1

    )

    (5.3)Sunepc, ap th (5.1) kai me th bojeia twn (5.2) kai (5.3) prokpteima arijmhtik parstash gia ton upologism tou zhtomenou ajrosmatoc.'Eqontac upologsei aut to jroisma se stajer qrno, emaste se jsh naapaitsoume thn eresh mac timc a DX , ttoiac ste to ai=X |suppY (i)|na isotai me A = iDX |suppY (i)|, 0 < < 1; ma sunhjismnh tim giato enai to 0.5. Dhlad ja prpei na lsoume wc proc to a thn exswsh

    ai=X |suppY (i)| = A. 'Eqoume tic exc do periptseic:

    . 72

  • (i) An Ci=X |suppY (i)| A, dhlad an (C X + 1) |DY | A, tte anti-kajistome to C sth sqsh (5.2) me a kai prokptei:a

    i=X

    |suppY (i)| = A = (aX + 1) |DY | = A =

    a = X 1 +A

    |DY |.(ii) Allic, ja qrhsimopoisoume th sqsh (5.1), antikajistntac to X me

    a kai ja proume:(5.1) (5.2),(5.3)= (C X + 1) |DY |+ 12(a C)

    (2Y a C 1

    )= A =

    a2 + pa + q = 0 =

    a =p

    p2 4q

    2.'Opou p = 1 2Y kai q = 2Y C C C2 2 (C X + 1) |DY | + 2A.Epilxame th mikrterh ap tic do rzec tou triwnmou. Exllou, giath megalterh rza qoume:

    p +

    p2 4q

    2p

    2= Y

    1

    2.'Omwc, den mpore h tim tou a na enai megalterh sh tou Y , opte hsugkekrimnh rza aporrptetai.5.3 'Alloi Tpoi PeriorismnO periorismc X < Y me ta antstoiqa peda timn na perilambnoun kastodiadoqikoc akraiouc parousizei endiafron, kajc an efarmsoume thnklasik diqotmhsh pedou timn kai prokyoun do uposnola me isrijmastoiqea, emfanzetai sth genik perptwsh ma asummetra son afor tonarijm twn timn upostrixhc gia to kje uposnolo. Sta perisstera llaedh periorismn h klasik diqotmhsh pedwn timn den antimetwpzei shmanti-k prblhma milntac pnta gia peda timn me diadoqikoc akraiouc. (P.q.na ttoio edoc periorismn enai o X = CY , me C stajer, o X = Y +Z.)

    . 73

  • 'Enac lloc periorismc pou parousizei thn proanaferjesa asummetraenai o X = Y Z. (P.q. ac skeftome thn perptwsh pou DX = {1, . . . , 16}kai DY = DZ = {1, . . . , 4}. Profanc ed milme gia sunpeia orwn, ma pioqalar nnoia se sqsh me th sunpeia akmn; exllou h tim p.q. 15 DXden brskei strigma stic Y kai Z. Tte an diqotomosame to DX den ja tan{dkaio} na to spsoume se {1, . . . , 16/2} kai {16/2 + 1, . . . , 16}, kajc todetero uposnolo qei safc ligterec timc upostrixhc stic metablhtcY kai Z, nanti tou prtou.) Wstso, ap th melth tou sugkekrimnouperiorismo, ektc tou ti katalgoume se polplokouc majhmatikoc tpouc,ta apotelsmata pou prokptoun enai proseggistik [12, 17, 19, 30].5.4 O Periorismc X = Y 2Ma upoperptwsh tou periorismo X = Y Z, pou mpore na melethje eukol-tera, enai o periorismc X = Y 2. Ac jwrsoume ti uprqei sunpeia orwngia tic metablhtc X kai Y pou sundontai me autn ton periorism. (H su-npeia orwn enai pio {qalar} nnoia se sqsh me th sunpeia akmn. Edaut praktik shmanei ti X = Y 2 kai X = Y 2, an |Y | |Y |. Diaforetik,an |Y | > |Y |, tte ja prpei X = Y 2 kai X = Y 2.) Tte ma dkaih moira-si tou DX smfwna pnta me th filosofa thc dkaihc diqotmhshc pedwntimn ja tan ta do uposnola

    {X, . . . , a} kai {a + 1, . . . , X} , pou a = (Y + Y2

    )2

    .Apdeixh. 'Estw ti Y + Y 0. Gia to uposnolo {X, . . . , a}tou DX ta uposnola upostrixhc sth metablht Y enai to A1 ={max {0, Y } , . . . ,

    (Y + Y

    )/2

    } kai, efson Y < 0, to A2 ={max{

    (Y + Y

    )/2

    , Y }, . . . , 0

    }. Gia to tero uposnolo {a+1, . . . , X} tou DX ta uposnola upostrixhc sthn Y enai toB1 =

    {(Y + Y

    )/2

    + 1, . . . , Y

    } kai, efson Y < 0, to B2 ={Y , . . . ,

    (Y + Y

    )/2

    1

    }. Isqei |A1 A2| = |B1 B2|, mema mikr apklish thc txhc mac mondac. Parmoia enai h ap-deixh sthn perptwsh pou Y + Y < 0. . 74

  • 5.5 Perissteroi PeriorismoWc tra asqolhjkame me thn eresh mac timc a h opoa ja diaqwrzei d