Formális nyelvek - 9.

Hasonló dokumentumok
Formális nyelvek - 5.

ZH feladatok megoldásai

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:

6. előadás A reguláris nyelvek jellemzése 2.

Automaták mint elfogadók (akceptorok)

Feladatok. 6. A CYK algoritmus segítségével döntsük el, hogy aabbcc eleme-e a G = {a, b, c}, {S, A, B, C}, P, S nyelvtan által generált nyelvnek!

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:

Véges automaták, reguláris nyelvek

Alap fatranszformátorok II

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

Diszkrét matematika 2.C szakirány

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

A Turing-gép. Formális nyelvek III.

Számításelmélet. Második 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.

6. előadás A reguláris nyelvek jellemzése 2.

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Diszkrét matematika 2.

Nyelvek és automaták augusztus

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

Iván Szabolcs október 6.

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

KOVÁCS BÉLA, MATEMATIKA I.

1. előadás: Halmazelmélet, számfogalom, teljes

Turing-gép május 31. Turing-gép 1. 1

Formális nyelvek I/2.

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

Formális nyelvek és automaták

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

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

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

Alap fatranszformátorok I. Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

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

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

(Diszkrét idejű Markov-láncok állapotainak

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

Csempe átíró nyelvtanok

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

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

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján

Diszkrét matematika 2.

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Atomataelmélet: A Rabin Scott-automata

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21

Diszkrét matematika 2.

ALGEBRAI NYELV- ÉS KÓDELMÉLET. Babcsányi István

Formális Nyelvek - 1. Előadás

Klasszikus algebra előadás. Waldhauser Tamás április 28.

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat

Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2)

Nagy Gábor compalg.inf.elte.hu/ nagy

MintaFeladatok 2.ZH Megoldások

NP-teljesség röviden

Diszkrét matematika 2.C szakirány

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Diszkrét matematika 2.C szakirány

Formális nyelvek és automaták előadások

Diszkrét Matematika MSc hallgatók számára 7. Előadás Párosítási tételek Előadó: Hajnal Péter Jegyzetelő: Kovácsházi Anna

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

ELTE IK Esti képzés tavaszi félév. Tartalom

Egyetemi jegyzet. Automaták és formális nyelvek

DiMat II Végtelen halmazok

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

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1.

Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat.

Algoritmusok bonyolultsága

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

Diszkrét matematika I.

Miért fontos számunkra az előző gyakorlaton tárgyalt lineáris algebrai ismeretek

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

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

Melykeres(G) for(u in V) {szin(u):=feher Apa(u):=0} for(u in V) {if szin(u)=feher then MBejar(u)}

Diszkrét matematika 2.C szakirány

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1

Súlyozott automaták alkalmazása

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

1. előadás. Lineáris algebra numerikus módszerei. Hibaszámítás Számábrázolás Kerekítés, levágás Klasszikus hibaanalízis Abszolút hiba Relatív hiba

Algoritmuselmélet 12. előadás

KOVÁCS BÉLA, MATEMATIKA I.

Analízis I. Vizsgatételsor

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé.

3. Feloldható csoportok

Formális Nyelvek - 1.

Chomsky-féle hierarchia

Diszkrét matematika II., 8. előadás. Vektorterek

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.


Diszkrét matematika I.

ALGORITMUSOK ÉS BONYOLULTSÁGELMÉLET Matematika MSc hallgatók számára. 11. Előadás

Csoporthatások. 1 Alapfogalmak 1 ALAPFOGALMAK. G csoport hatása az X halmazon egy olyan µ: G X X leképezés, amelyre teljesül

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk:

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

Nagy Gábor compalg.inf.elte.hu/ nagy

1. Házi feladat. Határidő: I. Legyen f : R R, f(x) = x 2, valamint. d : R + 0 R+ 0

Chomsky-féle hierarchia

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma

Átírás:

