Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint.

Hasonló előadás


Az előadások a következő témára: "Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint."— Előadás másolata:

1 Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint b= bent s= sehol k bk

2 Determinisztikus véges automaták 0 5 5 Példa: Pénzautomata 1010 15 2020 25 5555 30+30+ 5 állapot, kezdő és végállapotállapot átmenet bemenő jelek be: 5, 10, 20 Ft, VISSZA válasz: csoki ha legalább 30 Ft-ot bedobtunk, különben VISSZA esetén pénz vissza

3 Determinisztikus véges automaták bemenő jelek a bemeneti szalagon véges sok állapot kimenő jel: Igen -Nem

4 Determinisztikus véges automaták Definíció: Determinisztikus véges automata (dva vagy va) M = (Q, , , q 0, F) ahol: 1.Q, egy véges halmaz az állapotok halmaza 2. , egy véges halmaz az abc 3.  : Q    Q az állapotátmenet függvény 4.q 0  Q a kezdeti állapot 5.F  Q a végállapotok halmaza

5 Determinisztikus véges automaták Definíció: Felismert (elfogadott) jelsorozat M=(Q, , , q 0, F) egy dva, w = x 1 x 2... x n  -beli jelek sorozata. M felismeri w-t, ha  r 0 r 1... r n Q-beli állapotok sorozata, hogy: 1.r 0 = q 0 2.  (r i,x i+1 ) = r i+1 i = 1,...n-1 3.r n  F Definíció: M dva felismeri az A nyelvet, ha A =  w  M felismeri w-t . Jelölés: A = L(M)

6 Nyelvek reprezentációja Definíciók:  tetszőleges jelek egy nemüres, véges halmaza, az abc.  * jelöli az összes,  -beli jelekből álló véges sorozatok (szavak) halmazát.  * =  w = a 1...a n  a i  , i = 1,...n, n  0  w = a 1...a n szó hossza n. Speciálisan,  jelöli a 0 hosszú sorozatot, az üres szót. A bináris abc, I a 0 és 1 jeleket tartalmazza. Példa:  =  if, then, else, for, do, a, b, c  if a then b else c, do a, do do, aabba

7 Nyelvek reprezentációja Definíció: L egy formális nyelv  felett, ha L   *. Egy nyelv véges módon megadható: a)Elemeit felsorolva – ha azok száma véges. b)L =  w   *  w P tulajdonságú  c)L = L(M) ahol M egy automata, pl. dva. d)Operátorokkal e)Generáló nyelvtannal Megj: Nem lehet az összes  feletti nyelvet végesen reprezentálni!

8 Reguláris operátorok Definíció: Reguláris operátorok egy  abc feletti nyelveken Egyesítés (unió): A  B =  x  x  A vagy x  B  Szorzat (illesztés, konkatenáció): A  B =  xy  x  A, y  B , ahol x= x 1 x 2...x n, y= y 1 y 2...y m esetén xy= x 1 x 2...x n y 1 y 2...y m Iterálás (Kleene csillag): A* =  w 1 w 2...w k  w i  A i =1,...k, k  0  1. megj.   A*, 2. megj. L =  esetén L* =  *

9 Operátorok nyelveken Definíció: További operátorok egy  abc feletti nyelveken Metszet: A  B =  w  w  A és w  B  Különbség: A - B =  w  w  A és w  B , A C =  * - A Tükörkép: A R =  x R  x  A  ahol x = x 1 x 2...x n esetén x R = x n x n-1...x 1 Pl: L =  w   0,1  *  w-ben 2 vagy 3 db 1-es szerepel úgy, hogy az első és a második nem szomszédosak   0  *   1    0    0  *   1    0  *  (  1    0  *)   e  )

