37
31.5.2011. 1 Dio VI: NP-teški problemi Robert Manger, svibanj 2011 Sveučilište u Osijeku, Rijeci, Splitu i Zagrebu Zajednički sveučilišni poslijediplomski doktorski studij matematike Standardni kolegij Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi i njihovo egzaktno rješavanje 21. Približno rješavanje aproksimacijskim algoritmima 22. Približno rješavanje pomodu heuristika Sadržaj dijela VI

Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

Embed Size (px)

Citation preview

Page 1: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

1

Dio VI: NP-teški problemi

Robert Manger, svibanj 2011

Sveučilište u Osijeku, Rijeci, Splitu i ZagrebuZajednički sveučilišni poslijediplomski doktorski studij matematike

Standardni kolegij

Matematička logika i računarstvoDrugi semestar

TR-Vi NP-teški problemi 2

20. NP-teški problemi i njihovo egzaktno rješavanje

21. Približno rješavanje aproksimacijskim algoritmima

22. Približno rješavanje pomodu heuristika

Sadržaj dijela VI

Page 2: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

2

• Do sada smo se bavili problemima odlučivanja, koji kao izlaz daju odgovor da/ne na postavljeno pitanje.

• No u stvarnom životu više nas zanimaju problemi optimizacije, koji kao izlaz daju minimalnu ili maksimalnu vrijednost zadane funkcije cilja.

• Mnogi od problema optimizacije spadaju u klasu NP-teških problema, što otprilike znači da su vrlo zahtjevni za rješavanje.

• Svaki NP-teški problem optimizacije u bliskoj vezi je s odgovarajudim sličnim NP-potpunim problemom odlučivanja.

TR-Vi NP-teški problemi 3

20.0 O čemu je riječ u ovom poglavlju

• Problem je NP-težak ako postojanje polinomijalnogalgoritma za njegovo rješavanje povlači da je P = NP.

• Vjeruje se da među opisanim skupovima problema vrijedi sljededi odnos.

TR-Vi NP-teški problemi 4

20.1 Opdenito o NP-teškim problemima

• Zbog vjerovanja da je P ≠ NP, također se vjeruje da za NP-teške probleme ne postoje polinomijalni algoritmi.

• Zato se intenzivno proučavaju i brzi približni načini rješavanja NP-teških problema.

P NP-teški

NP-potpuni

NP

Page 3: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

3

• NP teških problema ima na tisude. Mi demo kao primjere promatrati četiri takva problema.

• Odabrani problemi spadaju u kombinatornu optimizaciju, preciznije bave se:– raspoređivanjem (scheduling),– optimizacijom na grafovima.

• Problem ranca. – Zadano je n predmeta s vrijednostima i težinama pi

odnosno wi, i = 1,2, … n. – Zadan je ranac s težinskim kapacitetom m. – Treba odabrati predmete koji de se staviti u ranac, tako da

se ne premaši kapacitet ranca, te da ukupna vrijednost predmeta bude maksimalna.

TR-Vi NP-teški problemi 5

20.2 Opis nekih NP-teških problema (1)

• Problem raspoređivanja poslova na identične strojeve.

– Zadano je n nezavisnih poslova i m identičnih strojeva.

– Vrijeme izvođenja i-tog posla na bilo kojem stroju iznosi ti.

– Treba nadi raspored izvršavanja poslova na strojevima, tako da vrijeme potrebno da se završe svi poslovi bude minimalno.

– Pritom se jedan posao ne može cjepkati, a jedan stroj ne može obavljati više od jednog posla u jednom trenutku.

TR-Vi NP-teški problemi 6

20.2 Opis nekih NP-teških problema (2)

Page 4: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

4

• Problem optimalnog bojenja grafa.

– Zadan je neusmjereni graf.

– Vrhovima tog grafa treba pridružiti boje tako da su susjedni vrhovi uvijek u različitim bojama.

– Pritom ukupni broj upotrijebljenih boja mora biti minimalan.

• Problem trgovačkog putnika.

– Zadan je potpuni neusmjereni graf, njegovi bridovi imaju zadane duljine (cijene).

– Treba nadi Hamiltonov ciklus minimalne duljine.

– Duljina ciklusa računa se kao zbroj duljina pripadnih bridova.

TR-Vi NP-teški problemi 7

20.2 Opis nekih NP-teških problema (3)

• Slično kao dokazivanje NP-potpunosti, dokazivanje NP-težine izvodi se metodom redukcije u polinomijalnom vremenu.

• Da bi smo za neki “novi” problem dokazali da je NP-težak, radimo sljedede:– Nađemo neki “stari” problem za koji se ved zna da je NP-

potpun ili NP-težak.– Pokažemo da se stari problem može u polinomijalnom

vremenu reducirati na novi problem.

• Dokaz je valjan, jer:– ako bi se novi problem mogao riješiti u polinomijalnom

vremenu, tada bi se i stari problem primjenom redukcije mogao riješiti u polinomijalnom vremenu, pa bi zbog NP-potpunosti ili NP-težine starog problema vrijedilo P = NP.

TR-Vi NP-teški problemi 8

20.3 Dokazivanje NP-težine (1)

Page 5: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

5

• U nastavku za naša četiri odabrana problema optimizacije dokazujemo da su oni NP-teški.

• Teorem 20.1. NP-potpuni problem PARTITION reducira se u polinomijalnom vremenu na problem ranca. Dakle, problem ranca je zaista NP-težak.

• Dokaz teorema. Neka multiskup A = {a1, a2, …, an} predstavlja primjerak problema PARTITION. Izračunamo S = a1 + a2 + … + an. Konstruiramo u polinomijalnom vremenu primjerak problema ranca:

TR-Vi NP-teški problemi 9

20.3 Dokazivanje NP-težine (2)

– broj predmeta je n, – kapacitet ranca je m = S/2, – težine i vrijednosti predmeta su wi = pi = ai, i = 1,2, …, n.

Tvrdimo da A ima particiju ako i samo ako je optimalna vrijednost ranca ≥ S/2. Zaista:– Ako postoji particija, tada je S djeljiv s 2, pa je S/2 = S/2

= S/2, a predmeti koji odgovaraju elementima iz prvog dijela particije imaju težinu S/2 i vrijednost S/2.

– Obratno, ako vrijednost ranca ispada ≥ S/2, tada elementi iz A koji odgovaraju odabranim predmetima imaju zbroj koji je istovremeno ≤ S/2 (zbog uvjeta na težine predmeta) i ≥ S/2 (zbog postignute vrijednosti ranca). To znači da je S/2 = S/2 = S/2, pa ti elementi imaju zbroj točno S/2 i određuju particiju od A.

