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

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

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

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

Környezetfüggetlen nyelvek

Környezetfüggetlen nyelvek

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

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

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

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

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:

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

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:

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

Nyelvek és Automaták

Fonya ZH recap szabivános typo lehet, bocs

IX. A TRIGONOMETRIA ALKALMAZÁSA A GEOMETRIÁBAN

Lineáris egyenletrendszerek

Formális nyelvek - 9.

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

Chomsky-féle hierarchia

GAZDASÁGI MATEMATIKA I.

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

Véges automaták, reguláris nyelvek

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?

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

IV. Algebra. Algebrai átalakítások. Polinomok

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

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

A Riemann-integrál intervallumon I.

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

Automaták és formális nyelvek

FELVÉTELI VIZSGA, július 15.

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

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

Formális nyelvek és automaták

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

5. A logaritmus fogalma, a logaritmus azonosságai

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

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

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

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

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

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

4. előadás: A vetületek általános elmélete

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

Chomsky-féle hierarchia

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

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

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

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

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

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

Lineáris programozás

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

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

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ó

Vektoralgebra előadás fóliák. Elméleti anyag tételek, definíciók, bizonyítás vázlatok. Bércesné Novák Ágnes 1. Források, ajánlott irodalom:

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

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

Győry Ákos: A Titu-lemma. A Titu-lemma. Győry Ákos Földes Ferenc Gimnázium, Miskolc

Absztrakt vektorterek

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

Juhász István Orosz Gyula Paróczay József Szászné Dr. Simon Judit MATEMATIKA 10. Az érthetõ matematika tankönyv feladatainak megoldásai

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

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

823. A helyesen kitöltött keresztrejtvény: 823. ábra A prímek összege: = 9; 824. a) 2 1, 2 4, 5 3, 3 5, 2$ 825.

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

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.

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

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

Algebrai struktúrák, mátrixok

Arányosság. törtszámot az a és a b szám arányának, egyszer en aránynak nevezzük.

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!

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

Automaták mint elfogadók (akceptorok)

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

Kovács Judit ELEKTRO TEC HNIKA-ELEKTRONIKA 137

2010/2011 es tanév II. féléves tematika

Gyakorló feladatsor 9. osztály

Matematika I. Mőszaki informatikai mérnm. rnökasszisztens. Galambos GáborG JGYPK 2011

Atomataelmélet: A Rabin Scott-automata

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

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

19. Függvények rekurzív megadása, a mester módszer

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

Alap fatranszformátorok II

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

9. Exponenciális és logaritmusos egyenletek, egyenlőtlenségek

TERMOELEKTROMOS HŰTŐELEMEK VIZSGÁLATA

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

A Gauss elimináció M [ ]...

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

MATEMATIKA FELADATLAP

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

Határozott integrál. Newton -Leibniz szabály. alkalmazások. improprius integrál

Diszkrét matematika 2.C szakirány

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

XX. Nemzetközi Magyar Matematika Verseny

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

Átírás:

Irodlom Formális nyelvek I. Véges utomták és reguláris nyelvek Fülöp Zoltán SZTE TTK Informtiki Tnszékcsoport Számítástudomány Alpji Tnszék 6720 Szeged, Árpád tér 2. Fülöp Zoltán, Formális nyelvek és szintktikus elemzésük, Polygon, 2004. Ésik Zoltán, Gomás Év és Iván Szolcs: Automták és formális nyelvek példtár, Typotex Kidó, 21. J. E. Hopcroft és R. Motwni, J. D. Ullmn, Introduction to Automt Theory, Lnguges, nd Computtion, Addison Wesley, 20 és Person Eduction Limited 24. (A ili.) Peter Linz, An Introduction to Forml Lnguges nd Automt, Jones & Brlett Lerning, 22. Ajánlott z elődások látogtás és jegyzetelés! A vizsgán z elődáson elhngzottkt is tudni kell. 1/141 2/141 A formális nyelvek egy lklmzás Egy (progrmozási) nyelv szintxis: zon szályok összessége, melyek meghtározzák nyelvet. Hogyn, milyen módszerrel dhtó meg progrmozási nyelvek szintxis? A legelterjedte módszer genertív nyelvtnnl történő szintxis megdás. Adjuk meg z A,B és C változókól, 0 és 1 konstnsokól, + és műveleti jelekől, vlmint ( és ) zárójelekől felépíthető ritmetiki kifejezések szintxisát! Ilyenek például z A, 1, A+1, A+B, A (B +1) ritmetiki kifejezések. Az összes ilyen kifejezés egy nyelvet lkot. A formális nyelvek egy lklmzás Aritmetiki kifejezések Aritmetiki kifejezéseknek z A,B és C változó jelekől, 0 és 1 konstns jelekől, + és műveleti jelekől, vlmint ( és ) csoportosító jelekől, kif tg kif + tg tg fkt tg fkt fkt ( kif ) vlt konst vlt A B C konst 0 1 szályok lklmzásávl felépíthető jelsoroztokt (szvkt) nevezzük. A jel válsztási lehetőséget jelent, olvssuk vgy -nk. Ez egy genertív nyelvtn. 3/141 4/141

A formális nyelvek egy lklmzás Levezetés: kif tg tg fkt tg ( kif ) tg ( kif + tg ) tg ( tg + tg ) fkt ( tg + tg ) fkt ( fkt + tg ) fkt ( fkt + fkt ) Minden lépésen z láhúzott szintktiki egységet helyettesítjük megfelelő szály jo oldlán álló vlmelyik kifejezéssel. A formális nyelvek egy lklmzás Levezetés: fkt ( fkt + fkt ) vlt ( fkt + fkt ) vlt ( vlt + fkt ) vlt ( vlt + konst ) A ( vlt + konst ) A (B + konst ) A (B +1) Jelölés: kif A (B +1) 5/141 6/141 A formális nyelvek egy lklmzás Az A, B, C, 0, 1, +,, ( és ) jelekől álló ritmetiki kifejezés szintxis: egy jelsorozt (vgy szó) kkor és csk kkor ritmetiki kifejezés, h kif -ől fenti szintktiki szályok lklmzásávl történő levezetéssel megkphtó. Röviden: w szó ritmetiki kifejezés kif w. A formális nyelvek egy lklmzás Egy másik péld: FONYA progrmozási nyelv szintxis: progrm ut.list. ut.list ut ut ; ut.list ut ert.do ifut whileut lokk ert.do vlt := kif ifut if relcio then ut else ut whileut while relcio do ut lokk egin ut.list end relcio kif relciojel kif relciojel < > = = 7/141 8/141

