4. előadás Determinisztikus véges automaták

Hasonló dokumentumok
Formális nyelvek I/2.

Házi feladatok megoldása. Automaták analízise, szintézise és minimalizálása. Házi feladatok megoldása. Házi feladatok megoldása

Formális nyelvek. Aszalós László, Mihálydeák Tamás. Számítógéptudományi Tanszék. December 6, 2017

Házi feladatok megoldása. Harmadik típusú nyelvek és véges automaták. Házi feladatok megoldása. VDA-hoz 3NF nyelvtan készítése

Házi feladatok megoldása. Veremautomaták. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 12. gyakorlat

4. Legyen Σ = {0, 1}. Adjon meg egy determinisztikus véges automatát, amely azokat a szavakat fogadja el,

Irodalom. Formális nyelvek I/1. Véges automaták és reguláris nyelvek. A formális nyelvek egy alkalmazása. Polygon, 2004.

Irodalom. Formális nyelvek I. Véges automaták és reguláris nyelvek. A formális nyelvek egy alkalmazása. Polygon, 2004.

Az LR elemző felépítése. Léptetés. Redukálás. Kiegészített grammatika. Mit kell redukálni? Kiegészített grammatika. elemző. elemző.

7. előadás Környezetfüggetlen nyelvtanok

Véges automaták, reguláris nyelvek

Fonya ZH recap szabivános typo lehet, bocs

Környezetfüggetlen nyelvek

Környezetfüggetlen nyelvek

A Riemann-integrál intervallumon I.

Számításelmélet. Második előadás

Matematika A1a - Analízis elméleti kérdései

Logika és számításelmélet. 10. előadás

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Dicsőségtabló Beadós programozási feladatok

Nyelvek és Automaták

MATEMATIKA FELADATLAP a 4. évfolyamosok számára

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

Vektortér fogalma vektortér lineáris tér x, y x, y x, y, z x, y x + y) y; 7.)

Kiterjesztések sek szemantikája

Formális nyelvek és automaták

22. GRÁFOK ÁBRÁZOLÁSA

Improprius integrálás

f (ξ i ) (x i x i 1 )

1. MECHANIKA-MOZGÁSTAN GYAKORLAT (kidolgozta: Szüle Veronika, egy. ts.) Matematikai összefoglaló

Algoritmuselmélet 12. előadás

Bevezetés a programozásba. 3. Előadás Algoritmusok, tételek

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1

VI. Deriválható függvények tulajdonságai

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

Improprius integrálás

Mérnöki modellalkotás Az elmélettől a gyakorlatig. Prefix fák tömörítése: a dinamikus programozás

A digitális számítás elmélete

= dx 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05 0,45 0,4 0,35 0,3 0,25 0,2 0,15 0,1 0,05

MATEMATIKA FELADATLAP a 4. évfolyamosok számára

Gyökvonás. Hatvány, gyök, logaritmus áttekintés

Laplace-transzformáció. Vajda István február 26.

MATEMATIKA FELADATLAP a 4. évfolyamosok számára

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

Programtervezési ismeretek

Kovács Judit ELEKTRO TEC HNIKA-ELEKTRONIKA 137

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

MATEMATIKA FELADATLAP a 4. évfolyamosok számára

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

Absztrakt vektorterek

9. előadás Veremautomaták 1.

Deníciók és tételek a beugró vizsgára

1. MECHANIKA-MOZGÁSTAN GYAKORLAT (kidolgozta: Szüle Veronika, egy. ts.) Matematikai összefoglaló

Diszkrét matematika 2.C szakirány

Kalkulus II. Beugró kérdések és válaszok 2012/2013 as tanév II. félév

Formális nyelvek - 9.

Néhány szó a mátrixokról

Diszkrét matematika 2.

Országos Középiskolai Tanulmányi Verseny 2010/2011 Matematika I. kategória (SZAKKÖZÉPISKOLA) Az 1. forduló feladatainak megoldása

VI. Kétismeretlenes egyenletrendszerek

Diszkrét matematika 1. estis képzés

Az informatika elméleti alapjai 2 elővizsga december 19.

DEME FERENC okl. építőmérnök, mérnöktanár RÁCSOS TARTÓK

Diszkrét matematika 2. estis képzés

Vektorok. Vektoron irányított szakaszt értünk.

Vektoralgebra. Ebben a részben a vektorokat aláhúzással jelöljük

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

7. tétel: Elsı- és másodfokú egyenletek és egyenletrendszerek megoldási módszerei