TR-Vi NP-teški problemi 10

20.3 Dokazivanje NP-težine (3)

Page 6: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

6

• Teorem 20.2. NP-potpuni problem PARTITION reducira se u polinomijalnom vremenu na problem raspoređivanja poslova na identične strojeve. Dakle, problem raspoređivanja poslova je NP-težak.

• Dokaz teorema. Neka multiskup A = {a1, a2, …, an} predstavlja primjerak problema PARTITION. Konstruiramo u polinomijalnom vremenu primjerak problema raspoređivanja poslova:– broj poslova je n, broj strojeva je m = 2.– vremena izvršavanja poslova su ti = ai, i = 1,2, …, n.

Neka je T = a1 + a2 + … + an. Očigledno je da postoji raspored poslova na strojeve s vremenom završetka ≤ T/2 ako i samo ako postoji particija za A.

TR-Vi NP-teški problemi 11

20.3 Dokazivanje NP-težine (4)

• Teorem 20.3. NP-potpuni problem COLOR reducira se u polinomijalnom vremenu na problem optimalnog bojenja grafa. Dakle, problem optimalnog bojenja grafa je zaista NP-težak.

• Dokaz teorema. Neka graf G i prirodni broj kodređuju primjerak problema COLOR. Isti graf Gshvatimo kao primjerak problema optimalnog bojenja grafova.Očigledno, problem COLOR ima rješenje ako i samo ako problem optimalnog bojenja daje rješenje s ≤ kboja.

TR-Vi NP-teški problemi 12

20.3 Dokazivanje NP-težine (5)

Page 7: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

7

• Teorem 20.4. NP-potpuni problem HAMCYCLE reducira se u polinomijalnom vremenu na problem trgovačkog putnika. Dakle, problem trgovačkog putnika je NP-težak.

• Dokaz teorema. Neka graf G određuje primjerak problema HAMCYCLE. Konstruiramo u polinomijalnomvremenu potpuni graf G’ kojeg shvatimo kao primjerak problema trgovačkog putnika:– G’ ima iste vrhove kao G, – duljine onih bridova u G’ koji postoje i u G su 1, – duljine ostalih bridova u G’ su 2.

Tada G ima Hamiltonov ciklus ako i samo ako Hamil-tonov ciklus minimalne duljine u G’ ima duljinu ≤n.

TR-Vi NP-teški problemi 13

20.3 Dokazivanje NP-težine (6)

• Postoje tri vrste algoritama za rješavanje NP-teških problema. Svaka vrsta dalje se dijeli na podvrste.

• Egzaktni algoritmi. Zaista daju optimalno rješenje, no zbog velike računske složenosti mogu se primijeniti samo na relativno male primjerke problema.

• Aproksimacijski algoritmi. Daju u polinomijalnomvremenu približno (sub-optimalno) rješenje, te također i garanciju da je to rješenje “blizu” optimalnom.

• Heuristike. Brzim i jednostavnim računanjem daju približno rješenje, koje se obično pokazuje zadovo-ljavajudim unatoč nedostatku garancije “dobrote”.

TR-Vi NP-teški problemi 14

20.4 Metode rješavanja NP-teških prob

Page 8: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

8

• U nastavku ovog poglavlja govorimo o egzaktnom rješavanju NP-teških problema. Postoji nekoliko tipova egzaktnih algoritama.

• Dinamičko programiranje. – Rješava se niz primjeraka problema iste vrste no manje

veličine od zadanog.

– Rješenja se spremaju u tablicu.

– Koristi se rekurzivna relacija koja opisuje kako se rješenje vedeg primjerka može dobiti korištenjem rješenja manjih primjeraka.

– Postupak ispunjavanja tablice napreduje od manjih primjeraka prema vedima, sve dok ne dosegnemo zadani primjerak.

TR-Vi NP-teški problemi 15

20.5 Načini egzaktnog rješavanja (1)

• Backtracking. – Rješenje se opisuje kao n-torka iz takozvanog prostora

rješenja.

– Da bi neka n-torka zaista predstavljala rješenje, ona mora zadovoljavati određena ograničenja.

– Sam prostor rješenja se zamišlja kao uređeno stablo gdje pojedini čvorovi odgovaraju mogudim izborima vrijednosti pojedinih komponenti u n-torki.

– Algoritam na rekurzivan način pretražuje stablo rješenja, dakle simultano generira i ispituje čvorove.

– Pritom se “režu” pod-stabla za koja se može utvrditi da krše ograničenja.

TR-Vi NP-teški problemi 16

20.5 Načini egzaktnog rješavanja (2)

Page 9: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

9

• Branch and Bound. – Poboljšana varijanta backtrackinga, primjenjiva za

probleme optimizacije.

– U stablu rješenja se, osim onih grana koje ne vode do dopustivog rješenja, također režu i one grane koje ne vode do boljeg rješenja.

– Potreban je postupak određivanja ograde za vrijednost funkcije cilja po svim rješenjima iz zadanog pod-stabla.

– Također je važno imati metodu brzog pronalaženja dobrog rješenja.

TR-Vi NP-teški problemi 17

20.5 Načini egzaktnog rješavanja (3)

• Algoritam odsijecajudih ravnina. – Zadani problem formulira se kao problem cjelobrojnog

linearnog programiranja, te se “relaksira” i rješava simplexmetodom.

– Relaksacija znači privremeno zaboravljanje uvjeta cjelobrojnosti.

– Ako optimalno rješenje dobiveno simplex metodom nije cjelobrojno, tada se konstruira novo ograničenje koje “odsijeca” ne-cjelobrojni optimum, a čuva sve cjelobrojne točke iz dopustivog područja.

– U svakom koraku algoritma rješava se novi (sve kompliciraniji) linearni program, sve dok se ne dobije cjelobrojno rješenje.

TR-Vi NP-teški problemi 18

20.5 Načini egzaktnog rješavanja (4)

Page 10: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

10

• Rješavamo problem ranca dinamičkim programiranjem.

– Problem je opisan s n, m, pi, wi, i = 1,2,…, n. Ovaj put zahtijevamo da pi budu cjelobrojni.

– Uvodimo oznake:

F* … optimalna vrijednost ranca,

fj(r) … najmanji kapacitet ranca za koji se može postidi

vrijednost ranca barem r, uz upotrebu prvih j predmeta.

– Rubni uvjeti tada glase:fj(r) = 0 za r ≤ 0, j = 0,1,2,…,nf0(r) = ∞ za r > 0.

– Rekurzivna formula glasi:

fj(r) = min { fj-1(r-pj) + wj, fj-1(r) } .TR-Vi NP-teški problemi 19