A formális nyelvek egy lklmzás Egy másik péld: FONYA progrmozási nyelv szintxis: kif tg kif + tg tg fkt tg fkt fkt ( kif ) vlt konst vlt A B C konst 0 1 A formális nyelvek egy lklmzás Egy w jelsorozt kkor és cskis kkor szintktikusn helyes FONYA nyelvű progrm, h progrm w. Ilyen például l oldli jelsorozt és nem ilyen jo oldli: A := 0; A := 0; while A < C do while A+C do egin A := A+1; egin A := A+1 B := B C B := B C end; end; C := C B. C := C B. A jo oldlin két szintktikus hi vn! 9/141 10/141 A formális nyelvek egy lklmzás Az elemzés lpkérdése: Amennyien dott egy progrmozási nyelv szintxis és dott egy ezen nyelven írott progrm, kkor hogyn tudjuk eldönteni zt, hogy z dott progrm engedelmeskedik-e szintxisnk, vgyis szintktikusn helyes-e? Röviden: igz-e, hogy progrm w? Tö lgoritmus is létezik, lásd Szintktikus elemzési módszerek c. kurzus nygát. Áltlános foglmk, jelölések Áécé: szimólumoknk egy tetszőleges véges, nemüres hlmz. Áltlán Σ-vl jelöljük. Σ áécé feletti szó: egy 1... k lkú sorozt, hol k 0 és 1,..., k Σ. k = 0 eset: üres szónk nevezzük, jele λ. Péld áécére és szvkr: Σ = {,}, λ,,,,, st. Progrmozásn: ASCII, Unicode áécék, BEGIN, END, IF, ALMA, K1, továi kulcsszvk, zonosítók, 123, -412.2, K1+123, egyé számok, kifejezések st pedig szvk. 11/141 12/141

