Faautomaták Fülöp Zoltán Szegedi Tudományegyetem Számítástudomány Alapjai Tanszék fulop@inf.u-szeged.hu 2018. tavaszi félév 1
IRODALOM Gécseg Ferenc, Automaták és formális nyelvek, Polygon, Szeged, 2005. H. Comon, M. Dauchet, R. Gilleron, F. Jacquemard, D. Lugiez, S. Tison, and M. Tommasi, Tree automata techniques and applications, http://www.grappa.univ-lille3.ft/tata, 1997. Fülöp Zoltán, Heiko Vogler, Weighted Tree Automata and Tree Transducers, in: Handbook of Weighted Automata (Szerk.: M. Droste, W. Kuich és H. Vogler), Springer-Verlag, 2009, Chapter 9, 313-403. 2
ALGEBRAI ALAPFOGALMAK A egy halmaz,m 0 egy egész szám esetén f : A m A leképezést A-n értelmezettm-változós műveletnek nevezzük Mivel A 0 = {()}, egy 0-változós művelet egy f : {()} A típusú leképezés, vagyis kijelöli A valamely elemét (ti. ()-nak af melletti képét). Ezt az elemet általában azonosítjuk magával a 0-változós f művelettel. Univerzális algebra (vagy röviden algebra) egya = (A,F) rendszer, ahol A halmaz, az algebra tartóhalmaza, F az A-n értelmezett műveletek egy (nem üres) halmaza. 3
ALGEBRAI ALAPFOGALMAK Általában nem egyetlen algebrával dolgozunk, hanem algebrák egy olyan osztályával, amelyben az egyes algebrák műveleteit ugyanúgy jelöljük. Műveleti szimbólumok halmaza: Σ halmaz,r : Σ {0,1,...} HaΣvéges, akkor rangolt ábécé Har(σ) = m (σ Σ), akkor σ m-változós műveleti szimbólum, σ rangja vagy aritása m. Jelölés: Σ m = {σ Σ r(σ) = m} Ekkor Σ = Σ 0 Σ1..., ahol Σk Σl =, ha k l 4
ALGEBRAI ALAPFOGALMAK LegyenΣműveleti szimbólumok egy halmaza. Σ-algebra: egya = (A,Σ A ) algebra, ahol Σ A = {σ A σ Σ} és ha σ Σ m, akkor σ A egym-változós művelet A-n. σ A -t aσ szimbólum A-beli realizáltjának nevezzük. Példa. LegyenΣ = Σ 0 Σ2, ahol Σ 2 = {, } ésσ 0 = {o,e}. Tekintsük az A = (N { },Σ A ) ésb = (N { },Σ B )Σ-algebrákat, ahol N = {0,1,2,...} A az összeadás, A a szorzás, o A = 0 ése A = 1, továbbá B a minimum képzés, B az összeadás, o B = ése B = 0. Ezen esetben mindkét algebrában ugyanazok az azonosságok teljesülnek, pl (a,b,c N { }) : a b = b a, a o = o a = a, a e = e a = a, a o = o a = o, a (b c) = (a b) (a c) és(b c) a = (b a) (c a). (Általában nem biztos.) 5
ALGEBRAI ALAPFOGALMAK Ha nem okoz félreértéset, akkor Σ A -ból ésσ A -ból elhagyjuk A-t: az algebrát A = (A,Σ)-val jelöljük ésσ A (a 1,...,a m ) helyett σ(a 1,...,a m )-et írunk. AΣ-algebrákat kaligrafikus nagybetűkkel, tartóhalmazukat pedig a megfelelő latin nagybetűkkel jelöljük: A = (A, Σ), B = (B, Σ), stb. A véges, ha A ésσvéges (A véges ésσrangolt ábécé) B = (B,Σ) aza = (A,Σ) algebra részalgebrája, ha B A és σ B (b 1,...,b m ) = σ A (b 1,...,b m ) (b 1,...,b m B, σ Σ m ) 6
ALGEBRAI ALAPFOGALMAK B azazárt részhalmaza, ha σ A (b 1,...,b m ) B minden b 1,...,b m B-re AzAzárt részhalmazai azarészalgebráinak tartóhalmazai. Jelölje S(A) azazárt részhalmazainak a halmazát. Nyilvánvaló, hogy S(A) zárt a metszetképzésre nézve. LegyenH A és [H] = (B B S(A), H B). Ha[H], akkor [H] azarészalgebrája, amit az A algebrah által generált részalgebrájának nevezünk. Amennyiben Σ 0, akkor [H] sohasem üres, még akkor sem, ha H az üres halmaz. 7
ALGEBRAI ALAPFOGALMAK LegyenekAésB Σ-algebrák. Homomorfizmus A-ból B-be: olyan ϕ : A B leképezés, melyre tetszőleges σ Σ m ésa 1,...,a m A esetén ϕ(σ A (a 1,...,a m )) = σ B (ϕ(a 1 ),...,ϕ(a m )). Ha van A-ból B-be olyan ϕ homomorfizmus, amely ráképezés is, akkor B aza algebra homomorf képe. Amennyiben ϕ kölcsönösen egyértelmű is, akkor ϕ izomorfizmus, és azt mondjuk, hogy az A ésb algebrák izomorfak. Jelölése: A = B. Jelölések: A halmaz, ρ A A ekvivalencia reláció esetén: (a, b) ρ: a b(ρ) (lehetne még aρb, de most nem ezt használjuk) a A: a/ρ = {b a b(ρ); b A}, B A: B/ρ = {b/ρ b B} (ahol b/ρ-nak lehetnek elemei B-n kívül is). 8
ALGEBRAI ALAPFOGALMAK A algebra egy kongruenciája: olyan ρ A A ekvivalencia reláció, melyre mindenσ Σ m ésa 1,...,a m,b 1,...,b m A esetén a i b i (ρ)(i = 1,...,m) σ A (a 1,...,a m ) σ A (b 1,...,b m )(ρ). LegyenAegyΣ-algebra,ρazAegy kongruenciája. Értelmezzük az A/ρ = (A/ρ,Σ) algebrát a σ A/ρ (a 1 /ρ,...,a m /ρ) = σ A (a 1,...,a m )/ρ (a 1,...,a m A, σ Σ m ) egyenlőséggel. Ekkor σ A/ρ jólértelmezett, mivelρkongruencia reláció. A/ρ-t az A algebraρ-szerinti faktor algebrájának nevezzük. 9
ALGEBRAI ALAPFOGALMAK Homomorfia tétel: a homomorfizmus és a kongruencia fogalmának összekapcsolása. Tétel Ha ρ az A algebra kongruenciája, akkor A/ρ az A homomorf képe. Fordítva, ha B az A homorf képe, akkor A-nak van olyan ρ kongruenciája, hogy A/ρ = B. Bizonyítás A/ρ az A homomorf képe a ϕ(a) = a/ρ (a A) természetes homomorfizmus mellett. Fordítva, legyen ϕ : A B aza-nakb-re való homomorf leképezése. ÉrtelmezzükA-n a ρ relációt az a b(ρ) ϕ(a) = ϕ(b) (a,b A) ekvivalenciával. Ekkor ρ kongruencia relácó lesz. ψ : A/ρ B a ψ(a/ρ) = ϕ(a) (a A) A/ρ-nak B-re való izomorf leképezése. 10
ALGEBRAI ALAPFOGALMAK A = (A,Σ) ésb = (B,Σ) Σ-algebrák direktszorzata: A B = (A B,Σ A B ) algebra, ahol σ A B ((a 1,b 1 ),...,(a m,b m )) = (σ A (a 1,...,a m ),σ B (b 1,...,b m )) (σ Σ m, (a 1,b 1 ),...,(a m,b m ) A B. A direktszorzat fogalma természetes módon terjeszthető ki kettőnél több tényezőre is. Később szükségünk lesz összetett műveletekre, ahol műveletek másik műveletekbe beágyazva szerepelnek. Pl. egy S = (S,{ }) félcsoportot az (s 1 s 2 ) s 3 = s 1 (s 2 s 3 ) (s 1,s 2,s 3 S) azonossággal értelmezünk, amit ( (x 1,x 2 ),x 3 ) = (x 1, (x 2,x 3 )) alakban is írhatunk. 11
ALGEBRAI ALAPFOGALMAK Definíció LegyenΣműveleti szimbólumok halmaza,z pedig tetszőleges halmaz, melyrez Σ =. A ΣZ-termek (polinom szimbólumok) F Σ (Z) halmaza a (Z Σ 0 {,} {(,)}) halmaz legszűkebb olyan F részhalmaza, melyre: Z Σ 0 F, mindenm 1,σ Σ m ésp 1,...,p m F eseténσ(p 1,...,p m ) F. Példa. LegyenΣ = Σ 2 Σ 1 Σ 0, ahol Σ 2 = {σ},σ 1 = {γ} ésσ 0 = {α} és legyenz = {a,b}. Akkor a következő termekf Σ (Z) elemei: a, b,α, γ(b), γ(α), σ(b,α), σ(γ(a),α), σ(γ(a),σ(α,b)),... 12
ALGEBRAI ALAPFOGALMAK Összetett műveletek LegyenΣműveleti szimbólumok egy halmaza. Minden n 0 esetén értelmezzük azx n = {x 1,...,x n } halmazt, melynek elemeit változóknak nevezzük. Feltesszük, hogy X n Σ =. Tekintsük azf Σ (X n ) halmazt. Han = 0 ésσ 0 =, akkor F Σ (X n ) üres. Ezért a következőkben mindig feltesszük, hogy n 0 vagy Σ 0, tehát F Σ (X n ) nem üres. Ha ráadásul van olyan m > 0, hogy Σ m, akkor F Σ (X n ) végtelen. Nyilvánvaló, hogy F Σ (X k ) F Σ (X l ) ha Σ Σ ésk l. Azn = 0 (ésσ 0 ) eset: ekkor X n =, ezért a termekben nem szerepelnek változók. F Σ (X 0 )-t röviden csakf Σ -val jelöljük. F Σ aσfeletti alap termek halmaza. 13
ALGEBRAI ALAPFOGALMAK LegyenA = (A,Σ) egy algebra ésp F Σ (X n ) egy term. A p általa-ban indukált polinom függvény alatt azt a p A : A n A leképezést értjük, melyre tetszőleges a = (a 1,...,a n ) A n esetén: - ha p = x i (1 i n), akkor p A (a) = a i, - ha p = σ Σ 0, akkor p A (a) = σ A, - ha p = σ(p 1,...,p m ) (σ Σ m, m > 0, p 1,...,p m F Σ (X n )), akkor p A (a) = σ A (p A 1 (a),...,p A m(a)). Megjegyzések: 1) Han = 0, akkor p A () helyett p A -t írunk. 2) HaH = {h 1,...,h n } A, akkor [H] = {p(h 1,...,h n ) p F Σ (X n )}. Jelölés: ha p F Σ (X n ) ésp 1,...,p n F Σ (X m ), akkor p(p 1,...,p n ) = p(x 1 p 1,...,x n p n ) F Σ (X m ), ahol ez utóbbi azt a fát jelenti, amelyet úgy kapunk p-ből, hogy abban egyidejűleg x 1 helyére p 1 -et,...,x n helyére p n -et helyettesítünk. 14
ALGEBRAI ALAPFOGALMAK Megjegyzés: homomorfizmus és a kongruencia feltételei polinomokra is teljesülnek. 1) Haϕ : A B leképezés homomorfizmus A-ból B-be, akkor tetszőleges p F Σ (X n ) ésa 1,...,a m A esetén ϕ(p A (a 1,...,a m )) = p B (ϕ(a 1 ),...,ϕ(a m )). 2) Haρkongruencia azaalgebrán, akkor mindenp F Σ (X n ) term és a 1,...,a m,b 1,...,b m A esetén az a i b i (ρ)(i = 1,...,m) összefüggésekből következik, hogy p A (a 1,...,a m ) p A (b 1,...,b m )(ρ). Bizonyítás mindkét esetben a p felépítése szerinti indukcióval. 15
ALGEBRAI ALAPFOGALMAK LegyenA = (A,Σ) tetszőleges algebra. Minden p F Σ (A X n ) term meghatároz egyp A : A n A leképezést, amelyet a következőképpen definiálunk. Tetszőlegesa = (a 1,...,a n ) A n -re: - ha p = a valamelya A-ra, akkor p A (a) = a, - ha p = x i, p = σ Σ 0 vagy p = σ(p 1,...,p m ), akkor p A (a)-t ugyanúgy definiáljuk, mint a polinom függvény esetében tettük. Hap F Σ (A X 1 ), akkor a p A : A A leképezést egyváltozós algebrai függvénynek nevezzük. Megjegyezzük, hogy ez esetben x 1 egynél többször is előfordulhat p-ben. A egyváltozós algebrai függvényeinek halmazát Alg 1 (A)-val jelöljük. 16
ALGEBRAI ALAPFOGALMAK Hap = σ(c 1,...,c i 1,x 1,c i+1,...,c m ) alakú valamelym > 0,σ Σ m, 1 i m ésc 1,...,c i 1,c i+1,...,c m A-ra, akkor p-t azaalgebra elemi transzlációjának nevezzük. Ez esetben x 1 pontosan egyszer fordul előp-ben. A elemi transzlációinak halmazát ET(A)-val jelöljük. Nyilvánvaló, hogy ET(A) Alg 1 (A). 17
ALGEBRAI ALAPFOGALMAK Tétel Legyen A egy Σ-algebra, ρ A A pedig ekvivalencia reláció. Úgy ρ akkor és csakis akkor kongruencia A-n, ha tetszőleges m > 0 egész szám,σ Σ m műveleti szimbólum, 1 i m egész szám,a,b A és σ(c 1,...,c i 1,x 1,c i+1,...,c m ) ET(A) esetén az feltételből következik, hogy a b(ρ) σ(c 1,...,c i 1,a,c i+1,...,c m ) σ(c 1,...,c i 1,b,c i+1,...,c m )(ρ). Bizonyítás Ha ρ kongruencia, akkor nyilvánvalóan következnek a feltételek, mert ekvivalencia reláció és így a reflexívitás miatt c 1 c 1 (ρ),...,c i 1 c i 1 (ρ),c i+1 c i+1 (ρ),...,c n c n (ρ) is teljesül. 18
ALGEBRAI ALAPFOGALMAK A fordított irány bizonyításához legyen σ Σ m (m > 0) tetszőleges és tegyük fel, hogy a i b i (ρ),(a i,b i A, i = 1,...,m). Ekkor a feltételt alkalmazva a σ(x 1,a 2,...,a m ) elemi transzlációra és az a 1 b 1 (ρ) párra, kapjuk, hogy σ(a 1,a 2,...,a m ) σ(b 1,a 2,...,a m )(ρ). Tfh, hogy i-re(1 i < m) igazoltuk, hogy σ(a 1,...,a i 1,a i,a i+1,...,a m ) σ(b 1,...,b i 1,b i,a i+1,...,a m )(ρ) A feltételt alkalmazva a σ(b 1,...,b i,x 1,a i+2,...,a m ) transzlációra és az a i+1 b i+1 (ρ) párra, kapjuk, hogy σ(b 1,...,b i 1,b i,a i+1,a i+2,...,a m ) σ(b 1,...,b i 1,b i,b i+1,a i+2,...,a m )(ρ). 19
ALGEBRAI ALAPFOGALMAK Végül, a tranzitivitás miatt σ(a 1,...,a i 1,a i,a i+1,a i+2,...,a m ) σ(b 1,...,b i 1,b i,b i+1,a i+2,...,a m )(ρ). Azi = m esetben kapjuk, hogy σ(a 1,...,a m ) σ(b 1,...,b m )(ρ), vagyis ρ aza algebra kongruenciája. 20
ALGEBRAI ALAPFOGALMAK LegynΣműveleti szimbólumok halmaza,nnemnegatív egész szám. ΣX n -term algebra: az F Σ (X n ) = (F Σ (X n ),Σ F Σ(X n ) ) algebra, ahol minden m 0,(σ Σ m, p 1,...,p m F Σ (X n )) esetén σ F Σ(X n ) (p 1,...,p m ) = σ(p 1,...,p m ). F Σ (X n ): azx n által szabadon generált szabad Σ-algebra Tétel LegyenAtetszőleges Σ-algebra,ϕ : X n A pedig tetszőleges leképezés. Akkor ϕ egyértelműen kiterjeszthetőf Σ (X n )-neka-ba való homomorfizmusává. Bizonyítás Mivel a homorf leképezés és a polinomok alkalmazása felcserélhető, F Σ (X n ) elemei pedig előállnak p F Σ(X n ) (x 1,...,x n ) (p F Σ (X n )) alakban, ezért a kiterjesztés csak ϕ(p F Σ(X n ) (x 1,...,x n )) = p A (ϕ(x 1 ),...,ϕ(x n )) lehet. Könnyű megmutatni, hogy ilyen módon valóban homomorfizmushoz jutunk. 21
TERMEK, FÁK Ap F Σ (Z) termet reprezentáló véges, irányított, címkézett és rendezett fa: p = z Z: egy csúcspontú fa, melynek címkéje z, p = σ Σ 0 : egy csúcspontú fa, melynek címkéjeσ, p = σ(p 1,...,p m ) (σ Σ m, m > 0): p 1... σ p m 22
TERMEK, FÁK PéldaΣ 0 = {0,1},Σ 1 = { },Σ 2 = {, }, ésσ m =, ha m 3,Z = X 2 : p = ( (x 2,x 1 ), (1)) x 2 x 1 1 23
TERMEK, FÁK Legyenp( F Σ (Z)) egy ΣZ-fa. A p fa részfáinak sub(p) halmaza: (i) ha p Z Σ 0, akkor sub(p) = {p}, (ii) ha p = σ(p 1,...,p m ) (σ Σ m, m > 0), akkor sub(p) = (sub(p i ) i = 1,...,m) {p}. Tehát sub(p) F Σ (Z). Apfa root(p) gyökere: (i) ha p Z Σ 0, akkor root(p) = p, (ii) ha p = σ(p 1,...,p m ) (σ Σ m, m > 0), akkor root(p) = σ. Tehát root(p) Z Σ. 24
TERMEK, FÁK Apfa h(p) magassága: (i) ha p Z Σ 0, akkor h(p) = 0, (ii) ha p = σ(p 1,...,p m ) (σ Σ m, m > 0), akkor Tehát h(p) egy nemnegatív egész szám. Apfa size(p) mérete: (i) ha p Z Σ 0, akkor size(p) = 1, h(p) = 1+max(h(p i ) i = 1,...,m). (ii) ha p = σ(p 1,...,p m ) (σ Σ m, m > 0), akkor Tehát size(p) egy pozitív egész szám. size(p) = 1+ m i=1 size(p i). 25
TERMEK, FÁK Apfa fr(p) határa: (ia) ha p = z Z, akkor fr(p) = z, (ib) ha p = σ Σ 0, akkor fr(p) = ε, ahol ε az üres szó, (ii) ha p = σ(p 1,...,p m ) (σ Σ m, m > 0), akkor fr(p) = fr(p 1 )... fr(p m ). Tehát fr(p) Z. 26
TERMEK, FÁK Észrevételek. Apfa 0 magasságú részfáit gyakran p leveleinek nevezzük. Világos, hogy h(p) nem más, mint ap-t reprezentáló gráfban a gyökértől a levelekig vezető utak hosszainak a maximuma, míg size(p) egyszerűen ezen gráf csúcsainak a száma. Egy részfának több előfordulása is lehet p-ben. Egys sub(p) fa apvalódi részfája, ha s Z Σ 0 éss p, vagyis s ap-nek nem levele és nem maga p. Példa A már ismertp = ( (x 2,x 1 ), (1)) fa esetében sub(p) = {p, (x 2,x 1 ),x 2,x 1, (1),1}, root(p) =, h(p) = 2, size(p) = 6 és fr(p) = x 2 x 1. 27
FANYELVEK (ERDŐK) AzF Σ (X n ) tetszőlegest részhalmazátσx n -fanyelvnek (vagy erdőnek) nevezzük Példa. Legyenn = 2, Σ = Σ 2 Σ1 Σ0, ahol Σ 2 = {σ} ésσ 1 = {γ}, andσ 0 = {α}. Ekkor T = {σ(γ k (x 1 ),γ k (x 1 )) k 0} ésu = {σ(γ k (x 1 ),γ l (x 1 )) k,l 0} valamint T = {σ(γ k (α),γ k (α)) k 0} ésu = {σ(γ k (α),γ l (α)) k,l 0} fanyelvek (T,U F Σ (X 1 ) ést,u F Σ ), ahol γ k (x 1 ) jelöli azt a γ(γ(...γ(x 1 )...)) fát, melyben γ k-szor fordul elő. 28
FAAUTOMATA ΣX n -faautomata: egya = (A,a,A ) rendszer, ahol A = (A,Σ) véges Σ-algebra, amely elemei állapotok, a = (a (1),...,a (n) ) A n kezdő-vektor, A A végállapotok halmaza. AzAfaautomta által felismert T(A) fanyelv: T(A) = {p F Σ (X n ) p(a) A } EgyT F Σ (X n ) fanyelv felismerhető, ha van olyan A ΣX n -faautomata, melyre T = T(A) AΣX n -faautomatákkal felismerhető fanyelvek osztályát Rec(Σ,X n )-nel jelöljük. 29
FAAUTOMATA Tehát egya = (A,a,A ) faautomata estén azakezdő-vektor dimenziója (komponenseinek száma) adja azt azn-et, melyret(a) F Σ (X n ). A jelölésről: alaphalmaz: A Σ-algebra: A = (A,Σ) faautomata: A = (A,a,A ), ahol A A ésa = (a (1),...,a (n) ) A n hasonlóan B,B = (B,Σ),B = (B,b,B ), stb 30
FAAUTOMATA ΣX n faautomata azn = 0 esetben. Ekkor a = (), tehát a faautomata csak A = (A,A ) alakú, ahol A = (A,Σ) egy végesσ-algebra ésa A. Ebben az esetben a faautomata alap termeket ismer fel: T(A) = {p F Σ p A A }. Azn = 0 eset is elég általános ahhoz, hogy tanulmányozhassuk a faautomaták legfontosabb tulajdonságait. Kivéve, a faautomata által felismert fák határai által meghatározott nyelveket. Erre az n > 0 eset lesz alkalmas. 31
VÉGES AUTOMATA Automata felismerő: egym = (Q,Z,δ,q 0,Q ) rendszer, ahol Q véges halmaz állapotok halmaza, Z véges halmaz bemenő jelek halmaza, δ : Q Z Q átmenet-függvény, q 0 Q kezdőállapot, Q Q végállapotok halmaza. 32
VÉGES AUTOMATA Z-feletti véges szavak halmaza: Z u = z 1 z 2...z k 1 z k Z egy (input) szó, ahol z 1,...,z k Z q 0 z 1 z 2... z k 1 q 1 q k 1 z k q k q 1 = δ(q 0,z 1 ),...,q k = δ(q k 1,z k ), jelölés: q k = q 0 u M vagy csakq k = q 0 u AzMáltal felismert L(M) Z nyelv: L(M) = {u Z q 0 u Q }. 33
VÉGES AUTOMATA, MINT FAAUTOMATA M = (Q,Z,δ,q 0,Q ) automata esetén z Z felfogható, mint egyσ z egyváltozós műveleti szimbólum, továbbá legyen Σ Z = (Σ Z ) 1 = {σ z z Z} Konstruáljuk meg aza = (A,Σ Z ) univerzális algebrát, ahol A = Q σ A z (q) = δ(q,z), (q A, z Z). Azu = z 1...z k Z szónak megfeleltetjük a p u = σ zk (...(σ z1 (x 1 ))...) fát (Ugyanannak az adatnak egy másik reprezentációja.) 34
VÉGES AUTOMATA, MINT FAAUTOMATA Tetszőlegesq 0 Q ésu = z 1...z k Z esetén azmautomatában: q 1 = δ(q 0,z 1 ),...,q k = δ(q k 1,z k ), vagyis q 0 z 1 z 2... z k 1 q 1 q k 1 z k q k 35
VÉGES AUTOMATA, MINT FAAUTOMATA Azuszónak megfelelőp u = σ zk (...σ z1 (x 1 )...) fa kiértékelése azaalgebrában a q 0 helyen : σ zk 1 x 1 q 0 σ z1 q 1 σ z2 a 2. qk 1 σ zk q k azazq 0 u M = p A u(q 0 ) 36
VÉGES AUTOMATA, MINT FAAUTOMATA AzM = (Q,Z,δ,q 0,Q ) véges automatához hozzárendeljük aza = (A,a,A ) Σ Z X 1 -faautomatát, ahol a = (q 0 ),A = Q ésa = (A,Σ Z ) az előbb megkonstruált algebra. Ekkor tetszőleges u Z input szóra q 0 u M Q p A u(a) A. Tehát természetes bijekció van azmáltal felismert L(M) = {u Z q 0 u Q } nyelv és az A által felismert T(A) = {p F ΣZ (X 1 ) p(a) A } fanyelv között. Ily módon minden véges automata tekinthető faautomatának. 37
VÉGES AUTOMATA, MINT FAAUTOMATA AzM = (Q,Z,δ,q 0,Q ) véges automata szimulálható 0-változós faautomatával is. Ekkor Σ Z = (Σ Z ) 1 (Σ Z ) 0 = {σ z z Z} {#}, az u = z 1...z k Z szónak ap u = σ zk (...σ z1 (#)...) F ΣZ fát feleltetjük meg. AzA = (A,Σ Z ) univerzális algebrában (lásd előző diák) továbbra is σ A z (q) = δ(q,z),(q A, z Z), továbbá # A = q 0 Végül az M véges automatához hozzárendeljük aza = (A,A ) Σ Z X 0 -faautomatát, ahol ismét A = Q. 38
FELISMERTHETŐ FANYELVEK BOOLE MŰVELETEKRE VALÓ ZÁRTSÁGA S, T F Σ (X n ) fanyelvek esetén azs T,S T és S \T = {p p S ésp T} műveleteket Boole-féle műveleteknek nevezzük. Tétel TetszőlegesΣ-rangolt ábécére ésntermészetes számra, Rec(Σ,X n ) zárt a Boole-féle műveletekre nézve. Bizonyítás Legyenek S ést felismerhetőσx n -fanyelvek, azazs = T(A), T = T(B), ahol A = (A,a,A ), A = (A,Σ), a = (a (1),...,a (n) ) és B = (B,b,B ), B = (B,Σ),b = (b (1),...,b (n) ) ΣX n -faautomaták. 39
FELISMERTHETŐ FANYELVEK BOOLE MŰVELETEKRE VALÓ ZÁRTSÁGA Konstruáljuk meg ac = (A B,c,C ) ΣX n -faautomatát, ahol c = ((a (1),b (1) ),...,(a (n),b (n) )), továbbá A B azaésb algebrák direktszozata, C -t pedig később adjuk meg. Azonnal látható, hogy p A B (c) = (p A (a),p B (b)). Könnyű számolással igazolható, hogy C = (A B) (A B ) esetén: T(C) = S T C = A B esetén: T(C) = S T és C = A (B B ) esetén: T(C) = S \T. 40
PUMPÁLÓ LEMMA FELISMERHETŐ FANYELVEKRE Jelölések: Legyenξ egy új segédszimbólum. Ekkor F Σ (X n {ξ})-vel jelöljük az összes olyan F Σ (X n {ξ}) fák halmazát, amelyekben ξ pontosan egyszer fordul elő. Tetszőlegesp F Σ (X n ) FΣ (X n {ξ}) ésq FΣ (X n {ξ}) esetén p q = q(ξ p), továbbá aq k k-adik hatványát az alábbi módon értelmezzük: (i)q 0 = ξ, és (ii)q k = q q k 1, ha k > 0. 41
PUMPÁLÓ LEMMA FELISMERHETŐ FANYELVEKRE Tétel (Pumpáló lemma) LegyenAegyk-állapotúΣX n -automata. Ha p T(A) legalábbk magasságú fa, akkor vannak olyan q F Σ (X n ) ésr,s F Σ (X n {ξ}) fák, hogy 1) p = q r s, 2) h(r) 1, 3) q r l s T(A) (l = 0,1,...). Bizonyítás Legyen p T(A), h(p) k és tegyük fel, hogy p = σ(p 1,...,p m ) (σ Σ m, m > 0). Legyen1 i m egy olyan index, melyre h(p i ) = h(p) 1és írjuk felp-t p = p i σ(p 1,...,p i 1,ξ,p i+1,...,p m ) alakban. Legyen s 1 := σ(p 1,...,p i 1,ξ,p i+1,...,p m ). 42
PUMPÁLÓ LEMMA FELISMERHETŐ FANYELVEKRE Ezen eljárást folytatva, p felírhatóp = s k+1 s k... s 2 s 1, alakban, ahol -s k+1 F Σ (X n ), -s 1,...,s k F Σ (X n {ξ}), - h(s i ) 1 minden i = 1,...,k-ra. Mivel A állapotainak a számak, vannak olyan 1 i < j k +1 : indexek, hogy (s k+1... s i )(a) = (s k+1... s j )(a). Legyen q = s k+1... s j, r = s j 1... s i, s = s i 1... s 1. Azonnal látható, hogy (q r l s)(a) = p(a) mindenl = 0,1,...-re. 43
A PUMPÁLÓ LEMMA ALKALMAZÁSAI A pumpáló lemma segítségével megmutathatjuk, hogy egy fanyelv nem felismerhető. Nem felismerhető fanyelvek: 1) A nem felismerhető (közönséges) nyelvek kódolásaként kapott fenyelvek. Pl. az {a n b n n 0} nem felismerhető nyelvnek megfelelő {σ a (...σ a (σ b (...(σ b (x 1 ))...)) n 0} }{{}}{{} n-szer n-szer fanyelv, ahol σ a ésσ b egyváltozós szimbólumok.) 2) A fanyelvekre adott példák közül T ést nem felismerhető. 44
A PUMPÁLÓ LEMMA ALKALMAZÁSAI A pumpáló lemma segítségével megmutathatjuk, hogy egy fanyelv nem felismerhető. Nem felismerhető fanyelvek: 3) A teljesen kiegyensúlyozott bináris fákból álló fanyelv nem felismerhető. Legyen Σ = Σ 2, ahol Σ 2 = {σ}. Ekkor a {a,σ(a,a),σ(σ(a,a),σ(a,a)),...} fanyelv nem felismerhető. 45
A PUMPÁLÓ LEMMA ALKALMAZÁSAI Eldönthetőségi kérdések felismerhető fanyelvekre. Tétel LegyenAegy k-állapotúσx n -automata. Úgy T(A) akkor és csakis akkor nem üres, ha van egyk-nál kisebb magasságú fa T(A)-ban. Bizonyítás Az állítás egyik fele nyilvánvaló A másik irányra indirekt bizonyítást adunk. Evégett tfht(a) és minden T(A)-beli fa magassága legalább k. Legyenp T(A) egy minimális méretű T(A)-beli fa. A pumpáló lemma szerint létezikp-nek olyan p = q r s felbontása, amely kielégíti ezen lemma feltételeit. Így q s T(A) is teljesül. Ugyanakkor a q s fa mérete kisebb p méreténél, ami ellentmondás. Tétel TetszőlegesAΣX n -faautomata esetén eldönthető, hogy T(A) üres-e. 46
A PUMPÁLÓ LEMMA ALKALMAZÁSAI Eldönthetőségi kérdések felismerhető fanyelvekre. Tétel TetszőlegesAésBΣX n -faautomaták esetén eldönthető, hogy T(A) T(B) teljesül-e. Bizonyítás Tudjuk, hogy T(A) T(B) T(A)\T(B) =. Konstruáljuk meg azt a C faautomatát, melyre T(C) = T(A)\ T(B) (Boole művetekre való zártság), majd döntsük el, hogy T(C) üres-e. Tétel TetszőlegesAésBΣX n -faautomaták esetén eldönthető, hogy T(A) = T(B) teljesül-e. 47
A PUMPÁLÓ LEMMA ALKALMAZÁSAI Eldönthetőségi kérdések felismerhető fanyelvekre. Tétel Legyen A egyk-állapotúσx n -automata. ÚgyT(A) akkor és csakis akkor végtelen, ha tetszőleges l 0 egész számra létezik az l+k h(p) < l+2k összefüggéseket kielégítő p T(A) fa. Bizonyítás p : l+k h(p) < l+2k = (a pumpáló lemma szerint)t(a) végtelen. Megfordítva, tfh T(A) végtelen. Akkor van olyan t T(A), hogy h(t) l + 2k és föltehető, hogy size(t) minimális. Továbbá, t felbontható t = s k+1 s k... s 2 s 1, alakban, ahol s 1,s 2,...,s k+1 a pumpáló lemma bizonyításában szereplő fák. 48
A PUMPÁLÓ LEMMA ALKALMAZÁSAI Legyen1 i < j k +1 úgy, hogy (s k+1... s j ) A (a) = (s k+1... s i ) A (a) ésj i minimális. Tekintsük ap = s k+1... s j s i 1... s 1 fát. Teljesül, hogy -p T(A) és - size(p) < size(t). Mivel t a minimális méretű olyan fa volt, melyre h(t) l+2k, kapjuk, hogy h(p) < l+2k. Továbbá, azs 1,s 2,...,s k+1 fák definíciójából, valamint abból, hogy j i minimális, következik, hogy h(t) h(p) k. Ez utóbbiból viszont következik, hogy l+k h(p). Tehát ez a p fa megfelelő. 49
A PUMPÁLÓ LEMMA ALKALMAZÁSAI Eldönthetőségi kérdések felismerhető fanyelvekre. Következmény Legyen A egyk-állapotúσx n -automata. Úgy T(A) akkor és csakis akkor végtelen, ha létezik a k h(p) < 2k összefüggéseket kielégítő p T(A) fa. Bizonyítás Az előző tételből kapjuk azl = 0 esetben. Tétel TetszőlegesAΣX n -faautomata esetén eldönthető, hogy hogy T(A) végtelen-e. Bizonyítás A k h(p) < 2k összefüggéseket kielégítő p fák száma véges. 50
FAAUTOMATÁK VÁLTOZATAI Jelölés: AzAhalmaz részhalmazainak a halmazátp(a)-val jelöljük. A halmaz feletti m-változós (m 0) nemdeterminisztikus művelet: f : A m P(A) leképezés. (Ham = 0, akkor f A.) Nemdeterminisztikus (nd) Σ-algebra: A = (A,Σ A ), ahol Σ A = {σ A σ Σ} és mindenm 0-ra ésσ Σ m eseténσ A egy A felettim-változós nemdeterminisztikus művelet. A nd Σ-algebra,σ Σ m ésa 1,...,A m P(A) esetén definiáljuk: σ A (A 1,...,A m ) = (σ A (a 1,...,a m ) a 1 A 1,...,a m A m ). 51
FAAUTOMATÁK VÁLTOZATAI LegyenA = (A,Σ) nd algebra. Minden p F Σ (X n ) indukál A-ban egy p A : P(A) n P(A) polinom függvényt, amelyet a következőképpen definiálunk. Tetszőlegesa = (A (1),...,A (n) ) P(A) n esetén: 1) ha p = x i (1 i n), akkor p A (a) = A (i), 2) ha p = σ Σ 0, akkor p A (a) = σ A ( A), 3) ha p = σ(p 1,...,p m )(σ Σ m, m > 0), akkor p A (a) = σ A (p A 1 (a),...,p A m(a)). 52
FAAUTOMATÁK VÁLTOZATAI Nemdeterminisztikus (nd) ΣX n -faautomata: egya = (A,a,A ) rendszer, ahol A = (A,Σ) véges nd Σ-algebra, amely elemei az állapotok, a = (A (1),...,A (n) ) P(A) n, a kezdő-vektor A A, a végállapotok halmaza. AzAáltal felismert T(A) fanyelv: T(A) = {p F Σ (X n ) p A (a) A }. 53
FAAUTOMATÁK VÁLTOZATAI A determinisztikus faautomata az nd faautomata speciális esete. A nd faautomata determinisztikus faautomatával való szimulálásához: Legyen A = (A, Σ) egy nd Σ-algebra AzArészhalmaz algebrája a P(A) = (P(A),Σ P(A) ) algebra, ahol tetszőleges σ Σ m ésa 1,...,A m P(A) m esetén σ P(A) (A 1,...,A m ) = σ A (A 1,...,A m ). P(A) determinisztikus, továbbá minden p F Σ (X n ) és a = (A (1),...,A (n) ) P(A) n esetén p A (a) = p P(A) (a). 54
FAAUTOMATÁK VÁLTOZATAI Tétel Az ndσx n -faautomatákkal felismerhető erdők osztálya megegyezik Rec(Σ,X n )-nel. Bizonyítás Legyen A = (A,a,A ) egy nd ΣX n -faautomata. Konstruáljuk meg a B = (P(A), a,b ) (determinisztikus) ΣX n -faautomatát, ahol B = {b P(A) b A }. Mivelp A (a) = p P(A) (a), kapjuk, hogy p T(A) p A (a) A p P(A) (a) A p P(A) (a) B p T(B) Tehát T(A) = T(B) 55
FAAUTOMATÁK VÁLTOZATAI Nemdeterminisztikus (nd) felszálló Σ-algebra: egya = (A,Σ A ) pár, ahol A halmaz, azaelemeinek a halmaza, továbbá Σ A = {σ A σ Σ}, ahol - ha σ Σ 0, akkor σ A A, - ha σ Σ m ésm > 0, akkor σ A : A P(A m ). Nemdeterminisztikus (nd) felszálló ΣX n -automata: egya = (A,A, a) rendszer, ahol A véges nd felszállóσ-algebra, amely elemei az állapotok, A ( A) a kezdő-állapotok halmaza, a = (A (1),...,A (n) )( P(A) n ) a végállapot-vektor. 56
FAAUTOMATÁK VÁLTOZATAI a 1 p 1... a σ p m a m (a 1,...,a m ) σ A (a) 57
FAAUTOMATÁK VÁLTOZATAI LegyenA = (A,A, a) egy nd felszállóσx n -automata. Definiáljuk az α A : F Σ (X n ) P(A) leképezést: minden p F Σ (X n ) esetén ha p = x i (1 i n), akkor α A (p) = A (i), ha p = σ (σ Σ 0 ), akkor α A (p) = σ A, ha p = σ(p 1,...,p m ) (σ Σ m, m > 0), akkor α A (p) = {a A σ A (a) (α A (p 1 )... α A (p m )) } Néha α A (p) helyett csakα(p)-t írunk. AzAáltal felismert fanyelv: T(A) = {p F Σ (X n ) α A (p) A }. 58
FAAUTOMATÁK VÁLTOZATAI Példa LegyenΣ = Σ 2 = {σ}. Tekintsük aa = (A,Σ) nd felszálló algebrát, ahol A = {a 0,a 1 }, továbbá σ(a 0 ) = {(a 0,a 0 )} σ(a 1 ) = {(a 0,a 1 ),(a 1,a 0 )} Végül legyen A = (A,A, a) nd felszállóσx 2 -automata, ahol A = {a 1 } és a = ({a 1 },{a 0 }). Ekkor T(A) = {p F Σ (X 2 ) p-ben pontosan egyx 1 van}. Jelöljük ezt az erdőt T x1 -gyel. 59
FAAUTOMATÁK VÁLTOZATAI Példa LegyenΣ = Σ 2 = {σ}. Tekintsük aa = (A,Σ) nd felszálló algebrát, ahol A = {a 0,a 1 }, továbbá σ(a 0 ) = {(a 0,a 0 ),(a 1,a 1 )} σ(a 1 ) = {(a 0,a 1 ),(a 1,a 0 )} Végül legyen A = (A,A, a) nd felszállóσx 2 -automata, ahol A = {a 1 } és a = ({a 1 },{a 0 }). Ekkor T(A) = {p F Σ (X 2 ) p-ben páratlan számúx 1 van}. HaA = {a 0 }, akkor T(A) = {p F Σ (X 2 ) p-ben páros számúx 1 van}. 60
FAAUTOMATÁK VÁLTOZATAI Tétel A nd felszállóσx n -faautomaták által felismert erdők osztálya megegyezik az nd ΣX n -faautomaták által felismert erdők osztályával (vagyis Rec(Σ,X n )-nel). Bizonyítás Legyen A = (A,A, a) nd felszállóσx n -faautomata, ahol A = (A,Σ),a = (A (1),...,A (n) ) Definiáljuk ab = (A,Σ) ndσ-algebrát a következőképpen: a σ B a σ A (a A, σ Σ 0 ) a σ B (a 1,...,a m ) (a 1,...,a m ) σ A (a) minden (a,a 1,...,a m A, σ Σ m, m > 0) esetén. Definiáljuk ab = (B, a,a ) ndσx n -faautomatát. Megmutatjuk, hogy T(A) = T(B) 61
FAAUTOMATÁK VÁLTOZATAI Előtt egy példa: LegyenΣ = Σ 2 = {σ}. Tekintsük a A = (A,Σ) nd felszálló algebrát, ahol A = {a 0,a 1 }, továbbá σ A (a 0 ) = {(a 0,a 0 )},σ A (a 1 ) = {(a 0,a 1 ),(a 1,a 0 )} és aza = (A,A, a) nd felszállóσx 2 -automatát, ahol A = {a 1 } és a = ({a 1 },{a 0 }). Ekkor B = (A,Σ) az az ndσ-algebra, melyben σ B (a 0,a 0 ) = {a 0 },σ B (a 1,a 1 ) =, σ B (a 0,a 1 ) = σ B (a 1,a 0 ) = {a 1 }, ésb = (B, a,a ) pedig a ráépített nd ΣX 2 -faautomata. 62
FAAUTOMATÁK VÁLTOZATAI Megmutatjuk, hogy T(A) = T(B) Először azt igazoljuk, hogy tetszőlegesp F Σ (X n ) fáraα A (p) = p B (a). h(p) szerinti indukció (i) h(p) = 0: (ia) ha p = x i (1 i n), akkor α A (p) = A (i) = p B (a). (ib) ha p = σ Σ 0, akkor α A (p) = σ A = σ B = p B (a), 63
FAAUTOMATÁK VÁLTOZATAI (ii) h(p) > 0, vagyis p = σ(p 1,...,p m ) (σ Σ m, m > 0) a 1 p 1... a σ p m a m a α A (p) ( a 1,...,a m A): ((a 1,...,a m ) σ A (a)) (a i α A (p i ) i = 1,...,m) (definíció + ind. feltevés)(a σ B (a 1,...,a m ) (a i p B i (a) i = 1,...m) a p B (a) Fordítva a megfordításával. Kapjuk, hogy α A (p) = p B (a). 64
FAAUTOMATÁK VÁLTOZATAI Igy p T(A) α A (p) A αa (p)=p B (a) p B (a) A p T(B) Vagyis a nd felszálló faautomatákkal felismerhető erdők felismerhetők nd faautomatával (és így faautomatával) is. 65
FAAUTOMATÁK VÁLTOZATAI Fordítva, legyen B = (B, a,a ) nd ΣX n -faautomata, ahol B = (A,Σ) és a = (A (1),...,A (n) ) Vegyük aza = (A,Σ) nd felszálló algebrát, ahol - a σ B a σ A (a A, σ Σ 0 ) -a σ B (a 1,...,a m ) (a 1,...,a m ) σ A (a) (a,a 1,...,a m A, σ Σ m, m > 0) és tekintsük aza = (A,A, a) nd felszálló faautomatát. Végezzük el A-ra a bizonyítás első felében látott konstrukciót. Akkor visszakapjuk B = (B, a,a )-t. Másrészt a konstrukció megőrzi a felismert erdőt. Így a nd faautomatákkal felismerhető erdők felismerhetők nd felszálló faautomatákkal is. 66
FAAUTOMATÁK VÁLTOZATAI Az A = (A, Σ) nd felszálló algebra determinisztikus, ha - σ A 1, ha σ Σ 0 és - σ A (a) 1, minden σ( Σ m, m > 0) műveleti szimbólumra ésa( A) állapotra. EgyA = (A,A, a) nd felszálló faautomata determinisztikus, ha A determinisztikus, A egy egyelemű{a 0 } halmaz. Ekkor A helyett egyszerűena 0 -t írunk, vagyis A = (A,a 0, a). (Figyelem: az a vektor elemei a determinisztikus esetben is halmazok!) A determinisztikus felszállóσx n -faautomatával felismerhető fanyelvek osztályát Det(Σ,X n )-nel jelöljük. A determinisztikus felszálló faautomatával felismerhető fanyelveket determinisztikus fanyelveknek hívjuk. 67
FAAUTOMATÁK VÁLTOZATAI Példa LegyenΣ = Σ 2 Σ 1, ahol Σ 2 = {σ} ésσ 1 = {γ}. Tekintsük az A = (A,Σ) determinisztikus felszálló algebrát, ahol A = {a 0,a 1,a 2 }, továbbá σ(a 0 ) = (a 1,a 2 ),σ(a 1 ) = σ(a 2 ) =, γ(a 1 ) = a 1, γ(a 2 ) = a 2. Végül legyen A = (A,A, a) az a determinisztikus felszálló faautomata, ahol A = {a 0 } és a = ({a 1 },{a 2 }). Ekkor T(A) = {σ(γ m (x 1 ),γ n (x 2 )) m,n 0}. Jelöljük ezt az erdőt T m,n -nel. Tehát T m,n Det(Σ,X 2 ). 68
FAAUTOMATÁK VÁLTOZATAI Tétel A determinisztikus erdők osztálya a felismerhető erdők osztályának valódi részosztálya. Bizonyítás Legyen Σ = Σ 2 = {σ},n = 2 ést 2 = {σ(x 1,x 2 ),σ(x 2,x 1 )}. Megmutatjuk, hogy T 2 Rec(Σ,X 2 )\Det(Σ,X 2 ). Egyrészt T 2 felismerhető a következő A = (A,(a 1,a 2 ),{a 0 })ΣX 2 -automatával, ahol A = ({a 0,a 1,a 2,c},Σ), továbbá σ(a 1,a 2 ) = σ(a 2,a 1 ) = a 0 és minden más a, b kombináció esetén σ(a, b) = c (= csapda állapot). 69
FAAUTOMATÁK VÁLTOZATAI MásrésztT 2 nem ismerhető fel determinisztikus felszálló faautomatával, amit indirekt bizonyítással mutathatunk meg. Tfh. T felismerhető ab = (B,b 0,(B (1),B (2) )) determinisztikus felszálló ΣX 2 -automatával. Legyenσ(b 0 ) = (b 1,b 2 ). Mivel σ(x 1,x 2 ) T(B), kapjuk, hogy b 1 B (1) ésb 2 B (2) Mivel σ(x 2,x 1 ) T(B), kapjuk, hogy b 1 B (2) ésb 2 B (1) Tehát {b 1,b 2 } B (1) és{b 1,b 2 } B (2). Ekkor viszont B felismeri aσ(x 1,x 1 ) ésσ(x 2,x 2 ) fákat is, tehát T 2 T(B). 70
FAAUTOMATÁK VÁLTOZATAI Ugyanez rajzban: x 1 x 2 σ(x 1,x 2 ) T(B) = b 1 B (1) b 2 B (2) b 1 b 2 x 2 x 1 σ(x 2,x 1 ) T(B) = b 1 B (2) b 2 B (1) b0 σ }{{} σ(x 1,x 1 ),σ(x 2,x 2 ) T(B) 71
FAAUTOMATÁK VÁLTOZATAI A következő részbenσolyan rangolt ábécé, melyben Σ 0 =. EgyA = (A,A,a) felszálló faautomatának egya A állapota 0-állapot, ha T((A,{a},a)) =. Tétel Létezik algoritmus annak eldöntésére, hogy a 0-állapot-e. A normalizált, ha minden σ Σ m,a A, (a 1,...,a m ) σ(a) eseténa i -k egyike sem 0-állapot. Tétel BármelyA = (A,A,a) nd felszálló faautomatához van vele ekvivalens A = (A,A,a) normalizált nd felszálló faautomata. Bizonyítás Ha (a 1,...,a m ) σ(a) tartalmaz egy olyan komponenst, amely 0-állapot, akkor töröljük σ(a)-ból. 72
DETERMINISZTIKUS FELSZÁLLÓ FAAUTOMATÁK Minden σ Σ m (m 0) esetén bevezetjük a σ = {σ 1,...,σ m } (rangolatlan) ábécét. Haσ τ. σ τ =. Legyen = ( σ σ Σ). Tetszőlegesp F Σ (X n ) ésx X n a p-beli x-utak g x (p) halmaza: (i) g x (x) = {ε} és g x (y) =, ha y x (y X n ) (ii) ha p = σ(p 1,...,p m ), akkor g x (p) = σ 1 g x (p 1 )... σ m g x (p m ) Szemléletesen: Apfaσ-val címkézett csúcsából kiinduló i-ik élhez írjuk a σ i címkét. Akkor ap-beli x-utakat úgy kapjuk, hogy p-ben a gyökértől azx-szel címkézett levelekhez vezető utak mentén az élek címkéit a gyökértől a levelek felé haladva összeolvassuk. 73
DETERMINISZTIKUS FELSZÁLLÓ FAAUTOMATÁK Példap = σ(τ(x 2,x 1 ),ρ(x 2 )) x 2 x 1 ρ 1 ρ τ σ 1 σ 2 τ 1 τ 2 σ x 2 σ = {σ 1,σ 2 }, τ = {τ 1,τ 2 }, ρ = {ρ 1 }, = {σ 1,σ 2,τ 1,τ 2,ρ 1 } g x1 (p) = {σ 1 τ 2 }, g x2 (p) = {σ 1 τ 1,σ 2 ρ 1 } 74
DETERMINISZTIKUS FELSZÁLLÓ FAAUTOMATÁK Kiterjesztés: tetszőlegest F Σ (X n )-re ésx X n -re g x (T) = (g x (p) p T). EgyT F Σ (X n ) fanyelv c(t) lezártja: c(t) = {p F Σ (X n ) ( x X n ) : g x (p) g x (T)}. Nyilvánvaló, hogy T c(t), mert ha p T, akkor ( x X n ) : g x (p) g x (T). Azt mondjuk, hogy T zárt, ha T = c(t). HaT = {p}, akkor T zárt. 75
DETERMINISZTIKUS FELSZÁLLÓ FAAUTOMATÁK Példa. A T 2 = {σ(x 1,x 2 ),σ(x 2,x 1 )} erdő nem zárt. σ 1 σ 2 x 1 x 2 σ σ 1 σ 2 x 2 x 1 σ Látható, hogy g x1 (T 2 ) = {σ 1,σ 2 } = g x2 (T 2 ). Továbbá, g x1 (σ(x 1,x 1 )) = {σ 1,σ 2 }, g x2 (σ(x 1,x 1 )) =, g x1 (σ(x 2,x 2 )) =, g x2 (σ(x 2,x 2 )) = {σ 1,σ 2 }. Ezért c(t 2 ) = {σ(x 1,x 2 ),σ(x 2,x 1 ),σ(x 1,x 1 ),σ(x 2,x 2 )}. Példa. A T x1 erdő sem zárt. 76
DETERMINISZTIKUS FELSZÁLLÓ FAAUTOMATÁK TetszőlegesA = (A,A,a) nd felszálló faautomata esetén (ahol a = (A (1),...,A (n) )) bevezetjük a P(A) = (P(A),A,b) felszálló faautomatát, ahol 1) P(A) = (P(A), Σ) det. felszálló algebra, melynek műveletei: σ P(A) (H) = ( (π 1 (σ A (a)) a H),..., (π m (σ A (a)) a H)). (σ Σ m, H P(A) ésπ i azi-edik projekció: π i (c 1,...,c n ) = c i )), 2) b = (B (1),...,B (n) ) ésb (i) = {H P(A) H A (i) }. Nyilvánvaló, hogy P(A) determinisztikus, mert σ P(A) : P(A) P(A) m, tehát az érték egy vektor, melynek elemei halmazok P(A)-nak egy kezdőállapota van: A P(A). 77
DETERMINISZTIKUS FELSZÁLLÓ FAAUTOMATÁK Ugyanakkor, általábant(p(a)) T(A), mert mint láttuk az nd felszálló faautomaták nem determinizálhatók : van olyan nd felszálló faautomata, amelyhez nincsen vele ekvivalens determinisztikus felszálló faautomata Ha viszont A determinisztikus, akkor T(P(A)) = T(A), mert a P(A) kezdőállapota egyelemű halmaz (A = {a 0 }) ésσ P(A) (a) = σ A (a) minden a A-ra. 78
DETERMINISZTIKUS FELSZÁLLÓ FAAUTOMATÁK Példa. LegyenA = {a 0,a 1,a 2 },Σ = Σ 2 = {σ} és tekintsük az A = (A,Σ) nd felszálló algebrát, ahol σ(a 0 ) = {(a 1,a 2 ),(a 2,a 1 )} ésσ(a 1 ) = σ(a 2 ) =. Tekintsük továbbá aza = (A,A,a) nd felszálló faautomatát, ahol A = {a 0 } és a = ({a 1 },{a 2 }). Nyilvánvalóan T(A) = {σ(x 1,x 2 ),σ(x 2,x 1 )}. A P(A) = (P(A), Σ) determinisztikus felszálló algebrában σ({a 0 }) = ({a 1,a 2 },{a 1,a 2 }), stb Ekkor ap(a) = (P(A),A,b) determinisztikus felszálló faautomatában b = ({{a 1 },{a 1,a 2 },...},{{a 2 },{a 1,a 2 },...}) és T(P(A)) = {σ(x 1,x 1 ),σ(x 1,x 2 ),σ(x 2,x 1 ),σ(x 2,x 2 )}. 79
DETERMINISZTIKUS FELSZÁLLÓ FAAUTOMATÁK Tétel LegyenA = (A,A,a) nd felszálló faautomata. HaAnormalizált, akkor T(P(A)) = c(t(a)). Bizonyítás T(P(A)) c(t(a)): Tfhp T(P(A)) ésu g xj (p) (x j X n ) Legyenu = (δ 1 ) i1...(δ k ) ik (k 0) ésδ 1,...,δ k Σ. AP(A) def. alapján nyilvánvaló, hogy a 0,...,a k A: 1) a 0 A ésa k A (j), 2) δ A 1 (a 0 ) i 1 -edik komponense a 1,...,δ A k (a k 1 )i k -adik komponense a k Aza 0,...,a k egyike sem 0-állapot, mivel A normalizált Így azuutat ki tudjuk egészíteni olyan q T(A) fává, melyreu g xj (q). Következésképpen p c(t(a)) c(t(a)) T(P(A)): nyilvánvalóan teljesül, mert P(A) a különböző fákban lévő utakat egyszerre látja. 80
DETERMINISZTIKUS FELSZÁLLÓ FAAUTOMATÁK Tétel Egy felismerhető erdő akkor és csakis akkor determinisztikus, ha zárt. Bizonyitás Tekintsünk egyand felszálló faautomata által felismert fanyelvet és tegyük fel, hogy A normalizált. HaAdeterminisztikus, akkor T(P(A)) = T(A). Az előző tétel szerint viszont T(P(A)) = c(t(a)). Tehát T(A) = c(t(a)), vagyis T(A) zárt fanyelv. HaT(A) zárt vagyis T(A) = c(t(a)), akkor ugyancsak az előző tétel szerint T(P(A)) = T(A), tehát T(A) determinisztikus. Következmény T 2,T x1 Det(Σ,X 2 ) (mivel egyik sem zárt). Ugyanakkor T m,n Det(Σ,X 2 ), tehát zárt. 81
REGULÁRIS FANYELVTANOK Egy reguláris ΣX n -fanyelvtan egyg = (A,Σ,X n,p,a 0 ) rendszer, ahol A véges halmaz, a nemterminális szimbólumok halmaza, Σ rangolt ábécé, A (Σ X n ) =, P átírási szabályok véges halmaza, melyek alakja a r, ahol a A és r F Σ (A X n ), a 0 A, a kezdőszimbólum. HaGértelmezésébenΣvagy X n nem nyer specifikálást, akkor reguláris fanyelvtanról beszélünk. 82
REGULÁRIS FANYELVTANOK p G q (p,q F Σ (A X n )) közvetlen deriváció: p = a a r P r = q p G q deriváció 83
REGULÁRIS FANYELVTANOK AG = (A,Σ,X n,p,a 0 ) reguláris fanyelvtan által generált fanyelv: T(G) = {p F Σ (X n ) a 0 p}. Példa LegyenG = (A,Σ,X 2,P,a 1 ) egy regulárisσx 2 -fanyelvtan, ahol A = {a 0,a 1 },Σ = Σ 2 = {σ}, ésp a következő szabályokból áll: a 1 σ(a 0,a 1 ) σ(a 1,a 0 ) x 1, a 0 σ(a 0,a 0 ) x 2. Könnyű látni, hogy T(G) = T x1. 84
REGULÁRIS FANYELVTANOK Példa LegyenG = (A,Σ,X 2,P,a 0 ) egy regulárisσx 2 -fanyelvtan, ahol A = {a 0,a 1,a 2 },Σ = Σ 2 Σ 1, ahol Σ 2 = {σ},σ 1 = {γ} ésp a következő szabályokból áll: a 0 σ(a 1,a 2 ), a 1 γ(a 1 ) x 1, a 2 γ(a 2 ) x 2. Könnyű látni, hogy T(G) = T m,n. 85
REGULÁRIS FANYELVTANOK EgyG = (A,Σ,X n,p,a ) rendszer kiterjesztett reguláris ΣX n -nyelvtan, ahol A, Σ, X n, P ugyanaz, mint a regulárisσx n -nyelvtan definíciójában, A A pedig a kezdőszimbólumok halmaza. AG = (A,Σ,X n,p,a ) kiterjesztett reguláris fanyelvtan által generált fenyelv: T(G) = {p F Σ (X n ) a p, a A }. Tétel Bármely kiterjesztett reguláris fanyelvtanhoz van vele ekvivalens reguláris fanyelvtan. Bizonyítás G = (A,Σ,X n,p,a ) tetszőleges kiterjesztett reguláris fanyelvtanhoz megkonstruáljuk a Ḡ = (Ā,Σ,X n, P,a 0 ) reguláris fenyelvtant, ahol Ā = A {a 0 } (a 0 A új nemterminális) és P = {a 0 a a A } P. 86
REGULÁRIS FANYELVTANOK AG = (A,Σ,X n,p,a ) kiterjesztett reguláris fanyelvtan normálalakban adott, ha átírási szabályai a következő alakúak: a x i (a A, x i X n ), vagy a σ (a A, σ Σ 0 ), vagy a σ(a 1,...,a m )(a,a 1,...,a m A, σ Σ m, m > 0). 87
REGULÁRIS FANYELVTANOK Ábrap = σ(p 1,...,p m ), a σ(a 1,...,a m ) P,a i = p i (i = 1,...,m), a = σ(a 1,...,a m ) = σ(p 1,...,p m ) a = a 1... a m σ p 1... = σ p m 88
REGULÁRIS FANYELVTANOK Tétel BármelyG(kiterjesztett) reguláris fanyelvtanhoz van vele ekvivalens normálalakban adott (kiterjesztett) reguláris fanyelvtan. Bizonyítás Legyen G = (A,Σ,X n,p,a ) kiterjesztett reguláris fanyelvtan és egyena p P olyan szabály amelyik nem felel meg a normálalak követelményinek. 1) h(p) = 0, vagyis a szabály a b (b A) alakú. Ha van olyan c r P szabály, melyrer A ésb c, akkor helyettesítsük P -ben aza b szabályt az összes a r szabállyal. Különben az a b szabályt elhagyjuk P -ből. (Láncszabály mentesítés.) 89
REGULÁRIS FANYELVTANOK 2) h(p) > 0,p = σ(p 1,...,p m )(σ Σ m, m > 0). Hap i A, akkor vegyünk fel egy új a i nemterminális szimbólumot ésa i p i szabályt. Az a p szabályt helyettesítsük az a i p i (1 i m) szabályokkal és aza σ(b 1,...,b m ) szabállyal, ahol tetszőlegesi(1 i m) indexre a i, ha p i A, b i = p i, különben. A fenti módosítás ekvivalens fanyelvtant eredményez. Másrészt mivel h(p i ) < h(p), ezért véges számú lépésben egy normál alakban adott kiterjesztett reguláris fanyelvtanhoz jutunk. Az is nyilvánvaló, hogy hagnem kiterjesztett, akkor az eredményül kapott reguláris fanyelvtan sem kiterjesztett. 90
REGULÁRIS FANYELVTANOK Tétel A regulárisσx n fanyelvtanok által generált erdők osztálya megegyezik a felismerhető erdők osztályával (vagyis Rec(Σ,X n )-nel). Bizonyítás Legyen G = (A,Σ,X n,p,a ) normál alakban adott, kiterjesztett reguláris fanyelvtan. Értelmezzük aza = (A,Σ) nd felszálló algebrát a következőképpen: 1) σ Σ 0 : a σ A a σ P, 2) σ Σ m, m > 0 : (a 1,...,a m ) σ A (a) a σ(a 1,...,a m ) P. Majd definiáljuk az A = (A,A,a) (a = (A (1),...,A (n) )) nd felszálló faautomatát, ahol a A (i) a x i P (1 i n). 91
REGULÁRIS FANYELVTANOK Megmutatjuk, hogy tetszőlegesa A ésp F Σ (X n ) esetén a G p a α A (p). h(p) szerinti indukció (i) h(p) = 0: (ia)p = x i (1 i n): a G x i a x i P a A (i) a α A (x i ), ahol a második ekvivalenciáknál A (i) definícióját, a harmadiknál pedig az A (i) = α A (x i ) egyenlőséget használtuk ki. (ib)p = σ Σ 0 : a G σ a σ P a σ A a α A (σ), ahol a második ekvivalenciáknál σ A definícióját, a harmadiknál pedig az σ A = α A (σ) egyenlőséget használtuk ki. 92
REGULÁRIS FANYELVTANOK (ii) h(p) > 0,p = σ(p 1,...,p m )(σ Σ m, m > 0): Ekkor a levezetésa G σ(a 1,...,a m ) G σ(p 1,...,p m ) alakban írható. Az első lépés szerint a σ(a 1,...,a m ) P, ami ekvivalens azzal, hogy (a 1,...,a m ) σ A (a). Továbbá, minden1 i n-re,a i G p i, tehát az indukció feltevés szerint a i α A (p i ). Kapjuk, hogy a α A (σ(p 1,...,p m )). Fordítva : fordítva. Igy: p T(G) ( a A )a p α A (p) A p T(A), ahol a második ekvivalencia az előbb bizonyított a p a α A (p) ekvivalenciából következik. Következésképpen, a reguláris fanyelvtanokkal generálható erdők felismerhetők. 93
REGULÁRIS FANYELVTANOK Fordítva, legyen A = (A,A,a) (a = (A (1),...,A (n) ) nd felszálló faautomata, A = (A, Σ) nd felszálló algebra. Konstruáljuk meg ag = (A,Σ,X n,p,a ) kiterjesztett reguláris fanyelvtant, ahol a P szabályhalmazt a következőképpen definiáljuk: - Minden σ Σ 0 ésa A esetén : a σ A a σ P, - Minden σ Σ m, m > 0 ésa,a 1,...,a m A esetén: (a 1,...,a m ) σ A (a) a σ(a 1,...,a m ) P, - Minden 1 i n ésa A esetén: a A (i) a x i P (1 i n) A kapott G normál alakban adott. Konstruáljuk megg-hez a bizonyítás első felében látott nd felszálló faautomatát. VisszakapjukA-t. Másrészt a konstrukció megőrzi a generált erdőt: T(A) = T(G). 94
REGULÁRIS FANYELVTANOK Megjegyzés. Az előzőek értelmében Rec(Σ,X n ) bármely eleme reprezentálható az alábbi eszközök bármelyikével: ΣX n -faautomata, ndσx n -faautomata, nd felszállóσx n -faautomata, bármilyen típusú regulárisσx n -fanyelvtan. Továbbá, Det(Σ,X n ) valódi részosztálya Rec(Σ,X n )-nek és Det(Σ,X n ) a Rec(Σ,X n ) zárt elemeiből áll. 95
REGULÁRIS FANYELVTANOK Következmény. Minden véges erdő felismerhető. Bizonyítás Legyen T = {p 1,...,p k } F Σ (X n ) egy véges erdő. Tekintsük ag = (A,Σ,X n,p,a ) fanyelvtant, ahol A = A = {a 0 } P = {a 0 p 1,...,a 0 p k }. Nyilvánvaló, hogy L(G) = T. 96
MŰVELETEK FANYELVEKEN Először bevezetünk egy jelölést: tetszőleges σ Σ m ést 1,...,T m F Σ (X n ) esetén: σ(t 1,...,T m ) = {σ(p 1,...,p m ) p i T i, i = 1,...,m}. OI-helyettesítés (outside in): tetszőleges T,T 1,...,T n F Σ (X n ) estén definiáljuk at(x 1 T 1,...,x n T n ) fanyelvet. (T -beli fákban x i helyébe T i -beli fákat helyettesítünk oly módon, hogy x i különböző előfordulásai helyébe különböző T i -beli fák helyettesíthetők.) 97
MŰVELETEK FANYELVEKEN OI-helyettesítés (outside in): 1) Először tetszőlegesp F Σ (X n )-re definiáljuk a p(x 1 T 1,...,x n T n ) fanyelvet: - Ha p = x i (1 i n), akkor p(x 1 T 1,...,x n T n ) = T i. - Ha p = σ (σ Σ 0 ), akkor p(x 1 T 1,...,x n T n ) = {σ}. - Ha p = σ(p 1,...,p m )(σ Σ m, m > 0), akkor p(x 1 T 1,...,x n T n ) = σ(p 1 (x 1 T 1,...,x n T n ),...,p m (x 1 T 1,...,x n T n )). 2) Ezek után tetszőlegest -re: T(x 1 T 1,...,x n T n ) = p T p(x 1 T 1,...,x n T n ). 98
MŰVELETEK FANYELVEKEN Tétel Ha T,T 1,...,T n F Σ (X n ) tetszőleges felismerhető erdő, akkor T(x 1 T 1,...,x n T n ) is az. Bizonyítás LegyenT = T(G) ést i = T(G i ) (i = 1,...,n), ahol G = (A,Σ,X n,p,a 0 ) ésg i = (A i,σ,x n,p i,a i ) na-ban adott reguláris fanyelvtanok. TfhA,A 1,...,A n páronként diszjunktak Konstruáljuk meg aḡ = (Ā,Σ,X n, P,a 0 ) reguláris fanyelvtant, ahol Ā = A A 1... An és P =P {a x i a A, 1 i n} {a ai a x i P, 1 i n} P1... Pn Azonnal látható, hogy T(Ḡ) = T(x 1 T 1,...,x n T n ). 99
MŰVELETEK FANYELVEKEN x i -szorzat: LegyenS,T F Σ (X n ) és1 i n. AzS ést x i -szorzatát a következőképpen definiáljuk: S xi T = T(x 1 {x 1 },...,x i 1 {x i 1 },x i S,x i+1 {x i+1 },...,x n {x n }). Tétel A felismerhető fanyelvek osztálya zárt az x i -szorzásra nézve. Bizonyítás Következik az OI-helyettesítésre való zártságból és abból, hogy az{x j } egyelemű fanyelvek felismerhetők. 100
MŰVELETEK FANYELVEKEN x i -iteráció: TetszőlegesT F Σ (X n ) és(1 i n) esetén: T 0,x i = {x i }, T j+1,x i = (T j,xi xi T) T j,x i (j = 0,1...) Továbbá, at erdőx i -iteráltját a következőképpen értelmezzük: ÁllításT xi xi T T x i. T x i = (T j,x i j = 0,1,...). Bizonyítás Legyen q T xi xi T. Akkor: p T, p 1,...,p k T x i : q {p 1,...,p k } xi {p}, továbbá, j : p 1,...,p k T j,x i. Ezértq T j,xi xi T T j+1,x i T x i. 101
MŰVELETEK FANYELVEKEN Tétel A felismerhető erdők osztálya zárt az x i -iterációra nézve. Bizonyítás LegyenT F Σ (X n ) felismerhető erdő,1 i n természetes szám és tegyük fel, hogy T = T(G), ahol G = (A,Σ,X n,p,a 0 ) egy na-ban adott reguláris fanyelvtan. Tekintsük aḡ = (Ā,Σ,X n, P,Ā ) kiterjesztett reguláris fanyelvtant, ahol -Ā = A {d}(d A), - P = {d x i } P {a a 0 a x i P} -Ā = {d,a 0 } Nyilvánvalóan T(Ḡ) = T x i. Az egyesítés, azx i -szorzat és azx i -iteráció műveleteket reguláris műveleteknek hívjuk. Tétel A felismerhető erdők osztálya zárt a reguláris műveletekre nézve. 102
KLEENE TÉTELE REGULÁRIS FANYELVEKRE Reguláris ΣX n -kifejezések halmaza a legszűkebb olyan R halmaz, amelyre teljesülnek az alábbi feltételek: 1) R. 2) Σ 0 Xn R. 3) Haξ,ζ R, akkor - (ξ +ζ) R, - (ξ xi ζ) R (1 i n), - (ξ x i ) R (1 i n). 4) Haσ Σ m (m > 0) ésξ 1,...,ξ m R, akkor σ(ξ 1,...,ξ m ) R. A regulárisσx n -kifejezések halmazát RE(Σ,X n )-nel jelöljük. 103
KLEENE TÉTELE REGULÁRIS FANYELVEKRE Minden η RE(Σ,X n ) reguláris kifejezés meghatároz η F Σ (X n ) fanyelvet, amelyet a következőképpen értelmezünk: 1) Haη =, akkor η az üres erdő. 2) Haη Σ 0 Xn, akkor η = {η}. - Haη = (ξ +ζ), akkor η = ξ ζ, - ha η = (ξ xi ζ) (1 i n), akkor η = ξ xi ζ, - ha η = (ξ x i ) (1 i n), akkor η = ξ x i. 4) Haη = σ(ξ 1,...,ξ m ), akkor η = σ( ξ 1,..., ξ m ). Egy fanyelv reguláris, ha meghatározható reguláris kifejezéssel. 104
KLEENE TÉTELE REGULÁRIS FANYELVEKRE Példák ( 1) Haη = β x2 α x1 (σ(x 1,x 2 ) x 1 ) ), akkor η = {α,σ(α,β),σ(σ(α,β),β),...}. 2) Haη = (γ(x 2 )) x2 x2 ( γ(x1 )) x1 x1 (σ(x 1,x 2 ) ), akkor η = {σ(γ m (x 1 ),γ n (x 2 )) n,m 0}. 3) Mindenp F Σ (X n ) eseténp RE(Σ,X n ) és p = {p}. (Bizonyítás: p felépítése szerinti indukció.) Minden véges erdő reguláris: ha L = {p 1,...,p m }, akkor η = p 1 +...+p m. Tétel (Kleene) Egy erdő akkor és csak akkor reguláris, ha felismerhető. Bizonyítás Következik két részben. 105
KLEENE TÉTELE REGULÁRIS FANYELVEKRE Tétel A reguláris erdők felismerhetők. Bizonyítás: Azη regulárisσx n -kifejezés felépítése szerinti indukcióval. 1) Haη =, akkor η felismerhető bármely olyan ΣX n -automatával, amely végállapotainak a halmaza üres. 2) Haη Σ 0 Xn, akkor ag = ({a 0 },Σ,X n,p,a 0 ) reguláris fanyelvtan, ahol P = {a 0 η}, az η erdőt generálja. 3) η = (ξ +ζ), η = (ξ xi ζ) ésη = (ξ x i ): az indukció feltevés és a felismerhető erdők egyesítésre, x i -szorzásra ésx i -iterációra való zártsága miatt. 4) η = σ(ξ 1,...,ξ m ): tfh az ξ 1,..., ξ m erdők felismerhetők. Ekkor σ( ξ 1,..., ξ m ) = {σ(x 1,...,x m )}(x 1 ξ 1,...,x m ξ m ), tehát σ( ξ 1,..., ξ m ) is felismerhető az IO-helyettesítésre való zártság miatt. 106
KLEENE TÉTELE REGULÁRIS FANYELVEKRE Tétel A felismerhető erdők regulárisak. Bizonyítás Legyen A = (A,a,A ) egyσx n -automata, ahol A = {1,...,k}. TetszőlegesK A, 0 h k és1 i k esetént (h) K,i p F Σ (K X n ) fák halmaza, melyekre: az összes olyan p(a) = i éspmindensvalódi részfája esetén1 s(a) h. (Ap(a) egy állapot, melyet az algebrai alapfogalmak részben definiáltuk.) 107
KLEENE TÉTELE REGULÁRIS FANYELVEKRE PéldaA = {1,2,3,4},a = (1,3),A = {4} ésk = {2,4} p = σ(ρ(x 1,τ(x 2 ),x 1 ),τ(2)) x 2 x 2 3 x 1 τ x 1 2 ρ p T (4) K,3,p / T(0) K,3 p / T (1) K,3,p T(2) K,3 τ σ x 1 1 τ 2 x 1 1 2 2 ρ 1 σ 3 τ 1 108
KLEENE TÉTELE REGULÁRIS FANYELVEKRE Nyilvánvaló, hogy T(A) = (T (k),i i A ). Ezért elegendő igazolni, hogy mindenk A, 0 h k és1 i k esetént (h) K,i reguláris. h szerinti indukció: (i)h = 0: Ekkor nincs közbülső állapot, ezért T (0) K,i Σ 0 Xn {i} véges fanyelv, tehát reguláris. {σ(y 1,...,y m ) σ Σ m, y 1,...,y m Σ 0 Xn K}, 109
KLEENE TÉTELE REGULÁRIS FANYELVEKRE (ii)h h+1: Tfh. egy rögzített 0 h < k mellettt (h) K,i reguláris. Megmutatjuk: T (h+1) K,i = T (h) K,i T (h) K,h+1 h+1 (T (h) K {h+1},h+1 ) h+1 h+1 T (h) K {h+1},i. (1) Jelölje (1) jobb oldalát S. AzS T (h+1) K,i tartalmazás nyilvánvaló. Fordítva, tfh. p T (h+1) K,i tetszőleges. Irjuk apfa s részfájának a gyökeréhez második cimkeként azs(a) állapotot. A p gyökerétől a leveleihez vezető utakon h+1 belső előfordulásainak maximálislszáma szerinti indukcióval igazoljuk, hogy p S. 1) l = 0: p T (h) K,i, így állításunk igaz. 110
KLEENE TÉTELE REGULÁRIS FANYELVEKRE 2) Tfh. l > 0: p p 1... p d n d h+1 n 1 h+1 i n 1,...,n d csúcsokhoz vezető úton nincs h+1belső címke a p 1,...,p d részfákat helyettesítsük a h+1állapottal, jelölje q a kapott fát. Akkor q T (h) K {h+1},i 111
KLEENE TÉTELE REGULÁRIS FANYELVEKRE p 1,...,p d T (h+1) K,h+1 és ap 1,...,p d fák mindegyikében a h+1állapot l-nél kevesebbszer fordul elő. Tehát az indukciós feltevés szerint p 1,...,p d T (h) (h) K,h+1 T K,h+1 h+1 (T (h) K {h+1},h+1 ) h+1 h+1 T (h) K {h+1},h+1 T (h) (h) K,h+1 T K,h+1 h+1 (T (h) K {h+1},h+1 ) h+1 = T (h) K,h+1 h+1 (T (h) K {h+1},h+1 ) h+1 Tehát p {p 1,...,p d } h+1 q T (h) K,h+1 h+1 (T (h) K {h+1},i ) h+1 h+1 T (h) K {h+1},i S 112
KLEENE TÉTELE REGULÁRIS FANYELVEKRE Kleene tételének egy másik alakja. Tétel Egy fanyelv akkor és csak akkor felismerhető, ha megkapható véges fanyelvekből a reguláris műveletek véges sokszori alkalmazásával. Bizonyítás A egyik irány abból következik, hogy a véges fanyelvek felismerhetők és a felismerhető fanyelvek zártak a reguláris műveletekre. Fordítva, legyen T felismerhető fanyelv. A Kleene tétel miatt van olyan η reguláris kifejezés, melyret = η. Azη felépítése szerinti indukcióval fejezhetjük be a bizonyítást. (i) Haη = vagy η Σ 0 Xn, akkor maga a T fanyelv is véges. (ii) Haη = ξ +ζ, akkor T = T 1 T2, ahol T 1 = ξ ést 2 = ζ. Továbbá az indukciós feltevés miatt a T 1 ést 2 fanyelvek megkaphatók véges fanyelvekből a reguláris műveletek véges sokszori alkalmazásával. EzértT is megkapható ugyanígy. Stb, stb... 113
FAAUTOMATÁK MINIMALIZÁLÁSA LegyenekAésBΣX n -faautomaták. Egyϕ : A B leképezésa-nak B-be való homomorfizmusa, ha 1) ϕ(a (i) ) = b (i) (i = 1,...,n). 2) ϕ az A algebrának a B algebrába való homomorf leképezése 3) ϕ 1 (B ) = A. Ha van A-nakB-be olyan ϕ homomorf leképezése, amely ráképezés, akkor B-t az A faautomata homomorf képének mondjuk. Amennyiben ϕ kölcsönösen egyértelmű is, akkor ϕ-t izomorfizmusnak nevezzük, és azt mondjuk, hogy azaésb faautomaták izomorfak, jelben A = B. 114