20.6 Egzaktni algoritam za ranac (1)

– Lijeva strana u minimumu odgovara slučaju kad moramo upotrijebiti j-ti predmet, a desna strana slučaju kad vrijednost možemo postidi i bez j-tog predmeta.

– Popunjavamo tablicu s vrijednostima fj(r) ovim redom:

f1(1), f2(1),…, fn(1),

f1(2), f2(2),…, fn(2),

………………………

– Računanje završava onda kad nađemo najvedu vrijednost od r takvu da je fn(r) ≤ m. Taj r je jednak F*, a izbor predmeta se može reproducirati natraške analiziranjem načina na koji su postizavani minimumi.

– Bududi da se svaka vrijednost fj(r) izvrednjava u vremenu O(1), a tablica sadrži nF* elemenata, ukupno vrijeme računanja je O(nF*). To je kvazi-polinomijalno vrijeme.

TR-Vi NP-teški problemi 20

20.6 Egzaktni algoritam za ranac (2)

Page 11: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

11

• Primjer 20.1. Opisani algoritam ilustrirat demo na konkretnom primjerku problema ranca.

TR-Vi NP-teški problemi 21

20.6 Egzaktni algoritam za ranac (3)

– Neka je n=3, m=5,

(p1, p2, p3) = (2, 6, 7),

(w1, w2, w3) = (1, 3, 4).

– Tabela s fj(r) izgleda ovako.

– Računanje se zaustavlja nakon 10-tog retka tabele, to jest kad otkrijemo f3(10) = 7 > 5.

– Dakle optimalna vrijednost ranca je F* = 9.

j

1 2 3

1 1 1 1

2 1 1 1

3 3 3

4 3 3

5 3 3

r 6 3 3

7 4 4

8 4 4

9 5

10 7

… ... … …

TR-Vi NP-teški problemi 22

20.6 Egzaktni algoritam za ranac (4)

– Da bismo vidjeli koji predmeti čine optimalno rješenje, gledamo natraške kako je rekurzivna formula izvrednjavala vrijednosti u tabeli.

– Najprije gledamo kako se dobio f3(9):

f3(9) = min { f2(2) + 4, f2(3) } = min { 1+4, } = 5.

Bududi da se minimum postigao na lijevoj pod-formuli, optimalno rješenje uključuje predmet 3.

– Dalje bi gledanjem f2(2) i f1(2) ustanovili da se predmet 2 ne koristi a predmet 1 se koristi.

– Dakle, optimalno rješenje čine prvi i tredi predmet.

Page 12: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

12

TR-Vi NP-teški problemi 23

20. NP-teški problemi i njihovo egzaktno rješavanje

21. Približno rješavanje aproksimacijskim algoritmima

22. Približno rješavanje pomodu heuristika

Sadržaj dijela VI

• Aproksimacijski algoritmi razlikuju se po obliku “garanciju dobrote” za rješenje koje daju.

• Apsolutne aproksimacije. Približni algoritmi gdje postoji garancija da je apsolutna greška u odnosu na egzaktno (optimalno) rješenje manja od neke konstante.

• Relativne aproksimacije. Približni algoritmi gdje postoji garancija da je relativna greška u odnosu na egzaktno (optimalno) rješenje manja od neke konstante.

• Aproksimacijske sheme. Parametrizirane varijante relativnih aproksimacija. Mijenjanjem parametra mogude je smanjiti relativnu grešku, no pritom dolazi do povedanja računske složenosti.

TR-Vi NP-teški problemi 24

21.1 Vrste aproksimacijskih algoritama

Page 13: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

13

• Neka je A algoritam koji daje dopustivo rješenje za bilo koji primjerak I optimizacijskog problema L. Neka je F*(I) vrijednost funkcije cilja za optimalno rješenje od I. Neka je F^(I) vrijednost funkcije cilja za dopustivo rješenje od I koje daje A.

• Neka je k fiksirana konstanta. A je k-aproksimacijski algoritam (ili apsolutna aproksimacija) za problem Lako za svaki primjerak I od L vrijedi:| F*(I) - F^(I) | ≤ k .

• Apsolutno aproksimacijski algoritmi su poželjna vrsta približnih algoritama. Nažalost, oni su vrlo rijetki.

• Postoje brojni negativni rezultati koji kažu da za odre-đeni problem apsolutna aproksimacija nije moguda.

TR-Vi NP-teški problemi 25

21.2 Pojam apsolutne aproksimacije

• Poznato je da je svaki planarni graf 4-obojiv. Također je lako odrediti da li je graf 0, 1, ili 2-obojiv. No određivanje da li se planarni graf može obojiti s 3 boje je NP-teško.

• Predlažemo sljededi algoritam za računanje kromatskogbroja (minimalnog broja boja) planarnog grafa.– Ako je skup vrhova prazan, vrati 0.– Inače ako je skup bridova prazan, vrati 1.– Inače ako je graf bipartitan, vrati 2.– Inače vrati 4.

• Predloženi algoritam očito zadovoljava ocjenu| F*(I) - F^(I) | ≤ 1 .

• Složenost algoritma iznosi O(broj vrhova + broj bridova). Naime toliko vrijeme je potrebno da se provjeri bipartitnost.

TR-Vi NP-teški problemi 26

21.3 Apsolutna aproksimacija za bojanje

Page 14: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

14

• Promatramo k-aproksimacijski problem ranca: odrediti dopustivo rješenje problema ranca čija vrijednost se apsolutno razlikuje od optimalne vrijednosti najviše za k.

• Teorem 21.1 k-aproks problem ranca je NP-težak.Ako postoji polinomijalni približni algoritam za rješavanje problema ranca koji daje apsolutnu grešku ≤ k, tada se taj algoritam može upotrijebiti za egzaktno rješavanje problema ranca, pa usput slijedi da je P = NP.

• Ideja dokaza: skaliranje vrijednosti predmeta, dakle množenje tih vrijednosti s (k+1).

• Sličan teorem vrijedi i za problem trgovačkog putnika, dokaz je analogan.

TR-Vi NP-teški problemi 27

21.4 Negativni rezultat o apsolutnojaproksimaciji

• Neka je A algoritam koji daje dopustivo rješenje za bilo koji primjerak I optimizacijskog problema L. Neka je F*(I) vrijednost funkcije cilja za optimalno rješenje od I. Neka je F^(I) vrijednost funkcije cilja za dopustivo rješenje od I koje daje A.

• Neka je ε fiksirana konstanta. A je ε-aproksimacijski algoritam (ili relativna aproksimacija) za problem L ako za svaki primjerak I od L vrijedi:

| F*(I) - F^(I) | / F*(I) ≤ ε .