Áltlános foglmk, jelölések Összes szvk hlmz: Σ = { 1... k k 0, 1,..., k Σ} Σ + = { 1... k k 1, 1,..., k Σ} = Σ {λ} Péld: Σ = {λ,,,,,,,,...}, Σ + = {,,,,,,,...} Konktenáció: z u,v Σ szvk egymás után írásávl kpott uv Σ szó. Péld: h u =, v =, kkor uv =, uλ = λu = u. A konktenáció sszocitív: u(vw) = (uv)w minden u,v,w Σ -r n Htványozás: u n { }} { = uu...u, u 0 = λ, u = -re u 3 =. Áltlános foglmk, jelölések H w = xy, kkor x w prefixe, y w suffixe. Péld: pefixei λ,,,, suffixei,,,λ Egy w szó hosszán enne előforduló etűk multiplicitássl vett számát értjük. A jele w, pontos definíció következő: (i) h w = λ, kkor w = 0, (ii) h w = v, vlmely Σ és v Σ -r, kkor w = 1+ v. Péld: λ = 0, = 1, = 2, = 3. 13/141 14/141 Áltlános foglmk, jelölések Nyelv: Σ tetszőleges részhlmzát Σ feletti nyelvnek nevezzük. Péld {, } feletti nyelvekre: {,, } (véges nyelv), {w Σ w páros }, {λ,,,,...} = { n n n 0}. A már ismert ritmetiki kifejezések hlmz egy nyelv z {A,B,C,0,1,+,,(,)} áécé felett. Az összes Σ feletti nyelvek hlmz: P(Σ ) (kontinuum számosságú). Műveletek nyelvekkel Legyenek L,L 1,L 2 Σ nyelvek. Az L 1 L 2,L 1 L 2 és L 1 L 2 z ismert hlmzelméleti műveletek. Továá L = Σ L z L komplementere, L 1 L 2 = {uv u L 1,v L 2 } z L 1 és L 2 konktenációj, Minden lehetséges módon válsztunk L 1 -ől és L 2 -ől szvkt és összeláncoljuk (konktenáljuk) őket: {λ,,}{,} = {,,,,,} Σ {} = {w w Σ }, z -r végződő szvk hlmz. 15/141 16/141

Műveletek nyelvekkel A nyelvek konktenációj is sszocitív: ezért zárójelezés elhgyhtó. Htványozás: L n = L 1 (L 2 L 3 ) = (L 1 L 2 )L 3, n { }} { LL...L, L 0 = {λ} L = {λ} L LL LLL... z L iteráltj, Műveletek nyelvekkel Megjegyzés: = {λ} és minden L nyelvre λ L. Továá: L = {λ} L +. Az, és komplementer műveleteket Boole műveleteknek, z, konktenáció és iteráció műveleteket pedig reguláris műveleteknek nevezzük. Tetszőleges számú (0 is megengedett) L-eli szó konktenációjként megkphtó szvk hlmz. {,} = {λ,,,,,,,,...} L + = L LL LLL... ( 0 eset kizárv). 17/141 18/141 Műveletek nyelvekkel Néhány, nyelv műveletekre vontkozó zonosság: L 1 (L 2 L 3 ) = (L 1 L 2 ) L 3 L 1 (L 2 L 3 ) = (L 1 L 2 )L 3 L 1 L 2 = L 2 L 1 L{λ} = {λ}l = L L L = L L = L = L L = L = Továá: Genertív nyelvtnok Egy olyn, könnyen leírhtó eszközzel ismerkedünk meg, mely lklms (áltlán végtelen) nyelvek megdásár. Az eszköz neve genertív nyelvtn (vgy genertív grmmtik). Más szóvl: genertív nyelvtnok olyn végesen specifikálhtó eszközök, melyekkel nyelveket tudunk reprezentálni. L 1 (L 2 L 3 ) = L 1 L 2 L 1 L 3 (L 1 L 2 )L 3 = L 1 L 3 L 2 L 3 (L 1 L 2 ) = (L 1 L 2) L 1 (L 1 L 2 ) = {λ} L 1 (L 2 L 1 ) L 2 19/141 20/141

Genertív nyelvtnok Genertív nyelvtn: egy G = (N,Σ,P,S) négyes, hol: N egy áécé, nemterminális áécé, Σ egy áécé, terminális (efejező, végső) áécé, mire N Σ =, S N kezdő szimólum (vgy strt szimólum), P pedig α β lkú ún. átírási szályok véges hlmz, hol α,β (N Σ) és α-n vn leglá egy nemterminális etű. (α szály l oldl, β jo oldl.) Genertív nyelvtnok Péld: G 1 = ({S,A},{,},{S A,A A,A λ},s) egy nyelvtn, hol {S, A} nemterminális áécé, {,} terminális áécé, S kezdő (strt) szimólum, {S A,A A,A λ} szályok hlmz. A A egy szály, minek l oldl A, jo oldl pedig A 21/141 22/141 Genertív nyelvtnok Közvetlen levezetés (deriváció): tetszőleges γ,δ (N Σ) esetén γ G δ, h vn olyn α β P szály és vnnk olyn α,β (N Σ) szvk, melyekre fennállnk, hogy γ = α αβ, δ = α ββ. Genertív nyelvtnok Péld: G 1 = ({S,A},{,},{S A,A A,A λ},s) AA AA z A A szállyl AA A z A λ szállyl α α β G α β β γ δ 23/141 24/141

Genertív nyelvtnok Levezetések: γ G δ: egy lépés γ n G δ: n 0 lépés (γ 0 G δ γ = δ) γ + G δ: leglá egy lépés γ G δ: vlmennyi (esetleg 0) lépés H nem okoz félreértést, G helyett -t írunk. Genertív nyelvtnok Péld: G 1 = ({S,A},{,},{S A,A A,A λ},s) S A A A Tehát: S, S +, S 4 mind teljesülnek. Továá: A A, A 2 A, tehát A A, A A. Leginká zok levezetések érdekelnek ennünket, melyek kezdő szimólumól indulnk ki és terminális szón végződnek. 25/141 26/141 Genertív nyelvtnok G = (N,Σ,P,S) nyelvtn áltl generált nyelv: L(G) = {u Σ S G u}. A G 1 = ({S,A},{,},{S A,A A,A λ},s) példán L(G 1 ) = { n n n 1}. Egy nyelvet áltlán nem csk egy nyelvtnnl lehet generálni: G = (N,Σ,P,S) és G = (N,Σ,P,S ) nyelvtnok ekvivlensek, h L(G) = L(G ). Genertív nyelvtn Péld: Az elői G 1 nyelvtn ekvivlens G 2 = ({S},{,},{S S,S },S) nyelvtnnl, mert ugyncsk L(G 2 ) = { n n n 1}. 27/141 28/141

Genertív nyelvtnok Péld: G r = (N,Σ,P,S), hol N = {K,T,F}, Σ = {+,,(,),}, S = K, P = { - K K +T, K T, - T T F, T F, - F (K), F }. Ekkor L(G r ) z -ól vlmint (,),+ és jelekől képezhető ritmetiki kifejezések hlmz. Genertív nyelvtn Az A α 1,...,A α n szályok feĺırását következőképpen rövidítjük: A α 1... α n. Például, G r nyelvtn szályi megdhtók így is: - K K +T T, - T T F F, - F (K). Egy levezetés G r -n: K T T F F F (K) F (K +T) F (F +F) F (+) 29/141 30/141 Áltlános jelölések Chomsky nyelvosztályok A G = (N,Σ,P,S) nyelvtn Az,,c,d,... szimólumok Σ elemeit, z A,B,C,D,..., és S szimólumok N elemeit, z...,u,v,w,x,y,z szimólumok N Σ elemeit, z α,β,γ,δ,... szimólumok (N Σ) elemeit, és z...,u,v,w,x,y,z szimólumok Σ elemeit fogják jelölni. 0 típusú (vgy áltlános), h rá semmilyen korlátozás nincs. 1 típusú (vgy környezetfüggő), h P-en minden szály αaβ αδβ lkú, hol δ λ. Kivétel, z S λ szály, ekkor zonn z S nem szerepelhet semelyik szály jo oldlán. 2 típusú (vgy környezetfüggetlen), h P-en minden szály A α lkú. 3 típusú (vgy reguláris), h P-en minden szály A xb vgy A x lkú. 31/141 32/141

Chomsky nyelvosztályok Egy dott G nyelvtn esetén legngyo olyn i {0,1,2,3} z érdekes, melyre nyelvtn i típusú. Pl. G 1,G 2 és G r nyelvtnok rendre 1, 2 és 2 típusúk. Egy dott L Σ nyelvet i típusúnk mondunk vlmely i {0,1,2,3}-re, h vn olyn i típusú G nyelvtn, melyre L = L(G). Itt is legngyo olyn i z érdekes, melyre nyelv i típusú. Pl. z L(G 1 ),L(G 2 ) és L(G r ) nyelvek mindegyike 2 típusú és e lehet izonyítni, hogy egyik sem 3 típusú. Chomsky nyelvosztályok Az i {0,1,2,3} típusú nyelvek osztályát L i -vel jelöljük. Az nyilvánvló, hogy L 3 L 2 és L 1 L 0, mert minden 3-típusú nyelvtn 2-típusú is és minden 1-típusú nyelvtn 0-típusú is. Késő látni fogjuk, hogy érvényes Chomsky nyelvhierrchi: sőt z erőse lkj is. L 3 L 2 L 1 L 0, L 3 L 2 L 1 L 0 33/141 34/141 Chomsky nyelvosztályok Véges utomták, reguláris kifejezések 0 Összefogllás 0 Továi progrm: Először reguláris nyelveket (vgyis reguláris nyelvtnokkl generálhtó nyelveket) vizsgáljuk. 1 2 3 1 2 3 Bevezetünk továi két olyn eszközt, melyekkel reguláris nyelveket lehet megdni (reprezentálni): véges utomtákt és reguláris kifejezéseket. Nyelvtnok Nyelvek Megmuttjuk, hogy mind véges utomtákkl felismerhető nyelvek, mind reguláris kifejezésekkel reprezentálhtó nyelvek megegyeznek reguláris nyelvekkel. A l oldli z eddigiek lpján világos, jo oldlit fokoztosn, teljesen félév végére látjuk e. 35/141 36/141

Véges utomták Az M = (Q,Σ,δ,q 0,F) rendszert determinisztikus utomtánk nevezzük, hol: 1. Q egy nem üres, véges hlmz, z állpotok hlmz, 2. Σ egy áécé, z input áécé, 3. q 0 Q kezdő állpot, 4. F Q végállpotok hlmz, 5. δ : Q Σ Q egy leképezés, z átmenetfüggvény. Véges utomták Automt megdás irányított gráfként: Az állpotok gráf csúcsi, h δ(q,) = p, kkor q csúcsól egy élet irányítunk p csúcs és z élet ellátjuk z címkével, q p és zt mondjuk, hogy z utomt q állpotól z input szimólum htásár átmegy p állpot. A kezdő és végállpotokt reprezentáló csúcsokt megjelöljük. 37/141 38/141 Véges utomták Véges utomták Péld: M 3 = (Q,Σ,δ,q 0,F) egy utomt, hol Az M 3 utomt megdás irányított gráfként: Q = {q 0,q 1,q 2 }, Σ = {,}, F = {q 0 }, továá kezdő állpot: q 0 végállpot-hlmz: {q 0 } q 1 δ(q0,) = q 1, δ(q 0,) = q 0, δ(q1,) = q 2, δ(q 1,) = q 1, δ(q2,) = q 0, δ(q 2,) = q 2. q 0 q 2 39/141 40/141

Véges utomták Automt megdhtó tálázt formán is. A kezdő állpotot tálázt első sorá írjuk, végállpotokt pedig megjelöljük. Az M 3 utomt megdás tálázttl: δ q 0 q 1 q 0 q 1 q 2 q 1 q 2 q 0 q 2 Véges utomták M konfigurációink hlmz: C = Q Σ. A (q, 1... n ) konfiguráció zt jelenti, hogy M q állpotn vn és z 1... n szót kpj inputként. Átmeneti reláció: (q,w),(q,w ) C esetén (q,w) M (q,w ) h w = w, vlmely Σ-r és δ(q,) = q. (q,w) M (q,w ), egy lépés (q,w) n M (q,w ), n 0 lépés (q,w) + M (q,w ), leglá egy lépés (q,w) M (q,w ), vlmennyi (esetleg 0) lépés 41/141 42/141 Véges utomták Az M = (Q,Σ,δ,q 0,F) utomt áltl felismert nyelven z L(M) = {w Σ (q 0,w) M (q,λ) és q F} nyelvet értjük. Véges utomták Átmenetek z M 3 utomtán: kezdő állpot: q 0 végállpot-hlmz: {q 0 } Szvkkl: q 0 -ól w htásár vlmelyik q F végállpot jutunk. M q0 q1 w q2 q 0 F w L(M) (q 1,) M3 (q 2,) M3 (q 0,) 2 M 3 (q 0,λ), (q 0,) M3 (q 0,) M3 (q 1,) M3 (q 1,) M3 (q 2,) M3 (q 0,λ) és (q 0,) M3 (q 1,) M3 (q 1,) M3 (q 1,λ) 43/141 44/141

Véges utomták Az M 3 utomt áltl felismert L(M 3 ) nyelv zon szvkól áll, melyeken z etűk szám oszthtó háromml. Véges utomták A determinisztikus utomt áltlánosítás: nemdeterminisztikus utomt. kezdő állpot: q 0 végállpot-hlmz: {q 0 } q1 Az M = (Q,Σ,δ,q 0,F) rendszert nemdeterminisztikus utomtánk nevezzük, hol: L(M 3 ), mert: (q 0,) M3 (q 0,) M3 (q 1,) M3 (q 1,) M3 (q 2,) M3 (q 0,λ) q0 q2 1. Q egy nem üres, véges hlmz, z állpotok hlmz, 2. Σ egy áécé, z input áécé, 3. q 0 Q kezdő állpot, 4. F Q végállpotok hlmz, 5. δ : Q Σ P(Q) egy leképezés, z átmenetfüggvény. Egy input szimólum htásár egy állpotól tö állpot is átmehet. Az áltlánosítás vlóján nem növeli meg felismerő kpcitást. L(M 3 ), mert: (q 0,) M3 (q 1,) M3 (q 1,) M3 (q 1,λ) 45/141 46/141 Véges utomták A nemdeterminisztikus utomt egy input szimólum htásár egy állpotól tö állpot is átmehet: Véges utomták Péld: M = (Q,Σ,δ,q 0,F) egy nemdeterminisztikus utomt, hol δ(q,) = {q 1,...,q n } q 1 Q = {q 0,q 1,q 2,q 3 }, Σ = {,}, F = {q 3 }, továá q q 2. δ(q0,) = {q 0,q 1 }, δ(q 0,) = {q 0 }, δ(q1,) =, δ(q 1,) = {q 2 }, δ(q2,) = {q 3 }, δ(q 2,) =, δ(q3,) = δ(q 3,) = {q 3 }. q n,, Az is megengedett, hogy δ(q,) =. q 0 q 1 q 2 q 3 47/141 48/141

Véges utomták Az M utomt megdás tálázttl: δ q 0 q 0,q 1 q 0 q 1 q 2 q 2 q 3 q 3 q 3 q 3 Véges utomták Az átmeneti reláció és felismert nyelv nemdeterminisztikus utomtákr: Átmeneti reláció: (q,w),(q,w ) C esetén (q,w) M (q,w ) h w = w, vlmely Σ-r és q δ(q,). Az M = (Q,Σ,δ,q 0,F) utomt áltl felismert nyelven z L(M) = {w Σ (q 0,w) M (q,λ) vlmely q F-re} nyelvet értjük. Szvkkl: q 0 -ól w htásár elérhető vlmely q F végállpot (ugynkkor esetleg nem végállpotok is elérhetők). 49/141 50/141 Véges utomták Véges utomták,, q 0 q 1 q 2 q 3 L(M ) = {uv u,v Σ }, tehát M pontosn zon Σ -eli szvkt ismeri fel melyeken előfordul z rész-szó. M nemdeterminisztikus! Lehetnek olyn szvk, melyeket egy nemdeterminisztikus utomt nem tud végig olvsni, mert δ(q,) = lkú átmenetek mitt elkdht. A teljesen definiált utomták viszont minden szót végig tudnk olvsni. Az M = (Q,Σ,δ,q 0,F) nemdeterminisztikus utomt teljesen definiált (vgy: teljes), h minden q Q és Σ esetén δ(q,) leglá egy elemű. A determinisztikus utomták teljesen definiáltk. Továá, minden nemdeterminisztikus utomt könnyen teljessé tehető egy ún. cspd állpot evezetésével, nélkül, hogy felismert nyelv megváltozn. 51/141 52/141

Véges utomták Tétel. Tetszőleges M = (Q,Σ,δ,q 0,F) nemdeterminisztikus utomtához megdhtó olyn M = (Q,Σ,δ,q 0,F) teljesen definiált utomt, melyre L(M) = L(M ). Véges utomták Péld. Az M utomt teljessé tétele.,, Bizonyítás. H M teljesen definiált, kkor legyen M = M. Különen, legyen Q = Q {q c }, hol q c Q, vgyis egy új állpot ( cspd állpot). Továá, minden q Q és Σ esetén, legyen { δ δ(q,) h δ(q,) (q,) = {q c } h δ(q,) =. Végül, minden Σ-r, legyen δ (q c,) = {q c }. q 0 q 1 q 2 q 3 q c, 53/141 54/141 Véges utomták Tétel. Egy nyelv kkor és csk kkor ismerhető fel nemdeterminisztikus utomtávl, h felismerhető determinisztikus utomtávl. Bizonyítás. ) H egy nyelv felismerhető determinisztikus utomtávl kkor felismerhető nemdeterminisztikus utomtávl is. Véges utomták M = (Q,Σ,δ,q 0,F ), hol Q = P(Q) (= {S S Q}), htványhlmz, q 0 = {q 0}, F = {S Q S F }, δ : Q Σ Q z leképezés melyre tetszőleges S Q és Σ esetén δ (S,) = q S δ(q,). ) Fordítv: legyen M = (Q,Σ,δ,q 0,F) egy nemdeterminisztikus utomt. Megdunk egy M = (Q,Σ,δ,q 0,F ) determinisztikus utomtát, melyre L(M ) = L(M). A konstrukció neve: htványhlmz konstrukció. S δ (S,) = q S δ(q,) 55/141 56/141