10 Reguláris kifejezések Definíció: Egy  abc feletti reguláris kifejezések: 1.  minden eleme. 2.  3.Ø 4.Ha  és  reguláris kifejezések, akkor (  is az. 5.Ha  és  reguláris kifejezések, akkor (  is az. 6.Ha  reguláris kifejezés, akkor  * is az. Minden reguláris kifejezés reprezentál egy nyelvet. Pl: reg. kif. nyelv (a* bc) *ab (  a  *   b    c  )*   a    b 

11 Reguláris kifejezések Definíció: Egy nyelv reguláris, ha leírható reguláris kifejezéssel Tétel: Legyen L azon nyelvek halmaza, melyek felismerhetők determinisztikus véges automatával. L zárt a reguláris operátorokra nézve. Azaz ha A 1  L és A 2  L, akkor: 1. A 1  A 2  L. 2.A 1  A 2  L. 3.A 1 *  L.

12 Reguláris kifejezések Bizonyítás, az 1. állításé: Legyen A 1 = L(M 1 ), A 2 = L(M 2 ), M 1 = (Q 1,  1,  1, q 1, F) M 2 = (Q 2,  2,  2, q 2, F 2 ) Megkonstruáljuk M = (Q, , , q 0, F)-t, hogy L(M) = A 1  A 2 1.  =  1 =  2 (különben  =  1   2 ) 2.Q = Q 1  Q 2 =  (r 1, r 2 )  r 1  Q 1 és r 2  Q 2 . 3.  ((r 1, r 2 ), a) = (  1 (r 1, a),  2 (r 2, a)). 4.q 0 = (q 1, q 2 ) 5.F =  (r 1, r 2 )  r 1  F 1 vagy r 2  F 2  = (F 1  Q 2 )  (Q 1  F 2 ).

13 Reguláris kifejezések Bizonyítás, az 2. és 3. állításé: Kerülővel, nemdeterminisztikus véges automatákkal.

14 Nemdeterminisztikus véges automaták L = (01  010)* q5q5 q3q3 q1q1 q2q2 q4q4 1 1 0 0 0 0 1 1 0 1 q3q3 q1q1 1 0 q2q2 0 1

15 Nemdeterminisztikus véges automaták Definíció: Nemdeterminisztikus véges automata (nva) N = (Q, , , q 0, F) ahol: 1.Q, egy véges halmaz az állapotok halmaza 2. , egy véges halmaz az abc 3.  : Q  (    )  P (Q) az állapotátmenet fv 4.q 0  Q a kezdeti állapot 5.F  Q a végállapotok halmaza Jelölés:    =   

16 Nemdeterminisztikus véges automaták Definíció: Felismert (elfogadott) jelsorozat N=(Q, , , q 0, F) egy nva, w = w 1 w 2... w n    -beli jelek sorozata. N felismeri w-t, ha  r 0 r 1... r n Q-beli állapotok sorozata, hogy: 1.r 0 = q 0 2.r i+1   (r i,w i+1 ) i = 0,...n-1 3.r n  F Definíció: N nva felismeri az A nyelvet, ha A =  w  N felismeri w-t .

17 Nemdeterminisztikus véges automaták q2q2 q1q1 a,b b q3q3  a a abbaabababbaba ab  q1q1 Ø  q2 q2 q 3  q2q2  q 2, q 3 q3q3 Ø q3q3 q1q1 ØØ

18 Nemdeterminisztikus véges automaták Definíció: M 1 és M 2 ekvivalensek, ha L(M 1 ) = L(M 2 ). Tétel: Minden N = (Q, , , q 0, F) nva-hoz létezik vele ekvivalens M dva. Biz: Megkonstruáljuk az M=(Q’, ,  ’, q 0 ’, F’) va-t. a) Ha N gráfja nem tartalmaz  címkét. 1.Q’ = P (Q) 2.  ’(R, a) =  q  Q   r  R, hogy q   (r, a)  =  r  R  (r, a) 3.q 0 ’ =  q 0  4.F’ =  R  Q ’   r  R, hogy r  F 

19 Nemdeterminisztikus véges automaták b) Ha N gráfja tartalmaz  címkét. Jelölés: Ha R  Q, E(R) =  q  Q  q elérhető R-ből 0 vagy több  él mentén haladva  1. Ld. a) 2.  ’(R, a) =  q  Q   r  R, hogy q  E(  (r, a))  =  r  R E(  (r, a)) 3.q 0 ’ = E(  q 0  ) 4.Ld. a) M valóban ekvivalens N-nel.

