• Nem Talált Eredményt

CF nyelvtanok algoritmikus k´ erd´ esei - eld¨ onthetetlens´ egi eredm´ enyek

In document Nyelvek ´e sautomat ´a k (Pldal 165-168)

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.

In document Nyelvek ´e sautomat ´a k (Pldal 165-168)