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.

Slides:



Advertisements
Hasonló előadás
A digitális számítás elmélete
Advertisements

Készítette: Kosztyán Zsolt Tibor
Kiszámíthatóság, rekurzív függvények
KÉSZÍTETTE: Takács Sándor
A digitális számítás elmélete
Függvények Egyenlőre csak valós-valós függvényekkel foglalkozunk.
Félévi követelmény (nappali)
Lambda kalkulus.
Determinisztikus programok. Szintaxis: X : Pvalt program változók E : Kifkifejezések B : Lkiflogikai kifejezések C : Utsutasítások.
Halmazok, műveletek halmazokkal
Kötelező alapkérdések
Kalman-féle rendszer definíció
Matematikai logika A diasorozat az Analízis 1. (Mozaik Kiadó 2005.) c. könyvhöz készült. Készítette: Dr. Ábrahám István.
Euklidészi gyűrűk Definíció.
Egy f  R[x] polinom cS -beli helyettesítési értéke
Algebrai struktúrák 1.
Csoport részcsoport invariáns faktorcsoport részcsoport
Gyűrűk Definíció. Az (R, +, ·) algebrai struktúra gyűrű, ha + és · R-en binér műveletek, valamint I. (R, +) Abel-csoport, II. (R, ·) félcsoport, és III.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Bernoulli Egyenlőtlenség
Halmazok, relációk, függvények
Készítette: Pető László
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
Programozó matematikus szak 2003/2004-es tanév II. félév
A digitális számítás elmélete
A digitális számítás elmélete
A digitális számítás elmélete
A digitális számítás elmélete
Év eleji információk Előadó: Hosszú Ferenc II. em Konzultáció: Szerda 9:50 – 10:35 II. em
Differenciál számítás
Lineáris algebra Mátrixok, determinánsok, lineáris egyenletrendszerek
Valós számok Def. Egy algebrai struktúra rendezett test, ha test és rendezett integritási tartomány. Def. Egy (T; +,  ;  ) rendezett test felső határ.
5. VÉGTELEN HALMAZOK 5.1 Kiválasztási axióma
Reprezentációs függvény. Adva egy adattípus absztrakt és konkrét specifikációja: d a = ( A, F, E a ); d c = ( C, G, E c ); A = {A 0,..., A n };C = {C 0,...,
DAG topologikus rendezés
A számfogalom bővítése
Operációs rendszerek gyakorlat Reguláris kifejezések.
Operációs rendszerek gyakorlat. Reguláris kifejezések.
A digitális számítás elmélete
Relációs algebra. A relációs adatbáziskezelő nyelvek lekérdező utasításai a relációs algebra műveleteit valósítják meg. A relációs algebra a relációkon.
4. Gyires Béla Informatikai Nap Debreceni Egyetem Informatikai Kar Új eredmények a Chomsky-féle (formális) nyelvtípusokkal kapcsolatban Dr. Nagy Benedek.
Halmazműveletek.
Vektorterek Definíció. Legyen V Abel-csoport, F test, továbbá
Készítette: Hanics Anikó. Az algoritmus elve: Kezdetben legyen n db kék fa, azaz a gráf minden csúcsa egy-egy (egy pontból álló) kék fa, és legyen minden.
Koncepció: Specifikáció: e par exp i = eb imp bod ib Specifikáció elemzése: tulajdonságok felírása a koncepció alapján + tulajdonságok bizonyítása.
1. MATEMATIKA ELŐADÁS Halmazok, Függvények.
1 Vektorok, mátrixok.
A MATEMATIKA FELÉPÍTÉSÉNEK ELEMEI
A folytonosság Digitális tananyag.
2005. Információelmélet Nagy Szilvia 2. A forráskódolás elmélete.
Adva S  parbegin S 1 ...  S n parend; Párhuzamos programszerkezet két vagy több olyan folyamatot tartalmaz, amelyek egymással közös változó segítségével.
Halmazok Érettségi követelmények:
Kiterjesztések szemantikája: Szemantikai tartomány : Adatoknak, vagy értékeknek egy nem üres halmazát szemantikai tartománynak nevezzük. Jelölése: D. Egy.
INFOÉRA Gráfok, gráfalgoritmusok II. (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai.
Adatszerkezetek és algoritmusok 2008/ Algoritmus Az algoritmus szó eredete a középkori arab matematikáig nyúlik vissza, egy a i.sz. IX. században.
HÁLÓZAT Maximális folyam, minimális vágás
Adatbázisok 1. SQL (alkérdések). Az IN használata Emlékezzünk vissza: Az IN után szereplő multihalmaz elemei lekérdezéssel is megadhatók SELECT nev FROM.
GRÁFOK Marczis Ádám és Tábori Ármin. Kőnig Dénes ( ) Magyar matematikus Az első tudományos színvonalú gráfelmélet könyv írója.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
II. konzultáció Analízis Sorozatok Egyváltozós valós függvények I.
Példa: Dinteger = {..., -1,0,1,...}; Dboolean = {true, false};
P és NP teljes problémák
Algebrai struktúrák 1.
Informatikai gyakorlatok 11. évfolyam
Formális nyelvek és gépek
ÍTÉLETKALKULUS (NULLADRENDŰ LOGIKA)
Gráfalgoritmusok G=(V,E) gráf ábrázolása
Gráfok - 1 Definíció: Irányított gráf (digráf) G=(V,E) rendezett pár.
Absztrakt problémák Q  I  S, az absztrakt probléma kétváltozós reláció az esetek (I) és a megoldások (S) halmazán Példa: legrövidebb út Eset: gráf és.
Strukturált és nem strukturált programok
Előadás másolata:

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

Determinisztikus véges automaták Példa: Pénzautomata á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

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

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

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)

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

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!

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* =  *

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  )

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 

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.

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 ).

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

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

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:    =   

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 .

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 ØØ

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 

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.

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.

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

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

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

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

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

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

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 .

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

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

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.

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’).

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.

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.

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

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

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

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