• Nem Talált Eredményt

Időbonyolultsági osztályok, P és NP

In document A SZÁMÍTÁSTUDOMÁNY ALAPJAI (Pldal 56-59)

5. Bonyolultságelmélet 54

5.2. Időbonyolultsági osztályok, P és NP

LegyenMolyan többszalagos determinisztikus Turing-gép, amely minden bemeneten megáll.

AzM időigényeaz az f :NN függvény, amelyre f(n)a legfeljebbn-hosszú bemeneten azM által megtett lépések számának maximuma. Azt mondjuk, hogyM időigénye

O

(g(n)), vagy hogyM

O

(g(n))időkorlátos Turing-gép, aholg:NR+, ha f(n) =

O

(g(n)).

Már beláttuk, hogy minden többszalagos gép szimulálható egyszalagos Turing-géppel. Módszerünk a lépések számában négyzetes romlást eredményezett.

5.24. Tétel. Legyent(n)≥n. Minden

O

(t(n))időigényű többszalagos Turing-géphez létezik ekvivalens,

O

(t2(n))időigényű egyszalagos Turing-gép.

Most deniáljuk a nemdeterminisztikus Turing-gép időigényét. LegyenT olyan többsza-lagos nemdeterminisztikus Turing-gép, melynek minden számítási sorozata véges és elfoga-dáshoz vagy elutasításhoz vezet. AT időigényét az az f :NN függvény adja, amelyre tetszőlegesnesetén f(n)aT legfeljebbn-hosszú bemeneten való számítási sorozatai hosszá-nak maximuma (= leghosszabb út hossza aT legfeljebbn-hosszú bemeneten való számítási fáiban).

Nem ismert, hogy létezik-e nemdeterminisztikus Turing-gépek determinisztikus géppel való szimulálására hatékony általános módszer. Az könnyen látható, hogy az erre korábban ismertetett módszerünk exponenciális romlást okoz.

5.25. Tétel. LegyenT olyan többszalagos nemdeterminisztikus Turing-gép, melynek minden számítási sorozata véges és elfogadáshoz vagy elutasításhoz vezet. Tegyük fel, hogyT időigé-nye

O

(t(n)), aholt(n)≥n. Ekkor létezikT-vel ekvivalens,2O(t(n))időigényű determinisztikus Turing-gép.

Tegyük fel, hogyt:N→R+olyan függvény, melyret(n)≥n. Ekkor legyen TIME(t(n)) az összes olyan nyelv osztálya, amely eldönthető

O

(t(n))időigényű többszalagos determi-nisztikus Turing-géppel. Hasonlóan, legyen NTIME(t(n)) az összes olyan nyelv osztálya, amely eldönthető

O

(t(n))időigényű többszalagos nemdeterminisztikus Turing-géppel. A po-linomidőben eldönthetőnyelvek osztálya:

Már hozzászokott ahhoz az Olvasó, hogy a nyelvekkel problémákat, feladatokat is rep-rezentálunk. Ebben a vonatkozásban aP ésNPosztály deníciója sokkal érdekesebb, mint ahogy az az első pillanatban tűnik: Pa polinomidőbenmegoldhatóproblémák osztályát rep-rezentálja,NPpedig az ún. polinomidőbenverikálhatóproblémák osztályát (ld. később).

Több indok hozható fel amellett, hogyP tekinthető a gyakorlatban hatékonyan megold-ható problémák osztályának, és persze több ellenérv is felhozmegold-ható. Az érvek közt szerepel az,

5. BONYOLULTSÁGELMÉLET 57

hogy egy olyan általános fogalmat alkottunk meg, melyhez bár egy konkrét számítási modellt, a Turing-gépet használtuk, de valójábanPfüggetlen a felhasznált számítási modelltől, mert a szóba jöhető modellek bármelyike polinomiális romlással szimulálható bármely másikkal.

(Ez az ún. polinomiális tézis, amelyet illusztrál az az eredmény, hogy többszalagos Turing-gép négyzetes romlással szimulálható egyszalagos Turing-géppel.) A fogalom a feladatok kódolásá-hoz felhasznált módszertől is független, hiszen az elfogadható kódolások közt is polinomiális kapcsolat van, gondoljunk csak a természetes számok2-es vagy10-es számrendszerben való ábrázolására. (Az unáris ábrázolás persze exponenciálisan hosszabb, ezért elfogadhatatlan.) Az ismert hatékony algoritmusokkal megoldható problémák nagy részéről valóban megmu-tatható az, hogy aPosztályba esik, és sok esetben a nagyságrend is kezelhető. Az ellenérvek közt szerepel az, hogy tekinthetünk-e egyΘ(n100)időigényű Turing-gépet vagy algoritmust valójában hatékonynak. Vagy bővíteni kellene aPosztályt, mert valószínűségi módszerekkel is kaphatunk gyakorlatban használható hatékony algoritmusokat, és ezekkel a módszerekkel esetleg megoldhatunk olyan problémákat is, melyek nem esnekP-be. Vagy mégis szűkíteni kellene aPosztályt valamilyen más okból, pld. a hatékony párhuzamosíthatóság szempontjá-ból. Mindezek gyelembevételével is tekinthetjük aPosztályt mint a hatékonyan megoldható problémák egy jó, és matematikai szempontból nagyon érdekes nemtriviális közelítését.