Formális nyelvek - 9. Csuhaj Varjú Erzsébet Algoritmusok és Alkalmazásaik Tanszék Informatikai Kar Eötvös Loránd Tudományegyetem H-1117 Budapest Pázmány Péter sétány 1/c E-mail: csuhaj@inf.elte.hu 1

Véges automata - folytatás Ismeretes, hogy minden A nemdeterminisztikus véges automatához meg tudunk konstruálni egy G reguláris grammatikát úgy, hogy L(G) = L(A) teljesül. Az is tudott, hogy minden G reguláris grammatikához meg tudunk konstruálni egy A véges automatát úgy, hogy L(A) = L(G). Kérdés: Létezik-e olyan reguláris nyelv, amely nemdeterminisztikus véges automatával felismerhető, de nem ismerhető fel determinisztikus véges automatával? Válasz: Nem létezik. 2

Determinisztikus versus nemdeterminisztikus véges automata Tétel Minden A = (Q,T,δ,Q 0,F) nemdeterminisztikus véges automatához meg tudunk konstruálni egy A = (Q,T,δ,q 0,F ) determinisztikus véges automatát úgy, hogy L(A) = L(A ) teljesül. 3

Bizonyításvázlat Legyen Q a Q halmaz összes részhalmazainak halmaza. Definiáljuk a δ : Q T Q függvényt a következőképpen: δ (q,a) = q q δ(q,a). Továbbá legyen q o = Q 0 és F = {q Q q F } Először megmutatjuk, hogy L(A) L(A ). Az álĺıtás bizonyításához megmutatjuk, hogy a következő lemma álĺıtása teljesül. 4

Bizonyításvázlat - folytatás Lemma 1 Minden p,q Q, q Q és u,v T esetén, ha akkor van olyan p Q, hogy qu = A pv és q q, q u = A p v és p p. Lemma 1 bizonyításának vázlata: Az álĺıtás a qu = A bizonyítható. pv redukcióban szereplő lépések száma szerinti indukcióval Nulla számú lépés esetében az álĺıtás triviálisan fennáll. Tegyük fel, hogy teljesül valamely n lépésre, ahol n 0. 5

Lemma 1 bizonyításának vázlata - folytatás (Lemma 1 : Minden p,q Q, q Q és u,v T esetén, ha akkor van olyan p Q, hogy qu = A pv és q q, q u = A p v és p p.) Álljon a qu = A pv redukció n+1 lépésből. Akkor valamely q 1 Q és u 1 T -re qu = A q 1 u 1 = A pv teljesül. Így van olyan a T, amelyre u = au 1 és q 1 δ(q,a). De δ(q,a) δ (q,a), hacsak q q, így választhatjuk q 1 -et q 1 = δ (q,a)-nek, ahonnan q u = A q 1u 1 következik q 1 q 1 -re. Az indukciós feltevés alapján valamely p Q -re Azaz, Lemma 1 fennáll. q 1u 1 = A p v és p p. 6

Bízonyításvázlat - folytatás Legyen u L(A), azaz teljesüljön q 0 u = A p valamely q 0 Q 0 -ra és legyen p F. Ekkor Lemma 1 alapján valamely p -re fennáll, hogy q 0 u = A p és p p. Az F definíciója alapján p p -ből és p F-ből az következik, hogy p F, ahonnan L(A) L(A ). 7

Bizonyításvázlat - folytatás Ezután megmutatjuk, hogy L(A ) L(A). Az álĺıtást Lemma 2 segítségével bizonyítjuk. Lemma 2 Minden p,q Q, p Q és u,v T esetén, ha akkor van olyan q Q, hogy q u = A p v és p p, qu = A pv és q q. 8