• U nastavku opisujemo dva algoritma za raspoređivanje poslova koji spadaju u relativne aproksimacije. Također navodimo i jedan negativan rezultat.

TR-Vi NP-teški problemi 28

21.5 Pojam relativne aproksimacije

Page 15: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

15

• Problem raspoređivanja nezavisnih poslova na identične strojeve približno rješavamo algoritmima LS (list scheduling) i LPT (longest processing time).– LS radi ovako: skup poslova se uredi u listu na proizvoljan

način. Kad god neki stroj postane slobodan, rasporedi mu se idudi neraspoređeni posao s liste.

– LPT je varijanta LS gdje je lista poslova sortirana silazno s obzirom na vrijeme izvršavanja.

• Primjer 21.1. Rad algoritama LS i LPT ilustrirat demo na konkretnom primjerku problema raspoređivanja. – Neka je m = 3, n = 6,

(t1, t2, …, t6) = (5, 6, 4, 8, 3, 7).

– Algoritam LS daje sljededi raspored vremenom završetka 13.

TR-Vi NP-teški problemi 29

21.6 Rel aproks za raspoređivanje (1)

TR-Vi NP-teški problemi 30

21.6 Rel aproks za raspoređivanje (2)

– Algoritam LPT najprije sortira listu poslova:(t4, t6, t2, t1, t3, t5) = (8, 7, 6, 5, 4, 3), a zatim je raspoređuje na sljededi način. Vrijeme završetka je 11, i to je optimalni raspored bududi da je (t1 + t2 + ... + t6) /3 = 11.

Page 16: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

16

• Teorem 21.2 Neka je F*(I) minimalno vrijeme završetka poslova za primjerak I problema raspoređivanja poslova na m strojeva. Neka je F^(I) vrijeme završetka LS-rasporeda za isti primjerak problema. Tada vrijedi ocjena:(F^(I) – F*(I) ) / F*(I) ≤ 1 – 1/m .

• Dokaz teorema. Označimo sa si odnosno fi trenutak početka odnosno završetka i-tog posla u skladu s LS-rasporedom. Neka je k indeks posla koji de zadnji biti završen.

Primjedujemo da ni jedan stroj ne može biti besposlen prije sk jer bi inače k-ti posao bio pridružen tom stroju. Znači, u skladu sa sljededom slikom: ( ik ti )/m sk .

TR-Vi NP-teški problemi 31

21.6 Rel aproks za raspoređivanje (3)

Dalje, očigledno F*(I) tk jer k-ti posao mora bitiizvršen i u sklopu optimalnog rasporeda. Na kraju, primjedujemo da je F*(I) ( ti )/m . Kad kombiniramo sve ove nejednakosti, dobivamo:F^(I) = fk = sk + tk ≤ ( ik ti )/m + tk = ( ti )/m + (1 – 1/m) tk ≤ F*(I) + (1 – 1/m) F*(I) = (2 – 1/m) F*(I) .

TR-Vi NP-teški problemi 32

21.6 Rel aproks za raspoređivanje (4)

Page 17: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

17

• Primjer 21.2. Ocjena iz prethodnog Teorema 21.2 ne može se poboljšati. To je vidljivo iz sljededeg konkretnog primjerka problema. – Neka je m = 3, n = 5, (t1, t2, …, t5) = (2, 2, 1, 1, 3).

– Lijeva slika pokazuje LS raspored, a desna optimalni raspored.

– Znači, za ovaj primjerak I problema imamo:

F^(I) = 5, F*(I) = 3, F^(I) = (2 – 1/m) F*(I) .

TR-Vi NP-teški problemi 33

21.6 Rel aproks za raspoređivanje (5)

• Teorem 21.3 Neka je F*(I) minimalno vrijeme završetka poslova za primjerak I problema raspoređivanja poslova na m strojeva. Neka je F^(I) vrijeme završetka LPT-rasporeda za isti primjerak problema. Tada vrijedi ocjena:(F^(I) – F*(I) ) / F*(I) ≤ 1/3 – 1/(3m) .

• Dokaz teorema. Sličan kao za prethodni teorem, samo malo kompliciraniji. Može se nadi u knjizi Horowitz, Sahni, Rahasekaran, 1997.

• Primjer 21.3. Ocjena iz prethodnog Teorema 21.3 opet se ne može poboljšati. To je vidljivo iz sljededeg konkretnog primjerka problema. – Neka je n = 2m + 1, ti = 2m - (i+1)/2, i = 1,2, …, m, t2m+1 = m .

TR-Vi NP-teški problemi 34

21.6 Rel aproks za raspoređivanje (6)

Page 18: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

18

– Znači, postoje po dva posla s trajanjem 2m – 1, 2m – 2, …, m + 1, te tri posla s trajanjem m.

– Lijeva slika pokazuje LPT raspored s vremenom završetka 4m - 1, a desna optimalni raspored s vremenom 3m .

– Znači, za ovaj primjerak I problema imamo jednakost:

F^(I) = ( 4/3 – 1/(3m) ) F*(I) .

TR-Vi NP-teški problemi 35

21.6 Rel aproks za raspoređivanje (7)

• Promatramo ε-aproksimacijski problem trgovačkog putnika: odrediti dopustivo rješenje problema čija duljina Hamiltonovog ciklusa se razlikuje od minimalne duljine najviše za ε u relativnom smislu.

• Teorem 21.4. ε-aproksimacijski problem trgovačkog putnika je NP-težak.

• Ideja dokaza teorema: HAMCYCLE se u polinomijalnomvremenu reducira na ε-aproksimacijski problem t.p.

• Dakle ako postoji polinomijalni algoritam za rješavanje problema trgovačkog putnika koji daje relativnu grešku ≤ ε, tada je P = NP, pa se problem trgovačkog putnika može i egzaktno riješiti u polinomijalnom vremenu.

TR-Vi NP-teški problemi 36

21.7 Negativni rezultat o relativnojaproksimaciji

Page 19: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

19

• Neka je A(ε) algoritam s parametrom ε koji daje dopustivo rješenje za bilo koji primjerak I optimizacij-skog problema L. Neka je F*(I) vrijednost funkcije cilja za optimalno rješenje od I. Neka je F^(I) vrijednost funkcije cilja za dopustivo rješenje od I koje daje A(ε).

• A(ε) je aproksimacijska shema za problem L ako za svaki zadani ε>0 i svaki primjerak I od L A(ε) daje dopustivo rješenje tako da vrijedi:| F*(I) - F^(I) | / F*(I) ≤ ε .

• Aproksimacijska shema A(ε) je polinomijalna ako za bilo koji fiksirani ε A(ε) ima vrijeme računanja koje je polinomijalno s obzirom na veličinu problema.