Véges utomták M állpoti z M állpotiól képzett hlmzok. Nyilvánvló, hogy M determinisztikus. Az L(M ) = L(M) izonyítás: Álĺıtás. Minden w Σ -r és S Q-r Véges utomták Az M és M felismeri w = 1... k szót. 1 2 k 1 k ({q 0 },w) M (S,λ) kkor és csk kkor, h S = {q Q (q 0,w) M (q,λ)}. Szvkkl: Az M-en w htásár elérhető állpotok hlmz megegyezik zzl z állpottl, melye M w htásár jut. Az álĺıtás könnyen igzolhtó w szerinti indukcióvl. Az álĺıtásól zonnl következik, hogy L(M ) = L(M), mert mindkét utomt kkor ismeri fel w-t, h S-en vn leglá egy F-eli állpot. q 0 S 0 q 1... qk 1 q k ( F) S 1 S k 1 S k ( F ) 57/141 58/141 Véges utomták Egy fontos megjegyzés: A htványhlmz konstrukcióvl kpott determinisztikus utomt állpotink szám exponenciálisn növekedhet z eredeti nemdeterminisztikus utomt állpotihoz képest (n-ről 2 n -re). Ez ngy állpotszámú rendszerek esetén állpottér ronást eredményez. Szerencsére helyzet áltlán ennél sokkl jo. A gykorltn úgy járunk el, hogy determinisztikus utomt {q 0 } kezdőállpotáól kiindulv csk zokt z állpotokt konstruáljuk meg, melyek ezen kezdőállpotól elérhetők. Ez trükk áltlán 2 n -nél jóvl kevese állpotot eredményez. (Lásd következő példát.) Véges utomták Péld. Determinizáljuk z M nemdeterminisztikus utomtát!,, q 0 q 1 q 2 q 3 L(M ) = {uv u,v Σ } 59/141 60/141