Bizonyításvázlat - folytatás Lemma 2 bizonyításának vázlata: A lépések száma szerinti indukcióval történik. Nulla számú lépés esetén az álĺıtás triviális. Tegyük fel, hogy az álĺıtás igaz n lépésre, ahol n 0, és álljon a q u = A p v redukció n+1 lépésből. Akkor ahol v 1 = av valamely a T-re és p 1 Q. q u = A p 1v 1 = A p v, Ekkor p p = δ (p 1,a) = p p 1 δ(p 1,a), azaz, lennie kell olyan p 1 p 1 -nek, amelyre p δ(p 1,a). Ekkor p 1 -re teljesül, hogy p 1 v 1 = A pv, és az indukciós hipotézis alapján q q, ahol qu = A p 1v 1. Azaz, Lemma 2 álĺıtása teljesül. 9

Bizonyításvázlat - folytatás Végezetül legyen q 0 u = A p és p F. Az F definíciója alapján van olyan p p, ahol p F, és így Lemma 2 alapján valamely q 0 q 0 -ra teljesül q 0 u = A p. Így L(A ) L(A). Ezzel a tétel bizonyítását befejeztük. 10

Példa Legyen A = (Q,T,δ,Q 0,F) nemdeterminisztikus véges automata, ahol Q = {0,1,2},T = {a,b},q 0 = {0},F = {2}, δ(0,a) = {0,1}, δ(0,b) = {1}, δ(1,a) =, δ(1,b) = {2}, δ(2,a) = {0,1,2}, δ(2,b) = {1}. 11

Példa - folytatás A vele ekvivalens determinisztikus véges automata állapotai a következők lesznek:,{0},{1},{2},{0,1},{0,2},{1,2}{0,1,2}. A további komponensek pedig F = {{2},{0,2},{1,2},{0,1,2}}, valamint δ, ahol δ (,a) =, δ (,b) =, δ ({0},a) = {0,1}, δ ({0},b) = {1}, δ ({1},a) =, δ ({1},b) = {2}, δ ({2},a) = {0,1,2}, δ ({2},b) = {1}, δ ({0,1},a) = {0,1}, δ ({0,1},b) = {1,2}, δ ({0,2},a) = {0,1,2}, δ ({0,2},b) = {1}, δ ({1,2},a) = {0,1,2}, δ ({1,2},b) = {1,2}, δ ({0,1,2},a) = {0,1,2}, δ ({0,1,2},b) = {1,2}. 12

Következmények Korollárium A reguláris nyelvek osztálya (L 3 ) zárt a komplemens műveletére nézve. A bizonyítás vázlata : Legyen L egy A = (Q,T,δ,q 0,F) véges automata által felismert nyelv. Akkor L = T L felismerhető a Ā = (Q,T,δ,q 0,Q F) véges automatával. 13

Következmények Korollárium A reguláris nyelvek osztálya zárt a metszet műveletére nézve. Bizonyításvázlat: Ismeretes, hogy a reguláris nyelvek osztálya zárt az unió műveletére nézve. Mivel L 1 L 2 = L 1 L 2, az álĺıtás következik. 14

Következmények Korollárium Eldönthető, hogy két reguláris grammatika azonos nyelvet generál-e vagy sem. Bizonyításvázlat: Legyenek G 1 és G 2 reguláris grammatikák, amelyek rendre az L 1 és L 2 nyelvet generálják. Az L 3 = (L 1 L 2 ) ( L 1 L 2 ) nyelv szintén reguláris, így van olyan G 3 reguláris grammatika, amely L 3 -at generálja. Ekkor azonban L 1 = L 2 akkor és csak akkor, ha L 3 =, amely minden G 3 környezetfüggetlen grammatika esetében eldönthető. 15

A reguláris nyelvosztály egy algebrai karakterizációja Legyen L egy T ábécé feletti nyelv. Az L nyelv által indukált E L reláció alatt egy olyan bináris relációt értünk a T feletti szavak halmazán, amelyre a következő teljesül: bármely u,v T -ra ue L v akkor és csak akkor, ha nincs olyan w T, hogy az uw és a vw szavak közül pontosan egy eleme L-nek. Megjegyzés: E L ekvivalencia reláció és jobb-invariáns. (Jobb-invariáns: ha ue L v, akkor uwe L vw is fennáll minden w T szóra). Az E L reláció indexén ekvivalencia osztályainak számát értjük. 16

