Automaták és formális nyelvek



Hasonló dokumentumok
Chomsky-féle hierarchia

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

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

Chomsky-féle hierarchia

Formális nyelvek - 5.

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

Formális nyelvek és automaták

Formális nyelvek és automaták

Atomataelmélet: A Rabin Scott-automata

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

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

Automaták mint elfogadók (akceptorok)

Hatványozás. A hatványozás azonosságai

Formális Nyelvek - 1.

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

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

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata.

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

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:

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

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:

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

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

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

A tananyag a TÁMOP A/1-11/ számú projekt keretében készült.

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

Formális Nyelvek és Automaták v1.9

ZH feladatok megoldásai

A tananyag a TÁMOP A/1-11/ számú projekt keretében készült.

Csempe átíró nyelvtanok

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

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

KOVÁCS BÉLA, MATEMATIKA I.

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

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!

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

KOVÁCS BÉLA, MATEMATIKA I.

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

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

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

HALMAZOK. A racionális számok halmazát olyan számok alkotják, amelyek felírhatók b. jele:. A racionális számok halmazának végtelen sok eleme van.

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

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

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

1. A polinom fogalma. Számolás formális kifejezésekkel. Feladat Oldjuk meg az x2 + x + 1 x + 1. = x egyenletet.

15. LINEÁRIS EGYENLETRENDSZEREK

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

Példák. Ismert a római számok halmaza, amely intuitív szintaxissal rendelkezik, hiszen pl.

Fordítóprogramok (A,C,T szakirány) Feladatgy jtemény

ADATBÁZIS-KEZELÉS. Relációalgebra, 5NF

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

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Logika és informatikai alkalmazásai

Valasek Gábor

Logika és informatikai alkalmazásai

Formális Nyelvek és Automaták. Dömösi, Pál Falucskai, János Horváth, Géza Mecsei, Zoltán Nagy, Benedek

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

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!

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

Dr. Vincze Szilvia;

MintaFeladatok 1.ZH Megoldások

A valós számok halmaza

NP-teljesség röviden

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

Véges automaták, reguláris nyelvek

MintaFeladatok 1.ZH Megoldások

HALMAZELMÉLET feladatsor 1.

Diszkrét matematika I.

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

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

Diszkrét matematika 2.C szakirány

Formális nyelvek és automaták

Matematikai logika és halmazelmélet