Véges utomták Péld. Átmenetek {q 0,q 1 } állpotól: Véges utomták Péld. Az M utomt determinizálás: q 0,q 1 q 0,q 2 q 0 q 0 q 1 q 0 q 2 q 3 q 0 q 3 q 0 q 2 q 0 q 1 q 3 A kpott utomt determinisztikus és 6 állpot vn (16 helyett). 61/141 62/141 Véges utomták Véges utomták Péld. Észrevesszük, hogy 3 végállpot összevonhtó egyetlen p végállpottá: A nemdeterminisztkius utomt áltlánosítás: nemdeterminisztikus utomt λ-átmenettel, röviden nemdeterminisztikus λ-utomt. Az M = (Q,Σ,δ,q 0,F) rendszert nemdeterminisztikus λ-utomtánk nevezzük, hol: q 0 q 0 q 1 q 0 q 2 p, Az így kpott utomtánk már csk 4 állpot vn. 63/141 1. Q egy nem üres, véges hlmz, z állpotok hlmz, 2. Σ egy áécé, z input áécé, 3. q 0 Q kezdő állpot, 4. F Q végállpotok hlmz, 5. δ : Q (Σ {λ}) P(Q) egy leképezés, z átmenetfüggvény. Olyn átmenet is lehetséges, melyik nem fogysztj z inputot. Előnye, hogy néh kényelmes lklmzni. Ugynkkor, nemdeterminizmushoz hsonlón, nem növeli meg felismerő kpcitást. 64/141