Tétel L T akkor és csak akkor ismerhető fel determinisztikus véges automatával, ha E L véges indexű. 17

Bizonyításvázlat Tegyük fel, hogy L T és E L véges indexű. Legyenek u 0 = ε, u 1,...,u n az egyes ekvivalencia osztályokat reprezentáló szavak és jelöljük [u i ]-vel, 0 i n, az ekvivalencia osztályt. Legyen A = (Q,T,δ,s 0,F) determinisztikus véges automata, ahol Q = {[u i ] 0 i n}, [u 0 ] a kezdőállapot és F = {[u j ] u j L,1 j n}. Definiáljuk a δ állapot-átmenet függvényt a következő módon: δ([u i ],a) = [u i a], 0 i n. Mivel E L jobb-invariáns, ezért δ értékei nem függenek az [u i ] osztályokat reprezentáló elemek választásától, továbbá, az elfogadó állapotok halmaza sem függ reprezentánsainak választásától. A δ definíciójából közvetlenül adódik, hogy bármely u T szóra [q 0 ]u = [u]. Ebből adódik, hogy L felismerhető egy determinisztikus véges automatával. 18

Bizonyításvázlat - folytatás Tegyük most fel, hogy L T felismerhető egy A = (Q,T,δ,q 0,F) determinisztikus véges automatával. Definiáljuk az E ekvivalencia relációt T -on a következőképpen: az u és v T feletti szavakra uev akkor és csak akkor, ha van az A automatának olyan q állapota, hogy q 0 u = A q és q 0 v = A q teljesül. (Nyilvánvaló, hogy E ekvivalencia reláció.) Megmutatjuk, hogy uev-ből ue L v következik. Tegyük fel az ellenkezőjét, vagyis, hogy valamely u, v, w szavakra fennáll az, hogy u Ev, de csak egyike az u w és a v w szavaknak eleme az L nyelvnek. Ekkor q 0 u w = q 1, ahol q 1 F és q 0 v w = q 2, ahol q 2 / F. Mivel azonban u Ev fennáll, ezért léteznie kell olyan q Q állapotnak, hogy q 0 u = A q és q 0u = A q teljesül. 19

Ez ellentmondás, így álĺıtásunk fennáll, ami azt jelenti, hogy E L indexe nem nagyobb, mint E indexe, amely nem nagyobb az A automata állapotainak számánál, vagyis véges.

Példa a tétel használatára Legyen L = {a k b k 0 k}. Megmutatjuk, hogy L nem reguláris nyelv. Tegyük fel az ellenkezőjét. Akkor létezik olyan determinisztikus véges automata, amely elfogadja L-et. Ebben az esetben E L véges indexű. Ha E L véges indexű, akkor a m E L a n fennáll valamely m > n számpárra. De ez nem lehetséges, mivel csak az a m b m és az a n b m szavak egyike eleme L-nek. Ebből következően E L nem lehet véges indexű, azaz, L nem reguláris nyelv. Ez egy újabb megerősítése annak, hogy L 3 L 2. L generálható a G = ({S},{a,b},{S ε,s asb},s) lineáris grammatikával. 20

Minimális számú állapottal rendelkező véges automata Az A determinisztikus véges automata minimális állapotszámú (minimális), ha nincs olyan A determinisztikus véges automata, amely ugyanazt a nyelvet ismeri fel, mint A, de A állapotainak száma kisebb, mint A állapotainak száma. Tétel Az L reguláris nyelvet felismerő minimális (állapotszámú) determinisztikus véges automata az izomorfizmus erejéig egyértelmű. A bizonyítás az előző tétel alapján könnyen belátható. 21

