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

Hasonló dokumentumok
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

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

Formális nyelvek I/2.

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

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

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

Környezetfüggetlen nyelvek

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

A Riemann-integrál intervallumon I.

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

Környezetfüggetlen nyelvek

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:

Gyakorló feladatsor 9. osztály

Fonya ZH recap szabivános typo lehet, bocs

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

Formális nyelvek és automaták

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

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?

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

Véges automaták, reguláris nyelvek

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

4. Hatványozás, gyökvonás

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

Nyelvek és Automaták

Absztrakt vektorterek

Automaták és formális nyelvek

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:

IX. A TRIGONOMETRIA ALKALMAZÁSA A GEOMETRIÁBAN

Adatbázisok elmélete 4. előadás

ORSZÁGOS KÉSZSÉG- ÉS KÉPESSÉGMÉRÉS VÁLTOZAT

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!

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

MATEMATIKA ÉRETTSÉGI október 25. KÖZÉPSZINT I.

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

REÁLIS GÁZOK ÁLLAPOTEGYENLETEI FENOMENOLOGIKUS KÖZELÍTÉS

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

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

Mátrixok és determinánsok

Gyakorló feladatsor 11. osztály

Jegyzőkönyv. Termoelektromos hűtőelemek vizsgálatáról (4)

TERMOELEKTROMOS HŰTŐELEMEK VIZSGÁLATA

Programtervezési ismeretek

FELVÉTELI VIZSGA, július 15.

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

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

KIEGÉSZÍTÉS A VONALINTEGRÁLHOZ

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

TENGELY szilárdsági ellenőrzése

Lineáris programozás

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

3.1. Halmazok számossága

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

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

Formális nyelvek - 9.

PÉLDA: Négyezer-hatszázöt Jel Szám

Algebrai struktúrák, mátrixok

A 2013/2014. tanévi Országos Középiskolai Tanulmányi Verseny első forduló MATEMATIKA I. KATEGÓRIA (SZAKKÖZÉPISKOLA) Javítási-értékelési útmutató

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

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

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

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

MAGYAR NYELVI FELADATLAP a 8. évfolyamosok számára

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

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

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.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Exponenciális és Logaritmusos feladatok

Z600 Series Color Jetprinter

Középiskolás leszek! matematika. 13. feladatsor

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

Megint a szíjhajtásról

Algoritmuselmélet 12. előadás

1144 PROGRAMOZÁSMÓDSZERTAN, PROGRAMOZÁSI NYELVEK

FIGYELEM! Ez a kérdőív az adatszolgáltatás teljesítésére nem alkalmas, csak tájékoztatóul szolgál!

