• Nem Talált Eredményt

Nemdeterminisztikus automatákban felismerhető nyelvek

In document ALGEBRAI NYELV- ÉS KÓDELMÉLET (Pldal 109-114)

II. NYELVEK ÉS AUTOMATÁK 88

7. Nyelvek felismerése automatákban 102

7.5. Nemdeterminisztikus automatákban felismerhető nyelvek

Azt mondjuk, hogy az X feletti L nyelvet az A = (A, A0, X, δ) nemdetermi-nisztikus kimenő jel nélküli iniciális automata az F(⊆ A) halmazzal felismeri vagy előállítja vagyelfogadja, ha

L={p∈X;A0p∩F 6=∅} (7.7) ahol A0pa kezdőállapotokA0 halmazábólpszóval elérhető állapotok halmazát jelöli. Determinisztikus esetben ez a definíció megegyezik a (7.1) definícióval.

Mivel minden X feletti nyelv felismerhető determinisztikus automatával, sőt speciálisan iniciálisan összefüggő automatával is, ezért a nemdeterminiszti-kus automatákkal felismert X feletti nyelvek megyegyeznek a determinisztikus automatákkal felismertX feletti nyelvekkel, azaz azX feletti nyelvekkel. A 6.1.

alfejezetben megállapodtunk abban, hogy egy automata, ha mást nem mon-dunk, akkor teljesen definiált és determinisztikus, s így a nemdeterminisztikus automaták osztályának valódi részosztálya. Ezért azt várnánk, hogy a vé-ges nemdeterminisztikus automatákkal felismerhető nyelvek osztálya bővebb a véges automatákkal felismerhető nyelvek osztályánál. Az alábbiakban megmu-tatjuk, hogy ez nincs így. Ennek ellenére azért foglalkozunk a nemdeterminisz-tikus automatákkal, mert ezek és több analogonjuk későbbi konstrukciókban fontos szerepet játszanak. A bizonyításhoz szükségünk lesz a hatványautomata fogalmára.

Az A = (A, X, δ) automata hatványautomatájának nevezzük a P(A)+ = (P(A)+, X, δ) automatát, haP(A) az A hatványhalmaza, P(A)+ =P(A)− ∅ és minden A0 ∈P(A)+ ésx∈X esetén

δ(A0, x) = {δ(a, x);a∈A0}. (7.8) (Az egyszerűség kedvéért a hatványautomata átmenetfüggvényét is δ-val jelöl-tük) Ha az automata parciális, akkor előfordulhat, hogyδ(A0, x)A0 6=∅esetben is üres. Ezértparciális automata hatványautomatájának aP(A) = (P(A), X, δ) automatát tekintjük, ahol minden x∈X bemenő jelre

δ(∅, x) = ∅. (7.9)

Sok esetben P(A) egyelemű részhalmazait azonosítjuk az elemükkel. Ha a δ függvény értelmezését (6.3) és (6.4) szerint kiterjesztjük a P(A)×X szor-zathalmazra, akkor nem nehéz belátni, hogy minden A0 ∈ P(A) és p ∈ X esetén

δ(A0, p) ={δ(a, p);a∈A0} és A0p={ap;a∈A0} (7.10)

7.9. Tétel. A véges nemdeterminisztikus automatákban felismerhető nyelvek megegyeznek a véges automatákban felismerhető nyelvekkel.

Bizonyítás Mivel minden véges automata megállapodásunk szerint teljesen definiált és determinisztikus, így definíció szerint nem determinisztikus is. Ezért, ha egy nyelv felismerhető véges automatával, akkor felismerhető véges nemde-terminisztikus automatával is.

Megfordítva, tegyük fel, hogy az X feletti L nyelv felismerhető az A = (A, A0, X, δ) (A0 ⊆ A) véges iniciális nemdeterminisztikus automatában az F(⊆A)halmazzal. Inicializáljuk az P(A)hatványautomatát azA0 állapottal, azaz legyen P(A) = (P(A), A0, X, δ). Akkor azP(A)véges automata felismeri L-t a T ={B ∈P(A);B∩F 6=∅} halmazzal. 2 A teljesség kedvéért megjegyezzük, hogy a nemdeterminisztikus automaták-nak egy másik típusát is be szokták vezetni, mégpedig úgy, hogy (6.6) definíci-óbanX helyettX∪elegyen. Ez azt jelenti, hogy az automata egyik állapotból bemenő jel nélkül is átmehet egy másik állapotba. Ezt e átmenetes vagy spon-tán átmenetes nemdeterminisztikus automaspon-tának nevezik. A 7.9 Tétel akkor is igaz, ha a tételben szereplő nemdeterminisztikus automaták e átmenetesek.