Véges utomták Véges utomták A λ-átmenet Egy péld: λ Átmeneti reláció: q (q,w),(q,w ) C esetén (q,w) M (q,w ) h w = w, vlmely (Σ {λ})-r és q δ(q,). λ A felismert nyelv definíciój ugynz, mint nemdeterminisztikus eseten: z M utomt w szót felismeri, h q 0 -ól w htásár elérhető vlmely q F végállpot (esetleg λ-átmenetek segítségével ). p 1 A 0 1 λ B C D λ E 0 λ λ F 0 Felismert nyelv: {1,11,0,,00}{0} δ 0 1 λ A E B B C D C D D F E F B,C 65/141 F D 66/141 Véges utomták Véges utomták Tétel. Egy nyelv kkor és csk kkor ismerhető fel nemdeterminisztikus λ-utomtávl, h felismerhető nemdeterminisztikus utomtávl. Bizonyítás. ) H egy nyelv felismerhető nemdeterminisztikus utomtávl kkor felismerhető nemdeterminisztikus λ-utomtávl is. ) Fordítv: legyen M = (Q,Σ,δ,q 0,F) egy nemdeterminisztikus λ-utomt. Megdunk egy M = (Q,Σ,δ,q 0,F ) nemdeterminisztikus utomtát, melyre L(M ) = L(M). Az M = (Q,Σ,δ,q 0,F) nemdeterminisztikus λ-utomtához megdunk egy M = (Q,Σ,δ,q 0,F ) nemdeterminisztikus utomtát, melyre L(M ) = L(M). M megdásához, ki kell számolni z állpotok λ-lezárását M-en. Egy q Q állpot λ-lezárás zon állpotokól áll, melyek elérhetők q-ól λ-átmenetekkel: Cl(q) = {p Q (q,λ) M (p,λ)}. A {q} hlmzól kiindulv, hozzávesszük q-ól egy λ-átmenettel elérhető állptokt, és ezt z eljárást ddig folyttjuk, míg hlmz ővíthető. Tehát q Cl(q). 67/141 68/141

Véges utomták Az M = (Q,Σ,δ,q 0,F) nemdeterminisztikus λ-utomtához megdunk egy M = (Q,Σ,δ,q 0,F ) nemdeterminisztikus utomtát, melyre L(M ) = L(M). A Cl(q) lezárások ismeretéen, legyen: δ (q,) = p Cl(q) δ(p,) és F = {q Q Cl(q) F }. Tehát M q állpotól z htásár zon állpotok megy át, melyeke M vlmennyi λ-átmenettel, mjd egy -átmenettel jut el. Továá M végállpoti zon állpotok, melyekől M vlmennyi λ-átmenettel egy F-eli állpot jut, vgyis felismer. (A vlmennyi mindkét eseten lehet null is.) Ezért L(M ) = L(M). Véges utomták Egy péld: 1 A 0 λ B 1 C λ D λ E 0 λ λ F 0 Cl(A) = {A}, Cl(B) = {B,D}, Cl(C) = {C,D}, Cl(D) = {D}, Cl(E) = {E,B,C,D}, Cl(F) = {F,D} F = {E,B,C,F,D} 69/141 70/141 Véges utomták Egy péld: A 1 B C D Az ekvivlens nemdeterminisztikus utomt. Felismert nyelv: {1,11,0,,00}{0}. 1 0 E 0 1 0 F 0 0 0 Véges utomták Összefogllás: Véges utomtákkl nyelveket lehet definiálni, oly módon, hogy minden M utomt felismer egy L(M) nyelvet. A következő három fjt utomtát ismertük meg: determinisztikus utomt, nemdeterminisztikus utomt, nemdeterminisztikus λ-utomt. A felismerő kpcitás mindhárom fjt utomtánk ugynz. Ugynkkor, nemdeterminisztikus utomtákkl könnye ánni, például egy dott nyelvhez áltlán könnye megdni z őt felismerő nemdeterminisztikus utomtát, mint determinisztikust. Ez még inká igz nemdeterminisztikus λ-utomtákr. Például két tomtához ngyon könnyű megdni egy olyn nemdeterminisztikus λ-utomtát, mely z eredeti utomták áltl felismert nyelvek egyesítését vgy konktenációját ismeri fel. 71/141 72/141

Reguláris kifejezések Progrm: Nyelvek megdásánk egy új formájávl ismerkedünk meg. Veszünk egy áécét és hozzáveszünk néhány segédszimólumot. Ezekől ún. reguláris kifejezéseket építünk fel izonyos szályok szerint. Minden reguláris kifejezés meghtároz (vgy: reprezentál) egy nyelvet. Az összes ilyen nyelvet vizsgáljuk. Ki fog derülni, hogy reguláris kifejezésekkel reprezentálhtó nyelvek nem mások, mint reguláris nyelvek. Reguláris kifejezések Egy Σ áécé feletti reguláris kifejezések hlmz (Σ {,λ,(,),+, }) hlmz legszűke olyn U részhlmz, melyre z lái feltételek teljesülnek: (i) z (áthúzott null) szimólum eleme U-nk; (ii) λ szimólum eleme U-nk; (iii) Minden Σ-r z szimólum eleme U-nk; (iv) H R 1,R 2 U, kkor (R 1 )+(R 2 ), (R 1 )(R 2 ), és (R 1 ) is elemei U-nk. Péld: Legyen Σ = {,}. Akkor például ( ), (()+()) és (()())(() ), Σ feletti reguláris kifejezések. 73/141 74/141 Reguláris kifejezések Az R reguláris kifejezés áltl meghtározott (reprezentált ) R nyelvet következőképpen definiáljuk: (i) H R = (áthúzott null), kkor R = (üres nyelv); (ii) H R = λ (mint szimólum), kkor R = {λ} (mint nyelv); (iii) H R = (mint szimólum), kkor R = {} (mint nyelv); (iv) ) H R = (R 1 )+(R 2 ), kkor R = R 1 R 2 ; (iv) ) H R = (R 1 )(R 2 ), kkor R = R 1 R 2 ; (iv) c) H R = (R 1 ), kkor R = R 1. Egy L Σ nyelv reperzentálhtó reguláris kifejezéssel, h vn olyn Σ feletti R reguláris kifejezés, melyre R = L. Reguláris kifejezések A (gykrn zvró) zárójelezés z egyértelmű kiolvshtóság mitt szükséges. A zárójelek szám csökkenthető, h megállpodunk n, hogy prioritási sorrend legyen, konktenáció, +. Továá, z és konktenáció művelet sszocitív, zért + és z egymás után írás zárójelezése elhgyhtó. Végül () helyett -t, ( ) helyett -et írunk. Így reguláris kifejezések zárójelezése z lái módon egyszerűsödik: ( ) helyett (()+()) helyett (+) (()())(() ) helyett írhtunk (+) (+) -t, (+) (+) -t, st. 75/141 76/141