TR-Vi NP-teški problemi 37

21.8 Pojam aproksimacijske sheme (1)

• Aproksimacijska shema A(ε) je sasvim polinomijalnaako za bilo koji fiksirani ε A(ε) ima vrijeme računanja koje je polinomijalno i s obzirom na veličinu problema i s obzirom na 1/ε.

• Polinomijalne aproksimacijske sheme su najpoželjnija, no nažalost vrlo rijetka vrsta približnih algoritama.

• To je fleksibilna vrsta relativnih aproksimacija, gdje odabirom parametra u samom algoritmu možemo postidi da algoritam daje željenu točnost.

• Ako je polinomijalna aproksimacijska shema sasvim polinomijalna, tada za veliku točnost pladamo umjerenu cijenu.

TR-Vi NP-teški problemi 38

21.8 Pojam aproksimacijske sheme (2)

Page 20: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

20

• Rješavamo problem raspoređivanja poslova na strojeve.• Shema se zasniva se na sljededoj konstrukciji.

– Fiksiramo cijeli broj k.– Pronađemo optimalni raspored za k najdugotrajnijih poslova.– Rasporedimo preostalih n-k poslova po LPT pravilu.

• Odabirom dovoljno velikog k može se postidi da shema daje traženu točnost rješenja.

• Primjer 21.4. Rad ove sheme ilustrirat demo na konkretnom primjerku problema raspoređivanja poslova na strojeve.– Neka je m = 2, n = 6, (t1, t2, …, t6) = (8, 6, 5, 4, 4, 1), k = 4.

– Četiri najdugotrajnija posla imaju vremena izvršavanja:

8, 6, 5, 4.TR-Vi NP-teški problemi 39

21.9 Aproks shema za raspoređivanje (1)

– Optimalni raspored za ta četiri posla ima vrijeme završetka 12 (slika gore).

– Kad preostala dva posla rasporedimo po pravilu LPT, dobivamo raspored s vremenom završetka 15 (slika u sredini).

– Optimalni raspored za svih 6 poslova ima vrijeme završetka 14 (slika dolje).

TR-Vi NP-teški problemi 40

21.9 Aproks shema za raspoređivanje (2)

Page 21: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

21

• Teorem 21.5. Neka je I primjerak problema raspoređivanja na m strojeva. Neka je F*(I) vrijeme završetka optimalnog rasporeda za I, a F^(I) vrijeme završetka rasporeda za I koji je dobiven našom konstrukcijom. Tada vrijedi:| F*(I) - F^(I) | / F*(I) ≤ (1 – 1/m) / (1 + k/m).

• Dokaz teorema. Neka je r vrijeme završetka optimalnog rasporeda za k najdugotrajnijih poslova. Ako je F^(I) = r, tada je F*(I) = F^(I) i teorem je dokazan. Zato pretpostavimo da je F^(I) > r. Neka su ti, 1 ≤ i ≤ n, vremena izvršavanja za n poslova od I. Bez gubitka opdenitosti možemo pretpostaviti ti ≥ ti+1, 1 ≤ i < n.

TR-Vi NP-teški problemi 41

21.9 Aproks shema za raspoređivanje (3)

Također, zbog F^(I) > r mora biti n > k. dalje možemo pretpostaviti n > m. Neka je j, j > k, indeks posla koji se prema dobivenom rasporedu zadnji završava. Tada ni jedan stroj ne može biti besposlen u vremenskom intervalu [ 0, F^(I) – tj ] jer bi u protivnom j-ti posao mogao krenuti ranije.

TR-Vi NP-teški problemi 42

21.9 Aproks shema za raspoređivanje (4)

Bududi da je tk+1 ≥ tj, slijedi također da ni jedan stroj ne može biti besposlen u (manjem) intervalu [ 0, F^(I) – tk+1 ] . Dakle:

Page 22: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

22

i ti ≥ m(F^(I) – tk+1) + tk+1 , pa jeF*(I) ≥ (i ti)/m ≥ F^(I) – tk+1(m – 1)/m. Ili| F*(I) – F^(I) | ≤ tk+1(m – 1)/m.Bududi da je ti ≥ tk+1 za 1 ≤ i ≤ k+1, te bududi da barjedan stroj mora izvršavati barem 1 + k/m od tihposlova, slijedi:F*(I) ≥ ( 1 + k/m ) tk+1 .Kombiniranjem dviju nejednakosti dobivamo:| F*(I) - F^(I) | / F*(I) ≤ ((m – 1)/m) / (1 + k/m) ≤(1 – 1/m) / (1 + k/m).

TR-Vi NP-teški problemi 43

21.9 Aproks shema za raspoređivanje (5)

• Na osnovu ovog teorema možemo konstruirati aproksimacijsku shemu za problem raspoređivanja s parametrom ε.

• Za zadani ε računa se cijeli broj k takav da jeε ≥ (1 – 1/m) / (1 + k/m).Pogodni k je bilo koji cijeli broj ≥ (m-1)/ε – m.

• Teorem garantira da uz taj k naša konstrukcija daje raspored čije se vrijeme završetka razlikuje od optimalnog vremena najviše za ε u relativnom smislu.

• Vrijeme izvršavanja ovakvog algoritma uglavnom ovisi o vremenu potrebnom da se pronađe optimalni raspored za k poslova na m strojeva. Ako koristimo branch-and-bound, to vrijeme je O(mk).

TR-Vi NP-teški problemi 44

21.9 Aproks shema za raspoređivanje (6)

Page 23: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

23

• Algoritam također troši vrijeme na sortiranje poslova te na generiranje LPT rasporeda za preostalih n-kposlova. To se sve može obaviti u vremenu O(n logn).

• Dakle ukupno vrijeme za naš algoritam je

O(n logn + mk) = O(n logn + m(m-1)/ε – m) .

• Vidimo da je vrijeme polinomijalno s obzirom na n, no nije polinomijalno s obzirom na 1/ε. Zato je naša shema polinomijalna, no nije sasvim polinomijalna.

• Ako bi htjeli povedati točnost aproksimacije, to bi platili nesrazmjernim povedanjem vremena računanja.

TR-Vi NP-teški problemi 45

21.9 Aproks shema za raspoređivanje (7)

• Rješavamo problem ranca. Služimo se prije opisanim egzaktnim algoritmom dinamičkog programiranja.

• Sjetimo se da egzaktni algoritam radi u vremenu O(nF*). Ideja aproksimacijske sheme je sljededa. – Koeficijenti u funkciji cilja (dakle vrijednosti predmeta)

skaliraju se tako da se smanji F*, a time i vrijeme računanja. – Optimalno rješenje skaliranog problema služi kao dobro