(A bizónyítás megtalálható például Ésik Zoltán[14] egyetemijegyzetében.)

7.6. Zártsági tulajdonságok

Megmutatjuk, hogy egy X ábécé feletti véges (kimenő jel nélküli) automaták-ban felismerhető nyelvek halmaza zárt a reguláris és a Boole műveletekre.

Szükségünk lesz a kimenő jel nélküli automaták direkt szozatának fogalmá-ra. Az A= (A, X, δA)és azB= (B, X, δB)automaták direkt szorzatán értjük azt az A×B = (A×B, X, δ)automatát, amelyre

δ((a, b), x) = (δA(a, x), δB(b, x)) (a ∈A, b∈B, x∈X). (7.11) Ha az automaták iniciálisak, akkor legyen direkt szorzatuk is iniciális. Még-pedig, ha a0 az A és b0 a B automata kezdőállapota, akkor az A×B direkt szorzat kezdőállapota legyen (a0, b0). Nyilvánvalóan a × művelet asszociatív.

A következő tétel azt jelenti, hogy egy véges ábécé feletti véges automa-tákban felismerhető nyelvek halmaza Boole algebra a halmazelméleti egyesítés, metszet és komplementerképzés műveletekre.

7.10. Tétel. AzX véges ábécé feletti véges automatákban felismerhető nyelvek halmaza zárt a Boole műveletekre.

Bizonyítás Legyenek L, K ∈ R(X) (L 6= K) tetszőlegesek. Megmutatjuk, hogy ha L és K felismerhető az A = (A, a0, X, δA) ill. a B = (B, b0, X, δB) véges automatákban az F illetve H halmazokkal, akkor L∪K felismerhető az A×Bdirekt szorzatban M = (F ×B)∪(A×H)halmazzal. (A kezdőállapot természetesen (a0, b0).)

Legyen először p ∈ L+K. Akkor p ∈ L vagy p ∈ K. Szimmetria okok miatt elegendő a p∈L esettel foglalkozni. Ekkor a0p∈F,

(a0, b0)p= (a0p, b0p)∈F ×B.

(l. (6.3) és (6.4).) Ezzel megmutattuk, hogy L∪K ⊆L(A×B, M).

Megfordítva, legyenp∈L(A×B, M). Ekkor (a0p, b0p) = (a0, b0)p∈M.

Ezért a0p∈F vagyb0p∈H, azaz p∈Lvagyp∈K, vagyisp∈L+K, amivel beláttuk az L(A×B, M)⊆L∪K tartalmazást, s ígyL∪K =L(A×B, M).

Tehát a véges automatákban felismerhető X feletti nyelvek halmaza zárt az egyesítés műveletére.

Nem nehéz belátni, hogyL∩Kis felismerhető azA×Bautomatában azF× H halmazzal. Továbbá, haLfelismerhető azA= (A, a0, X, δ)véges iniciálisan összefüggő automatában az állapothalmazF részhalmazával, akkor azLnyelv L=X−L komplementere felismerhető ugyanebben az automatában az F =

A−F halmazzal. 2

A 7.7 Tételből azonnal adódik, hogy az X ábécé feletti véges kimenő jel nélküli automatákban felismerhető nyelvek halmaza zárt a kivonásra. (L−K = L∩K miattL−K is felismerhető a bizonyításban szereplőA×Bautomatában az F ×(B −H)halmazzal.)

A következő tétel bizonyításához definiáljuk az A= (A, X, δ) nemdetermi-nisztikus automata P(A) = (P(A), X, P(Y), δ) hatványautomatáját is. A δ átmenetfüggvényt minden A0 ∈P(A)és x∈X esetén a

δ(A0, x) = ∪a∈A0δ(a, x) (7.12) összefüggéssel adjuk meg. Sokszor egy nemdeterminisztikus automatát a hat-ványautomatájával adunk meg, amely teljesen definiált és determinisztikus.

Ha A iniciális és kezdőállapotainak halmaza A0, akkor P(A)-t is iniciálisnak tekintjük, mégpedig A0 kezdőállapottal. A δ0 átmenetfüggvény értelmezését, ha nem mondunk mást, akkor a következő módon terjesztjük ki a P(A)×X halmaz azon részhalmazára, ahol ez lehetséges: Legyen mindena∈Aállapotra