Információk. Ismétlés II. Ismétlés. Ismétlés III. A PROGRAMOZÁS ALAPJAI 2. Készítette: Vénné Meskó Katalin. Algoritmus. Algoritmus ábrázolása

Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai,,. (rek. definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv. L nyelv lezártja.

Logika és informatikai alkalmazásai kiskérdések február Mikor mondjuk, hogy az F formula a G-nek részformulája?

akonyv 2006/12/18 11:53 page i #1 Formális nyelvek és fordítóprogramok

Kongruenciák. Waldhauser Tamá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.

Elsőrendű logika szintaktikája és szemantikája. Logika (3. gyakorlat) 0-adrendű szemantika 2009/10 II. félév 1 / 1

2018, Diszkrét matematika

Formális Nyelvek és Automaták

Gy ur uk aprilis 11.

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

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

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!

Formális nyelvek és automaták

KOVÁCS BÉLA, MATEMATIKA I.

1. tétel - Gráfok alapfogalmai

Informatika szigorlat. A lexikális elemző feladatai közé tartozik a whitespace karakterek (a

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

2011. szeptember 14. Dr. Vincze Szilvia;

Számítástudomány matematikai alapjai segédlet táv és levelező

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

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

Számelmélet Megoldások

Vektorterek. Több esetben találkozhattunk olyan struktúrával, ahol az. szabadvektorok esetében, vagy a függvények körében, vagy a. vektortér fogalma.

Alap fatranszformátorok II

Átírás:

Automaták és formális nyelvek Bevezetés a számítástudomány alapjaiba 1. Formális nyelvek 2006.11.13. 1

Automaták és formális nyelvek - bevezetés Automaták elmélete: információs gépek általános absztrakt matematikai modelljei Információs gépek: bemenő adat: információ a környezettől kimenő adat: információ a környezet felé Kalman-féle rendszer modellbe illeszthetőség Formális nyelvek/2

Automaták és formális nyelvek - bevezetés Formális nyelvek: információ feldolgozás alapeszközei adathalmazok: véges sok jelből alkotott szavak szavak halmaza: nyelv nyelv: szabályok a szavak alkotására, feldolgozására Formális nyelvek/3

Formális nyelvek - alapfogalmak Def.: Ábécé Szimbólumok (jelek) tetszőleges, nemüres, véges halmazát ábécének, az ábécét alkotó jeleket betűknek nevezzük. jel: alapfogalom ábécék halmazok, így alkalmazhatók rájuk a halmazműveletek Formális nyelvek/4

Formális nyelvek - alapfogalmak Def.: Szó Legyen adott egy tetszőleges ábécé. Ekkor az ábécé betűiből alkotott véges sorozatokat szavaknak, az adott ábécéből alkotott szavaknak nevezzük. Pl.: V = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} ábécéből származó szavak a tízes számrendszerben felírt számok. Formális nyelvek/5

Formális nyelvek - alapfogalmak Def.: Szó hossza A szó hossza alatt a szót alkotó jelek számát értjük. Jele: α szó hossza d(α) Def.: Üres szó Az egyetlen betűt sem tartalmazó sorozatot üres szónak nevezzük és ε-nal jelöljük. Természetesen d(ε)=0. Formális nyelvek/6

Formális nyelvek - alapfogalmak Def.: Szavak egyenlősége Két szó egyenlő, ha hosszuk megegyezik és a betűik páronként rendre megegyeznek. Legyen α és β két szó. α = β, ha d(α) = d(β) = n és a 1 = b 1, a 2 = b 2,, a n = b n. Formális nyelvek/7

Formális nyelvek - alapfogalmak Példa: Legyen V 1 = {0, 1} ábécé szavai: ε, 110100, 00 hosszuk: 0, 6, 2. Legyen V 2 = {if, then else, for to, do, begin, a, b, c} szavai: if a then b else c, for b to c do begin a hosszuk: 6, 7 Formális nyelvek/8

Formális nyelvek - alapfogalmak Def.: Szavak szorzása Legyen α és β két szó. α és β szorzatán (egyesítésén) azt az új szót értjük, ami úgy jön létre, hogy β-t leírjuk az α után. Az így kapott új szót az αβ jelöli. Ha α = a 1 a 2 a n és β = b 1 b 2 b m, akkor αβ = a 1 a 2 a n b 1 b 2 b m ha α V és β W, akkor αβ V W d(αβ) = d(α)+d(β) azaz d(αβ) = n+m Formális nyelvek/9

Formális nyelvek - alapfogalmak tetszőleges szóra igaz: εα = αε = α szavak szorzása asszociatív, de nem kommutatív Példa Formális nyelvek/10

Formális nyelvek - alapfogalmak Def.: Szavak hatványozása Ha α egy tetszőleges szó, akkor α 0 = ε, α 1 = α, illetve α n = α n-1 α, n=1, 2, 3, esetén. Def.: Szó tükörképe A szó tükörképének azt α -1 -gyel jelölt szót nevezzük, amely az α betűit fordított sorrendben tartalmazza, azaz α=a 1 a 2 a n esetén α -1 =a n a n-1 a 1. Formális nyelvek/11

Formális nyelvek - alapfogalmak Def.: Szó kezdőszelete, végszelete, részszava Az α szó a β szónak kezdőszelete (prefixuma), ha létezik olyan γ szó, amelyre β = αγ. Az α szó a β szónak végszelete (szuffixuma), ha létezik olyan γ szó, amelyre β = γα. Az α szó a β szónak részszava, ha léteznek olyan µ és η szavak, amelyre β = µαη. Ha V egy tetszőleges ábécé, akkor a V-ből alkotott összes szavak halmazát jelöljük V * -gal. Formális nyelvek/12

Formális nyelvek - alapfogalmak Def.: Formális nyelvek Egy adott ábécéből alkotott szavak tetszőleges halmazát formális nyelvnek nevezzük. Másképpen egy L halmazt pontosan akkor nevezünk formális nyelvnek, létezik olyan V L ábécé, melyre L V L*. Formális nyelvek/13

Formális nyelvek - alapfogalmak Példa: Legyen V={0, 1} ábécé, ekkor a V-ből alkotott formális nyelvek: az üres halmaz ; az üres szót tartalmazó egy elemű halmaz {ε}; a V * ; L 1 ={0, 00, 010, 1100} ; L 2 ={0 n 1 n : n 0} ; Formális nyelvek/14

Formális nyelvek - alapfogalmak az L 3 halmaz, amelyet az alábbiak szerint határozunk meg: 1. ε L 3 ; 2. ha α L 3, akkor 0α1 L 3 és 1α 0 L 3 ; 3. ha α L 3 és β L 3 akkor α β L 3 ; 4. L 3 -ben nincs más szó, csak azok, amik az 1.-3. szabályok véges sokszori alkalmazásával megkaphatunk. véges végtelen nyelvek Formális nyelvek/15

Formális nyelvek - alapfogalmak Műveletek nyelvekkel: Halmazelméleti műveletek L 1 L 2 = {ω : ω L 1 vagy ω L 2 } L 1 L 2 = {ω : ω L 1 és ω L 2 } L 1 - L 2 = {ω : ω L 1 és ω L 2 } L = V * -L, ahol V az L-hez tartozó ábécé. Formális nyelvek/16

Formális nyelvek - alapfogalmak Def.: Formális nyelvek szorzása Legyen adott két nyelv L 1 és L 2, a hozzájuk tartozó ábécék pedig legyenek W 1 és W 2. Az L 1 és L 2 nyelvek L 1 L 2 szorzatán a következő W 1 W 2 ből alkotott nyelvet érjük: L 1 L 2 = {αβ : α L 1 és β L 2 } Példa L 1 = {0, 01}, L 2 = {1, 11} akkor L 1 L 2 = {01, 011, 0111} A szorzás ebben az esetben is asszociatív, de nem kommutatív. Formális nyelvek/17

Formális nyelvek - alapfogalmak Def.: Formális nyelvek hatványozása Legyen L tetszőleges nyelv, V pedig a hozzá tartozó ábécé. Az L nyelv hatványait a következő módon határozzuk meg: L 0 = {ε} L 1 = L L n = L n-1 L, n = 1, 2, 3, Példa: Legyen L = {0, 1} Ekkor: L 2 = L L = {00, 01, 10, 11} L 3 = L 2 L = {000, 010, 100, 110, 001, 011, 101, 111} Formális nyelvek/18

Formális nyelvek - alapfogalmak Def.: Formális nyelv iteráltja Az L nyelv hatványainak egyesítését az L nyelv iteráltjának nevezzük L * -gal jelöljük: L = U n 0 L iteráltja tehát az L-beli szavak tetszőleges véges sok tényezőiből álló szorzatainak a halmaza. L n Formális nyelvek/19

Formális nyelvek - alapfogalmak Példa: Legyen L = {0, 01} Ekkor: L 2 = L L = {00, 001, 010, 0101} L 3 = L 2 L = {000, 0010, 0100, 01010, 0001, 00101, 01001, 010101} és az iterált L * = {0, 01, 00, 001, 010, 0101, 000, 0010, 0100, } Formális nyelvek/20

Formális nyelvek - Grammatikák Generatív grammatikák: élő nyelv: szavak sorozatáról a nyelvtan szabályai alapján döntjük el, hogy mondat-e formális nyelvek: szavak generálása struktúra hozzárendelése információ a matematikai informatika, programozási nyelvek, gépi fordítóprogramok, számítási módszerek modellezése Formális nyelvek/21

Formális nyelvek - Grammatikák Generatív grammatika elemei: Egy ábécé, melynek az elemei a terminális jelek. Ez az ábécé a grammatika kimenő ábécéje, mely a generált nyelvhez tartozik. Egy másik ábécé, melynek az elemei a nemterminális jelek. Ez egy segédeszköz, betűi nem szerepelnek a generált nyelv szavaiban. Egy kezdő szimbólum (rögzített nemterminális jel). Formális nyelvek/22

Formális nyelvek - Grammatikák A szavak alkotását megadó helyettesítési szabályok. Ezek terminális és nemterminális jelekből alkotott szavak rendezett párjai, melyekben az első tag legalább egy nemterminális jelet tartalmaz. Formális nyelvek/23

Formális nyelvek - Grammatikák Generálás folyamata kiindulunk a egy szóból, amely kezdetben egyetlen jelből, a kezdőszimbólumból áll; ezután a vizsgált szó valamelyik részszavát egy alkalmazható helyettesítési szabály alapján egy másik szóra cseréljük ki; az eljárás addig folytatjuk, amíg olyan szóhoz nem jutunk, amely csak terminális jelekből áll; a kapott szó eleme lesz a generált nyelvnek. Formális nyelvek/24

Formális nyelvek - Grammatikák Def.: Generatív grammatika Egy G generatív grammatikán a következő rendezett négyest értjük: ahol G = <V, W, S, P> V a terminális jelekből álló ábécé; W a nemterminális jelekből álló ábécé; S W a kezdőszimbólum; P = {< α, β >} szabályhalmaz. Formális nyelvek/25

Formális nyelvek - Grammatikák P olyan < α, β > rendezett pároknak a véges halmaza, melyeknél α és β a V W halmazból alkotott szavak, és α-nak legalább egy betűje nemterminális jel. P elemeit helyettesítési szabályoknak nevezzük, jelölési mód: α β azaz α szó helyettesíthető β szóval. Formális nyelvek/26

Formális nyelvek - Grammatikák Def.: Közvetlen levezethetőség A G = <V, W, S, P> grammatika alapján a µ szó közvetlenül levezethető az η szóból, ha µ,η (V W) *, és léteznek olyan γ,δ (V W) * szavak, valamint olyan α β szabály P-ben, amelyekre jelölése: η µ η = γαδ, µ = γβδ Formális nyelvek/27

Formális nyelvek - Grammatikák Def.: Levezethetőség Szavaknak egy ω 1, ω 2, ω n sorozatára azt mondjuk, hogy ez ω n nek ω 1 ből történő levezetése a G grammatika alapján, ha ω 1 ω 2 ω n. Ha létezik ez a levezetés akkor azt mondjuk, hogy ω n levezethető ω 1 ből a G grammatika alapján és a következőképpen jelöljük: ω 1 ω n A közvetlen levezetések száma adja meg a levezetés hosszát. Formális nyelvek/28

Formális nyelvek - Grammatikák A G = <V, W, S, P> grammatika generálja az α szót, ha α V * -nak és α levezethető S-ből, azaz S α. Azt mondjuk, hogy a G = <V, W, S, P> grammatika generálja az L V * nyelvet, ha L = {α : α V*, S α} Ebben az esetben L-re használjuk az L(G) jelölést. Formális nyelvek/29

Formális nyelvek - Grammatikák Két grammatikát, G -t és G -t akkor nevezünk ekvivalensnek, ha L(G )=L(G ). Példa Formális nyelvek/30

Formális nyelvek - Grammatikák Tétel Legyen adva egy G=<V, W, S, P> generatív grammatika és tegyük fel, hogy P-ben vannak olyan szabályok, amelyek a jobb oldali szavukban is tartalmazzák az S kezdőszimbólumot. Ekkor meg lehet adni olyan G grammatikát, amely ekvivalens lesz G-vel, és amelyben a helyettesítési szabályok jobb oldalán nem fordul elő a G kezdőszimbóluma. Formális nyelvek/31

Formális nyelvek Grammatikák csoportosítása Grammatikák csoportosítása : a helyettesítési szabályokra tett megkötések alapján 1. csoport: Az olyan generatív grammatikákat, amelyeknek a helyettesítési szabályaira semmiféle megszorítást nem teszünk, vagyis amelyekben a szabályok: αaβ ω alakúak, ahol α,β és ω terminális és nemterminális jelekből alkotott szavak, A pedig nemterminális jel, általános vagy 0-típusú grammatikáknak nevezzük. Formális nyelvek/32

Formális nyelvek Grammatikák csoportosítása 2. csoport: Azokat a G = <V, W, S, P> generatív grammatikákat, amelyeknek a helyettesítési szabályai: αaβ αωβ alakúak, ahol α,β,ω (V W) *, ω ε és A W, környezetfüggő vagy 1-típusú grammatikáknak nevezzük. Ilyen szabályok esetén az A szimbólum csak α- β környezet esetén helyettesíthető az ω szóval. Példa Formális nyelvek/33

Formális nyelvek Grammatikák csoportosítása 3. csoport: Azokat a G=<V, W, S, P> generatív grammatikákat, amelyeknek a helyettesítési szabályai: A ω alakúak, ahol A W, ω (V W) * és ω ε, környezetfüggetlen vagy 2-típusú grammatikáknak nevezzük. Példa Formális nyelvek/34

Formális nyelvek Grammatikák csoportosítása 4. csoport: Azokat a G=<V, W, S, P> generatív grammatikákat, amelyeknek minden helyettesítési szabálya: A ab vagy A a alakú, ahol A, B W, a V, reguláris vagy 3- típusú grammatikáknak nevezzük. Példa Formális nyelvek/35

Formális nyelvek Grammatikák csoportosítása Def.: Egy formális nyelvet akkor nevezünk regulárisnak (3-típusúnak), környezetfüggetlennek (2-típusúnak), környezetfüggőnek (1-típusúnak) vagy általánosnak (0-típusúnak), ha van olyan reguláris, környezetfüggetlen, környezetfüggő vagy általános típusú grammatika, amelyik ezt a nyelvet generálja. Formális nyelvek/36

Formális nyelvek Grammatikák csoportosítása Chomsky-féle hierarchia reguláris g. környezetfüggetlen g. környezetfüggő g. általános g. Formális nyelvek/37