5. Bonyolultságelmélet 54
5.7. Polinomiális tár
A polinomiális tárral megoldható problémák osztályátPSPACE-szel jelöljük. Formálisan:
PSPACE = ∪
k>0
SPACE(nk)
Savitch tételének alkalmazásával azonnal adódik az alábbi összefüggés.
5.11. Következmény.
Ismert, hogyP⊂EXP. Általánosan elfogadott az a sejtés, hogy mindegyik tartalmazás való-di.
Nevezzük qbf -nek azt a problémát, amely egy adott, zárt, prenex alakú Boole-formuláról azt kérdezi, hogyigaz-e. Mint nyelv, qbf az ilyenigazBoole-formulák kódjait tartalmazza.
Példaként
∃x1∀x2∃x3[(x1∨x2)∧(x2∨x3)∧(x2∨x3)]∈qbf
∃x∀y[(x∨y)∧(x∨y)]̸∈qbf
5.35. Tétel. (Stockmeyer és Meyer)qbfPSPACE-teljes.
Bizonyítás. Először belátjuk, hogy qbf ∈PSPACE. Ehhez tekintsük az alábbi algorit-must. Legyen adott aφzárt, prenex alakú Boole-formula.
1. Haφkvantormentes, akkor csak konstansokat tartalmaz, így értékeljük ki.
2. Ha φ=∃xψ alakú, akkor hívjuk az eljárást ψ-re először úgy, hogy az xhelyébe 0-t, majd úgy, hogyxhelyébe1-et helyettesítünk. Ha valamelyik hívásigaz-zal tér vissza, fogadjuk el aφbemenetet, különben utasítsuk el.
3. Haφ=∀xψalakú, akkor hasonlóan járunk el, de abban az esetben fogadjuk el a beme-netet, ha mindkét hívásigaz-zal tér vissza.
Az algoritmus tárigénye:
O
(n2)(ill.O
(n), ha formálisan nem végezzük el a behelyettesítést, csak a változók rögzített értékét tároljuk).Még be kell látnunk, hogy qbf PSPACE-nehéz. Ehhez legyenL∈PSPACE, mondjukL eldönthető azM
O
(nk)tárigényű determinisztikus ofine Turing-géppel, aholk≥1. Feltehe-tő, hogy a Turing-gépnek egy munkaszalagja van.Adottnhosszúwbemenő szóhoz szeretnénk olyann-ben polinom méretű formulát készí-teni, mely akkor és csak akkorigaz, haw∈L(M). Az egyszerűség kedvéért feltesszük, hogy nhosszú szavakonMelfogadás esetén mindig ugyanabban a kongurációban áll meg.
A kongurációk leírásához Boole-változókat használunk, mint Cook tételének bizonyítá-sában. Egy konguráció leírásához
O
(nk)változó szükséges. Mivel az elérhető kongurációk hosszaO
(nk), ezért az időigény2O(nk).Jelöljönφc1,c2,t olyan formulát, mely akkor és csakis akkor igaz, ha ac1 kongurációból legfeljebbt lépésen elérhető ac2konguráció. A φc1,c2,1 könnnyen felírható, hossza
O
(nk)(ha minden változó hosszát1-nek vesszük). Legyent>1. Ekkor φc1,c2,t =∃c[φc1,c,⌈2t⌉∧φc,c2,⌈2t⌉]
megfelelő lenne, de ez a módszer exponenciálisan hosszú formulákat eredményez! Ezért ezt a formulát az alábbiak szerint adjuk meg:
φc1,c2,t=∃c∀d∀d′ [
((d=c1∧d′=c)∨(d=c∧d′=c2))→φd,d′,⌈2t⌉
]
(Itt ad=c1egy olyan
O
(n2k)hosszú formulának a rövidítése, amely azt fejezi ki, hogy ad által leírt konguráció megegyezik acáltal leírt kongurációval.)Valójában a megadott formula nem prenex alakú, de könnyen prenex alakra hozható. Vé-gülw∈Lakkor és csak akkor, haφc0,cf,t igaz, aholc0aw-hez tartozó kezdőkonguráció,cf az elfogadó konguráció, ést alkalmas2O(n)nagyságrendű szám.
Megjegyezzük, hogy qbf akkor is PSPACE-teljes, ha a formula magja konjunktív nor-málforma, a kvantorok alternálnak, és az első kvantor∃(esetleg az utolsó is∃). Ekkor qbf felfogható kétszemélyes játékként. Adott
φ=∃x1∀x2∃x3. . .Qxkψ formulához tartozó játékban,
5. BONYOLULTSÁGELMÉLET 71
• az 1. játékos választja azx1,x3, . . .változók értékét és céljaψigazzá tétele,
• a 2. játékos választja felváltva azx2,x4, . . .értékét, céljaψhamissá tétele.
Ígyφ∈qbf akkor és csak akkor, ha az 1. játékosnak nyerő stratégiája van.
A földrajzi játék-ban adott egyGirányított gráf és annak egypkezdőcsúcsa. Két játékos p-ből indulva felváltva egy olyan út csúcsait nevezi meg, mely nem halad át már megláto-gatott csúcson. Az a játékos veszít, aki nem tud újabb csúcsot megnevezni. A feladat annak eldöntése, hogy az első játékosnak van-e nyerő stratégiája.
5.36. Tétel. Aföldrajzi játékPSPACE-teljes.
Bizonyítás. Az, hogy földrajzi játékPSPACE-ben van, a qbf -hez hasonlóan igazolható.
Azt, hogyPSPACE-nehéz, a qbf -ből való polinomidejű visszavezetéssel igazoljuk.
Legyen adva aφformula:
φ=∃x1∀x2∃x3. . .∃xkψ
aholkpáratlan,ψ=c1∧. . .∧cmegy konjunktív normálforma. Készítsük el az alábbi gráfot:
A gráfban minden változóhoz tartozik egy rombusz, a formula magjához aψ-vel címkézett csúcs, aψmindenciklózához egy csúcs, végül minden egyesci-ben előforduló literálhoz egy-egy csúcs. A kezdő csúcs p, azxiváltozóhoz tartozó rombusz felső csúcsa. A változókhoz tartozó rombuszok fel vannak fűzve. Az xk-koz tartozó rombusz alsó csúcsából él vezet a ψ-hez tartozó csúcsba, és onnan egy-egy él a klózokhoz tartozó csúcsokhoz. Minden klózhoz tartozó csúcsból él vezet a benne lévő literálokhoz tartozó csúcsokhoz. Végül ha egy literál azxiváltozó, akkor a literálhoz tartozó csúcsból él vezet azxi-hez tartozó rombusz baloldali csúcsába, ha pedig a literálxi, akkor a jobboldali csúcsába.
A játékosok a p-ből indulva minden rombuszon baloldalon, vagy jobboldalon haladnak végig. Annak, hogy egy xi változóhoz tartozó rombusz baloldalán haladnak végig, feleljen
meg azxi igaz (1) értéke, ha pedig a jobboldalon haladnak végig, ahamis (0) értéke. Mi-közben a játékosok végighaladnak a rombuszokon, megválasztják a változók egy lehetséges értékelését, mégpedig úgy, hogy az 1. játékos választja meg a páratlan sorszámú, 2. játékos a páros sorszámú változók értékét.
Most tegyük fel, hogy φ kielégíthető. Akkor a a qbf játékban az 1. játékosnak nyerő stratégiája van. A földrajzi játék 1. játékosa játsszon úgy, hogy valahányszor a qbf játékban az 1. játékos azxiértékét1-nek választja, akkor azxirombusz balodali csúcsát nevezi meg, különben a jobboldalit. Az így meghatározottτértékelés kielégítiψ-t.
Mivekkpáratlan, azxk-hoz tartozó rombusz alsó csúcsát az 2. játékos választja, és ezután az1.játékos aψ-hez tartozó csúcsot választja (mint egyetlen lehetőséget). Ezek után válassza ki a 2. játékos mondjuk acj klózhoz tartozó csúcsot. Mivet τ kielégíticj-t, τ mellett acj valamelyik literáljaigaz. Az 1. játékos válassza ki az ennek megfelelő csúcsot! Ekkor a 2.
játékos vesztett. Valóban, ha a literál az xi változó, akkor a 2. játékos egyetlen lehetősége az lenne, hogy azxi-hez tartozó rombusz baloldali csúcsát választja, de ezen már áthaladtak, hiszenτ(xi) = 1. Hasonlóan, ha a literálxi, akkor a 2. játékos csak azxi-hez tartozó rombusz jobboldali csúcsát választhatná, de ezen már áthaladtak, hiszenτ(xi)ebben az esetben0.
Fordítva, tegyük most fel, hogy az1.játékosnak nyerő stratégiája van a földrajzi játékban.
Ekkor a qbf első játékosa játsszon úgy, hogy valahányszor a földrajzi játék 1. játékosa azxi -hez tartozó rombusz baloldali csúcsát választja, akkor legyenxi= 1, különbenxi= 0. Ezzel
a stratégiával megnyeri a qbf játékot.
A véges automaták elméletében is számosPSPACE-teljes probléma ismert, pld. a véges nemdeterminisztikus automaták ekvivalenciája, vagy az a kérdés, hogy két reguláris kifejezés ugyanazt a nyelvet ismeri-e fel. Véges determinisztikus automaták ekvivalenciája polinom-időben eldönthető. Egy további PSPACE-teljes nyelv a korábban bevezetett LCSG, amely annak a problémának felel meg, hogy adottGkörnyezetfüggetlen nyelvtanra éswterminális szóra döntsük el, hogyw∈L(G)teljesül-e.