δ(a, e) = a, (7.13)

ahol e az üres szó. Tetszőleges a∈A, x∈X ésp∈X esetén pedig

δ(a, px) =δ(a, p)∪b∈apδ(b, x). (7.14) Végül, ha A0 ∈P(A) ésp∈X, akkor legyen

δ(A0, p) =∪a∈A0δ(a, p). (7.15) Nem nehéz belátni, hogy determinisztikus esetben ez a kiterjesztés a szokásos (6.3) és (6.4) kiterjesztéseket adja. Megmutatható, hogy ez a kiterjesztés nem-determinisztikus esetben is ezt jelenti. Ha azAnemdeterminisztikus automata az a ∈ A állapotban van és a p ∈ X bemenő szót elfogadja, akkor ap az a állapotból a p szóval elérhető állapotok halmaza.

7.11. Tétel. AzX véges ábécé feletti véges automatákban felismerhető nyelvek halmaza zárt a reguláris műveletekre.

Bizonyítás Azt már az előző tételben megmutattuk, hogy az X véges ábé-cé feletti véges automatákban felismerhető nyelvek halmaza zárt az összeadás (egyesítés) műveletére.

Legyenek most L és K olyan X feletti nyelvek, amelyek felismerhetők az A = (A, a0, X, δA) ill. a B = (B, b0, X, δB) véges automatákban az F ill. H halmazokkal. Feltehetjük, hogy L 6= ∅ és K 6= ∅. (Ha L = ∅ vagy K = ∅, akkor LK =∅.) Vegyük fel azB automata P(B) = (P(B), X, δB) hatványau-tomatáját (l. (7.8), (7.9) és (7.10)). Definiáljuk a

C= (A×P(B),(a0,∅), X, δ

véges iniciális automatát úgy, hogy minden a∈A, D ∈P(B) ésx∈X esetén δ((a, D), x) =

A(a, x), δB(D, x)) haδA(a, x)∈/ F, (δA(a, x), δB(D, x)∪b0), haδA(a, x)∈F

teljesüljön. Terjesszük ki aδátmenetfüggvény értelmezését az(A×P(B))×X halmazra (6.3) és (6.4) szerint a szokásos módon, felhasználva azt, hogy minden x∈X bemenő jelre δB(∅, x) =∅.

Bármelya∈A állapotra és p∈X bemenő szóra definiáljuk az RB(p) ={b0r;p=qr, aq∈F}

halmazt. A δ átmenetfüggvény definíciójából következik, hogy (a0,∅)p= (a0p, RB(p)).

Azt állítjuk, hogy aCautomata felismeri az LK nyelvet azA×TB halmazzal, ahol TB ={D ∈ P(B);D∩K 6=∅}. Ha ugyanis p∈ LK, akkor p =qr, ahol q ∈L ésr ∈K. EzértRB(p)6=∅ és

(a0,∅)p= (a0p, RB(p))∈A×TB.

Kaptuk, hogy LK ⊆L(C, A×TB). Legyenp∈L(C, A×TB), azaz (a0p, RB(p)) = (a0,∅)p∈A×TB.

Ha p minden q kezdőszeletére a0q /∈ F, akkor RB(p) = ∅, ami TB definíciója miatt lehetetlen. Ezért vannak olyan q, r ∈ X, hogy p = qr és a0q ∈ F. Ez azt jelenti, hogy RB(p)∩H 6= ∅. Így vannak olyan q, r ∈ X, hogy p = qr, a0q∈F és b0r∈K, vagyisp∈LK. Ami az L(B, A×TB)⊆LK tartalmazást bizonyítja. Tehát LK = L(B, A ×TB). Ezzel megmutattuk, hogy a véges automatákban felismerhető X feletti nyelvek halmaza zárt a konkatenáció mű-veletére.

Legyen végül azXfelettiLnyelv olyan, amely felismerhető azA= (A, a0, X, δ) véges automatában az állapothalmaz F részhalmazával. Feltehetjük, hogy L 6= ∅ és L 6= e. (Ha L = ∅ vagy L = e, akkor L = e.) Definiáljuk a A˜ = (P(A), a0, X,˜δ)nemdeterminisztikus automata ˜δátmenetfüggvényét úgy, hogy minden a ∈A állapotra és x∈X bemenő jelre teljesüljön a