Reguláris kifejezések Reguláris kifejezések Példák = = = {λ}; (+) = + = ( ) = ({} {}) = {,} ; = = = = {}{}{} = {}{λ,,,...} = {,,,...}. Tehát {λ}, {,} és {,,,...} nyelvek reprezentálhtók reguláris kifejezéssel. Minden Σ = { 1,..., n } áécé esetén Σ nyelv reprezentálhtó reguláris kifejezéssel, mert Σ = ( 1 +...+ n ). Továi példák: Σ = {,} ) L = {uv u,v Σ } (w L w-en előfordul z rész-szó) reprezentálhtó, mert L = (+) (+). Gondoljunk z ugynezen nyelvet felismerő determinisztikus utomtár. Melyiket könnye megdni? ) L = {uv u,v Σ } (w L w -vl kezdődik és végződik és vn enne leglá egy ) reprezentálhtó, mert L = (+) (+). 77/141 78/141 Reguláris kifejezések Továi példák: Σ = {,} c) Az (+) (λ+) reguláris kifejezére (+) (λ+) = {w {,} w-en nem fordul elő rész-szó} Adjunk meg ehhez nyelvhez egy determinisztikus utomtát! Melyik z egyszerű? Reguláris kifejezések Továi példák reprezentálhtó nyelvekre: d) Minden véges nyelv reprezentálhtó reguláris kifejezéssel. Vlón, legyen L = {x 1,...,x n }, n 1. Akkor hol L = R 1 +...+R n, { i1... R i = ini h x i = i1... ini λ h x i = λ. Például λ+++ = {λ,,,}. Adjunk meg ehhez nyelvhez is egy determinisztikus utomtát! 79/141 80/141

Reguláris kifejezések e) Reguláris kifejezések UNIX-n: z áécé z ASCII és különöző rövidítéseket enged meg. Rövidítések krkter hlmzokr: A. (pont) tetszőleges krkter rövidítése. Elhgyj + jeleket: z 1 +...+ n reguláris kifejezést [ 1... n ] formán rövidíti. Például < + > + = helyett [<>=]-t ír. Kihsználv, hogy z ASCII rendezett, hlmzokt rövidítve definiál. Például [0-9] jelenti 0+...+9 reguláris kifejezést. Továi példák: [A-Z] és [A-Z-z0-9]. Mkrókt hsznál. Például [:digit:] [0-9] helyett és [:lnum:] [A-Z-z0-9] helyett. Reguláris kifejezések e) Reguláris kifejezések UNIX-n: z áécé z ASCII és különöző rövidítéseket és kiterjesztéseket enged meg. Rövidítések műveletekre: A + helyett jelet ír. A? zt jelenti, hogy legfelje egy. Tehát z R? UNIX kifejezés λ+r rövidítése. A + viszont zt jelenti, hogy leglá egy. Tehát z R+ UNIX kifejezés z RR rövidítése. Az {n} rövidítés zt jelenti, hogy n példány. Tehát z R{5} UNIX kifejezés z RRRRR rövidítése. Példák:.?, [:digit:]+ [:lnum:]{3}, st. 81/141 82/141 Az ekvivlenci tétel Tétel. Tetszőleges L Σ nyelv esetén következő három álĺıtás ekvivlens: (1) L reguláris (generálhtó 3-típusú nyelvtnnl). (2) L felismerhető utomtávl. (3) L reprezentálhtó reguláris kifejezéssel. Bizonyítás. Megmuttjuk, hogy Akkor (1) (2) (3). 1. Lemm: (3) = (1) 2. Lemm: (1) = (2) 3. Lemm: (2) = (3) A reguláris nyelvek 3-típusúk 1. Lemm. (3) = (1): H L Σ nyelv reprezentálhtó reguláris kifejezéssel, kkor generálhtó 3-típusú nyelvtnnl. Bizonyítás. Az L-et reprezentáló R reguláris kifejezés struktúráj szerinti indukcióvl. Az indukció lpj. (i) R = Ekkor L = R =, mely generálhtó G = ({S},Σ,,S), 3-típusú nyelvtnnl. (ii) és (iii) R =, hol Σ vgy = λ Ekkor L = R = {}, mely generálhtó G = ({S},Σ,{S },S), 3-típusú nyelvtnnl. 83/141 84/141

A reguláris nyelvek 3-típusúk Indukciós lépés. (iv) ) R = (R 1 )+(R 2 ) Ekkor L = R = L 1 L 2, hol L 1 = R 1 és L 2 = R 2. Indukciós feltevés: L i generálhtó G i = (N i,σ,p i,s i ), 3-típusú nyelvtnnl, i = 1,2. (N 1 N 2 =.) A reguláris nyelvek 3-típusúk Akkor L generálhtó G = (N 1 N 2 {S},Σ,P 1 P 2 {S S 1,S S 2 },S), 3-típusú nyelvtnnl, hol S egy új szimólum. S G w kkor és csk kkor, h S 1 G 1 w vgy S 2 G 2 w. 85/141 86/141 A reguláris nyelvek 3-típusúk Indukciós lépés. (iv) ) R = (R 1 )(R 2 ) Ekkor L = R = L 1 L 2, hol L 1 = R 1 és L 2 = R 2. Indukciós feltevés: L i generálhtó G i = (N i,σ,p i,s i ), 3-típusú nyelvtnnl, i = 1,2. (N 1 N 2 =.) Akkor L generálhtó G = (N 1 N 2,Σ,P,S 1 ), 3-típusú nyelvtnnl, hol P legszűke olyn szályhlmz mire teljesülnek következő feltételek: A reguláris nyelvek 3-típusúk H A xb P 1, kkor A xb P, H A x P 1, kkor A xs 2 P, P 2 minden eleme P-nek is eleme. S 1 G 1 w 1 és S 2 G 2 w 2 kkor és csk kkor, h S 1 G w 1S 2 G w 1w 2. 87/141 88/141