IX. A TRIGONOMETRIA ALKALMAZÁSA A GEOMETRIÁBAN

Lineáris egyenletrendszerek

1. Végezd el a kijelölt mûveleteket a betûk helyére írt számokkal! Húzd alá azokat a mûveleteket,

1. MECHANIKA-SZILÁRDSÁGTAN GYAKORLAT (kidolgozta: Szüle Veronika, egy. Ts; Tarnai Gábor mérnöktanár.) Matematikai összefoglaló, kiinduló feladatok

1 2. gyakorlat Matematikai és nyelvi alapfogalmak. dr. Kallós Gábor

lindab füst Hő- és füstelvezető légcsatorna, négyszög

Ptolemaios-tétele, Casey-tétel, feladatok

ZH feladatok megoldásai

MATEMATIKA FELADATLAP a 6. évfolyamosok számára

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

f függvény bijektív, ha injektív és szürjektív is (azaz minden képhalmazbeli elemnek pontosan egy ısképe van)

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Heves Megyei Középiskolák Palotás József és Kertész Andor Matematikai Emlékversenye évfolyam (a feladatok megoldása)

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

This article shows a new approximation cosinus theorem of geometry of Bolyai, Euclides and Riemann. From this pont of view these are special cases.

A + B = B + A A B = B A ( A + B ) + C = A + ( B + C ) ( A B ) C = A ( B C ) A ( B + C ) = ( A B ) + ( A C ) A + ( B C ) = ( A + B ) ( A + C )

Diszkrét matematika 2. estis képzés

Alap fatranszformátorok II

Feladatok, amelyek gráfokkal oldhatók meg 1) A königsbergi hidak problémája (Euler-féle probléma) a

Diszkrét matematika 2.C szakirány

Összeállította: dr. Leitold Adrien egyetemi docens

Aszimmetrikus hibák számítási módszere, a hálózati elemek sorrendi helyettesítő vázlatai. Aszimmetrikus zárlatok számítása.

OPTIMALIZÁLÁS LAGRANGE-FÉLE MULTIPLIKÁTOR SEGÍTSÉGÉVEL

MATEMATIKA FELADATLAP a 8. évfolyamosok számára

2014. szeptember 24. és 26. Dr. Vincze Szilvia

9. előadás Környezetfüggetlen nyelvek

17. előadás: Vektorok a térben

5. A logaritmus fogalma, a logaritmus azonosságai

5. Logaritmus. I. Nulladik ZH-ban láttuk: 125 -öt kapjunk. A 3 5 -nek a 3. hatványa 5, log. x Mennyi a log kifejezés értéke?

Diszkrét matematika 2.C szakirány

Numerikus módszerek 2.

2014/2015-ös tanév II. féléves tematika

Átírás:

Formális nyelvek és utomták 4. elődás Determinisztikus véges utomták dr. Kllós Gáor 2017 2018

Formális nyelvek és utomták Trtlom Determinisztikus véges utomták Meghtározás, működés Átmeneti reláció (ismételt is), számítási sorozt Szvk elfogdás, felismert nyelv Automták megdás 2

Formális nyelvek és utomták Determinisztikus véges utomt Bevezetés Célunk: lgoritmusok és szg-ek mtemtiki modelljének vizsgált Egyre erőse számítási kpcitású modelleket fogunk megismerni Először csk: véges (elf-ó) utomt Egyszerű mtemtiki gépmodell, utomtizáltn működik Vn CPU-j (véges), inputot kp, Y/N típusú válszt d Nincs memóriáj (mondhtjuk: erősen korlátozott memóriáj vn) Bizonyos típusú nyelveket fog tudni elfogdni/felismerni Ez egy nyelvfelismerő eszköz (lnguge recognition device) Bár szerény, de mégis igen hsznos ez z eszköz! Pl. fordítóprogrm részeként 3

Formális nyelvek és utomták Determinisztikus véges utomt Felépítés Input szlg Feldolgozndó sztring Vezérlő Belső állpotokkl (egyértelmű zonosítók!) Kezdőállpot, végállpotok Átmenetek Minden időpillntn egyértelmű állpotn! Olvsófej A szlgon lépked, egyesével Nincs külön memóri A működés végén megállás (válsz) Reding hed Az utomt véges, mert véges hlmzokkl leírhtó! Input tpe q 2 c q 3 sttes q 1 q 0 Accept / Reject Control unit 4

