dio v: teorija složenosti - pmf-mo studentske...

36
31.5.2011. 1 Dio V: Teorija složenosti Robert Manger, travanj 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 17. Vremenska složenost 18. Prostorna složenost 19. NP-potpunost TR-V Teorija složenosti 2 Sadržaj dijela V

Upload: nguyenkhuong

Post on 06-Feb-2018

230 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

1

Dio V: Teorija složenosti

Robert Manger, travanj 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

17. Vremenska složenost

18. Prostorna složenost

19. NP-potpunost

TR-V Teorija složenosti 2

Sadržaj dijela V

Page 2: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

2

• Od sada pa nadalje bavimo se problemima koji se u principu mogu riješiti algoritmima.

• Najviše demo se baviti problemima odlučivanja koji su odlučivi, odnosno jezicima koji su rekurzivni.

• Zanimaju nas resursi (vrijeme, prostor, … ) koji su potrebni da bi se problem riješio.

• Vidjet demo da postoje “teški” problemi, za čije rješavanje su potrebni izuzetno veliki resursi, tako da njihova rješivost postaje upitna.

• U ovom poglavlju bavimo se vremenskom složenošdu, dakle zanima nas koliko vremena je potrebno da bi se određeni problem riješio.

TR-V Teorija složenosti 3

17.0 Opdenito o vremenskoj složenosti

• Vrijeme rješavanja problema procjenjujemo u ovisnosti o veličini ulaza. Tu veličinu označavamo s n. Kod prepoznavanja jezika, n je obično duljina riječi koju treba prihvatiti ili odbiti.

• Primjer 17.1. Promatramo TS koji odlučuje riječi s jednakim brojem 0 i 1. TS prekriži prvi znak ulaza, npr1, zatim pronalazi prvu 0 i prekriži je. Dalje se vrati na prvi neprekriženi znak, itd. Stroj prihvada riječ ako i samo ako se nule potroše istovremeno s jedinicama.Ako ulaz ima duljinu n, tada naš TS zatijeva n2/4 koraka (n/2 iteracija s prosječnom duljinom n/2). Vrijeme rješavanja je dakle proporcionalno s n2.

TR-V Teorija složenosti 4

17.1 Način mjerenja vremena (1)

Page 3: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

3

• Kod procjene vremena uvijek analiziramo najgori slučaj. Kažemo da TS radi u vremenu T(n) ako za sve ulaze duljine n stroj staje nakon najviše T(n) koraka.

• Kod procjene vremena zanemarujemo konstante. Svejedno je da li stroj radi 2n2, 7n2, ili 1000n2 koraka, važno je samo da se vrijeme ponaša kao kvadrat od n. Kažemo da naš stroj zahtijeva vrijeme O(n2).

• Opdenito, f(n) = O(g(n)) ako postoji konstanta C i broj n0 takvi da za n ≥ n0 vrijedi: |f(n)| ≤ C.|g(n)|.

• Primjer 17.1 (nastavak). Možemo li poboljšati naš TS za prepoznavanje riječi s jednakim brojem 0 i 1?

TR-V Teorija složenosti 5

17.1 Način mjerenja vremena (2)

Da, ako stroj opremimo s dvije trake!Kopiramo ulaz na drugu traku. Pustimo da dvije glave prolaze kroz kopije ulaza i uparuju nule i jedinice. Takav stroj prihvada ili odbacuje riječ duljine n u linearnom vremenu O(n).

• Iz prethodnog primjera vidimo da vrijeme računanja ovisi o varijanti Turingovog stroja koju koristimo. U nastavku pretpostavljamo da koristimo TS s više traka.

• Može se pokazati da TS s dvije trake može simulirati bilo koji TS s više traka tako da se vrijeme pritom poveda najviše za logaritamski faktor.

TR-V Teorija složenosti 6

17.1 Način mjerenja vremena (3)

Page 4: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

4

• Kažemo da se problem može riješiti u polinomijalnomvremenu ako postoji TS koji ga rješava u vremenu O(p(n)) gdje je p neki polinom, a n veličina ulaza.

• Klasa svih problema odlučivanja koji se mogu riješiti u polinomijalnom vremenu označava se s P.

• Drugim riječima, jezik L je u P ako postoji konstanta k i

TS M takvi da M u vremenu O(nk) odlučuje da li riječ duljine n pripada ili ne pripada L.

• Klasa P otprilike opisuje skup problema koji su rješivi u prihvatljivom vremenu.

• Klasa je robusna u smislu da ne ovisi o detaljima modela računanja, dok god se radi o determinističkom modelu.

TR-V Teorija složenosti 7

17.2 Polinomijalno vrijeme (1)

• Dva modela računanja su u polinomijalnom odnosu ako postoji polinom q takav da ako je neki jezik odlučivu vremenu T(n) na jednom modelu, tada je isti jezik odlučiv u vremenu q(T(n)) na drugom modelu.

• Slijedi teorem koji kaže da su višetračni i jednotračni TS-evi u polinomijalnom odnosu. Dakle, definicija klase P ne ovisi o tome da li koristimo stroj s jednom ili više traka (polinom od polinoma je opet polinom).

• Teorem 17.1. Pretpostavimo da TS s više traka rješava neki problem veličine n u vremenu T(n). Tada postoji ekvivalentni TS s jednom trakom koji isti problem rješava u vremenu O((T(n))2).

TR-V Teorija složenosti 8

17.2 Polinomijalno vrijeme (2)

Page 5: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

5