Néhány példa polinomidőben megoldható problémára.

Az elérhetőség az a feladat, hogy döntsük el adott végesGirányított gráfra és annaksés t csúcsaira, hogy vezet-e irányított úts-bőlt-be. Formálisan a problémához tartozó nyelv az összes olyan(G,s,t)hármas kódjából áll, aholGegy véges irányított gráf azséstcsúcsokkal, amelyre létezikG-bens-bőlt-be vezető irányított út. Az alábbi egyszerű algoritmus, melyet már bemutattunk és amely könnyen megvalósítható determinisztikus polinomidejű Turing-géppel, megoldja ezt a feladatot:

• Jelöljük meg azscsúcsot.

• Mindaddig, amíg már nem jelölhető meg új csúcs, ismételjük meg az alábbiakat: Ol-vassuk végig az éleket. Ha olyan(a,b)élet találunk, hogyameg van jelölve, debnincs, jelöljük meg abcsúcsot.

• Ha végült is meg van jelölve, akkor elfogadjuk, különben elutasítjuk a bemenetet.

5.26. Tétel. Minden környezetfüggetlen nyelv aPosztályba esik.

Bizonyítás. LegyenL⊆Σ környezetfüggetlen nyelv. Ekkor létezikL-et generálóG= (V,Σ,R,S)Chomsky normálformában adott nyelvtan. Ahhoz, hogy eldöntsük, hogy ε∈L teljesül-e, csak azt kell ellenőriznünk, hogy S→ ε szabály-e. Legyen most w∈ Σ, w= w1, . . . ,wn, n>0 nemüres szó, ahol wi Σminden i= 1, . . . ,n esetén. Deniáljuk aTi,j, 1≤i≤ j≤nhalmazokat a következő módon:

Ti,j={X ∈V :X wi. . .wj} ATi,jhalmazok mindegyike meghatározható

O

(n)időben:

Ti,i = {X ∈V :X →wi∈R}

Ti,j = {X ∈V :∃A,B∃k X →AB∈R, A∈Ti,k, B∈Tk+1,j, i<k< j}

Végülw∈Lakkor és csak akkor teljesül, haS∈T1,n. Az algoritmus összes időigénye

O

(n3).

Mai ismereteinkkel csak kimerítő kereséssel oldhatók meg az alábbi problémák:

• hamilton-út, melyben adott egy véges irányítottGgráf azsést csúcsokkal, és azt kér-dezzük, hogy vezet-es-bőlt-be olyan irányított út, mely minden csúcsot pontosan egy-szer érint.

• teljes részgráf, amelyben adott egyGvéges gráf és egykszám, és azt kérdezzük, hogy létezik-eG-nekkcsúcsú teljes részgráfja.

• egész értékű programozás, melyben adott egy egész együtthatós lineáris egyenlőtlenség rendszer, és azt kérdezzük, hogy van-e egész értékű megoldás.

• kielégíthetőség (sat), melyben adott az ítéletkalkulus egy konjunktív normálformájú formulája (Boole-formula), és azt kérdezzük, hogy kielégíthető-e.

5.19. Állítás. A fentihamilton-út,teljes részgráf,egész értékű programozás, kielégíthetőség problémák mindegyike megoldható nemdeterminisztikus polinomidőben, és így azNP osztály-ba esik.

Bizonyítás. Csak a hamilton-út esetére vázoljuk a bizonyítást. Annak eldöntésére, hogy a bemenetként megadottGgráfban vezet-e Hamilton-úts-bőlt-be, egy Turing-gép nemdetermi-nisztikusan generálja a csúcsok egy permutációját munkaszalagján, majd determinemdetermi-nisztikusan

O

(n) időben ellenőrzi, hogy az adott permutációs-ből t-be vezető Hamilton-utat határoz-e meg. Ha a permutáció Hamilton-utat határoz meg, elfogadja a bemenetet, különben

elutasít-ja.

AzNP-ben lévő feladatok mindegyikére az jellemző, hogy a lehetséges megoldások pol-inomidőben előállíthatóak, azokat egy nemdeterminisztikus Turing-gép polpol-inomidőben gene-rálhatja munkaszalagján, majd determinisztikusan polinomidőben ellenőrizhető az, hogy az előállított lehetséges megoldás valóban megoldás-e. Azt mondjuk, hogy egy L nyelv poli-nomidőben verikálható, ha létezik olyanK∈Pnyelv éskszám, hogy

L={x:∃y(x,y)∈K∧ |y|=

O

(|x|k)}.

AKnyelv persze nemcsak(x,y)alakú rendezett párokból állhat, hanem ezek polinom méretű

⟨x,y⟩kódjaiból is.

5.27. Tétel. TeszőlegesLnyelvre,L∈NPakkor és csakis akkor, haLpolinomidőben veri-kálható.

Ezért azNPosztályt a polinomidőben verikálható problémák osztályának is nevezhetjük.

A számítástudomány és a matematika egy híres megoldatlan kérdése, hogyP=NP teljesül-e. Később belátjuk majd, hogyP=NPakkor és csakis akkor, ha az5.19Állításban szereplő valamelyik probléma (és akkor mindegyikük) aPosztályba esik.

5. BONYOLULTSÁGELMÉLET 59

In document A SZÁMÍTÁSTUDOMÁNY ALAPJAI (Pldal 56-59)