20 Nemdeterminisztikus véges automaták Tétel: Legyen L azon nyelvek halmaza, melyek felismerhetők determinisztikus véges automatával. L zárt a reguláris operátorokra nézve. Azaz ha A 1  L és A 2  L, akkor: 1. A 1  A 2  L. 2.A 1  A 2  L. 3.A 1 *  L.

21 Nemdeterminisztikus véges automaták Bizonyítás: Nva-kat használhatunk va helyett! L(N 1 ) = A 1 L(N 2 ) = A 2 L(N) = A 1.A = A 1  A 2 N1N1 N2N2   N

22 Nemdeterminisztikus véges automaták Bizonyítás: 2. A = A 1  A 2 N1N1 N2N2   N

23 Nemdeterminisztikus véges automaták Bizonyítás: 3. A = A 1 *   N1N1 N 

24 L R és L D ekvivalenciája Következmény: Az alábbi, valamely adott  feletti nyelvek azonos halmazok: 1.L R a reguláris nyelvek halmaza. 2.L N az nva-k által felismert nyelvek. 3.L D a dva által felismert nyelvek. Bizonyítás: R=a R=  R=Ø A korábbi két tételből következik, hogy: L R  L N és L N = L D a

25 L R és L D ekvivalenciája Megmutatjuk, hogy L D  L R is igaz. Ehhez bevezetjük az általánosított nemdeterminisztikus véges automata fogalmát, a következő specialitásokkal: az élek reguláris kifejezésekkel címkézettek a kezdőállapotból minden más állapotba megy él, de bele egy sem egyetlen, a kezdőállapottól különböző végállapot van a közbülső állapotok mindegyikéből megy egyetlen él minden közbülső állapotba, így saját magába is

26 L R és L D ekvivalenciája Definíció: Általánosított nemdeterminisztikus véges automata (ánva) N = (Q, , , q kezdő, q vég ) ahol: 1.Q, egy véges halmaz az állapotok halmaza 2.  egy véges halmaz, az abc 3.  : (Q -  q vég  )  (Q -  q kezdő  )  R az állapotátmenet fv, ahol R a  feletti reguláris kifejezések halmaza 4.q kezdő  Q a kezdeti állapot 5.q vég  Q a végállapot

27 L R és L D ekvivalenciája Definíció: Felismert (elfogadott) jelsorozat N=(Q, , , q kezdő, q vég ) egy ánva. N felismeri a w   * sorozatot, ha w = w 1 w 2... w k ahol w i   * i = 1,...n, és  r 0 r 1... r k Q-beli állapotok sorozata, hogy: 1.r 0 = q kezdő 2.r k = q vég 3.w i  L(R i ), ahol R i =  (r i-1,r i ) i = 1,...k Definíció: N ánva felismeri az A nyelvet, ha A =  w  N felismeri w-t .

28 L R és L D ekvivalenciája A bizonyítás során megkonstruálandó ánva-kat a következő séma szerint használjuk: M a kiindulási k állapotú dva A k+2 egy M-mel ekvivalens, k+2 állapotú ánva A k+1 egy A k+2 -mel ekvivalens, k+1 állapotú ánva... A 2 egy A m -mal ekvivalens, k+1 állapotú ánva az A 2 egyetlen élén szereplő reguláris kifejezés amit kerestünk

29 L R és L D ekvivalenciája Bizonyítás: Megmutatjuk, hogy L D  L R is igaz. 1.M = (Q, , , q 0, F) a kiindulási k állapotú dva. A k+2 egy M- mel ekvivalens, k+2 állapotú ánva, melyet úgy kapunk, hogy: hozzáadunk Q–hoz egyetlen új q vég állapotot, melybe minden F-beli állapotból  címkéjű él vezet, hozzáadunk Q–hoz egyetlen új q kezdő állapotot, melyből q 0 -ba  címkéjű él vezet, a többszörös éleket egy újjal helyettesítjük, melyre a kihagyott éleken szereplő szimbólumok unióját írjuk címkeként

