9. Turing-g´ epek 89
12.3. CF nyelvtanok algoritmikus k´ erd´ esei - eld¨ onthetetlens´ egi eredm´ enyek
Kezdj¨uk egy kor´abban m´ar eml´ıtett (6.2 fejezet) eredm´ennyel.
12.16. T´etel Az, hogy egy adott CF nyelvtan egy´ertelm˝u-e, algoritmikusan nem d¨ ont-het˝o el, azaz az egy´ertelm˝u CF nyelvtanokb´ol ´all´o nyelv nem rekurz´ıv.
Bizony´ıt´as. A bizony´ıt´ashoz a Post megfeleltet´esi probl´em´at (10.6. fejezet) haszn´aljuk fel. Tetsz˝oleges, sz´op´arokb´ol ´all´o {(si, ti) : i = 1,2. . . k} halmazhoz mutatunk olyan G k¨ornyezetf¨uggetlen nyelvtant, hogy
{(si, ti) :i= 1,2. . . k}∈/ PCP⇔G egy´ertelm˝u
A sz´op´arok Σ ´ab´ec´ej´et kieg´esz´ıtj¨ukk darab ´uj karakterrel, legyenek ezekc1, c2, . . . , ck. Legyenek G szab´alyai az al´abbiak:
• S →A|B
• A →siAci |sici, minden i= 1,2. . . k-ra
• B →tiBci |tici, minden i= 1,2. . . k-ra
Teh´at a szavak index´enek jel¨ol´es´ere a c1, c2, . . . , ck karaktereket haszn´aljuk.
Ekkor ha aPCP probl´em´anak megold´asa az i1, i2, . . . in indexsorozat, akkor fenn´all, hogy
si1si2. . . sin =ti1ti2. . . tin
Ez viszont azt jelenti, hogy az al´abbi k´et bal levezet´es
S ⇒ A ⇒si1Aci1 ⇒ · · · ⇒si1si2. . . sincincin−1. . . ci1 S ⇒ B ⇒ti1Bci1 ⇒ · · · ⇒ti1ti2. . . tincincin−1. . . ci1 ugyanazt a sz´ot eredm´enyezi, teh´at a nyelvtan nem egy´ertelm˝u.
M´asr´eszt viszont azAilletve aBv´altoz´ob´ol minden sz´o egy´ertelm˝uen vezethet˝o le (ezt biztos´ıtj´ak az indexet jelz˝o ci karakterek). Teh´at, ha a nyelvtan nem egy´ertelm˝u, akkor van olyan sz´o, amihez tartozikS ⇒A´esS⇒B kezdet˝u levezet´es is. Ahhoz viszont, hogy a v´egeredm´eny ugyanaz legyen, olyani1, i2, . . . , inindexsorozat kell, ami megold´asa a Post megfeleltet´esi feladatnak. Teh´at a megadott nyelvtan nem egy´ertelm˝us´ege ekvivalens a Post megfeleltet´esi probl´ema megoldhat´os´ag´aval, amir˝ol tudjuk, hogy nem rekurz´ıv.
L´attuk, hogy v´eges automat´akn´al az alapvet˝o algoritmikus k´erd´esekre (beletartoz´as, uress´¨ eg, v´egess´eg, egyenl˝os´eg, diszjunkts´ag) vannak v´eges, b´ar nem felt´etlen¨ul gyors el-j´ar´asok. A CF nyelvek eset´eben eddig az els˝o h´aromra l´attunk elj´ar´ast a 8. fejezetben.
Most azt fogjuk megmutatni, hogy a m´asik kett˝ore nem l´etezik algoritmus. Ebb˝ol az is k¨ovetkezik, hogy ha ´altal´anosabb nyelvtant (CS vagy ak´ar tetsz˝oleges) enged¨unk meg, ezek a probl´em´ak akkor is algoritmikusan eld¨onthetetlenek lesznek.
12.17. T´etel Nincs olyan algoritmus, amely mindenG1 ´es G2 k¨ornyezetf¨uggetlen nyelv-tanp´ar eset´en eld¨onti, hogy
• L(G1)∩L(G2)=? ∅
• L(G1)= Σ? ∗
• L(G1)=? L(G2)
Bizony´ıt´as. Indirekt m´odon okoskodunk. El˝osz¨or tegy¨uk fel, hogy van olyan A algorit-mus, amely k´et tetsz˝oleges CF nyelvtanr´ol eld¨onti, hogy gener´alt nyelveik diszjunktak-e.
Tekints¨unk egy tetsz˝olegesM Turing-g´epet. Ekkor a12.15.t´etel alapj´anM le´ır´as´ab´ol el˝o tudunk ´all´ıtani olyanG1 ´esG2 CF nyelvtanokat, melyekreL(G1)∩L(G2) = elfogad(M).
Ezen G1 ´es G2 nyelvtanokon futtatva az A algoritmust v´eges sok l´ep´es ut´an megtud-juk, hogy nyelveik metszete ¨ures-e, vagyis hogy azM Turing-g´ep elfogad´o sz´am´ıt´asainak elfogad(M) nyelve ¨ures-e.
Ez teh´at azt jelenten´e, hogy az a nyelvi tulajdons´ag, hogy a nyelv ¨ures, algoritmikusan eld¨onthet˝o lenne, ami ellentmond Rice t´etel´enek (10.35.t´etel), hiszen az ¨uress´eg egy nem trivi´alis nyelvi tulajdons´ag.
A m´asodik ´all´ıt´ashoz tegy¨uk fel, hogy van egyB algoritmus, amely tetsz˝olegesG CF nyelvtanr´ol eld¨onti, hogy a nyelve az ¨osszes sz´ot tartalmazza-e. Megint haszn´alhatjuk a12.15.t´etelt, de most azt a r´esz´et, hogyM-b˝ol kaphatunk egyG3 CF nyelvtant, melyre L(G3) = elfogad(M). Ha ezt a G3 nyelvtant adjuk a B algoritmusnak, akkor v´eges sok l´ep´es ut´an megtudjuk, elfogad(M) tartalmaz-e minden sz´ot, ami azzal ekvivalens, hogy elfogad(M) = ∅ igaz-e, azaz L(M) ¨ures-e. Mint m´ar az el˝obb is, ezzel ellentmond´asra jutottunk.
A harmadik ´all´ıt´ast egyszer˝uen kapjuk az el˝oz˝ob˝ol. Legyen ugyanisG2 egy olyan CF nyelvtan, amire L(G2) = Σ∗ teljes¨ul. Ilyen nyelvtan van, mivel ak´ar regul´aris nyelvtan is adhat´o. Ekkor, ha el tudn´ank d¨onteni k´et tetsz˝oleges CF nyelvtan eset´en, hogy a gener´alt nyelv¨uk megegyezik-e, akkor az elj´ar´ast erre a G2-re (´es tetsz˝oleges G1-re) haszn´alva az L(G1)= Σ? ∗ k´erd´est is eld¨onten´enk, ami az el˝oz˝o pont szerint lehetetlen.
12.18. Megjegyz´es A beletartoz´as k´erd´ese 0. oszt´aly´u nyelvtanok eset´en algoritmiku-san eld¨onthetetlen (mert az Lu nyelv nem rekurz´ıv). Az 1. oszt´aly´u nyelvtanokra viszont eld¨onthet˝o line´aris t´arban, ´es ´ıgy v´eges id˝oben (mert CS ⊆R).
Az ¨uress´eg ´es v´egess´eg k´erd´ese 0. oszt´aly´u nyelvtanokra szint´en algoritmikusan nem eld¨onthet˝o (a Rice-t´etel k¨ovetkezm´enye), de ezek m´ar az 1. oszt´aly´u nyelvtanokra sem eld¨onthet˝oek (ezt itt nem r´eszletezz¨uk).
A Chomsky-f´ele nyelvoszt´alyok algoritmikus k´erd´eseinek eld¨onthet˝os´ege ¨osszefoglalva beletartoz´as ¨uress´eg egyenl˝os´eg diszjunkts´ag v´egess´eg
regul´aris (3. oszt) igen igen igen igen igen
CF (2. oszt) igen igen nem nem igen
CS (1. oszt) igen nem nem nem nem
´
altal´anos (0. oszt) nem nem nem nem nem
Irodalomjegyz´ ek
[1] Bach Iv´an: Form´alis nyelvek, Typotex, 2002.
[2] Friedl Katalin: Kieg´esz´ıt˝o anyag az Algoritmuselm´elet t´argyhoz III, A bonyolults´ ag-elm´elet alapjai: a P ´es az NP oszt´aly,www.cs.bme.hu/~friedl/alg/bonyelm.pdf, 2010.
[3] Michael R. Garey, David S. Johnson: Computers and Intractability: A Guide to the Theory of NP Completeness W.H. Freeman, 1979.
[4] John E. Hopcroft, Jeffrey D. Ullman:Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 1979.
[5] Lov´asz L´aszl´o:Algoritmusok bonyolults´aga, ELTE egyetemi jegyzet, 2013.
[6] Christos Papadimitriou: Sz´am´ıt´asi bonyolults´ag Novadat Bt, 1999.
[7] R´onyai Lajos, Ivanyos G´abor, Szab´o R´eka:Algoritmusok, Typotex, 1998.
[8] Jeffrey Shallit:A Second Course in Formal Languages and Automata Theory, Camb-ridge, 2009.
[9] Michael Sipser: Introduction to the Theory of Computation, Thomson, 1996.