dopustivo rješenje polaznog problema.– Skaliranje se provodi tako da se vrijednosti predmeta u

zadanom primjerku problema I podijele s odabranom konstantom k i zaokruže na cijeli broj.

– Znači, skalirane vrijednosti su pi(k) = pi / k , i =1,2,…,n.

TR-Vi NP-teški problemi 46

21.10 Sasvim polinomijalnaaproksimacijska shema za ranac (1)

Page 24: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

24

• Primjer 21.5. Opisanu aproksimacijsku shemu ilustrirat demo na primjerku problema iz Primjera 20.1.

TR-Vi NP-teški problemi 47

21.10 Sasvim polinomijalnaaproksimacijska shema za ranac (2)

– Neka je opet n=3, m=5, (p1, p2, p3) = (2, 6, 7),

(w1, w2, w3) = (1, 3, 4).

– Optimalna vrijednost ranca je F* = 9.

– Problem sada približno rješavamo skaliranjem za k = 2.

– Skalirane vrijednosti predmeta su:

(p1(2), p2(2), p3(2)) = (1, 3, 3).

– Algoritam dinamičkog programiranja daje sljededu tablicu za skalirani problem. Računanje se zaustavlja nakon 5. retka tablice, to jest onda kad otkrijemo f3(5) = 7 > 5.

TR-Vi NP-teški problemi 48

21.10 Sasvim polinomijalnaaproksimacijska shema za ranac (3)

– Vrijeme računanja je otprilike dvostruko manje nego što bi bilo bez skaliranja.

– Optimalna vrijednost skaliranog ranca je 4. Ta vrijednost može se postidi na dva načina: izborom prvog i drugog predmeta, ili izborom prvog i tredeg predmeta.

j

1 2 3

1 1 1 1

2 3 3

r 3 3 3

4 4 4

5 7

… ... … …

– Zbog načina izvrednjavanjaf3(4) algoritam de dati prvo rješenje. U kontekstu polaznog problema prvo rješenje je suboptimalno jer daje vrijednost ranca 8 (što je manje od optimalnih 9).

Page 25: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

25

• Teorem 21.6. Neka je I primjerak problema ranca s n predmeta i s maksimalnom vrijednošdu predmeta pmax. Neka je F*(I) vrijednost optimalnog rješenja za I, a F^(I) vrijednost dopustivog rješenja za I dobivenog prethodno opisanom shemom. Tada vrijedi: | F*(I) - F^(I) | / F*(I) ≤ nk / pmax .

• Dokaz teorema. Neka su pi, i = 1, 2, …, n, vrijednosti predmeta u I. Znači, pmax = max {pi | i=1, 2, … n}. Očito vrijedi pmax ≤ F*(I) ≤ n.pmax.

TR-Vi NP-teški problemi 49

21.10 Sasvim polinomijalnaaproksimacijska shema za ranac (4)

Lijeva nejednakost zapravo je dobivena pod pretpostavkom da svaki od predmeta stane sam u ranac, no to je prirodna pretpostavka jer u protivnom dotični predmet možemo isključiti iz razmatranja.

Neka je S* skup indeksa predmeta koji ulaze u optimalno rješenje za I, te neka je S^ skup indeksa koji ulaze u optimalno rješenje za skalirani problem. Tada vrijedi:F^(I) =

iS^pi ≥

iS^ k.pi /k ≥ … jer je lijevo

optimum za skalirani problem … ≥ iS*

k.pi /k ≥

iS*(pi-k) ≥

iS*pi – k|S*| = F*(I) – k.|S*|.

TR-Vi NP-teški problemi 50

21.10 Sasvim polinomijalnaaproksimacijska shema za ranac (5)

Page 26: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

26

Dakle: | F*(I) - F^(I) | / F*(I) ≤ (k.|S*|)/pmax ≤ nk / pmax .

• Na osnovu ovog teorema možemo konstruirati aproksimacijsku shemu s parametrom ε. – Za odabrani ε te za vrijednosti predmeta pi, i=1,2,…,n u

zadanom primjerku problema I računa se pmax = max pi, – Zatim se odredi cijeli broj k takav da je nk / pmax ≤ ε. Znači

biramo k = ε pmax / n.

• Teorem 21.6 garantira da de za tako odabrani k i za taj primjerak problema relativna greška sheme biti ≤ ε.

TR-Vi NP-teški problemi 51

21.10 Sasvim polinomijalnaaproksimacijska shema za ranac (6)

• Vrijeme računanja naše sheme je onoliko koliko nam treba da riješimo skalirani problem, dakleO( n × (optimalna vrijednost skaliranog ranca) ).

• Bududi da je optimalna vrijednost skaliranog ranca≤ n . pmax / k , dobivamo ocjenu za vrijeme:O( n2 . pmax / k ) = O( n3 . pmax / (nk) ) = O (n3 . 1/ε).

• Znači vrijeme je polinomijalno i s obzirom na n i s obzirom na 1/ε, pa je shema zaista sasvim polinomijalna.

TR-Vi NP-teški problemi 52

21.10 Sasvim polinomijalnaaproksimacijska shema za ranac (7)

Page 27: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

27

• Vidjeli smo da su za pojedine NP-teške probleme i odgovarajudi ε-aproksimacijski problemi također NP-teški. Takvi problemi očito ne mogu imati s.p.a.s.

• Sad demo izložiti i jači rezultat, koji otprilike glasi: “Jedini NP-teški problemi koji dopuštaju sasvim polinomijalnu aproksimacijsku shemu su oni koji prestaju biti NP-teški čim im ograničimo veličinu pojedinog ulaznog podatka.

• Problem ranca ima to svojstvo, jer ako ograničimo vrijednost pojedinog predmeta, tada vrijeme izvršavanja algoritma dinamičkog programiranja postaje polinomijalno s obzirom na broj predmeta.

TR-Vi NP-teški problemi 53

21.11 Negativni rezultat o aproksimacijskim shemama (1)

• Da bismo točno formulirali naš rezultat, potreban nam je pojam jako (strongly) NP-teškog problema.

• Neka je L problem, I primjerak od L. Neka je LENGTH(I) broj bitova u prikazu od I, te s MAX(I) veličina najvedeg broja u I. Bez gubitka opdenitosti možemo pretpostaviti da su brojevi u I cijeli. Za fiksirani polinom p neka je Lp

problem L restringiran na takve primjerke I za koje je MAX(I) ≤ p ( LENGTH(I) ). Problem L je jako NP-težak ako postoji polinom p takav da je Lp NP-težak.