δ(a, x) =˜

δ(a, x), haδ(a, x)∈/ F, {δ(a, x), a0}, haδ(a, x)∈F összefüggés. A (7.12) feltétel alapján adjuk meg az A˜ automata

P(A) = (P(A), X, a0,δ)˜ hatványautomatáját.

Az egyértelműség kedvéért a bizonyítás során az A˜ automatában az A0 ∈ P(A) részhalmaz állapotaiból a p∈X bemenő szóval elérhető állapotok hal-mazát jelöljük δ0(A0, p)-vel.

Legyen T = {B ∈ P(A);B ∩F 6= ∅}. Megmutatjuk, hogy az L nyelv L+ e-mentes iteráltja felismerhető a P(A) automatában a T halmazzal. Először azt látjuk be a kitevő szerinti teljes indukcióval, hogy L minden pozitiv egész kitevős hatványa részhalmaza az L(P(A), T) halmaznak. Legyen p ∈ L, azaz a0p∈F. Az(7.13)-(7.15)feltételeket felhasználva kapjuk, hogya0p∈δ0(a0, p).

(Ha p = e, akkor a0p = a0 = δ0(a0, p).) Ezért δ0(a0, p) ∈ T. Ezzel megmu-tattuk, hogy L ⊆ L(P(A), T). Tegyük fel minden 1 ≤ i < n egész számra, hogy Li ⊆ L(P(A), T), és legyen p∈Ln. Akkor van olyanq ∈L és r ∈Ln−1,

hogy p = qr. Definíció szerint a0q ∈ F, az indukciós feltevés szerint pedig δ0(a0, r)∈T. Mivel a0q ∈F, ezért ˜δ függvény definíciója miatt a0 ∈δ0(a0, q).

Így δ0(a0, r) ⊆ δ0(a0, p), ezért δ0(a0, p) ∈ T. Ami azt jelenti, hogy minden pozitiv egész n-re Ln⊆L(P(A), T), azaz L+⊆L(P(A), T).

Legyen most p∈L(P(A), T), vagyis δ0(a0, p)∈T, amiből következik, hogy δ0(a0, p)∩F 6= ∅. Ha p = e, akkor a0 ∈ F, s ezért p ∈ L. Tegyük fel, hogy p 6= e. A p szónak van olyan q ∈ X+ prefixe, amelyre a0q ∈ F. (Ellenkező esetben δ0(a0, p) = a0p, s így a0p ∈ F, ami lehetetlen.) Legyen q1 ∈ X+ a p szó legrövidebb prefixe, amelyre a0q1 ∈ F. Ha q1 = p, akkor p ∈ L. Ha p=q1p1 (p1 ∈X+), akkor, (7.16)-ot is felhasználva, kapjuk, hogy

δ0(a0, p) =δ0({a0q1, a0}, p1) =δ0(a0q1, p1)∪δ0(a0, p1).

A p1 szónak van olyan q0 ∈ X+ prefixe, hogy a0q1q0 ∈ F vagy a0q0 ∈ F. (Ellenkező esetbenδ0(a0q1, p1) =a0q1p1vagyδ0(a0, p1) =a0p1, deδ0(a0, p)∩F 6=

∅ miatt a0q1p1 ∈F vagy a0p1 ∈ F, ami lehetetlen.) Legyen q2 ∈ X+ a p1 szó legrövidebb prefixe, amelyre a0q1q2 ∈ F vagy a0q2 ∈ F. Ha q1q2 = p, akkor p∈L+L2. Hap=q1q2p2 (p2 ∈X+), akkor

δ0(a0, p) = δ0(a0q1, p1)∪δ0(a0, p1) =δ0(a0q1q2, p2)∪δ0(a0q2, p2)∪δ0(a0, p2).

Az eljárást véges sokszor megismételve azt kapjuk, hogy van olyan n pozitív egész szám, hogy p∈L+L2+· · ·+Ln. Ebből következik, hogyL(P(A), T)⊆ L+, s ígyL(P(A), T) =L+. Mivel a véges automatákban felismerhetőXfeletti nyelvek halmaza zárt az összeadás műveletére és L =L++e, ezért L is felis-merhető véges automatában. Ezzel beláttuk azt is, hogy a véges automatákban felismerhető X feletti nyelvek halmaza zárt az iteráció műveletére. 2

In document ALGEBRAI NYELV- ÉS KÓDELMÉLET (Pldal 109-114)