• Dokaz teorema. Simuliramo rad TS-a s k traka na TS-u s jednom trakom, tako da sadržaje svih k traka prvog stroja napišemo jedan do drugog na traku drugog stroja. Svaki korak k-tračnog TS-a jednotračni TS simulira tako da prijeđe čitavom duljinom svoje trake. Bududi da k-tračni TS radi u vremenu T(n), on ni na jednu svoju traku ne stigne napisati više od T(n) novih znakova. Znači da je duljina trake jednotračnog stroja najviše k.T(n), pa njegova simulacija svih T(n) koraka traje najviše T(n).k.T(n) = O((T(n))2.

• Lako se uvjeriti da je TS u polinomijalnom odnosu sa “standardnim” računalom. Znači, klasa P je ista bez obzira da li zamišljamo TS ili stvarno računalo.

TR-V Teorija složenosti 9

17.2 Polinomijalno vrijeme (3)

• Booleovska formula sastoji se od logičkih varijabli (literala), te operacija (logičko ili), (logičko i) i (negacija). Uz zadano pridruživanje, dakle postavljanje vrijednosti istina/laž varijablama, mogude je odrediti da li je cijela formula istinita ili lažna.

• Primjer 17.2. Zadana je Booleovska formula:x (x y z) (x y)Uz pridruživanje x=y=istina, z=laž, formula je lažna.

• Primjer 17.3. Promatramo jezikTRUEBF = { <, > | je Booleovska formula koja

postaje istinita uz pridruživanje }.Tada taj jezik (odnosno problem utvrđivanja istinitosti) pripada klasi P.

TR-V Teorija složenosti 10

17.3 Primjeri problema iz klase P (1)

Page 6: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

6

• Zaista, uvrštavanje vrijednosti varijabli i izvrednjavanjeformule može se obaviti u linearnom vremenu pomodu stoga, na sasvim isti način kao za aritmetičke izraze.

• Graf se sastoji od skupa vrhova i skupa bridova (spojnica između brodova). Put u grafu je niz bridova koji vodi od jednog vrha do drugog. Hamiltonov put od vrha a do vrha b je put od a do b koji posjeduje svaki vrh u grafu točno jednom.

• Primjer 17.4. U sljededem grafu postoji put između svaka dva vrha. Postoji i Hamiltonov put od A do I koji posjeduje vrhove u abecednom poretku. No ne postoji Hamiltonov put od A do C.

TR-V Teorija složenosti 11

17.3 Primjeri problema iz klase P (2)

• Primjer 17.5. Promatramo jezikPATH = { <G, a, b> | G je graf u kojem postoji

put od vrha a do vrha b } .Tada taj jezik (odnosno problem postojanja puta) pripada klasi P.

TR-V Teorija složenosti 12

17.3 Primjeri problema iz klase P (3)

Page 7: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

7

Zaista, da bismo odredili da li postoji put od vrha a do vrha b, možemo postupkom breadth-first search nadi sve vrhove koji su dostupni iz a. Vrijeme računanja ovisi o prikazu grafa, no uvijek je polinomijalno.

• Primjer 17.6. Neka je L bilo koji kontekstno-slobodni jezik. Bavimo se problemom odlučivanja da li zadana riječ w pripada L ili ne pripada. U poglavlju 10 vidjeli smo da se problem može riješiti algoritmom CYK. Lako se vidi da se algoritam CYK na običnom računalu izvršava u vremenu O(n3) gdje je n duljina riječi w.

• Važna posljedica: bilo koji kontekstno-slobodni jezik (odnosno pripadni problem odlučivanja) je u P.

TR-V Teorija složenosti 13

17.3 Primjeri problema iz klase P (4)

• Vrijeme rješavanja problema donekle ovisi o odabranoj varijanti TS-a, no ne bitno ukoliko se ograničimo na determinističke varijante.

• Vrijeme de se ipak bitno promijeniti ako umjesto determinističkog koristimo nedeterministički TS –krade NTS.

• Kod NTS-a računanje zamišljamo kao stablo računanja. – NTS M odlučuje jezik L ako se za svaki ulaz w sve grane od

M zaustavljaju. – Riječ w pripada L onda i samo onda ako postoji bar jedna

prihvadajuda grana. – Vrijeme rada od M je duljina najdulje grane.

TR-V Teorija složenosti 14

17.4 Nedeterminističko vrijeme (1)

Page 8: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

8

• Klasa svih problema odlučivanja riješivih u polino-mijalnom vremenu pomodu NTS-a označava se s NP.

• Drugim riječima, jezik L je u NP ako postoji konstanta k i NTS M takvi da M u vremenu O(nk) odlučuje da li riječ duljine n pripada ili ne pripada L.

• Očito je P NP, naime deterministički TS može se shvatiti kao specijalni slučaj nedeterminističkog.

• Primjer 17.7. Promatramo jezikHAMPATH = { <G,a,b> | G je graf u kojem postoji Hamil-

tonov put od vrha a do vrha b }.Tada taj jezik (odnosno problem postojanja Hamiltonovog puta) pripada klasi NP.

TR-V Teorija složenosti 15

17.4 Nedeterminističko vrijeme (2)

Ne pada nam na pamet deterministički algoritam koji bi odlučivao HAMPATH u polinomijalnom vremenu. Ispitivanje svih mogudih putova trajalo bi predugo.No postoji brzi nedeterministički algoritam. Pogađamo jedan po jedan vrh na putu tako da u svakom koraku biramo vrh koji još nije bio posjeden. Jedna od grana računanja pogodit de vrhove u pravom redoslijedu. Potrebno vrijeme je u najgorem slučaju kvadratično u odnosu na broj vrhova.

• Veza između vremena potrebnog za rješavanje istog problema na nedeterministički odnosno deterministički način izražena je sljededim teoremom.

TR-V Teorija složenosti 16

17.4 Nedeterminističko vrijeme (3)

Page 9: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

9

• Teorem 17.2. Neka je L rekurzivan jezik. Pretpostavimo da postoji nedeterministički TS koji u vremenu T(n) odlučuje da li zadana riječ w duljine npripada L. Tada postoji deterministički TS koji obavlja isti posao u vremenu O(CT(n)), gdje je C konstanta.

• Dokaz teorema. Neka je N NTS koji odlučuje L u vremenu T(n). Zamišljamo da N ima read-only ulaznu traku i posebnu radnu traku. N može potrošiti najviše T(n) klijetki na radnoj traci. Dakle broj mogudih konfiguracija je najviše X = qngT(n), gdje je g veličina alfabeta, a q broj stanja od N.Da bismo simulirali rad od N na deterministički način:

TR-V Teorija složenosti 17

17.4 Nedeterminističko vrijeme (4)

– Generiramo sve mogude konfiguracije. – Odredimo koja konfiguracija slijedu koju – to je takozvani

graf konfiguracija. – Gledamo da li postoji put u tom grafu od početne do neke

prihvadajude konfiguracije.

Postupak zahtijeva determinističko vrijeme koje je polinom od X. Time dobivamo traženu ogradu. Preciznije, dobivamo ogradu O(X2) = O(q2n2g2T(n)) = O(CT(n)) za bilo koji C > g2.

• Prethodni teorem sugerira da problem koji je rješiv u polinomijalnom vremenu pomodu NTS ne mora biti rješiv u polinomijalnom vremenu pomodu determinističkog TS.

TR-V Teorija složenosti 18

17.4 Nedeterminističko vrijeme (5)

Page 10: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

10

• Primijetimo da bilo koji NTS možemo prepraviti tako da sva svoja pogađanja bilježi na posebnu traku. Štoviše, mogude je da NTS ta pogađanja zapiše na početku.

• To nam daje još jedan način kako možemo predočiti nedeterminizam. Možemo zamišljati da NTS radi ovako.– On najprije nedeterministički ispisuje niz znakova na

posebnu traku koja se zove certifikat.– Dalje on radi sasvim deterministički služedi se

certifikatom na read-only način.– Kad god treba napraviti neki nedeterministički izbor, on

pročita taj izbor iz certifikata.TR-V Teorija složenosti 19

17.5 Certifikati (1)

• Da bismo pokazali da neki problem pripada klasi NP, dovoljno je pokazati da za taj problem postoji certifikat koji omoguduje determinističko rješavanje problema u polinomijalnom vremenu.

• Primjer 17.8. Certifikat za HAMPATH je sam Hamiltonovput. Da bi obradili taj certifikat, trebamo provjeriti da je riječ o putu koji počinje u vrhu a i završava u vrhu b te svaki čvor posjeduje točno jednom. Sve se to može obaviti deterministički u polinomijalnom vremenu.

• Makar je HAMPATH u NP, nije jasno da li je njegov komplement u istoj klasi. Naime nitko još nije konstruirao odgovarajudi certifikat za nepostojanje Hamiltonovog puta.

TR-V Teorija složenosti 20

17.5 Certifikati (2)

Page 11: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

11

• Kod Booeovskih formula, niz literala povezanih s zovemo klauzula. Kažemo da je formula u konjuktivnoj normalnoj formi ako se ona sastoji od više klauzula povezanih s . Formula je zadovoljiva ako postoji pridruživanje vrijednosti istina/laž varijablama koje formulu čini istinitom.

• Primjer 17.9. Booleovska formulax (x y z) (x y)je u konjuktivnoj normalnoj formi. Ako postavimo da je x=istina, y=z=laž, tada je ta formula postaje istinita. Dakle ona je zadovoljiva.

TR-V Teorija složenosti 21

17.5 Certifikati (3)

• Primjer 17.10. Promatramo jezikSAT = { <> | je Booleovska formula u konjuktivnoj

normalnoj formi koja je zadovoljiva }. Tada taj jezik (problem zadovoljivosti) pripada klasi NP.Zaista, certifikat se sastoji od pridruživanja vrijednosti istina/laž varijablama. Obrada certifikata sastoji se od izvrednjavanja formule i može se obaviti deterministički u polinomijalnom vremenu.

• Primijetimo da nije poznat deterministički polinomijalnialgoritam za prepoznavanje SAT. Naime, svih mogudih pridruživanja ima eksponencijalno mnogo, pa isprobavanje svih mogudnosti ne dolazi u obzir.

TR-V Teorija složenosti 22

17.5 Certifikati (4)

Page 12: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

12

• Primjer 17.11. Promatramo binarne jezikePRIME = skup svih prostih brojeva zapisanih u

binarnom brojevnom sustavu.COMPOSITE = skup svih složenih brojeva zapisanih u

binarnom brojevnom sustavu.Pitamo se spadaju li ovi jezici u klasu P ili NP?Jasno je da je COMPOSITE u NP – kao certifikat može poslužiti rastav zadanog broja u dva faktora. Obrada certifikata sastoji se od množenja faktora i provjere.

• Nije jasno da li PRIME pripada NP - ne pada nam na

pamet certifikat prostosti broja. Ipak, zbog rezultata iz teorije brojeva, dugo se znalo da je PRIME u NP.

TR-V Teorija složenosti 23

17.5 Certifikati (5)

• Primijetimo da binarni zapis broja m ima duljinu n= log2m. Polinomijalni algoritam za prepoznavanje da li je m prost ili složen treba trošiti vrijeme koje je polinom od log2m, a ne od m. Kad bismo tražili polinom od m, bilo bi prelagano.

• U 2002. godini, indijski autori Agrawal, Kayal i Saxenapokazali su je da je PRIME ipak u P. Posljedica je da je i COMPOSITE u P, naime klasa P je zbog determinizma zatvorena na komplementiranje jezika.

• Ipak, još uvijek nije poznat deterministički polinomijalni algoritam koji bi odredio faktorizacijusloženog broja.

TR-V Teorija složenosti 24

17.5 Certifikati (6)

Page 13: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

13

• Primjer 17.12. Promatramo problem odlučivanja SUBSET_SUM. Ulaz čini konačni skup brojeva: a1, a2, ... ak, zapisanih u binarnom sustavu, te dodatni ciljni broj c također zapisan u binarnom sustavu. Pitanje glasi: da li postoji podskup skupa brojeva a1, a2, ... ak čiji zbroj je jednak ciljnom broju c?Problem SUBSET_SUM je u NP. Certifikat je lista indeksa brojeva čiji zbroj daje cilj.

TR-V Teorija složenosti 25

17.5 Certifikati (7)

• Vidjeli smo da je P NP. No postavlja se pitanje: da li je PNP ?

• Ovo je jedno od najvažnijih otvorenih pitanja današnje matematike i računarstva. The Clay Institute je ponudio nagradu od 1 milijun dolara za odgovor.

• Vedina ljudi misli sa je PNP , no nitko to ne zna

dokazati.• Kad bi se pokazalo da je ipak P = NP , to bi imalo i

dobre i loše posljedice.– Dobra posljedica: mnogi važni problemi iz klase NP ipak

bi se mogli efikasno rješavati.– Loša posljedica: današnji kriptografski algoritmi ipak ne bi

bili sigurni, njihove šifre bi se relativno lako mogle razbiti.TR-V Teorija složenosti 26

17.6 Odnos P i NP

Page 14: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

14

17. Vremenska složenost

18. Prostorna složenost

19. NP-potpunost

TR-V Teorija složenosti 27

Sadržaj dijela V

• Nakon vremena računanja, drugi važan resurs koji je potreban kod rješavanja problema je prostor.

• Kod stvarnih računalnih programa, prostor je ustvari količina radne memorije koju program troši.

• Mi demo programe i algoritme opet modelirati Turingovim strojevima. To znači da demo prostor poistovjetiti s brojem zauzetih klijetki na radnim trakama stroja.

• Postoji bitna razlika između vremenske i prostorne složenosti: za razliku od vremena, isti prostor obično se može ponovo upotrijebiti za različite svrhe unutar istog računanja.

TR-V Teorija složenosti 28

18.0 Opdenito o prostornoj složenosti

Page 15: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

15

• Kad računamo prostor koji koristi TS, gledamo veličinu upotrjebljenog dijela trake, no ne računamo ulaz.

• Dakle zamišljamo da je ulaz posebnoj read-only traci, te da TS za pisanje koristi jednu ili više radnih traka.

• Kažemo da (deterministički) TS M radi u prostoru S(n) ako M za bilo koji ulaz duljine n ukupno na svim radnim trakama koristi najviše S(n) klijetki.

• Primjer 18.1. Jezik SAT može se odlučiti u linearnom prostoru. To se ostvaruje isprobavanjem svih mogudih pridruživanja istine i laži varijablama. Treba pamtiti trenutno pridruživanje. Potreban je i prostor za izvred-njavanje formule. Za obje stvari dovoljan je linearni prostor.

TR-V Teorija složenosti 29

18.1 Deterministički prostor (1)

• Prostorna i vremenska složenost međusobno su povezane. Najprije navodimo ovisnost prostora o vremenu.

• Teorem 18.1. Ako TS rješava problem veličine n u vremenu T(n), tada on ne zahtijeva prostor vedi od T(n).

• Dokaz teorema: očigledan. Bududi da TS za posjet jednoj klijetki troši barem jedan korak, broj posjedenih klijetki ne može premašiti ukupan broj koraka.

• Da bismo dobili obratnu ovisnost vremena o prostoru, sjetimo se ponovo sljedede činjenice. Iz nje dalje slijede dva teorema.

TR-V Teorija složenosti 30

18.1 Deterministički prostor (2)

Page 16: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

16

• Činjenica. Pretpostavimo da deterministički TS pri obradi ulaza duljine n koristi prostor S(n). Neka je gbroj znakova alfabeta trake, a q broj stanja stroja. Ako se stroj nije zaustavio nakon qngS(n) koraka, tada se on zaglavio u beskonačnoj petlji.

• Gornja tvrdnja je očigledno istinita, jer broj koraka premašuje broj mogudih konfiguracija, pa je moralo dodi do ponavljanja iste konfiguracije.

• Teorem 18.2. Ako postoji TS M koji prihvada jezik Li za ulaz duljine n radi u prostoru S(n) (gdje je S(n) ≥ log n), tada postoji drugi TS M’ koji prihvada isti jezik, radi u prostoru O(S(n)) i uvijek se zaustavlja.

TR-V Teorija složenosti 31

18.1 Deterministički prostor (3)

• Dokaz teorema. Sagradimo novi TS M’ koji je skoro jednak M-u no ima ugrađen binarni brojač koraka koje je M’ izvršio. Kad brojač premaši prije navedenu granicu qngS(n), M’ se zaustavlja i odbacuje ulaz. Opdenito, brojač koji treba brojati do T zauzima prostor O(log T). Za naš brojač to je O(log(qngS(n))) = O(S(n) + log n) = … (zbog S(n) ≥ log n) … = O(S(n)). Ukupni prostor za M’ je S(n) + O(S(n)) = O(S(n)).

• Teorem 18.3. Pretpostavimo da se jezik L može odlučiti u prostoru S(n) (gdje je S(n) ≥ log n). Tada postoji konstanta C takva da se L može odlučiti u vremenu O(CS(n)).

TR-V Teorija složenosti 32

18.1 Deterministički prostor (4)

Page 17: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

17

• Dokaz teorema. Uzmimo TS M’ iz dokaza prethodnog teorema. Njegovo vrijeme računanja iznosi: qngS(n) ≤ q2log ngS(n) ≤ … (zbog S(n) ≥ log n) … ≤ q.2S(n)gS(n) = q.(2g)S(n) = O(CS(n)), za C ≥ 2g.

• Teorem 18.3 ne može se proširiti na slučaj S(n) < log n. To pokazuje primjer determinističkog KA. Naime:– DKA koristi konstantni prostor k, dakle S(n) = k < log n.– Kad bi teorem vrijedio za DKA, ispalo bi da DKA prepoznaje

riječ duljine n u konstantnom vremenu, naime O(Ck) = O(1).– No mi znamo da DKA zahtijeva linearno vrijeme.

Može se pokazati da vrijedi.• Teorem 18.4. Jezik je odlučiv u konstantnom prostoru

ako i samo ako je on regularan.TR-V Teorija složenosti 33

18.1 Deterministički prostor (5)

• Kažemo da nedeterministički TS M radi u prostoru S(n) ako M za bilo koji ulaz duljine n i za bilo koju granu računanja ukupno na svim radnim trakama koristi najviše S(n) klijetki.

• Prijašnji rezultati koje smo dokazali za determinističke strojeva zapravo vrijede i za nedeterminističke. Na primjer:

• Teorem 18.5. Ako nedeterministički TS rješava problem veličine n u vremenu T(n), tada on ne zahtijeva prostor vedi od T(n).

TR-V Teorija složenosti 34

18.2 Nedeterministički prostor (1)

Page 18: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

18

• Teorem 18.6. Ako postoji nedeterministički TS Mkoji prihvada jezik L i za ulaz duljine n radi u prostoru S(n) (gdje je S(n) ≥ log n), tada postoji drugi nedeterministički TS M’ koji prihvada isti jezik, radi u prostoru O(S(n)) i uvijek se zaustavlja.

• Teorem 18.7. Pretpostavimo da se jezik L može odlučiti pomodu nedeterminističkog TS-a u prostoru S(n) (gdje je S(n) ≥ log n). Tada postoji konstanta C takva da se L može odlučiti pomodu determinističkog TS-a u vremenu O(CS(n)).

• Dokaze ovih teorema ostavljamo za vježbu. Zasnivaju se na sličnim idejama kao prije.

TR-V Teorija složenosti 35

18.2 Nedeterministički prostor (2)

• Klasa svih jezika odnosno problema odlučivanja koji se mogu odlučiti u polinomijalnom prostoru označava se s PSPACE.

• Drugim riječima, jezik L je u PSPACE ako postoji konstanta k i deterministički TS M takvi da M u prostoru O(nk) odlučuje da li riječ duljine n pripada ili ne pripada L.

• Slično, klasa svih jezika odnosno problema odlučivanja koji se mogu odlučiti u polinomijalnomprostoru pomodu nedeterminističkog TS-a označava se s NPSPACE.

TR-V Teorija složenosti 36

18.3 Polinomijalni prostor (1)

Page 19: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

19

• Za razliku od vremenskih klasa P i NP gdje nije jasno da li su one različite ili nisu, za prostorne klase se zna da su one zapravo jednake. Naime vrijedi:

• Teorem 18.8 (Savitch). PSPACE = NPSPACE. Preciznije, ako postoji nedeterministički TS koji odlučuje jezik L u prostoru S(n) (gdje je S(n) ≥ log n), tada postoji deterministički TS koji odlučuje L u prostoru O((S(n))2).

• Tvrdnja o jednakosti klasa slijedi zato što je kvadrat polinoma opet polinom. U nastavku slijedi skica dokaza. Opširnija varijanta dokaza nalazi se u knjizi Sipser. Poglavlje 8.1. Obavezno proučiti!

TR-V Teorija složenosti 37

18.3 Polinomijalni prostor (2)

• Dokaz teorema zasniva se na rekurziji. Neka je Mnedeterministički TS koji se uvijek zaustavlja i radi u prostoru S(n). Tada M zahtijeva najviše T = qngS(n)

koraka. Ovdje je opet q broj stanja i g broj znakova iz alfabeta trake. Preinačimo M tako da u slučaju prihvadanja briše radnu traku i završava u jednom određenom stanju.Kao i prije, konfiguracija stroja bilježi sadržaj radne trake, stanje stroja i položaj glava na trakama. Zbog jednostavnosti, nadopunimo svaku konfiguraciju praznim znakovima tako da ima duljinu S(n).

TR-V Teorija složenosti 38

18.3 Polinomijalni prostor (3)

Page 20: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

20

Tada za zadani ulaz postoji jedinstvena početna konfiguracija Cs i jedinstvena prihvadajudakonfiguracija Ca. Pitanje je da li postoji legalni niz koraka od Cs do Ca ?Definiramo Booleovsku funkciju f koja uzima kao argumente dvije konfiguracije C1 i C2 te cijeli broj i. f(C1,C2,i) je istina ako M može iz C1 dodi u C2 u najviše i koraka, inače je f(C1,C2,i) laž. Ova funkcija može se izračunati rekurzijom u skladu sa sljededim pseudokodom. Pomodna funkcija oneStep određuje da li se konfiguracija C2 može odbiti jednim korakom iz C1 prema pravilima rada M.

TR-V Teorija složenosti 39

18.3 Polinomijalni prostor (4)

Funkcija f(C1,C2,i) {ako (i == 1)

vrati oneStep(M,C1,C2)

inače {za sve nizove znakova C3 duljine S(n) {

ako ( f(C1,C3,i/2) == istina ) i ( f(C3,C2,i/2) == istina ) vrati istinu

}vrati laž

}}

TR-V Teorija složenosti 40

18.3 Polinomijalni prostor (5)

Page 21: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

21

Funkcija f može se implementirati kao deterministički stroj N kojeg možemo pitati da li je istina f(Cs,Ca,T). Odgovor odlučuje jezik L. Tvrdimo da N koristi prostor O((S(n))2). Da bismo se u to uvjerili, sjetimo se da rekurzivni program radi uz pomod stoga, tako da stavlja na stog “snimku stanja” svih pomodnih varijabli svaki put kad sam sebe pozove. Svaka konfiguracija, pa zato i svaka snimka stanja, zahtijeva prostor O(S(n)). Maksimalni broj snimaka stanja na stogu u bilo kojem trenutku je log T, naime svaki korak rekurzije raspolavlja zadani cijeli broj, tako da rekurzija koristi najviše log T razina.

TR-V Teorija složenosti 41

18.3 Polinomijalni prostor (6)

Sa obzirom da je log T reda veličine O(S(n)), slijedi da čitav stog u jednom trenutku zauzima O(S(n)). S(n) = O((S(n))2) klijetki. Time je Savitch-ev teorem dokazan.

• Prostor PSPACE ima mnoga zanimljiva svojstva. Na primjer:– Problem odlučivanja da li neki RI generira sve mogude

nizove znakova je u PSPACE.– Lako se pokaže da je PSPACE zatvoren s obzirom na

operaciju *.– Također, može se pokazati da PSPACE sadrži bilo koji

jezik koji je generiran nekom kontekstno-osjetljivom gramatikom.

TR-V Teorija složenosti 42

18.3 Polinomijalni prostor (7)

Page 22: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

22

• Klasa svih jezika ili problema odlučivanja koji su mogu odlučiti u logaritamskom prostoru označava se s L.

• Drugim riječima, jezik L je u L ako postoji deterministički TS M takav da M u prostoru O(log n). odlučuje da li riječ duljine n pripada ili ne pripada L.

• Slično, klasa svih jezika ili problema odlučivanja koji se mogu odlučiti u logaritamskom prostoru pomodu nedeterminističkog TS-a označava se s NL.

• Primjer 18.2. Jezik { 0n1n | n≥0 } je u L. Odlučivanje tog jezika može se implementirati pomodu brojača koji broje nule odnosno jedinice. Brojač do n može se u binarnom sustavu zapisati pomodu log2n bitova.

TR-V Teorija složenosti 43

18.4 Logaritamski prostor (1)

• Do sada smo uveli nekoliko klasa vremenske ili prostorne složenosti za jezike odnosno probleme odlučivanja. Zanima nas odnos tih klasa.

– Očito je L NL. Također P NP.

– Iz Teorema 18.7 slijedi da je NL P (naime Clog n je polinom od n).

– Teorem 18.3 nam kaže da je PSPACE EXPTIME.

Ovdje smo s EXPTIME označili klasu jezika odlučivih u eksponencijalnom vremenu pomodu determinističkog TS-a, dakle klasu jezika odlučivih u vremenu O(Cp(n)) gdje je ppolinom.

– Dalje zbog Teorema 18.5 slijedi da je NP NPSPACE.– Savitchev Teorem 18.8 je rekao NPSPACE = PSPACE.

TR-V Teorija složenosti 44

18.4 Logaritamski prostor (2)

Page 23: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

23

• Kad sve ovo kombiniramo dobivamo sljededi niz inkluzija.

L NL P NP NPSPACE = PSPACE EXPTIME.

• Ni za jednu od inkluzija u nizu ne zna se da li je stroga ili nije. Ipak, bar jedna mora biti stroga jer je dokazano da je L ≠ NPSPACE.

• Vedina istraživača vjeruje da su sve inkluzije u gornjem nizu stroge.

TR-V Teorija složenosti 45

18.4 Logaritamski prostor (3)

17. Vremenska složenost

18. Prostorna složenost

19. NP-potpunost

TR-V Teorija složenosti 46

Sadržaj dijela V

Page 24: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

24

• Makar pitanje da li je P=NP za sada nema odgovora, ipak možemo identificirati probleme u NP koju su u određenom smislu “najteži”.

• Takvi problemi zovu se NP-potpuni. Oni imaju sljedede svojstvo: ako postoji polinomijalni algoritam za jednog od njih, tada postoji polinomijalnialgoritam za bilo koji problem iz klase NP.

• Traženje odgovora na pitanje da li je P=NP može se usmjeriti na traženje polinomijalnog algoritma za bilo koji od NP-potpunih problema.

TR-V Teorija složenosti 47

19.0 Opdenito o NP-potpunosti

• Pojam NP-potpunosti gradi se na pojmu redukcije o čemu smo ved govorili u Poglavlju 15.

• Funkcija f (koja preslikava riječ u riječ) je izračunljiva u polinomijalnom vremenu ako postoji konstanta k i TS koji za argument duljine n računa vrijednost od f u vremenu O(nk).

• Jezik A je reducibilan u polinomijalnom vremenu na jezik B ako se A reducira na B preko funkcije f izračun-ljive u polinomijalnom vremenu. Oznaka: A ≤p B.

• Teorem 19.1.(a) Ako je A ≤p B i B je u P, tada je također i A u P.(b) Ako je A ≤p B i A nije u P, tada ni B nije u P.

TR-V Teorija složenosti 48

19.1 Detaljnije o NP-potpunosti (1)

Page 25: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

25

• Dokaz teorema. Dokazujemo samo (a), (b) je obrat od (a) po kontrapoziciji. Neka je redukcija A na B dana funkcijom f izračunljivom u vremenu O(nk). Uzmimo da pripadnost riječi duljine n jeziku B možemo odlučiti u vremenu O(nl). Sagradimo odlučitelj za A na sljededi način: za ulaz w računamo f(w) i zatim gledamo da li je f(w) u B. Taj odlučitelj radi u polinomijalnom vremenu. Zaista, ako w ima duljinu n, tada je duljina od f(w) najviše O(nk) bududi da program za f može napisati najviše jedan znak u svakom koraku. Znači da provjera pripadnosti f(w) jeziku B može trajati najviše O((nk)l) = O(nkl), što je još uvijek polinomijalno vrijeme.

TR-V Teorija složenosti 49

19.1 Detaljnije o NP-potpunosti (2)

• Jezik S je NP-potpun ako:– S pripada NP,– Za sve A koji su u NP vrijedi da je A ≤p S.

• Ova definicija zbog prethodnog teorema zapravo znači sljedede.(a) Ako je S NP-potpun i S je u P, tada je P=NP.(b) Ako je S NP-potpun, T je u NP i S ≤pT, tada je i TNP-potpun.

TR-V Teorija složenosti 50

19.1 Detaljnije o NP-potpunosti (3)

Page 26: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

26

• Standardna metoda dokazivanja NP-potpunosti je da se uzme problem za koji se zna da je NP-potpun te da ga se reducira u polinomijalnom vremenu na problem iz NP za kojeg želimo dokazati da je NP-potpun. Dakle, primjenjuje se prethodna tvrdnja (b).

• Ipak, da bi ovakva metoda funkcionirala, moramo imati barem jedan početni problem za koji je neposredno dokazano da je NP-potpun. Takav početni problem daje nam sljededi teorem.

• Teorem 19.2 (Cook-Levin). Jezik SAT, dakle problem zadovoljivosti Booleovske formule u konjuktivnojnormalnoj formi, je NP-potpun.

TR-V Teorija složenosti 51

19.2 Dokazivanje NP-potpunosti (1)

• Cjelovit dokaz Cook-Levinog teorema nalazi se u knjizi Sipser, Poglavlje 7.4 – obavezno proučiti za pristupni ispit!

• Ideja dokaza teorema. Pokazali smo da je SAT u NP– vidi Primjer 17.5. Ostaje pokazati da se bilo koji jezik A iz NP može reducirati na SAT u polinomijalnom vremenu.Bududi da je A iz NP, postoji nedeterministički TS M koji odlučuje A u polinomijalnom vremenu. Redukcija A na SAT uzima zadanu riječ w i stvara Booleovsku formulu u KNF koja simulira rad od Mna ulazu w.

TR-V Teorija složenosti 52

19.2 Dokazivanje NP-potpunosti (2)

Page 27: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

27

Pritom vrijedi:– Ako M prihvada w, tada je zadovoljiva, a odgovarajude

pridruživanje istine/laži varijablama od opisuje granu računanja od M koja vodi u prihvadajude stanje.

– Ako M ne prihvada w, tada ne postoji pridruživanje za koje je istinita.

Znači, w je u A ako i samo ako je zadovoljiva.

Pretvorba M i w u odvija se u polinomijalnomvremenu. Točnije, ako je n duljina od w, a M odlučuje w u polinomijalnom vremenu p(n), tada vrijeme za konstrukciju iznosi O(p3(n).log n).

TR-V Teorija složenosti 53

19.2 Dokazivanje NP-potpunosti (3)

Sam postupak kako se iz M i w konstruira prilično je kompliciran i sadrži velik broj tehničkih detalja.

• Nakon što smo ustanovili da je SAT NP-potpun, dalje možemo:– SAT reducirati na razne druge probleme iz NP i time

dokazati da su i ti drugi problemi NP-potpuni,– te druge probleme reducirati na trede probleme iz

NP i dokazati da su ti tredi problemi NP-potpuni,– … i tako dalje.

Skup NP-potpunih problema se širi.

TR-V Teorija složenosti 54

19.2 Dokazivanje NP-potpunosti (4)

Page 28: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

28

• Trenutno postoji više od 3000 problema za koje se zna da su NP-potpuni. Popis se stalno povedava.

• U nastavku slijedi nekoliko primjera problema za koje je:– jasno da su iz NP jer postoji očigledni certifikat,– redukcijom dokazano da su NP-potpuni.

• 3SAT– Ulaz: Booleovska formula u KNF s točno tri literala po

klauzuli.– Pitanje: da li je zadovoljiva?

TR-V Teorija složenosti 55

19.3 Primjeri NP-potpunih problema (1)

• CLIQUE– Ulaz: graf G i prirodni broj k.– Pitanje: da li u G postoji klika veličine barem k? (Klika je

skup vrhova od kojih je svaki sa svakim povezan bridom).

• DOMINATION– Ulaz: graf G i prirodni broj k.– Pitanje: da li u G postoji dominirajudi skup od najviše k

vrhova? (Skup vrhova D je dominirajudi ako je svaki od preostalih vrhova povezan bridom s barem jednim iz D).

• VERTEX_COVER– Ulaz: graf G i prirodni broj k.– Pitanje: da li u G postoji vršni pokrivač veličine najviše k?

(Skup vrhova V je vršni pokrivač ako svaki brid u grafu ima barem jedan kraj u V).

TR-V Teorija složenosti 56

19.3 Primjeri NP-potpunih problema (2)

Page 29: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

29

• HAMCYCLE– Ulaz: graf G.– Pitanje: da li u G postoji Hamiltonov ciklus? (Hamiltonov

ciklus je kružni put koji svakim vrhom prolazi točno jednom).

• HAMPATH– Ulaz: graf G, vrhovi a i b iz G.– Pitanje: da li u G postoji Hamiltonov put od a do b?

(Hamiltonov put od a do b je takav put od a do b koji svakim od preostalih vrhova prolazi točno jednom).

• COLOR– Ulaz: graf G i prirodni broj k.– Pitanje: da li se vrhovi od G mogu obojiti s najviše k boja?

(Vrhovi povezani bridom moraju imati različite boje).TR-V Teorija složenosti 57

19.3 Primjeri NP-potpunih problema (3)

• EXACT_COVER– Ulaz: porodica skupova F = {S1, S2, …, Sk}.– Pitanje: da li postoji podskup T F disjunktnih skupova Si

takav da je unija svih Si iz T jednaka uniji svih Si iz F?

• SUBSET_SUM– Ulaz: skup prirodnih brojeva {a1, a2, …, ak} i dodatni broj c.– Pitanje: da li postoji podskup od {a1, a2, …, ak} takav da

zbroj elemenata u njemu iznosi točno c?

• PARTITION– Ulaz: multiskup prirodnih brojeva {a1, a2, …, ak} .– Pitanje: da li se zadani multiskup može podijeliti u dva

disjunktna dijela tako da je zbroj elemenata u prvom dijelu točno jednak zbroju elemenata u drugom dijelu?

TR-V Teorija složenosti 58

19.3 Primjeri NP-potpunih problema (4)

Page 30: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

30

• Promotrimo opet graf iz primjera 17.4. – Rekli smo da u njemu postoji Hamiltonov put od A do I,

no ne postoji Hamiltonov put od A do C. – Skup vrhova {C, H, I} čini kliku.– {A, C, F} je dominirajudi skup.– {A, C, E, G, I} je vršni pokrivač.

TR-V Teorija složenosti 59

19.3 Primjeri NP-potpunih problema (5)

• Slijed međusobnih redukcija kojima se dokazuje NP-potpunost prethodnih problema mogao bi izgledati ovako:

TR-V Teorija složenosti 60

19.4 Primjeri redukcija (1)

Page 31: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

31

• U nastavku demo konstruirati neke od redukcija s prethodnog dijagrama. Nemamo vremena za sve redukcije, dajemo samo najzanimljivije primjere:– SAT ≤p 3SAT– 3SAT ≤p DOMINATION– SUBSET_SUM ≤p PARTITION

• U knjizi Sipser, poglavlje 7.5 mogu se nadi redukcije:– 3SAT ≤p CLIQUE– 3SAT ≤p VERTEX_COVER– 3SAT ≤p HAMPATH– 3SAT ≤p SUBSET_SUM

• Ostale redukcije s prethodnog dijagrama mogu se nadi na primjer u knjizi Horowitz, Sahni, Rahasekaran.

TR-V Teorija složenosti 61

19.4 Primjeri redukcija (2)

• Treba opisati postupak kojim se u polinomijalnomvremenu Booleovska formula koja je u KNF pretvara u Booleovsku formulu koja je u 3KNF. Pritom mora vrijediti da je zadovoljiva ako i samo ako je zadovoljiva.

• Postupak se sastoji u tome da bilo koju klauzulu C iz koja nije ispravne duljine zamijenimo s ekvivalentnim nizom DC od nekoliko klauzula koje su duljine 3.

TR-V Teorija složenosti 62

19.5 Redukcija SAT ≤p 3SAT (1)

Page 32: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

32

• Na primjer, klauzulu C od 5 literalaC = a b c d ezamijenimo s nizom DC od tri klauzuleDC = (a b x) (x c y) (y d e)Ovdje su x i y sasvim nove varijable. Tvrdimo da vrijedi:(a) Ako je C laž, onda je i DC laž.(b) Ako je C istina, onda možemo postidi da je i DC istina.

• Da pokažemo (a), pretpostavimo da je C laž. Tada su sve varijable a, b, …, e laž. Da učinimo prvu klauzulu u DC istinom, moramo postaviti da je x istina. Tada u drugoj klauzuli od DC y mora biti istina. No onda treda klauzula od DC postaje laž, pa je i cijela DC laž.

TR-V Teorija složenosti 63

19.5 Redukcija SAT ≤p 3SAT (2)

• Da pokažemo (b), pretpostavimo da je C istina. Tada neka od varijabli a, b, …, e mora biti istina. Ako je a ili b istina, tada možemo postaviti x i y na laž; ako je cistina, možemo postaviti x na istinu a y na laž; ako je d ili e istina, možemo postaviti x i y na istinu. U svakom slučaju, cijela DC de biti istina.

• Pretvorbu C u DC objasnili smo na primjeru kad C ima duljinu 5. No slično bismo postupili i za bilo koju drugu duljinu različitu od 3.

• Dakle, naša konstrukcija stvara Booleovsku formulu koja ima ispravni oblik.

TR-V Teorija složenosti 64

19.5 Redukcija SAT ≤p 3SAT (3)

Page 33: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

33

• Ako je zadovoljiva, tada postoji takvo pridruživanje da je svaka klauzula C istinita, pa se to pridruživanje može proširiti tako da svaki odgovarajudi niz klauzula DC u bude istinit.

• S druge strane, ako pridruživanje čini lažnom, tada jedna od klauzula od , na primjer C’, mora biti lažna, pa odgovarajudi niz DC’ u isto mora biti laž.

• Zadnja stvar koju moramo provjeriti je da se postupak konverzije u može ostvariti u polinomijalnomvremenu. Očito se može jer je posao pretvorbe svake klauzule proporcionalan s duljinom te klauzule.

TR-V Teorija složenosti 65

19.5 Redukcija SAT ≤p 3SAT (4)

• Treba opisati postupak koji u polinomijalnomvremenu za zadanu Booleovsku formulu u 3KNF konstruira graf G i prirodni broj k takve da je zadovoljiva ako i samo ako u Gpostoji dominirajudi skup od k vrhova.

• Pretpostavimo da formula ima c klauzula i ukupno m varijabli. Konstrukcija G i k ide ovako.– Za svaku klauzulu stvorimo vrh.– Za svaku varijablu v stvaramo trokut gdje jedan vrh ima

oznaku v, a drugi vrh oznaku v.– Za svaku klauzulu vrh klauzule spojimo s tri vrha koji

odgovaraju trima literalima iz te klauzule.– Broj k biramo kao k = m.

TR-V Teorija složenosti 66

19.6 Redukcija 3SAT ≤p DOMINATION (1)

Page 34: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

34

TR-V Teorija složenosti 67

19.6 Redukcija 3SAT ≤p DOMINATION (2)

• Na primjer za formulu zadanu s(x y z) (x y z)Graf G izgleda kao na slici, a k =3.

• Očigledno je da se graf može konstruirati u polinomijalnom vremenu.

• Jedino što još treba pokazati je da preslikavanje čuva odgovor na pitanje da li je zadovoljiva.

• Zaista, uzmimo da postoji pridruživanje koje zadovoljava . Neka je D skup od m vrhova koji odgovaraju istinitim literalima u tom pridruživanju. Tada je svaki trokut dominiran (jer postoji jedan vrh iz D u svakom trokutu). Također, svaki vrh-klauzula je dominiran jer jedan od literala u toj klauzuli mora biti istina. Znači D je dominirajudi skup veličine m.

TR-V Teorija složenosti 68

19.6 Redukcija 3SAT ≤p DOMINATION (3)

Page 35: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

35

• Obratno, pretpostavimo da G ima dominirajudi skup D veličine m. Tada se D mora sastojati od po jednog vrha iz svakog trokuta jer svi neoznačeni vrhovi u trokutima moraju biti dominirani a trokuta ima m. Dalje, da bi bio dominiran, svaki vrh-klauzula mora biti povezan s jednim vrhom-literalom koji je u D. Dakle ako stavimo za sve literale koji odgovaraju vrhovima iz D da su istina, dobivamo pridruživanje koje zadovoljava sve klauzule, dakle i .

TR-V Teorija složenosti 69

19.6 Redukcija 3SAT ≤p DOMINATION (4)

• Neka skup prirodnih brojeva A = {a1, a2, …, ak} i dodatni prirodni broj c definiraju primjerak problema zbroja podskupa.

• Konstruiramo u polinomijalnom vremenu skup B = {b1, b2, …, bk, bk+1, bk+2}, tako da je bi = ai, za i = 1, 2, …, k, bk+1 = c+1, bk+2 = (a1+a2+…+ak)+1–c .Skup B shvatimo kao primjerak problema particije.

• Tvrdimo da B ima particiju ako i samo ako A ima podskup sa zbrojem c. Da bi to dokazali primijetimo da – poluzbroj svih elemenata iz B iznosi (a1+a2+…+ak)+1,– bk+1 i bk+2 zajedno daju (a1+a2+…+ak)+2 .

TR-V Teorija složenosti 70

19.7 Red SUBSET_SUM ≤p PARTITION (1)

Page 36: Dio V: Teorija složenosti - PMF-MO studentske straniceweb.studenti.math.pmf.unizg.hr/~manger/tr/TR-V.pdf · Matematička logika i računarstvo Drugi semestar 17. Vremenska složenost

31.5.2011.

36

• Dakle bk+1 i bk+2 ne mogu biti u istom dijelu particijeod B bududi da je njihov zbroj prevelik, to jest vedi je od poluzbroja svih elemenata iz B.

• Pretpostavimo da B ima particiju. Gledamo one elemente od B (to su ustvari ai-ovi) koji su u toj particiji stavljeni zajedno s bk+2 . Bududi da oni zajedno s bk+2 daju poluzbroj za B, slijedi da njihov zbroj mora biti jednak c.

• Obratno, pretpostavimo da A ima podskup sa zbrojem c. Tada zbroj elemenata iz tog podskupa zajedno s bk+2 daje poluzbroj za B, pa je time određena particija za B.

TR-V Teorija složenosti 71

19.7 Red SUBSET_SUM ≤p PARTITION (2)