• Vedina NP-teških problema koje smo razmatrali zapravo su jako NP-teški. Na primjer, problem bojenja grafa ostaje isti ako ograničimo veličinu ulaznih podataka.

TR-Vi NP-teški problemi 54

21.11 Negativni rezultat oaproksimacijskim shemama (2)

Page 28: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

28

• Teorem 21.7. Neka je L optimizacijski problem takav da sva dopustiva rješenja za sve primjerke imaju kao vrijednosti prirodne brojeve. Pretpostavimo da je za sve primjerke I od L optimalna vrijednost F*(I) ograđena polinomom p u varijablama LENGTH(I) i MAX(I), dakle 0 < F*(I) < p (LENGTH(I), MAX(I)). Ako L ima s.p.a.s, tada L također ima i egzaktni algoritam čija složenost je izražena kao polinom u LENGTH(I) i MAX(I).

• Dokaz teorema. Pretpostavimo da L ima s.p.a.s. Pokazujemo kako se korištenjem te sheme mogu dobiti optimalna rješenja za L.

TR-Vi NP-teški problemi 55

21.11 Negativni rezultat oaproksimacijskim shemama (3)

Neka je I bilo koji primjerak od L. Definiramo ε = 1 / p(LENGTH(I), MAX(I)). Promatramo vrijednost F^(I) rješenja kojeg daje shema. Tada: |F*(I) – F^(I)| ≤ ε. F*(I) ≤ F*(I) / p(LENGTH(I), MAX(I)) < 1. Bududi da su vrijednosti za dopustiva rješenja cijeli brojevi, iz gornje ocjene slijedi da je nužno F*(I) = F^(I). Znači s odabranim ε aproksimacijska shema postaje egzaktan algoritam. Preostaje da se procijeni složenost dobivenog egzaktnog algoritma. Bududi da je aproksi-macijska shema sasvim polinomijalna, postoji polinom q takav da je složenost te sheme O(q(LENGTH(I), 1/ε)).

TR-Vi NP-teški problemi 56

21.11 Negativni rezultat o aproksimacijskim shemama (4)

Page 29: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

29