30 L R és L D ekvivalenciája 2.Ezután az alábbi KONVERTÁL rekurzív eljárást A k+2 –ra alkalmazva, előállítunk egy reguláris kifejezést. KONVERTÁL(G) 1.Legyen k G állapotainak a száma. 2.Ha k =2, visszaadjuk a G egyetlen élén szereplő reguláris kifejezést. 3.Ha k >2, legyen q’  Q –  q kezdő, q vég  tetszőleges. Legyen: G’ =(Q’, ,  ’, q kezdő, q vég ), ahol Q’ = Q –  q’  és  ’(q i, q j ) = (R 1 ) (R 2 )* (R 3 )  (R 4 ), ahol: R 1 =  (q i, q’) R 2 =  (q’, q’) R 3 =  (q’, q j ) R 4 =  (q i, q j ) 4.Adjuk vissza KONVERTÁL(G’)-t.

31 L R és L D ekvivalenciája 2.Megmutatjuk, hogy KONVERTÁL(G) ekvivalens G-vel. k = |Q | szerinti teljes indukciót használunk. 1.k =2-ra igaz. 2.Indukciós feltevés: Igaz k -1 állapotú ánva esetén. 3.Megmutatjuk, hogy igaz k állapotú ánva esetén is. Ehhez megmutatjuk, hogy L(G) = L(G’) a) L(G)  L(G’) Legyen w  L(G), és q kezdő, q 1, q 2,... q vég felismerő állapotok sorozata. Ha q’ nem szerepel, akkor ez a sorozat Q’-beli is, így w  L(G’).

32 L R és L D ekvivalenciája Ha..., q i, q’,... q’, q j,... szerepel, akkor w =..., w i, w 1 ’,... w s ’, w j,... és w i   (q i,q’) = R 1, w t ’   (q’, q’) = R 2, t =1,...s, w j   (q’, q i ) = R 3 Tehát..., q i, q j,... sorozat elfogadó állapotok sorozata Q’-ben, mert  ’(q i, q j ) = (R 1 )(R 2 )*(R 3 )  (R 4 ), így w  L(G). b) L(G)  L(G’) Legyen w  L(G’), és q kezdő, q 1, q 2,... q vég egy felismerő állapotátmenet sorozat. A fentihez hasonló meggondolással látható, hogy w  L(G) is.

33 L R és L D ekvivalenciája Mivel: KONVERTÁL(G’) ekvivalens G-vel, az indukciós feltevés miatt, és L(G) = L(G’), ezért KONVERTÁL(G) ekvivalens G-vel.

34 Véges átalakítók véges sok bemenő jel a bemeneti szalagról véges sok állapot véges sok kimenő jel a kimeneti szalagra

35 Véges átalakítók q1q1 q2q2 a/  b/b a/a q3q3 b/  b/b a/a aaaabbaba ababa aba aaaaa a

36 Véges átalakítók Definíció: Véges átalakító (fordító) M = (Q, , , , q 0 ) ahol: 1.Q, egy véges halmaz az állapotok halmaza 2.  egy véges halmaz, a bemeneti abc 3.  egy véges halmaz, a kimeneti abc 4.  : Q    Q   az állapotátmenet függvény 5.q 0  Q a kezdeti állapot

37 Miről volt szó eddig? formális nyelv fogalma műveletek formális nyelvekkel reguláris nyelvek determinisztikus véges automata nemdeterminisztikus va dva, ndva által felismert nyelv L N = L D L R = L D véges fordítók


Letölteni ppt "Determinisztikus véges automaták csukva nyitva m s kbsm csukva nyitva csukva nyitva csukvanyitva 1. Példa: Fotocellás ajtó s b m m= mindkét helyen k= kint."

Hasonló előadás


Google Hirdetések