A reguláris nyelvek 3-típusúk Indukciós lépés. (iv) c) R = (R 1 ) Ekkor L = R = L 1, hol L 1 = R 1. Indukciós feltevés: L 1 generálhtó G 1 = (N 1,Σ,P 1,S 1 ), 3-típusú nyelvtnnl. Akkor L generálhtó G = (N 1 {S},Σ,P,S), 3-típusú nyelvtnnl, hol S egy új szimólum, P pedig legszűke olyn szályhlmz mire teljesülnek következő feltételek: A reguláris nyelvek 3-típusúk S S 1,S λ P, H A xb P 1, kkor A xb P, H A x P 1, kkor A xs P. S G λ S G S 1 G w 1S G w 1 ( L 1 ) w 1 S G w 1 S 1 G w 1w 2 S G w 1 w 2 ( L 1 L 1 ) w 1 w 2 S G w 1 w 2 S 1... 89/141 90/141 Az ekvivlenci tétel Tétel. Tetszőleges L Σ nyelv esetén következő három álĺıtás ekvivlens: (1) L reguláris (generálhtó 3-típusú nyelvtnnl). (2) L felismerhető utomtávl. (3) L reprezentálhtó reguláris kifejezéssel. Bizonyítás. 1. Lemm: (3) = (1) 2. Lemm: (1) = (2) 3. Lemm: (2) = (3) A 3-típusú nyelvek felismerhetők utomtávl 2. Lemm. (1) = (2): H L Σ nyelv reguláris, kkor felismerhető utomtávl. Bizonyítás. Legyen L egy reguláris nyelv és tegyük fel, hogy L = L(G), hol G egy 3-típusú nyelvtn. 2.1. Lemm. Minden G = (N, Σ, P, S), 3-típusú nyelvtnhoz megdhtó vele ekvivlens G = (N,Σ,P,S), 3-típusú nyelvtn, úgy hogy P -en minden szály A B, A B vgy A λ lkú, hol A,B N és Σ. 2.2. Lemm. Minden olyn G = (N,Σ,P,S), 3-típusú nyelvtnhoz melynek csk A B, A B vgy A λ lkú szályi vnnk megdhtó olyn M = (Q,Σ,δ,q 0,F) nemdeterminisztkius λ-utomt, melyre L(M) = L(G). 91/141 92/141

A 3-típusú nyelvek felismerhetők utomtávl 2.1. Lemm. Minden G = (N, Σ, P, S), 3-típusú nyelvtnhoz megdhtó vele ekvivlens G = (N,Σ,P,S), 3-típusú nyelvtn, úgy hogy P -en minden szály A B, A B vgy A λ lkú, hol A,B N és Σ. Bizonyítás. Konstruáljuk meg P -t következőképpen: (i) Minden A B, A B és A λ lkú P-eli szályt vegyünk fel P -e. A 3-típusú nyelvek felismerhetők utomtávl (ii) Minden A 1... n B, P-eli szály esetén (hol n > 1, 1,..., n Σ) vegyük fel P -e z A 1 A 1, A 1 2 A 2,...,A n 1 n B szályokt, hol A 1,...,A n 1 új nemterminális szimólumok. (iii) Minden A 1... n, P-eli szály esetén (hol n 1, 1,..., n Σ) vegyük fel P -e z A 1 A 1, A 1 2 A 2,...,A n 1 n A n,a n λ szályokt, hol A 1,...,A n új nemterminálisok. Legyen N = N { új nemterminálisok }. 93/141 94/141 A 3-típusú nyelvek felismerhetők utomtávl Minden A N-re és w Σ -r Ugynis A G w kkor és csk kkor, h A G w. A 1... n B P kkor és csk kkor, h A G 1 A 1 G... G 1... n 1 A n 1 G 1... n B és A 3-típusú nyelvek felismerhetők utomtávl Péld szályok szétdrolásár G : S A B A B λ B A G : S A 1, A 1 A, S B A A 2, A 2 B, A λ B A 3, A 3 A 4, A 4 λ B A A 1... n P kkor és csk kkor, h A G 1 A 1 G... G 1... n A n G 1... n. Az A = S válsztássl kpjuk, hogy L(G) = L(G ). 95/141 96/141

A 3-típusú nyelvek felismerhetők utomtávl 2.2. Lemm. Minden olyn G = (N,Σ,P,S), 3-típusú nyelvtnhoz melynek csk A B, A B vgy A λ lkú szályi vnnk megdhtó olyn M = (Q,Σ,δ,q 0,F) nemdeterminisztkius λ-utomt, melyre L(M) = L(G). A 3-típusú nyelvek felismerhetők utomtávl G-en: M-en: Bizonyítás. Konstruáljuk meg M-et következőképpen: Q = N, q 0 = S, F = {B N B λ P}, minden A N és (Σ {λ}) esetén legyen A B P B λ P 00000000 111111110 1 A B F B δ(a,) = {B N A B P}. Az árán Σ vgy = λ. 97/141 98/141 A 3-típusú nyelvek felismerhetők utomtávl Ekkor minden n 1, A,B N és w Σ esetén A n G wb kkor és csk kkor h (A,w) n M (B,λ). Részleteseen: A G 1 A 1 G... G 1... n 1 A n 1 G 1... n B kkor és csk kkor, h A 3-típusú nyelvek felismerhetők utomtávl Például, vegyük z elői G nyelvtnt: G : S A 1, A 1 A, S B A A 2, A 2 B, A λ B A 3, A 3 A 4, A 4 λ B A (A, 1... n ) M (A 1, 2... n ) M... M (B,λ). Az A = S, B F válsztássl dódik, hogy L(M) = L(G). 99/141 100/141