Formális nyelvek és utomták Determinisztikus véges utomt Vázltos működés Kezdeten Vezérlő: kezdőállpotól indul Olvsófej: z input szlg l szélén, krkter olvsás (Feldolgozndó sztring első eleme) Toválépés Új első állpot: Csk z ktuális állpottól és (most) eolvsott jeltől függ, egyértelmű (determinisztikus)! (Lásd: δ(p, ) = q, köv. oldlk) (NDA: késő tnuljuk) Fej: szlgon eggyel jor Megállás (válsz) Szó végigolvsv (nálunk mindig! z ut. teljesen definiált), és elfogdv (végállpotn) vgy visszutsítv (egyéként) A működéshez külső evtkozás nem szükséges! 5

Formális nyelvek és utomták Determinisztikus véges utomt Definíció (DVA) Determinisztikus véges utomt (DVA, véges elfogdó utomt) (deterministic finite utomton, determ. finite stte recognizer; DFA, DFSR): M = (K, Σ, δ, s, F) rendszer egy rendezett ötös, hol: K z állpotok hlmz (véges, nem üres) Σ áécé (input) δ z átmeneti függvény (mozgási szályok hlmz), K Σ K (minden K Σ-eli párr definiált esetleg cspdáll.) s K, kezdőállpot (initil stte) F K, végállpotok (elfogdó állpotok, finl sttes) hlmz Megjegyzések Az áll.hlmzr K helyett Q jelölés is hsználtos (hsonló: s helyett q 0 ) Az ötös esetleg más sorrenden is megdhtó, ill. írhtó M(K, Σ, δ, s, F) A teljesen definiáltságot nem minden szerző követeli meg! (ekkor: prciális utomták, lásd: F. Z., B. I., A. P.) Az utomtát Rin Scott-féle ut.nk is nevezzük (ált. nemdet., ld. késő) 6

Formális nyelvek és utomták Determinisztikus véges utomt Reprezentáció Irányított gráf, kiegészítő infóvl (állpotdigrm; stte digrm) A csúcsok z állpotok Kezdőállpot: nyílll vgy kettős nyílll megjelölve Végállpotok: dupl körök Az élek (irányítv) z átmenetek, címkék: olvsott etű Minden csúcs kimenő fok Σ (teljesen def. eset) Nyelő (cspdállpot; ded stte): csúcs, csk reflexív kimenő élekkel Az áráról leolvshtók: K, Σ, δ, s, F Áltlán ez megdás legcélszerű p p, q q stte initil stte finl stte δ (p, )=q p q 7

Formális nyelvek és utomták Determinisztikus véges utomt Reprezentáció A DVA megdhtó tálázttl és csk szöveges leírássl is Ezekől z állpotdigrm megrjzolhtó Előny: méretfüggetlenség, skálázhtó Hátrány: z emer inká vizuális Tálázt (péld) M = (K, Σ, δ, s, F), hol K = {q 0, q 1 }, Σ = {, }, δ tálázttl dott s = q 0, F = {q 1 } Állpotdigrm eől Szöveges leírás Mint z elő, csk itt nincs tálázt, és δ elemeit is szövegesen megdjuk Péld: δ, ) = q 1, δ, ) = q 0 st. q 0 q 1 8

Formális nyelvek és utomták Determinisztikus véges utomt Működés nyomon követése Rjzolhtunk (lásd köv. oldlk) ill. hsználhtó pl. pénzérme vgy szimulátor progrm Pl. JFLAP vgy Butterfly projekt (Várlji F.) 9

Formális nyelvek és utomták Determinisztikus véges utomt Definíció (konfiguráció) A konfiguráció tdk. egy pillntfelvétel z utomt működéséről Def.: Egy M = (K, Σ, δ, s, F) DVA konfigurációj egy rendezett pár, mely M ktuális állpotáól és z input még nem eolvsott részéől áll A konfiguráció tehát K Σ* egy eleme A teljes inputot nem kell tárolni, már feldolgozott rész nem efolyásolj jövőt (hiszen z utomt nem léphet vissz z inputon) csk z ktuális állpotig vezetett minket Konfiguráció péld: (q 5, ) Konfigurációk soroztávl mutthtó e z, hogy hogyn dolgozz fel z utomt z inputot (Lásd még: átmeneti reláció) 10

Formális nyelvek és utomták Determinisztikus véges utomt Péld (konfiguráció) Péld utomtánk áltl elfogdott nyelv: L = {w -k szám w-en pártln} Állpotok q 0 -k szám (eddig) páros q 1 -k szám (eddig) pártln H w =, kkor érvényes konfigurációk-e következők?, ) (N), ) (Y) (q 1, ) (N) (q 1, ) (Y) (q 2, ) (N) q 0 q 1 current stte input Reding hed Configurtion of DFA:, ) 11