U ovu ocjenu možemo uvrstiti našu odabranu vrijednost za ε, pa dobivamo da naš egzaktni algoritam ima složenost O( q(LENGTH(I), p(LENGTH(I), MAX(I)) ), što se može pisati kao O(q’(LENGTH(I), MAX(I)) za neki polinom q’.

• Svi naši NP-teški problemi zadovoljavaju uvjete teorema. Zato teorem zapravo kaže: “Ako za neki od razmatranih problema postoji s.p.a.s, tada postoji i egzaktni algoritam čija složenost je polinom u LENGTH(I) i MAX(I).”

TR-Vi NP-teški problemi 57

21.11 Negativni rezultat oaproksimacijskim shemama (5)

• Takav algoritam naziva se pseudo-polinomijalni. Pseudo-polinomijalni algoritam opdenito nije polinomijalan jer MAX(I) ne mora biti polinomijalno ograđen s LENGTH(I).

• No za problem koji je NP-težak u jakom smislu, pseudo-polinomijalni algoritam pretvara se u polinomijalni jer je MAX(I) polinomijalno ograničen s LENGTH(I).

• Korolar Teorema 21.7. Ni jedan jako NP-teški problem ne može imati sasvim polinomijalnu aproksimacijsku shemu (osim ako je P = NP ).

• Problem ranca nije jako NP-težak pa zato on ima sasvim polinomijalnu aproksimacijsku shemu.

TR-Vi NP-teški problemi 58

21.11 Negativni rezultat oaproksimacijskim shemama (6)

Page 30: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

30

TR-Vi NP-teški problemi 59

20. NP-teški problemi i njihovo egzaktno rješavanje

21. Približno rješavanje aproksimacijskim algoritmima

22. Približno rješavanje pomodu heuristika

Sadržaj dijela VI

• Neka je A algoritam koji daje dopustivo rješenje za bilo koji primjerak I optimizacijskog problema L. Neka je F*(I) vrijednost funkcije cilja za optimalno rješenje od I. Neka je F^(I) vrijednost funkcije cilja za dopustivo rješenje od I koje daje A.

• Kažemo da je A heuristika ukoliko nam nije poznata nikakva gornja ograda za razliku ili kvocijent od F^(I) i F*(I) koja bi vrijedila za svaki I.

• Umjesto toga, postoje rezultati eksperimenata koji pokazuju da A za mnoge primjerke I zaista daje F^(I) koji je blizu F*(I).

TR-Vi NP-teški problemi 60

22.1 Pojam heuristike (1)

Page 31: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

31

• Jednostavnije heuristike obično su zasnovane na nekoj intuitivno prihvatljivoj strategiji, kao što je pohlepni pristup ili lokalno traženje.

• Složenije heuristike dobivaju se primjenom meta-heuristika poput evolucijskog pristupa, tabu traženja, simuliranog kaljenja, mravlje optimizacije i slično.

• Za svaku heuristiku treba utvrditi da li je ona samo heuristika, ili je riječ o aproksimacijskom algoritmu.

• Dakle zanimaju nas primjeri lošeg ponašanja heuristike, koji pokazuju da greška u odnosu na optimalno rješenje može biti po volji loša i u apsolutnom i u relativnom smislu.

TR-Vi NP-teški problemi 61

22.1 Pojam heuristike (2)

• Navodimo takozvani sekvencijalni algoritam za rješavanje problema optimalnog bojenja grafa. – Algoritam pretpostavlja da su vrhovi grafa poredani u

nekom redoslijedu: v1, v2, …, vn. – Algoritam radi u n koraka, gdje je n broj vrhova grafa. – U i-tom koraku bira se dopustiva boja f(vi) za vrh vi. Bira

se boja s najmanjim mogudim indeksom.

• Rad algoritma bitno ovisi o redoslijedu vrhova. Preporuča da vrhovi budu silazno sortirani s obzirom na stupanj (broj incidentnih bridova).

TR-Vi NP-teški problemi 62

22.2 Pohlepna heuristika koja nijeaproksimacijski algoritam (1)

Page 32: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

32

• Dakle preporuča se: deg(v1) ≥ deg(v2) ≥ … ≥ deg(vn). To je takozvani Welsh-Powellov ili largest-first (LF) redoslijed.

• Vrijeme izvršavanja ovog algoritma je O(m) gdje je m broj bridova, ili O(n2).

• Primjer 22.1. Promatramo rad našeg sekvencijalnog algoritma na grafu sa sljedede slike.

– Ako primijenimo zadani redoslijed vrhova: 1, 2, 3, 4, 5, 6, dobivamo bojanje u 4 boje: f(1) = 1, f(2) = 2, f(3) = 1, f(4) = 2, f(5) = 3, f(6) = 4.

TR-Vi NP-teški problemi 63

22.2 Pohlepna heuristika koja nijeaproksimacijski algoritam (2)

• Sekvencijalni algoritam za bojenje grafa nije aproksi-macijski algoritam. Naime broj boja koje on daje može po se volji jako razlikovati od optimalnog broja. To se vidi iz sljededeg primjera.

TR-Vi NP-teški problemi 64

22.2 Pohlepna heuristika koja nijeaproksimacijski algoritam (3)

– Ako primijenimo LF-redoslijed vrhova: 2, 5, 1, 6, 3, 4, dobivamo bojanje u 3 boje: f(2) = 1, f(5) = 2, f(1) = 3, f(6) = 3, f(3) =2, f(4) =1.

Page 33: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

33

• Primjer 22.2. Promatramo graf:G2n = (V2n, E2n), n ≥ 3, gdje jeV2n = { ui, vi , i=1,2,…,n},E2n = { (ui, vj ) | i,j=1,2,…,n, i≠j }.

– Riječ je o bipartitnom grafu koji se očito može obojiti s 2 boje.

– No naš pohlepni algoritam za LF-redoslijed vrhova:u1,v1,u2, v2,…,un,vn

daje f(ui) = f(vi) = i.– Znači naš algoritam troši n boja, što

se po volji mnogo razlikuje od 2.

TR-Vi NP-teški problemi 65

22.2 Pohlepna heuristika koja nijeaproksimacijski algoritam (4)

u1

u2

u3

un-1

un

v1

v2

v3

vn-1

vn

.

.

.

.

.

.

• Navodimo takozvani 2-opt algoritam za problem trgovačkog putnika.– Algoritam pamti bilo koji Hamiltonov ciklus kao tekude

rješenje. – Promatra se takozvana 2-okolina tekudeg ciklusa: nju čine

svi Hamiltonovi ciklusi koji se dobivaju iz tekudeg izbacivanjem dvaju ne-susjednih bridova i umetanjem odgovarajudih “unakrsnih” bridova.

TR-Vi NP-teški problemi 66

22.3 Lokalno traženje koje nijeaproksimacijski algoritam (1)

Page 34: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

34

– U 2-okolini pronalazi se ciklus s najmanjom duljinom (cijenom). Ako taj ciklus ima manju duljinu od tekudeg, on postaje novi tekudi i algoritam se nastavlja. Inače algoritam završava i daje zadnji tekudi ciklus kao rješenje.

– U 2-okolini tekudeg ciklusa postoji n(n-3)/2 ciklusa. Zato se jedna iteracija algoritma izvršava u vremenu O(n2). Broj iteracija i točnost rješenja teško je predvidjeti, no obje stvari bitno ovise o polaznom tekudem rješenju.

– Opisani 2-opt algoritam ne može biti ni polinomijalna k-aproksimacija ni polinomijalna ε-aproksimacija. Naime, rekli smo da za problem trgovačkog putnika može dokazati da takve aproksimacije ne postoje (osim ako nije P = NP ).

TR-Vi NP-teški problemi 67

22.3 Lokalno traženje koje nijeaproksimacijski algoritam (2)

• Primjer 22.3. Rad 2-optalgoritma ilustrirat demo na konkretnom primjerku problema trgovačkog putnika koji je zadan na slici.

– Kao polazno rješenje promatramo Hamiltonovciklus (a, b, c, d, e, a) sa cijenom 3+4+5+6+7=25.

TR-Vi NP-teški problemi 68

22.3 Lokalno traženje koje nijeaproksimacijski algoritam (3)

Page 35: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

35

– 2-okolina tog polaznog rješenja sadrži sljededih n(n-3)/2 = 5 ciklusa s odgovarajudim cijenama.

TR-Vi NP-teški problemi 69

22.3 Lokalno traženje koje nijeaproksimacijski algoritam (4)

(a, c, b, d, e, a), cijena: 27

TR-Vi NP-teški problemi 70

22.3 Lokalno traženje koje nijeaproksimacijski algoritam (5)

(a, d, c, b, e, a), cijena: 21 (a, b, d, c, e, a), cijena: 29

Page 36: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

36

TR-Vi NP-teški problemi 71

22.3 Lokalno traženje koje nijeaproksimacijski algoritam (6)

(a, b, e, d, c, a), cijena: 21 (a, b, c, e, d, a), cijena: 23

TR-Vi NP-teški problemi 72

22.3 Lokalno traženje koje nijeaproksimacijski algoritam (7)

– Novo tekude rješenje je npr(a, d, c, b, e, a) sa cijenom 21. Algoritam krede u drugu iteraciju.

– U 2-okolini novog tekudeg ciklusa nalazi se optimalno rješenje(a, c, b, e, d, a) sa cijenom 19.

– Zato demo u drugoj iteraciji dobiti to optimalno rješenje kao trede tekude.

– Algoritam de završiti rad u tredoj iteraciji.

Page 37: Dio VI: NP-teški problemiweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-VI.pdf · Matematička logika i računarstvo Drugi semestar TR-Vi NP-teški problemi 2 20. NP-teški problemi

31.5.2011.

37

• Algoritam 2-opt je najjednostavniji član porodice r-optalgoritama za r ≥ 2.

• Opdenito, algoritam r-opt pretražuje r-okolinu tekudeg Hamiltonovog ciklusa. Ta okolina se sastoji od svih Hamiltonovih ciklusa koji se u r od n bridova razlikuju od tekudeg.

• Jedna iteracija algoritma r-opt zahtijeva vrijeme O(nr). Povedanjem r dobivamo sve točniju no vremenski sve zahtjevniju heuristiku.

• U praksi se najčešde koriste brzi 2-opt i precizniji 3-opt. Eksperimenti pokazuju da se 4-opt ved ne isplati.

TR-Vi NP-teški problemi 73

22.3 Lokalno traženje koje nijeaproksimacijski algoritam (8)

• Manjkavost lokalnog traženja je u tome što ono može “zaglaviti” u lokalnom optimumu koji se po vrijednosti funkcije cilja jako razlikuje od pravog globalnog optimuma.

• Složenije varijante lokalnog traženja, poput:– tabu search,– simulated annealing

sadrže dodatna pravila kojima se nastoji pobjedi iz lokalnog optimuma.

• Još složenije varijante poput:– evolucijskih (genetičkih) algoritama

istovremeno rade s više tekudih rješenja. Time se smanjuje opasnost zaglavljivanja u lokalnom opt.

TR-Vi NP-teški problemi 74

22.4 Poteškode s lokalnim optimumom