Határozzuk meg, hogy a következő függvényeknek van-e és hol zérushelye, továbbá helyi szélsőértéke és abszolút szélsőértéke (

2. Gauss elimináció. 2.1 Oldjuk meg Gauss-Jordan eliminációval a következő egyenletrendszert:

Szerelői referencia útmutató

11. évfolyam feladatsorának megoldásai

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

6. Tárkezelés. Operációs rendszerek. Bevezetés A program címeinek kötése. A címleképzés. A címek kötésének lehetőségei

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

MATEMATIKA 9. osztály I. HALMAZOK. Számegyenesek, intervallumok

Differenciálszámítás. Lokális szélsőérték: Az f(x) függvénynek az x 0 helyen lokális szélsőértéke

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

2000. évi XXV. törvény a kémiai biztonságról1

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

1. feladat Oldja meg a valós számok halmazán a következő egyenletet: 3. x log3 2

Ellenállás mérés hídmódszerrel

"ALAPÍTÓ OKIRAT... A továbbiakban változatlanul a 13. ponttal bezárólag. Határidő: határozat megküldésére: október 30.

Chomsky-féle hierarchia

Az integrálszámítás néhány alkalmazása

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.

Többváltozós analízis gyakorlat

PÉLDA: Négyezer-hatszázöt Jel Szám

= n 2 = x 2 dx = 3c 2 ( 1 ( 4)). = π 13.1

készülék kicsomagolása és az alkatrészek ellenőrzése Hálózati tápkábel Hordozó fólia/ hordozó fólia műanyag kártyához DVD-ROM

Egy szép és jó ábra csodákra képes. Az alábbi 1. ábrát [ 1 ] - ben találtuk; talán már máskor is hivatkoztunk rá.

ZH feladatok megoldásai

Formális nyelvek - 5.

VIESMANN. VITODENS Égéstermék elvezetések kondenzációs falikazánokhoz 3,8 105,0 kw. Tervezési segédlet. Vitodens égéstermék-elvezető rendszerek

Exponenciális és logaritmikus egyenletek, egyenletrendszerek, egyenlôtlenségek

Átírás:

Formális nyelvek Aszlós László, Mihálydeák Tmás Számítógéptudományi Tnszék Deember 6, 2017 Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 1 / 17 Problémfelvetés Az informtikábn ngyon gykori feldt z elemzés és generálás: A különféle progrmok/számítógépek közti dtforglom különféle szbványokt hsznál (HTML, XML, json, YAML, stb). Ezért küldő oldlon generálni kell ilyen dtokt, fogdó oldlon pedig elemezni. A forrásprogrmból futtthtó kód fordítás során készül el. A fordítás első része lexiki, szintktiki és szemntiki elemzés, melyet kódgenerálás követ. (Interpreter esetén z utóbbi végrehjtásr serélődik.) Például űrlpok esetén: A bevitt dt vlóbn egy emil ím? A jelszó trtlmz nem betű krktert? Generált biztonságos jelszó feljánlás. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 2 / 17

A formális nyelv definíiój Legyen Σ egy véges nemüres hlmz! A Σ elemeit betűknek, mgát hlmzt hlmzt ábéének nevezzük. Σ + Σ betűiből álló w = 1... n (n 1, i Σ) lkú véges hosszú soroztok, Σ feletti véges, nem üres szvk hlmz. A w Σ + szó hosszán benne szereplő betűk számán értjük ( 1... n = n). Az üres szót (melynek nins egy betűje sem, és hossz definíió szerint 0) z ε jelöli. A Σ = Σ + {ε} hlmzt Σ feletti szvk hlmzánk nevezzük. A Σ feletti szvk egy tetszőleges L hlmzát Σ ábéé feletti (formális) nyelvnek nevezzük (L Σ ). Az üres nyelvet, melynek nins egy szv sem, L jelöli. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 3 / 17 Műveletek formális nyelvekkel Legyenek L, L 1 és L 2 Σ ábéé feletti nyelvek! A következő műveleteket definiáljuk: L 1 L 2 = {x x L 1 vgy x L 2 } (unió); L 1 L 2 = {x x L 1 és x L 2 } (metszet); L 1 L 2 = {xy x L 1 és y L 2 } konktenáió (összefűzés) Htványozás, zz ismételt (önmgávl vett) konktenáió: L 0 = {ε} L n+1 = L n L Trnzitív lezárt (Kleene-sillg művelet): L = i=0 Li, zz L = {x 1 x 2... x k k 0 és x i L} Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 4 / 17

Megjegyzés L ε = {ε}, hol L ε = {ε}. L = {ε}, mert definíió szerint L0 = {ε} Példák Legyen Σ = {, b, }, L 1 = {, bb, } és L 2 = {, b}. Ekkor L 1 L 2 = {,, bb, b, }; L 1 L 2 = {, b, bb, bbb,, b}; L 1 = {ε,, bb,,, bb,, bb, bbbb, bb,... }; Σ önmg, mint ábéé feletti nyelv, nyelv trnzitív lezártj, zz Σ éppen Σ ábéé felett szvk hlmzát dj meg. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 5 / 17 Formális nyelvek megdás Felsorolássl (mint z előző példábn): szigorún véve ekkor sk véges sok szv lehet nyelvünknek. Generálássl (speifikus induktív definíióvl): genertív grmmtikák (Chomsky féle nyelvosztályok). Automtávl: z utomt eldönti, hogy egy szó eleme-e nyelvünknek. A nyelv szvink hlmzát leíró kifejezések megdásávl: például reguláris kifejezések rendszere. Megjegyzés A felsorolt lehetőségek különböző tuljdonsággl rendelkező nyelvek megdásár lklmsk. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 6 / 17

Reguláris kifejezések Feldt Legyen Σ = {0, 1} egy ábéé. Adjuk meg (fejezzük ki) más (lehetőség szerint egyszerűbb) nyelvekkel zt z L nyelvet, mely olyn szvkból áll, mely trtlmzz 010 szót! Megoldás szvk szintjén : H w 1, w 2 Σ, kkor w 1 010w 2 L. De: hogyn állíthtjuk elő w 1 és w 2 szvkt? Tudjuk, hogy nem üres esetben w 1 és w 2 0 és z 1 krktereket trtlmzz. Legyen L 0 = {0} és L 1 = {1}, ekkor L 0 L 1 = {0, 1}, és (L 0 L 1 ) éppen w 1 és w 2 szvk lehetséges lkjit trtlmzz (már z üres szóvl kiegészítve). H L 010 = {010}, kkor L = (L 0 L 1 ) L 010 (L 0 L 1 ). L 0, L 1, L 010 egyszvs nyelvek! (Az egyszvs nyelveket lpnyelveknek is nevezik.) Másként leírv: (0 + 1) 010 (0 + 1) Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 7 / 17 Példák reguláris kifejezésekre Példák Adjuk meg reguláris kifejezéssel zt nyelvet {0, 1} ábéé felett, mely zon szvkból áll, melyek trtlmzzák részszóként 000 vgy z 111 szót! (0 + 1) (000 + 111) (0 + 1) Adjuk meg reguláris kifejezéssel zt nyelvet {0, 1} ábéé felett, mely zon szvkból áll, melyekben z 1-esek szám oszthtó 5-tel! 0 + (0 1 0 1 0 1 0 1 0 1 0 ) Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 8 / 17

Reguláris kifejezések Legyen Σ egy tetszőleges ábéé úgy, hogy, ε, +,,, (, ) / Σ. A Σ ábéé feletti reguláris kifejezések R hlmzát z lábbi induktív definíió dj meg: 1 R 2 ε R 3 H Σ, kkor R. 4 H R 1 R és R 2 R, kkor (R 1 + R 2 ) R. 5 H R 1 R és R 2 R, kkor (R 1 R 2 ) R. 6 H R R, kkor R R. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 9 / 17 Reguláris kifejezések áltl leírt/felismert nyelv Legyen R Σ ábéé feletti reguláris kifejezések hlmz és R R. A R reguláris kifejezés áltl leírt/felismert nyelvet z lábbi induktív definíió dj meg: 1 H R =, kkor L R = L. 2 H R = ε, kkor L R = L ε = {ε}. 3 H R =, Σ, kkor L R = {}. 4 H R = (R 1 + R 2 ), kkor L R = L R1 L R2. 5 H R = (R 1 R 2 ), kkor L R = L R1 L R2. 6 H R = R 1, kkor L R = L R 1. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 10 / 17

Reguláris nyelv A Σ ábéé feletti L nyelv reguláris, h létezik egy olyn Σ ábéé feletti R reguláris kifejezés, hogy L R = L Tétel H Σ ábéé feletti L 1 és L 2 nyelvek regulárisk, kkor z L 1 L 2, L 1 L 2, L 1 \L 2, L 1 (= Σ \L 1 ), L 1 L 2 és L 1 nyelvek is regulárisk. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 11 / 17 Véges utomták A legegyszerűbb utomták: szemléletesen sk olvsni tud és nins memóriáj. Állpottere véges (mást nem is ngyon tudunk ról mondni). A véges utomt egy rendezett ötös: A = Q, Σ, δ, q 0, F, hol Q (belső) állpotok véges hlmz, Σ (külső) véges ábéé (z elemzendő jelsorozt ábééje), δ : Q Σ Q átmenetfüggvény, q 0 Q kezdőállpot és F Q z elfogdó állpotok hlmz. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 12 / 17

Megjegyzés. Az átmenetfüggvény zt mondj meg, hogy egy dott állpotbn egy dott krkter beolvsásánk htásár milyen új állpotot vesz fel z utomt. H egy krktert elolvstunk, kkor következő krkter válik érvényessé (z olvsófej ltt szlg egy krkternyit elmozdul). Az utomt z elemzett jelsoroztot elfogdhtj, h jelsoroztot végig olvst és z utolsó krkter elolvsás után elfogdó állpotbn vn. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 13 / 17 Legyen A = Q, Σ, δ, q 0, F, hol Q = {q 0, q 1, q 2, q 3, q r } (belső) állpotok véges hlmz; Σ = {, b, } (külső) véges ábéé (z elemzendő jelsorozt ábééje); δ(q 0, ) = q 1, δ(q 1, ) = q 1, δ(q 1, b) = q 2, δ(q 2, b) = q 2, δ(q 2, ) = q 3, δ(q 3, ) = q 3 és δ értéke q r egyébként (z átmenetfüggvény); q 0 Q kezdőállpot; F = {q 3 }, zz q 3 z elfogdó állpot. b q strt 0 q b 1 q 2 q 3 i b j k, hol i, j, k > 0 Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 14 / 17

szerint egy állpotból z ábéé minden betűjéhez kell rendelni egy állpotot (δ teljes függvény). A rjz egyszerűbbé tétele érdekében hiányzó nyilk egy nem jelölt rontott állpotb muttnk, honnn minden inputr ugynide jutunk vissz. Az ábrán kiegészítés pirossl lett kiemelve. b q strt 0 q b 1 q 2 q 3 b,,b q r,b, Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 15 / 17 Grfikus ábrázolásbn belső állpotokt körökkel, z átmenetfüggvényt nyilkkl és rájuk írt külső ábéé betűivel jelöljük. A kezdőállpot egy bemenő, felirt nélküli nyíl jelzi, míg végállpotokt duplán rjzolt körök. Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 16 / 17

Elfogdó utomt A = Q, Σ, δ, q 0, F utomt és w = 1 2... n Σ szó esetén zt mondjuk, hogy z utomt elfogdj (felismeri) w szót, h δ(... (δ(δ(q 0, 1 ), 2 )... ), n ) F. Legyen A = Q, Σ, δ, q 0, F egy utomt! H L = {w Σ A elfogdj w-t}, kkor zt mondjuk, hogy z A elfogdj (felismeri) z L nyelvet. Jelölése L = L A Tétel A véges utomták reguláris nyelveket fogdják el, zz h L reguláris nyelv, kkor vn olyn A utomt, hogy L = L A Aszlós, Mihálydeák Formális nyelvek Deember 6, 2017 17 / 17