Formális nyelvek és utomták Determinisztikus véges utomt Definíció (átmeneti reláció, egy lépésen történő előállítás) Átmeneti reláció, w M : Két szomszédos konfiguráció között értelmezett (ináris reláció), h z utomt át tud menni z elsőől második egy direkt mozgássl Formálisn H Σ, w Σ*, q, p K, δ(q, ) = p, Akkor ((q, w), (p, w)) w vgy (q, w) w(p, w) Ekkor zt mondjuk, hogy (q, w) előállítj (p, w)-t egy lépésen (yield in one step) Azz két konfiguráció között létezik megfelelő átmenet Emellettw M egy függvény, melyre K Σ + K Σ* Az É.T- nincs elevéve: (q, e) H nyilvánvló, hogy melyik DVA-ról vn szó, kkor z M jelzés elhgyhtó w mellől 12

Formális nyelvek és utomták Determinisztikus véges utomt Péld (átmeneti reláció, egy lépésen történő előállítás) Péld konfiguráció-átmenet A péld szerint lehetségesek-e következő egy lépésen történő előállítások?, ) w (q 1, ), ) w (q 1, ), ) w, ), ) w, ) (N) (Y) (N) (Y) input Reding hed q 0 q 1 q 0 q 1 current stte current stte Yield in one step:, ) - (q 1, ) 13

Formális nyelvek és utomták Determinisztikus véges utomt Definíció (számítási sorozt) Számítási sorozt (M det. véges utomtávl): C 0, C 1,... C n konfiguráció-sorozt, melyre C 0 w C 1 w... w C n Péld: (q 1, ) w (q 2, ) w (q 1, ) w (q 3, ) A számítási sorozt hossz z egy lépésen történő előállítások szám (n) A példán: 3 Az első és utolsó konfiguráció összeköthető z n lépésen történő előállítás relációvl, ennek jele w n A példán: (q 1, ) w 3 (q 3, ) Kérdés: (Az ár szerint) Érvényes számítási sorozt-e következő?, ) w, ) w (q 1, ) w (q 1, ) w (q 1, ) (Y) (Y) (Y) (N) input Reding hed q 0 q 1 q 0 q 1 current stte Yield in one step:, ) - (q 1, ) current stte 14

Formális nyelvek és utomták Determinisztikus véges utomt Definíció (ismételt átmeneti reláció, vlhány lépésen történő előállítás) Ismételt átmeneti reláció, w M *: Az w M reláció reflexív, trnzitív lezártj; Ekkor (q, w) konf.ól vlhány lépésen elérhető (q', w'), Jelölés: (q, w) w M * (q', w') vgy ((q, w), (q', w')) w M * Esetleg null lépés is lehet Ekkor nyilván (q', w') = (q, w) Vlhány lépésen történő előállítás (előállítás; yield): A (q, w) konfigurációól egy lépésen történő előállítások ismétlésével eljutunk (q', w')-e (vlhány lépésen) Azz: (q, w) konfiguráció előállítj (q', w')-t Itt is lehet null lépés H nyilvánvló, hogy melyik DVA-ról vn szó, kkor z M jelzés elhgyhtó w*-ól 15

Formális nyelvek és utomták Determinisztikus véges utomt Péld (ismételt átmeneti reláció, vlhány lépésen történő előállítás) A péld szerint lehetségesek-e következő vlhány lépésen történő előállítások (yield)?, ) w* (q 1, ), ) w 3 (q 1, ), ) w* (q 1, ), ) w 5 (q 1, ) (Y) (Y) (N) (N) input Reding hed q 0 current stte q 1 q 0 q 1 current stte Yield:, ) -*, ) 16

Formális nyelvek és utomták Determinisztikus véges utomt Definíció (elfogdott szó) A DVA áltl elfogdott szó (ccepted string, word): M pontosn kkor fogdj el w Σ* szót, h tlálhtó olyn q F, mire (s, w) w M * (q, e) Itt s kezdőállpot, q elfogdó állpot, w teljes input Másként: H egy elfogdó konfiguráció jutunk z (s, w) kezdő konfigurációól ismételt átmeneti relációvl Vgy: A kezdő konf.ól eljutunk egy elfogdó vlhány lépésen történő előállítássl Péld: elfogdott szó input Reding hed q 0 q 1 q 0 q 1 current stte current stte, ) (q 1, e) 17