Véges automata megkülönböztethető állapotai Legyen A = (Q,T,δ,q 0,F) determinisztikus véges automata. Definiáljunk egy R relációt a Q állapothalmazon úgy, hogy prq, ha minden egyes x T input szóra fennáll, hogy px = A r akkor és csak akkor, ha qx = A r valamely r,r F állapotokra. (r = r lehetséges). Azt mondjuk, hogy p és q megkülönböztethetők, ha van olyan x T, amelyre vagy px = A r, r F, vagy qx = A r, r F, de mindkét redukció egyszerre nem áll fenn. Egyébként p és q nem megkülönböztethetők. Ha p és q nem megkülönböztethetők, akkor δ(p,a) = s és δ(q,a) = t sem megkülönböztethetők egyetlen a T-re sem. 22

Összefüggő determinisztikus véges automata Legyen A = (Q,T,δ,q 0,F) determinisztikus véges automata. A q állapotot a kezdőállapotból elérhetőnek mondjuk, ha létezik q 0 x = q redukció, ahol x valamely T feletti szó. Az A = (Q,T,δ,q 0,F) determinisztikus véges automatát összefüggőnek mondjuk, ha minden állapota elérhető a kezdőállapotból. 23

Összefüggő determinisztikus véges automata Definiáljuk a H halmazt a következőképpen: Legyen H 0 = {q 0 }, H i+1 = H i {r δ(q,a) = r,q H i,a T}, i = 1,2,... Akkor létezik olyan k 0, amelyre H k = H l, ahol l k. Legyen H = H k. Könnyen látható, hogy H azoknak az állapotoknak a halmaza, amelyek a kezdőállapotból elérhetők. Ezután definiáljuk az A = (Q,T,δ,q 0,F ) determinisztikus véges automatát a következőképpen: Q = H, F = F H és δ : H T H úgy, hogy δ (q,a) = δ(q,a), hacsak q H. Könnyen megmutatható, hogy A összefüggő és ugyanazt a nyelvet fogadja el, amelyet A. Továbbá, A az A legnagyobb összefüggő részautomatája.

Algoritmus véges determinisztikus automata minimalizálására Tegyük fel, hogy az automata összefüggő. Eután partícionáljuk (bontsuk ekvivalencia osztályokra) a Q halmazt a következőképpen: 1.: Tekintsük a Q állapothalmazt. Osszuk két ekvivalenciaosztályra: F-re és Q F-re. Az F-beli állapotok megkülönböztethetők a Q F-beli állapotoktól. (Bármely elfogadó állapot megkülönböztethető egy nem elfogadó állapottól az üres szóval.) Ismételjük meg az ekvivalenciaosztályok további ekvivalenciaosztályokra való szétbontását addig, amíg a partícionálás változatlan marad a következőképpen: 2.: Ha adott egy partícionálás, B = B 1... B s akkor minden egyes B i ekvivalenciaosztály bármely két p és q állapota pontosan akkor marad együtt, ha minden a T-re a δ(p,a) és a δ(q,a) egyazon ekvivalenciaosztályba tartozik, egyébként a B i ekvivalenciaosztályt szétbontjuk. Ezt az eljárást addig ismételjük, ameddig változás van, egyébként az eljárás leáll. 24

Algoritmus - folytatás 3.: Minden egyes B i ekvivalenciaosztályt reprezentáljunk egy b i szimbólummal. Konstruáljuk meg a determinisztikus véges automatát a következőképpen: legyen A = (Q,T,δ,q 0,F ), ahol Q = {b i B i a 2. eljárás során nyert ekvivalenciaosztály}. q 0 = b 0 a q 0 -t tartalmazó ekvivalenciaosztály reprezentánsa. δ (b i,a) = b j, ha δ(q,a) = p, q B i, p B j. F = {b f } azon ekvivalenciaosztály reprezentánsa, amely F elemeit tartalmazza. 25