283 8.2 Loat L ja NL Aavaatvsaalyysssä e ole järevää tarastella alleaarsa vaatvsloa, osa oo syötettä e yetä lemaa alle leaarsessa ajassa e sjaa oo syötettä e välttämättä tarvtse tallettaa, jote o meleästä tarastella alleaarsa tlavaatvsloa Lasetamalla tlee to mttaa Oloo Trg oeella työaha lsäs erlle syöteaha, jolle e voda rjottaa mtää Va varsaselta työahalta äytetty tla lasetaa oee vaatmas tlas 284 Loa L o determstsellä Trg oeella logartmsessa tlassa ratastave elte loa L = DPACElog NL o vastaava loa epädetermstslle oelle Aemm tarastelmme ele { 0 0 } tstavaa Trg oetta, joa vaat leaarse tla Aet merjoo lme elee vodaa ratasta jo logartmsessa tlassa Rttää lasea olle lmäärä ja yöste lmäärä seä tehdä tarpeellset tarstset. Lmäärä bäärestys o oretaa logartme syöttee ptde shtee
285 Aemm osotmme, että ogelma PATH: "Oo G:ssä satt pol s:stä t:he?" l P:he Aemp algortm vaat pahmmassa tapasessa leaarse tla Determststä logartmsessa tlassa tomvaa algortma e teta ogelmalle PATH e sjaa epädetermste logartmse tla vaatva algortm o olemassa Lähte solmsta s tosta oretaa m aselta Jos yysolm o t, hyväsy Talleta teto yysestä solmsta työahalle log-tla Epädetermstsest valtse ys seraajsta 286 Pellä tlavaatvslla f shde aavaatvtee 2 Of e eää välttämättä päde Esmers vaotla O vaatva Trg oe vo vaata leaarse O aselte lmäärä Nässä tapasssa aavaatvdella o asymptootte yläraja 2 Of K f log, 2 Of = 2 Of Myös avtch lase pätee sellaseaa f log PATH ss l NL:ää, mtte lltavast L:ää Itse asassa e teta yhtää loa NL ogelmaa, joa votas todstaa oleva L: lopolella 2
287 L =?= NL o ss vastaava ysymys P =?= NP Vodaa määrtellä NL-täydellset elet, loa NL ae vaempa elä Polyome palats e teaa elpaa määrttelyy, osa a loa NL ogelmat ovat polyomsessa ajassa rateava Täte a mt ogelmat pats ja * ovat polyomsest tossa palatettavssa e sjaa äytetää logartmse tla palatvtta L Fto o lasettavssa logartmsessa tlassa, jos se arvo laseva Trg oe äyttää työahaltaa va Olog tla 288 Lase 8.23 Jos A L B ja B L, A L. Korollaar 8.24 Jos jo NL-täydelle el o L:ssä, L = NL Lase 8.25 PATH o NL-täydelle el. Korollaar 8.26 NL P. Todsts. Lasee 8.25 persteella mlle tahasa loa NL elelle A pätee A L PATH. Tla f vaatva Trg oe tom ajassa 2 Of, jote logartmsessa tlassa tomva palatsfto laseva oe tom myös polyomsessa ajassa. Kosa A mp PATH ja PATH P, lasee 7.4 persteella myös A P. 3
289 9. Approsmot Tarastellaa ogelmaa, jossa o aett Persjoo U, jossa o m alota Persjoo osajooje ooelma = {,, } s.e. = U Tavotteea o löytää osapete, = U, jossa o mahdollsmma vähä osajooja Tämä ogelma o mm joopete Mmm et Cover, mc Ys vahmmsta ja ete tttsta ombatorssta optmotogelmsta 290 Ogelma päätösverso Aetta: persjoo U, pete ja ooasl Kysymys: oo U:lla osapetettä s.e. '? Lase 9. Mm joopete -ogelma päätösverso o NPtäydelle. Todsts. elväst mc NP: Arvataa aetsta petteestä : osajoo osapete ' ja tarstetaa determstsest polyomsessa ajassa ratas. 4
29 Polyome palats VC mp mc o helppo modostaa. Ol. G, solmpeteogelma tapas, mssä G = V, E. Valtaa vas f: fv, E, = E, V E,, mssä V E o vero G solmh lttyve aarte modostama ooelma. s joasta v V vastaa joo { e E e = v, w }. elväst f o polyomsessa ajassa lasettavssa ja o palats. 292 2 4 2 2-4 4 3-2 2-3 -3 3 5
293 mc ss o laseallsest vaatva ogelma, emme te slle polyomaasta ratasalgortma Pyrmme löytämää polyomsessa ajassa tomva algortm, joa tottama ratas e välttämättä ole paras mahdolle optmaale, mtta joa vodaa osottaa aa oleva oretaa syöttee ptdesta rppva fto verra optmaalsta ratasa hoomp Tällasta algortma tstaa approsmotalgortms Mertää, että Opt o optmaalse ja App approsmotalgortm tottama ratas stas 294 Kosa mc o mmotogelma, App/Opt Mtä lähempää arvoa tämä shdel o, se paremm totett ratas approsmo optmaalsta ratasa Approsmotalgortmlta ss vaadtaa, että osamäärää rajottaa syöttee ptde fto App Opt o algortm approsmotshde Algortma mtetää -approsmotalgortms Parhammllaa approsmotshde e rp lasaa syöttee ptdesta, vaa o vao 6
295 Tarastellaa seraavaa algortma solmpeteogelmalle Osotamme, että se o 2-approsmotalgortm ogelmalle yöte: taamato vero G = V, E Tloste: olmpete C. C ; 2. E'E; 3. whle E do a. oloo, v mv. joo E' aar; b.cc{,v}; c. Posta E':stä a solmh ja v lttyvät aaret; 4. od; 5. retr C; 296 Esmmäe satae aare valta: b, c b c d a e f g 7
297 Postetaa solmh b ja c lttyvät mt aaret b c d a e f g 298 eraava satae valta: e, f ja se solmh lttyve mde aarte posto b c d a e f g 8
299 Valttavaa o eää d, g aadaa ss 6: solm pete, optmaalsessa o 3 solma esm. b, d, e b c d a e f g 300 Lase 9.2 Edelle algortm o polyomaae 2- approsmotalgortm solmpeteogelmalle. Todsts. Algortm aavaatvs, äyttäe verslstaestystä verolle, o OV + E, jote se o polyomaae. O selvää, että algortm palattama solmjoo C o solmpete Vero G aarlle, osa solmja lsätää C:he rv 3 slmassa es a aaret o petetty. Oloo A algortm rvllä 3a valtseme aarte joo. e ssältäme aarte pettämses mssä tahasa solmpetteessä ertysest myös optmaalsessa solmpetteessä o oltava aa joo A aare toe pää. 9
30 Kosa joo A ssältäme aarte päätepsteet ovat algortm toma persteella tosstaa poeavat, A o alaraja mä tahasa solmpettee oolle. Ertysest Opt A. Tosaalta yo. algortm valtsee rvllä 3a aa aare, joa mpaa pää e velä ole joossa C. Täte App = C = 2 A. Edellset yhdstämällä, saamme App = 2 A 2 Opt, jote App/Opt 2. 302 Myös joopeteogelmalla o ysertae ahe approsmotalgortm Tällä eä mllää mllaaa polyomaasella determstsellä algortmlla e teaa voda saavttaa vaoapprosmotvtta yöte: Persjoo U ja se pete Tloste: Joopete C. XU; C; 2. whle X do a. valtse s.e. X masmot; b.xx\'; c. CC { }; 3. od; 4. retr C; 0
303 2 6 3 4 5 304 Ahe: 4 osajooa 2 6 3 4 5
305 Optmaale: 3 osajooa 3 4 5 306 Ahe algortm o helppo totettaa syöttee ptde U ja shtee polyomsessa ajassa Rv 2 slmaa sortetaa oretaa m U, ertaa ja slma rgo sorts o helpost totetettavssa ajassa O U Kaaa ss vaatvs o O U m U, Myös leaaraae totets o mahdolle Algortm palattama ooelma C o selväst joopete, osa rv 2 slmaa sortetaa es pettämättömä alota e eää ole 2
307 Ahee algortm palattama joopettee stase shtattamses, asetetaa lle valtlle joolle stas Oloo ahee algortm :teä valtsema joo : stas jaetaa tasa ae she ssältyve alode ese, jota tlevat yt es erra petettyä Mer. c o alolle U lastett stas Klle alolle lastetaa stasta va erra, se es erra petetää Jos tlee es erra petettyä joolla, slle lastett stas o c \ 2 308 Klle ahee algortm valtsemalle joolle aetaa stas, jote App C Optmaalse pettee C* stas polestaa o Kosa joae U l vähtää yhtee C*, Edellset yhdstämällä, seraa c ' C* ' ' C* ' App c U c c U c ' C * ' 3
309 Mertää H:lla :tta harmosta la H j j 2 Määrtellää H0 = 0 eraavas osotamme, että mlle tahasa pätee H ' Edellse epäyhtälö persteella tällö App c ' H ' ' C * C* Hmax{ ' : ' } Opt Hmax{ ' : ' } 30 Lemma 9.3 Kalla pätee c H ' ' Todsts. Oloo mv. ja =, 2,, C. Oloo edellee = \ 2 de : alode lmäärä, jota e ole velä petetty ahe algortm o valt joot, 2,, petteesee. Asetetaa 0 = '. Oloo pe des s.e. = 0, el joae : alo l vähtää yhtee joosta, 2,,. Tällö - ja, =, 2,,, pettää esmmäse erra - - alota. 4
5 3 Nyt Kosa o aheest valtt joo, se pettää vähtää mota alota joo ' ta mto ' ols ptäyt valta. Nä olle joa persteella. \ ' c '\ \ '. c 32 osa j -. Edellee sllä smma mt termt moavat tosesa., ' j j j c, 0 j j H H H H j j
33 Kosa vala persteella = 0 ja H0 = 0, edellee = H 0 -H0 = H 0 = H ' jote olemme todstaeet lemma. Harmoselle lvlle H pätee l < H l + Täte edellä ollesta seraa: Lase 9.4 Joopeteogelma aheelle algortmlle pätee App Opt H max{ ' : ' } l U 34 Jossa sovellsssa max { ' : } o pe vao Tällö ahee algortm atama vastas o va pee vao päässä optmaalsesta Ertysest, jos osajoolla ' o yläraja d oolle, App/Opt Hd Esmers solmpete-ogelmassa solmje aste o oretaa 3, ahee joopete -algortm palattama vastas e ole oretaa H3 = /6 < 2 ertaa sr optmaale pete 6
35 Fege, 996: ysää polyomaae algortm e vo approsmoda mc-ogelmaa tardella -l m, mllä tahasa > 0, jolle NP DTIME loglog Täte ahetta algortma oleellsest parempaa approsmotalgortma e voda löytää laví, 996: Ahee algortm approsmotshtee taremp yläraja o: l m-l l m + Itse asassa tämä o myös alaraja ahee algortm approsmotshteelle Asymptoottsest l m-l l m + o ss ahee algortm täsmälle approsmotshde 7