Formális nyelvek és utomták Determinisztikus véges utomt Péld (elfogdott szó) A péld szerint elfogdott szvk-e következők? (Y) (N) (Y) (Y) (N) input Reding hed q 0 q 1 q 0 q 1 current stte current stte, ) (q 1, e) 18

Formális nyelvek és utomták Determinisztikus véges utomt Definíció (elfogdott nyelv) A DVA áltl elfogdott/felismert nyelv (ccepted lnguge): Azon szvk hlmz, melyeket M felismer; jelölés L(M) Formálisn: L(M) = {w Σ* (s, w) w M * (q, e), q F} A w L(M)? kérdés eldöntéséhez szükséges lépések szám: w Minden lépésen egy szimólumot dolgozunk fel A szó mindig végigolvsásr kerül Péld L(M) = {w G* # pártln} q 0 q 1 19

Formális nyelvek és utomták Determinisztikus véges utomt Péld (szvk elfogdás) Mutssuk e és z szvk feldolgozását (jó eseten: z elfogdáshoz vezető számítási lépéseket) z előző M utomtávl! Eml.: L(M) = {w G* # pártln} A feldolgozás lépései (konf. átmenetek), ) w M, ), ) w M (q 1, ) w M, ) w M, ) w M (q 1, ) w M, ) w M (q 1, ) w M (q 1, ) w M, ) w M, ) w M (q 1, e) w M, e) Elfogdv Visszutsítv Mindkét eseten 6 lépésen megkptuk válszt q 0 q 1 20

Formális nyelvek és utomták Determinisztikus véges utomt Péld (DVA megdás) Adjunk meg olyn M DVA-t, mi z lái nyelvet ismeri fel: L(M) = {w G* w-en szerepel z szó} Megoldás Állpotok (fontos, hogy z állpotoknk djunk jelentést!): q 0 : M eddig 0 krktert olvsott -ól, kezdőáll., q 1 : M pontosn 1 krktert olvsott -ól, q 2 : M pontosn 2 krktert olvsott -ól, q 3 : M végigolvst z részszót, ez elfogdó állpot (de jöhet még input) Átmenetek értelemszerűen q 0 q 1 q 2 q 3, 21

Formális nyelvek és utomták Determinisztikus véges utomt Péld (DVA megdás) Adjunk meg olyn M DVA-t, mi z lái nyelvet ismeri fel: L(M) = {w G* w-en # = 3} Megoldás Állpotok ( jelentésre most is figyeljünk!): q 0 : # = 0, kezdőáll., q 1 : # = 1, q 2 : # = 2, q 3 : # = 3, ez végállpot q 4 : # 4(továi szvk; ez nem elfogdó állpot) Átmenetek értelemszerűen Egyszerű módosítássl sok hsonló feldt megoldhtó 22

Formális nyelvek és utomták Determinisztikus véges utomt Péld (DVA megdás) Adjunk meg olyn M DVA-t, mi z lái nyelvet ismeri fel: L(M) = {w G* w-en -k szám páros, és # 1} Megoldás Állpotok: q 0,0 : -k szám páros (0, 2, 4, ), még nem volt (elfogdó állpot), q 1,0 : -k szám pártln (1, 3, ), még nem volt, q 1,1 : -k szám pártln, egy volt, q 0,1 : -k szám páros, egy volt (elfogdó állpot), q 0,2 : -k szám páros, egynél tö volt q 0,0 q 0,1 q 1,2 : -k szám pártln, egynél tö volt Átmenetek értelemszerűen q 0,2 q 1,0 q 1,1 q 1,2 23

Formális nyelvek és utomták Determinisztikus véges utomt Péld (DVA megdás) Eml.: L(M) = {w G* w-en -k szám páros, és # 1}-hez DVA megdás (folyt.): Másik ekvivlens utomt is készíthető (Állpotok összevonás) q 0,0 q 0,1 q 0,2 q 1,0 q 1,1 q 1,2 q 0,0 q 0,1 q 01,2, q 1,0 q 1,1 24

Formális nyelvek és utomták Ajánlott irodlom Hrry R. Lewis, Christos H. Ppdimitriou: Elements of the Theory of Computtion (2 nd ed.), Prentice-Hll, Upper Sddle River, 1998 Fülöp Zoltán: Formális nyelvek és szintktikus elemzésük, Polygon, Szeged, 2001 Dömösi Pál és társi: Formális nyelvek és utomták, Elektronikus jegyzet, 2011 Bch Iván: Formális nyelvek, Typotex kidó, Budpest, 2002 Aln P. Prkes: A Concise Introduction to Lnguges nd Mchines, Springer, London, 2008 25