A2. Véges automata fogalma, nemdeterminisztikus és determinisztikus automaták ekvivalenciája.

Méret: px
Mutatás kezdődik a ... oldaltól:

Download "A2. Véges automata fogalma, nemdeterminisztikus és determinisztikus automaták ekvivalenciája."

Átírás

1 A1. Generatív nyelvtan definíciója, levezetés, nyelvtan által generált nyelv fogalma. Chomsky nyelvosztályok. DEF: Generatív nyelvtannak egy G=(N,Σ,P,S) rendezett négyest nevezünk, ahol: N nemterminális ábécé Σ terminális ábécé amire N Σ= S N a kezdőszimbólum P pedig α β alakú átjárási szabályok véges halmaza, ahol α,β (N Σ)* és α-ban van legalább egy nemterminális betű. DEF: Az (N Σ)* halmaz felett bevezetünk egy G -vel jelölt relációt, amit közvetlen derivációnak (levezetési relációnak) nevezünk: tetszőleges γ,δ (N Σ)*-ra akkor és csak akkor áll fenn γ G δ, ha van olyan α,β (N Σ)* szavak, amelyekre fennállnak, hogy γ=α αβ, δ=α ββ. DEF: A G=(N,Σ,P,S) nyelvtan által generált nyelv: L(G)={u Σ* S G * u}. DEF: (Chomsky nyelvosztályok) Azt mondjuk, hogy a G=(N,Σ,P,S) nyelvtan: 0 típusú (kifejezés struktúrájú), ha rá semmilyen korlátozás nincs. 1 típusú (környezetfüggõ), ha P-ben minden szabály αaβ αδβ alakú, ahol δ λ. Kivétel lehet az S λ szabály, ekkor azonban S nem szerepelhet semelyik szabály jobb oldalán. 2 típusú (környezetfüggetlen), ha P-ben minden szabály A α alakú. 3 típusú (reguláris), ha P-ben minden szabály A xb vagy A x alakú. A2. Véges automata fogalma, nemdeterminisztikus és determinisztikus automaták ekvivalenciája. DEF: Az M=(Q,Σ,δ,q 0,F) rendszert nemdeterminisztikus automatának nevezzük, ahol: Q egy nemüres véges halmaz, az állapotok halmaza Σ az input ábécé q 0 Q a kezdőállapot F Q a végállapotok halmaza δ: Q Σ P(Q) egy leképezés, az átmenetfüggvény. DEF: Azt mondjuk, hogy az M=(Q,Σ,δ,q 0,F) automata determinisztikus, ha teljesül, hogy minden q Q és a Σ esetén a δ(q,a) halmaz legfeljebb egy elemű. TÉTEL: A nemdeterminisztikus automatákkal felismerhető nyelvek osztálya megegyezik a determinisztkus automatákkal felismerhető nyelvek osztályával. BIZ: (a) Először is észrevesszük, hogy ha egy nyelv felismerhető determinisztikus automatával akkor felismerhető nemdeterminisztikus automatával is, hiszen a determinisztikus automata a nemdeterminisztikusnak speciális esete. (b) A másik irányú tartalmazás igazolásához legyen M=(Q,Σ,δ,q 0,F) tetszőleges nemdeterminisztikus automata. Megadunk egy M =(Q,Σ,δ,q 0,F ) determinisztikus automatát, amelyre L(M )=L(M). Definiáljuk M -őt a következőképpen: Q =P(Q) q 0 ={q 0 } F = {S Q S F } δ : Q Σ Q az a leképezés amelyre tetszőleges S Q és a Σ esetén δ (S,a)= q S δ(q,a).

2 Megmutatjuk, hogy L(M )=L(M). Először vegyünkegy w L(M) szót. Legyen w= a 1 a 2 a k, ahol a i Σ. Mivel w L(M), vannak olyan q 1,,q k Q állapotok, hogy q 1 δ(q 0,a 1 ),,q k δ(q k-1,a k ) és q k F. Legyenek S 0,,S k Q azon állapotai M -nek amelyekre teljesül S 0 =q 0, S 1 =δ (S 0,a 1 ),,S k =δ (S k-1,a k ). A δ átmenetfüggvény definíciója miatt az is igaz, hogy q 1 S 1,,q k S k. Mivel q k F, ezért S k F, tehát S k F. Következésképpen w L(M ). A fordított irányú tartalmazás igazolásához vegyünk egy w L(M ) szót és újra tegyük fel, hogy w= a 1 a 2 a k. Mivel w L(M ) vannak olyan S 0,,S k Q állapotok, hogy S 0 =q 0, S 1 =δ (S 0,a 1 ),,S k =δ (S k-1,a k ).és S k F. Ez utóbbi tartalmazás miatt S k F, tehát van olyan p k S k, amelyre p k F. Másrészt a δ definícoja miatt vannak olyan p 0,,p k-1 Q állapotok, amelyekre p 0 S 0,,p k-1 S k-1, és p 1 δ(p 0,a 1 ),,p k δ(p k-1,a k ). Mivel S 0 ={q 0 }, az is igaz, hogy p 0 =q 0, következésképpen w L(M). A3. Reguláris kifejezés, általa meghatározott nyelv. A reguláris nyelvek 3 típusúak. DEF: Legyen Σ egy ábécé. A Σ feletti reguláris kifejezésekhalmaza a (Σ {,(,),+,*})* halmaz legszűkebb olyan U részhalmaza, amelyre az alábbi feltételek teljesülnek: az szimbólum eleme u-nak Minden a Σ-ra az a szimbolum eleme U-nak Ha R 1,R 2 U, akkor (R 1 )+(R 2 ), (R 1 )(R 2 ), és (R 1 )* is elemei U-nak. DEF: Legyen R egy Σ feletti reguláris kifejezés. Az R által meghatározott R nyelvet a következőképen definiáljuk: Ha R= (mint szimbólum), akkor R = (mint nyelv) Ha R=a (mint szimbólum), akkor R ={a} (mint nyelv) Ha R=(R 1 )+(R 2 ), akkor R = R 1 R 2 Ha R=(R 1 )(R 2 ), akkor R = R 1 R 2 Ha R=(R 1 )*, akkor R = R 1 * // Továbbá, egy L Σ* nyelvről azt mondjuk, hogy reguláris nyelv, ha reprezentálható reguláris kifejezéssel, vagyis, ha van olyan Σ feletti R reguláris kifejezés, melyre L= R. TÉTEL: Tetszőleges Σ ábécé esetén a következők egymással megegyeznek: a Σ feletti 3 típusú nyelvek osztálya a Σ feletti automatával felismerhető nyelvek osztálya a Σ feletti reguláris nyelvek osztálya. LEMMA: Tetszőleges Σ ábécé esetén minden Σ feletti L reguláris nyelv generálható 3 típusú nyelvtannal. BIZ: A bizonyítást az L-et reprezentáló reguláris kifejezés struktúrája szerinti indukcióval végezzük. (i) Legyen L= R, ahol R=. Ez esetben L= generálható a G=({S},Σ,,S) nyelvtannal mivel egyetlen terminális szó sem vezethető le az S-ből. Továbbá G 3 típusú, mivel egyetlen szabálya sincs. (ii) Legyen L= R, ahol R= a. Ekkor L={a} generálható a G=({S},Σ,{S a},s) nyelvtannal ami nyilvánvalóan 3 típusú. (iii/a) Tegyük fel, hogy L= R ahol R=(R 1 )+(R 2 ). Ekkor L=L 1 L 2, ahol L 1 = R 1 és L 2 = R 2 Σ feletti reguláris nyelvek. Mivel R 1 és R 2 részkifejezései R-nek, az indukció feltevés értelmében L 1 és L 2 generálhatók a G 1 =(N 1,Σ,P 1,S 1 ) és G 2 =(N 2,Σ,P 2,S 2 ) 3 típusú nyelvtanokkal. Az általánosság megszorítása nélkül az is feltehető, hogy N 1 N 2 =. Megmutatjuk, hogy L is generálható 3 típusú nyelvtannal. Legyen G=(N 1 N 2 {S},Σ,P 1 P 2 {S S 1,S S 2 },S), ahol S egy új szimbólum. Ekkor nyilvánvaló, hogy G is 3 típusú, és L(G)=L 1 L 2. (iii/b) Tegyük fel, hogy L= R ahol R=(R 1 )(R 2 ). Ekkor L=L 1 L 2, ahol L 1 = R 1 és L 2 = R 2 Σ feletti reguláris nyelvek. Csakúgy mint az a) pontban, az indukció feltevés értelmében most is feltehető, hogy L 1 és L 2 generálhatók G 1 és G 2 3 típusú nyelvtanokkal. Legyen most G=(N 1 N 2,Σ,P,S 1 ), ahol P a legszűkebb olyan szabályhalmaz, amire teljesülnek a következő feltételek: Ha A xb P 1, akkor A xb P Ha A x P 1, akkor A xs 2 P

3 P 2 minden eleme P-nek is eleme. Megint csak nyilvánvaló, hogy G is 3 típusú, és L(G)=L 1 L 2. (iii/c) Tegyük fel, hogy L= R ahol R=(R 1 )*. Ekkor L=L 1 *, ahol L 1 = R 1 egy Σ feletti reguláris nyelv. Az indukció feltevés értelmében L 1 generálható az a) pontban szereplő G 1 3 típusú nyelvtannal. Legyen G=(N 1 {S},Σ,P,S) az a nyelvtan, amelyben S egy uj nemterminális, P pedig a legszűkebb olyan szabályhalmaz, amire teljesülnek a következő feltételek: S S 1, S λ P Ha A xb P 1, akkor A xb P Ha A x P 1, akkor A xs P. Nyilvánvaló, hogy G is 3 típusú, és könnyen igazolható, hogy L(G)=L 1 *. A4. A 3 típusú nyelvek automatával való felismerhetősége. DEF:Tetszőleges G=(N,Σ,P,S) nyelvtan esetén az A B alakú szabályokat láncszabályoknak nevezzük.amennyiben P-ben nincsenek lancszabályok,azt mondjuk,hogy G láncszabálymentes. LEMMA:Legyen G=(N,Σ,P,S) környezetfüggetlen nyelvtan.megadható olyan G =(N,Σ,P,S) láncszabálymentes környezetfüggetlen nyelvtan, amelyre L(G )=L(G).Amennyiben G 3 típusú,úgy G is 3 típusú lesz. LEMMA:Legyen G=(N,Σ,P,S) 3 típusú láncszabálymentes nyelvtan.akkor van olyan G =(N,Σ,P,S) 3 típusú nyelvtan,hogy L(G )=L(G). és P -ben minden szabály A ab vagy A λ alakú, ahol A,B N és a Σ. LEMMA: Tetszőleges Σ ábécé feletti 3 típusú nyelv felismerhető automatával. BIZ: Vegyünk egy Σ ábécé feletti 3 típusú nyelvet. Akkor L=L(G), valamely G=(N,Σ,P,S) 3 típusú nyelvtanra. A tétel igazolásához elegendő megadni egy olyan M=(Q,Σ,δ,q 0,F) automatát amelyre L(M)=L(G). A korábbi lemmák értelmében feltehető, hogy G láncszabálymentes és, hogy minden P-beli szabály A ab vagy A λ alakú. Konstruáljuk meg M-et a következőképpen: Q=N q 0 =S F={A N A λ P} minden A N és a Σ esetén δ(a,a)={b N A ab P}. Annak igazolásához, hogy L(M)=L(G), elegendő megmutatnunk, hogy tetszőleges n 1, A,B N és w Σ* esetén A n wb akkor és csak akkor ha (A,w) n (B,λ). Az ekvivalenciát n szerinti teljes indukcióval bizonyíthatjuk be. Ebből már következik, hogy L(M)=L=(G). Valóban, legyen w L(G). Akkor a G nyelvtanra tett megszorítások értelmében van olyan B N, hogy B λ P és S *wb w. A fenti ekvivalencia miatt ekkor (S,w) *(B,λ), másrészt az F definíciója miatt B F. Következésképpen w L(M). Megfordítva legyen w L(M). Akkor (S,w) *(B,λ) valamely B F-re. Mivel B F, az is igaz, hogy B λ P. Másrészt az ekvivalencia miatt S *wb, tehát S *wb w és így w L(G). A5. Az automatával felismerhető nyelvek regulárisak (Kleene tétele). LEMMA: (Kleen tétel) Tetszőleges Σ ábécé feletti, automatával felismerhető nyelv reguláris. BIZ: Vegyünk egy M=(Q,Σ,δ,q 0,F) automatát. Megmutatjuk, hogy L(M) reprezentálható reguláris kifejezéssel. Korábban kimondot tétel értelmében feltehetjük, hogy M determinisztikus. Az is feltehető, hogy Q={1,,n} és, hogy q 0 =1. Tetszőleges 0 k n és 1 i,j n esetén legyen L i,j (k) azon x szavakból álló nyelv amelyekre ( i,x) *(j,λ) de úgy, hogy i és j között az automata legfeljebb az {1,,k} halmazba eső állapotokat érinti. Formálisan: L i,j (0) ={x Σ* (i,x) ) *(j,λ)

4 és ha (i,x) + (i,x) + (j,λ) akkor i {1,,k}} Megjegyezzuk,hogy i,j {1,,k} is leghetséges Észrevesszük, hogy L(M)= j F L (n) 1,j. Ezért amennyiben minden j F esetén az L (n) 1,j nyelv rerezentálható reguláris kifejezéssel, úgy L(M) is. Elegendő tehát azt igazolni, hogy minden j F esetén az L (n) 1,j regurális. Ennél azonban többet igazolunk: k szerinti indukcióval megmutatjuk, hogy minden 1 i,j n-re az L (k) i,j nyelv reguláris. k=0 esetben: L (0) i,j = {a Σ δ(i,a)=j}, ha i j {a Σ δ(i,a)=j} {λ}, ha i=j Mindkét esetben L (0) i,j reguláris. (Korábbi észrevétel: minden véges nyelv reguláris.) Tegyük fel, hogy minden 1 i,j n esetén L (k) i,j reguláris. Bebizonyítjuk, hogy L (k+1) i,j is az. Az i állapotból a j-be kétféleképpen juthatunk el úgy, hogy közben legfeljebbb az {1,,k+1} halmazba eső állapotokat érintjük. Egyrészt úgy, hogy legfeljebb az {1,,k} halmazba eső állapotokat érintjük, tehát k+1-et nem. Másrészt úgy, hogy k+1-et is érintjük. Ez utóbbi esetben i-ből indulink, elérjük k+1-et, majd valahányszor visszatérünk oda. Miután legutoljára elhagytuk, elérjük j-t. Következésképpen L (k+1) i,j felírható a következöképpen: L (k+1) i,j = L (k) i,j L (k) i,k+1 ( L (k) k+1,k+1 )* L (k) k+1,j. Továbbá az indukció feltevés értelmében az L (k) i,j, L (k) i,k+1, L (k) k+1,k+1,és L (k) k+1,j nyelvek mindegyike reguláris. Következésképpen L (k+1) i,j is reguláris, mivel reguláris nyelvekből állítottuk elő az egyesítés, a konkatenáció és iteráció segítségével. A6. Pumpáló lemma reguláris nyelvekre. LEMMA: Legyen L Σ* tetszőleges reguláris nyelv. Akkor megadható olyan (L-től függő) k>0 egész szám, hogy minden w L esetén, ha w k, akkor vannak olyan w 1,w 2,w 3 Σ* szavak, melyekre teljesülnek az alábbi feltételek: 1) w=w 1 w 2 w 3 2) 0< w 2 k 3) minden n 0, w 1 w 2 n w 3 L. BIZ: Mivel L reguláris, van olyan M=(Q,Σ,δ,q 0,F) determinisztikus automata, melyre L=L(M). Legyen k= Q. Bebizonyitjuk, hogy ez a k megfelelő lesz. Vegyünk egy w L szótúgy, hogy w k vagyis, w=a 1 a 2...a k, ahol k k. Mivel w L, vannak olyan q 1,q 2,...,q k Q állapotok melyekre: (q 2,a 3...a k ).. (q k -1,a k ).. (q k,λ), továbbá q k F. Mivel k k= Q, a skatulya-elv alapján a q 0,...,q k sorozatban van legalább két megegyező állapot, vagyis van olyan 0 i,j k számpár, melyre i<j és q i =q j. Továbbá i és j választhatók úgy, hogy a q i+1,...,q j sorozatban már nincsenek megegyező elemek. Legyenek w 1 =a 1...a i, w 2 =a i+1...a j, és w 3 =a j+1...a k. Megmutatjuk, hogy w 1,w 2,w 3 kielégíti mindhárom feltételt. 1) Az, hogy w=w 1 w 2 w 3 nyilvánvaló. 2) Az, hogy w 2 k indirekt módon látható be. Ha ugyanis w 2 =j-i>k, akkor a q i+1,...,q j sorozat legalább k hosszúságú lenne és akkor szerepelne benne legalább két megegyező állapot. 3) Megmutatjuk, hogy minden n 0-ra w 1 w 2 n w 3 L. A w 1, w 2, w 3 szavak definícióját felhasználva a fenti konfiguráció sorozat az alábbi módon írható fel: (q 0,w 1 w 2 w 3 ) *(q i,w 2 w 3 ) *(q i,w 3 ) *(q k,λ). Tehát az is teljesül, hogy (q i,w 2 ) *(q i,λ) és ezért minden n 0-ra (q i,w 2 n ) *(q i,λ). Következésképpen minden n 0-ra (q 0,w 1 w 2 n w 3 ) *(q i,w 2 n w 3 ) *(q i,w 3 ) *(q k,λ), vagyis w 1 w 2 n w 3 L.

5 A7. A reguláris nyelvek osztályának zártsági tulajdonságai (reguláris műveletek, Boole műveletek). TÉTEL: A reguláris nyelvek osztálya zárt a reguláris műveletekre nézve. BIZ: Azt kell igazolni, hogy ha L 1,L 2 Σ* reguláris nyelvek, akkor L 1 L 2, L 1 L 2 és L 1 * is azok. Akkor mondjuk, hogy egy L Σ* nzelv reguláris, ha van olyan R, Σ feletti reguláris kifejezés, amely által reprezentált nyelv éppen L, vagyis melyre R =L teljesül. Legyenek tehát R 1 és R 2 olyan reguláris kifejezések, melyekre R 1 =L 1 és R 2 =L 2. A reguláris kifejezések definíciója szerint (R 1 )+(R 2 ), (R 1 )(R 2 ) és (R 1 )* is reguláris kifejezések.továbbá a reguláris kifejezés által rerezentált nyelv definíciója értelmében (R 1 )+(R 2 ) =L 1 L 2, (R 1 )(R 2 ) =L 1 L 2 és (R 1 )* =L 1 *.Tehát az L 1 L 2, L 1 L 2 ésl 1 * nyelvek is reprezentálhatók reguláris kifejezéssel, ezért regulárisak. DEF: Legyenek M 1 =(Q 1,Σ,δ 1,q 1,F 1 ) és M 2 =(Q 2,Σ,δ 2,q 2,F 2 ) teljesen definiált és determinisztikus automaták.definiáljuk az M=(Q 1 Q 2,Σ, δ,[q 1,q 2 ],F) automatát úgy.hogy minden p 1 Q 1 és p 2 Q 2 állapot és a Σ input szimbólum esetén δ([p 1,p 2 ],a) = [δ(p 1,a), δ(p 2,a) ]. Továbbá legyeen F a Q 1 Q 2 direkt szorzat egy tetszőleges részhalmaza. Akkor M-et az M 1 és M 2 direktszorzatának hívjuk. LEMMA: A reguláris nyelvek osztálya zárt a metszetre és a kivonásra. BIZ: Vegyünk két reguláris nyelvet: L 1 -et és L 2 -t. Tudjuk, hogy léteznek olyan M 1 =(Q 1,Σ,δ 1,q 1,F 1 ) és M 2 =(Q 2,Σ,δ 2,q 2,F 2 ) teljesen definiált és determinisztikus automaták, melyekre L 1 =L(M 1 ) és L 2 =L(M 2 ). Továbbá legyen M=(Q 1 Q 2,Σ,δ,[q 1,q 2 ],F) az M 1 és M 2 direkt szorzata, ahol F-et a következő módon választjuk meg: (a) Legyen F=F 1 F 2. Könnyű igazolni, hogy ekkor L(M)=L(M 1 ) L(M 2 ). Tetszőleges x Σ* esetén: x L(M) [r 1,r 2 ] F 1 F 2 úgy, hogy ([q 1,q 2 ],x) M *([r 1,r 2 ],λ) r 1 F 1 és r 2 F 2 úgy, hogy (q 1,x) M1 *(r 1,λ) és (q 2,x) M2 *(r 2,λ) x L 1 és x L 2 x L 1 L 2. (b) Legyen F=F 1 (Q 2 -F 2 ). Az (a) esethez hasonló módon igazolható, hogy ekkor L(M)=L(M 1 )-L(M 2 ). TÉTEL: A reguláris nyelvek osztálya zárt a Boole műveletekre nézve. BIZ: Fent bizonyítottuk, hogy a reguláris nyelvek osztálya zárt az egyesítésre. Ezután beláttuk, hogy zárt a metszésre. Ebből a lemmából következik, hogy zárt a komplementer képzésre is, mivel minden L Σ* nyelvre igaz, hogy L=Σ*-L. A8. Környezetfüggetlen nyelvek levezetési módjai (általános, bal- és jobb oldali) és ezek kapcsolata. ALAPFOGALMAK: Az α 0 α 1... α n alakú kifejezéseket derivációknak vagy levezetéseknek hívjuk. Amennyiben a fenti deriváció során minden i=1,...,n esetén α i -t úgy kapjuk, hogy α i-1 -ben a bal (jobb) oldalról nézve legelső nemterminálist helyettesítjük egy rá vonatkozó szabály jobb oldalával, akkor a derivációt bal (jobb) oldali derivációnak hívjuk, és rá az α 0 l α 1 l... l α n (α 0 r α 1 r... r α n ) jelölést használjuk. LEMMA: Tetszőleges X (N Σ) és w Σ* esetén a következő három állítás ekvivalens: X *w X l *w X r *w. BIZ: A bal és jobboldali levezetések között fennálló szimmetria miatt csak az első és a második állítás ekvivalenciáját bizonyítjuk be.

6 Nyilvánvaló, hogy ha X l *w akkor X *w is fennáll mivel a bal oldali levezetés a korlátozás nélküli levezetésnek speciális esete. Fordítva, tegyük fel, hogy X *w. Akkor X n w, valamilyen n 0-ra. Az n szerinti idukcióval bizonyítunk. n=0 esetén X=w ami csak úgy lehet, hogy X Σ. Ezért nyilvánvaló, hogy X l *w (=X). Tegyük fel, hogy X n+1 w. Akkor ez a deriváció felírható X X 1...X k n w 1...w k =w alakban, ahol k 1, X X 1...X k P és minden 1 i k-ra teljesül X ni w i, n i n. Tehát az indiukció feltevés miatt X i l ni w i is fennáll. Akkor viszont X l X 1 X 2...X k l w 1 X 2...X k l w 1 w 2...X k l w 1 w 2...w k =w. A9. Derivációs fa fogalma, levezetések és derivációs fák közötti kapcsolatok. DEF: Legyen X (N Σ). Az X gyökerű derivációs fák halmazán fák legszűkebb olyan D X halmazát értjük, amelyre teljesülnek az alábbi feltételek: (i) Az a fa amelynek egyetlen szögpontja van és annak címkéje X, eleme D X -nek. (X-el jelöljük) (ii) Ha X λ P, akkor az a fa, melynek gyökere X-szel van címkézve, a gyökerének egyetlen leszármazottja van aminek címmkéje λ, eleme D X -nek. (X[λ]-val jelöljük) (iii) Ha X X 1...X n P és t 1 D X1,...,t n D Xn, akkor az a fa, melynek gyökere X-szel van címkézve, a gyökérből n él indul rendre a t 1,...,t n fák gyökeréhez, eleme D X -nek.(x[t 1,...,t n ]) Amennyiben X Σ,úgy az (ii) és az (iii) feltételek soha nem teljesülnek,tehát ekkor D X ={X}. DEF:Legyen t egy X gyökerű derivációs fa.akkot t magasságát h(t) -vel, t határát fr(t)-vel jelöljük,és az alábbi módon definiáljuk: (i) Ha t=x,akkor h(t) = 0 és fr(t) = X (ii) Ha t=x[λ] akkor h(t)=1,és fr(t)= λ. (ii) Ha t= X[t 1,...,t n ],akkor h(t)= 1+ max{ h(t i ) 1 i n} és fr(t)=fr(t 1 )... fr(t n ). TÉTEL: Tetszőleges (N Σ) és α (N Σ)* esetén X *α akkor és csak akkor áll fenn, ha van olyan t D X derivációs fa amelyre fr(t)=α. BIZ: (a) Először azt igazoljuk, hogy ha X *α, akkor akkor van olyan t D X derivációs fa amelyre fr(t)=α. A feltétel azt jelenti, hogy X n α valamilyen n 0-ra. Az állítást n szerinti indukcióval bizonyítjuk. Az n=0 esetben X=α. Ezért az egyetlen szögpontú t=x fa megfelelő lesz, mert erre t D X és fr(t)=x (=α). Legyen most n 0 és tegyük fel, hogy az állítás minden n-nél nem nagyobb számra teljesül. Tegyük fel továbbá hogy X n+1 α. Akkor X X 1...X k n α 1...α k = α, ahol teljesülnek a következők: X X 1...X k egy P-beli szabály és minden 1 i k esetén X i ni α i, ahol n i n. (n=n n k ) Mivel n i n, az indukció feltevés miatt minden 1 i k-ra van olyan t i D Xi, hogy fr(t i )=α i. Legyen t=x[t 1,...,t k ].A derivációs fa, és határának definíciójából következik, hogy: t D X és fr(t)=fr(t 1 )...fr(t k )=α 1...α k =α. (b) Megfordítva, tegyük fel, hogy az X gyökerű t derivációs fára teljesül, hogy fr(t)=α. A t magassága szerinti indukcióval igazoljuk, hogy ekkor X *α. Legyen h(t)=0. Akkor t=x, tehát fr(t)=α=x. Következésképpen X *α (=X). Most legyen h(t)=n+1, és tegyük fel, hogy az állítás minden n-nél nem magasabb derivációs fa esetén fennáll. Akkor t=x[t 1,...,t k ], valamilyen k 1 szám és t 1 D X1,...,t k D Xk derivációs fák esetén. A fenti definíció miatt X X 1...X k P. Vezessük be az α i =fr(t i ) jelölést minden 1 i k-ra. Akkor egyrészt α=α 1...α k, másrészt az indukció feltevés miatt minden 1 i k-ra X i *α i. Következésképpen X X 1...X k *α 1...α k =α.

7 A10. Veremautomata fogalma, felismerés végállapottal és üres veremmel, ezek ekvivalenciája. DEF: Veremautomatának nevezzük a P=(Q,Σ,Γ,δ,q 0,Z 0,F) rendszert, ahol: Q egy véges halmaz, az állapotok halmaza Σ az input ábécé Γ a verem ábécé q 0 Q a kezdőállapot Z 0 Γ a verem kezdősyimbólum F Q a végállapotok halmaza δ: Q (Σ {λ}) Γ P f (Q Γ*) az átmenetfüggvény. DEF: A P által végállapotokkal felismert nyelven az L f (P)={w Σ* (q 0,w,Z 0 ) *(q,λ,γ), ahol q F és γ Γ*} nyelvet értjük. DEF: A P által üres veremmel felismert nyelven az L (P)={w Σ* (q 0,w,Z 0 ) *(q,λ,λ), ahol q Q} nyelvet értjük. TÉTEL: A veremautomatakkál végállapottal felismerhető nyelvek osztálya megegyezik a veremautomatával üres veremmel felismerhető nyelvek osztályával. BIZ: Először azt igazoljuk, hogy ha egy nyelv felismerhető egy P=(Q,Σ,Γ,δ,q 0,Z 0,F) veremautomata végállapotaival, akkor megadhato olyan P =(Q,Σ,Γ,δ,q 0,Z 0,F ) veremautomata amelyre L (P )=L f (P). Definiáljuk P -t úgy hogy: Q = {q 0,q e }, ahol q 0 és q e új állapotok Γ =Γ {Z 0 }, ahol Z 0 egy új szimbólum F tetszőleges részhalmaza Q -nek δ az alábbi módon definiált átmenetfüggvény: (1) δ (q 0,λ,Z 0 )={(q 0,Z 0 Z 0 )} (2) minden q Q, a (Σ {λ}), Z Γ esetén { δ(q,a,z) {(q e,λ)} ha a=λ és q F δ (q,a,z)= { { δ(q,a,z) ha a λ vagy q F. (3) minden Z Γ -re δ (q e,λ,z)={(q e,λ)}. Az L (P )=L f (P).egyenlőség a következő számolásal igazolható: w L f (P) (q 0,w,Z 0 ) P * (q,λ,γ) ahol q F (def. szerint) (q 0,w,Z 0 ) P (q 0,w,Z 0 Z 0 ) ((1) miatt) P * (q,λ,γz 0 ) ahol q F ((2) miatt) = (q,λ,z 1...Z k Z 0 ) (γ=z 1...Z 2 ) P (q e,λ,z 2...Z k Z 0 ) ((2) miatt) P * (q e,λ,λ) ((3) miatt) w L (P ). (def. szerint) A bizonyítás második részében azt kell igazolnunk, hogy ha egy nyelv felismerhető egy P=(Q,Σ,Γ,δ,q 0,Z 0,F) veremautomatával üres veremmel, akkor megadható olyan P =(Q,Σ,Γ,δ,q 0,Z 0,F ) veremautomata amelyre L f (P)=L (P). Definiáljuk P -t a következő módon: Q =Q {q 0,q f }, ahol q 0 és q f új állapotok Γ =Γ {Z 0 }, ahol Z 0 egy új szimbólum F = {q f } δ az alábbi módon definiált átmenet függvény:

8 (1) δ (q 0,λ,Z 0 )={(q 0,Z 0 Z 0 )} (2) minden q Q, a (Σ {λ}), Z Γ esetén δ (q,a,z)=δ(q,a,z) (3) minden q Q esetén, δ (q,λ,z 0 )={(q f,λ)} Az L f (P )=L (P) egyenlőseg a következő számolással adódik: w L (P) (q 0,w,Z 0 ) P * (q,λ,λ) ahol q Q (def. szerint) (q 0,w,Z 0 ) P (q 0,w,Z 0 Z 0 ) ((1) miatt) P * (q,λ,z 0 ) ahol q Q ((2) miatt) P (q f,λ,λ) ((3 ) miatt) w L f (P ). (def. szerint) A11. A környezetfüggetlen nyelvek veremautomatákkal való felismerhetosége. LEMMA: Tetszőleges környezetfüggetlen nyelv felismerhető veremautomatával. BIZ: Vegyünk egy tetszőleges G=(N,Σ,R,S) környezetfüggetlen nyelvtant. Legyen P=({q},Σ,Γ,δ,q,Z 0, ) az a veremautomata amelyben: Γ=N Σ Z 0 =S δ átmenetfüggvény pedig a következő módon van definiálva: (1) minden A N-re δ(q, λ,a)={(q,α) A α R} (2) minden a Σ-ra δ(q,a,a)={(q,λ)}. Megmutatjuk, hogy L (P)=L(G). Ehhez elegendő igazolni, hogy minden X (N Σ) és w Σ* esetén X *w akkor és csakis akkor áll fenn, ha (q,w,x) *(q,λ,λ) ugyanis ez az X=S esetben éppen állításunkat igazolja. Először is tegyük fel, hogy X n w valamilyen n 0-ra. Teljes indukcióval haladunk tovább. Ha n=0, akkor X=w Σ teljesül, ezért a (2) pont szerint (q,w,x)=(q,w,w) (q,λ,λ). Ha X n+1 w, akkor ez a deriváció X X 1...X k n w 1...w k =w alakban írható. Tehát X X 1...X k R és X i ni w i minden 1 i k-ra, ahol n i n. Akkor az (1) pont miatt (q,x 1...X k ) δ(q,λ,x), másrészt az indukció feltevés miatt azt kapjuk, hogy minden 1 i k esetén (q,w i,x i ) *(q,λ,λ). Innen kapjuk, hogy (q,w,x) = (q,w 1...w k,x) (q,w 1...w k,x 1...X k ) * (q,w 2...w k,x 2...X k )... *(q,w k,x k ) * (q,λ,λ). Az is megfigyelhető, hogy a felismerés során P a w-nek egy bal oldali levezetését szimulálja. A fenti gondolatnenethez hasonlóan, a (q,w,x) *(q,λ,λ) feltevésből kiindulva, az átmenetek során alkalmazott (1) típusú átmenetek száma szerinti indukcióval igazolhatjuk, hogy X *w. A12. A veremautomatákkal felismerhető nyelvek környezetfüggetlenek. LEMMA: Minden veremautomatával felismerhető nyel környezetfüggetlen. BIZ: Vegyünk egy tetszőleges P=(Q,Σ,Γ,δ,q 0,Z 0,F) veremautomatát. Megadunk hozzá egy olyan G=(N,Σ,R,S) környezetfüggetlen nyelvtant, amire teljesül L(G)=L (P). Definiáljuk G-t a következőképpen: Legyen S egy új szimbólum Legyen N={S} {[qzr] q,r Q,Z Γ} legyen R szabályok legszűkebb olyan halmaza, amire teljesülnek a következő feltételek: (1) minden q Q-ra legyen S [q 0 Z 0 q] szabály R-ben

9 (2) minden q Q, a (Σ {λ}), Z Γ-ra, ha (s 0,Z 1...Z k ) δ(q,a,z) (ahol k 1, Z 1,...,Z k Γ), akkor minden s 1,...,s k Q sorozatra legyen [qzs k ] a[s 0 Z 1 s 1 ]...[s k-1 Z k s k ] szabály R-ben, (3) minden q Q, a (Σ {λ}), Z Γ-ra, ha (s 0,λ) δ(q,a,z), akkor legyen [qzs 0 ] a szabály R- ben. Elegendő megmutatni, hogy minden q,r Q, Z Γ és w Σ* esetén (q,w,z) *(r,λ,λ) akkor és csak akkor áll fenn, ha [qzr] *w. (Ugyanis ezen ekvivalencia a q=q 0 és Z=Z 0 esetben éppen az L(G)=L (P) egyenlőséget jelenti.) Először tegyük fel, hogy [qzr] n w valamilyen n 1-re. Teljes indukciót alkalmazunk. Az n=1 esetben, vagyis [qzr] w esetben [qzr] w R. Ez az R szabályhalmaz definíciójának (3) pontja miatt csak úgy lehet, w=a (Σ {λ}) és (r,λ) δ(q,a,z). Következésképpen (q,w,z)=(q,a,z) (r,λ,λ). Most tegyük fel, hogy [qzr] n+1 w, ahol n 1. Akkor, figyelembe véve R definícióját, ez a deriváció az alábbi alakban írható: [qzr] a[s 0 Z 1 s 1 ]...[s k-1 Z k s k ] n aw 1...w k =w, ahol k 1, [qzr] a[s 0 Z 1 s 1 ]...[s k-1 Z k s k ] R, r=s k, minden 1 i k-ra [s i-1 Z i s i ] ni w i, és n i n. Akkor egyrészt (s 0,Z 1...Z k ) δ(q,a,z) másrészt, az indukció feltevés miatt minden 1 i k-ra (s i-1,w i,z i ) *(s i,λ,λ). Következésképpen (q,w,z) = (q,aw 1...w k,z) (s 0,w 1...w k,z 1...Z k ) * (s 1,w 2...w k,z 2...Z k ).. * (s k-1,w k,z k ) * (s k,λ,λ) = (r, λ,λ). Az ekvivalencia megfordítását hasonló módon, a (q,w,z) n (r,λ,λ) feltételben szeteplő n szerinti indukcióval bizonyíthatjuk be. A13. Pumpáló lemma környezetfüggetlen nyelvekre (Bar-Hillel lemma). LEMMA: Legyen L Σ* tetszőleges környezetfüggetlen nyelv. Akkor megadhatók olyan (L-től függő) p,q>0 egész számok, hogy minden w L esetén, ha w >p, akor vannak olyan w 1,w 2,w 3,w 4,w 5 Σ* szavak, melyekre teljesülnek az alábbi feltételek: (1) w=w 1 w 2 w 3 w 4 w 5 (2) w 2 w 3 w 4 q (3) w 2 w 4 λ (4) minden n 0-ra, w 1 w 2 n w 3 w 4 n w 5 L. BIZ: Legyen L=L(G), ahol G=(N,Σ,P,S) egy környezetfüggetlen nyelvtan. Feltehetjük, hogy G láncszabály- és λ-mentes. Legyen n= N és legyen k=max{ α A α P}. Definiáljuk a p és q számokat a következőképpen: p=k n és q=k n+1. Megmutatjuk, hogy ez a p és q megfelelő lesz. Vegyünk egy w L szót, melyre w >p. Akkor van olyan t D S derivációs fa, melyre fr(t)=w és h(t)>n. Következésképpen t-ben van olyan, S-től valamely levélhez vezető út melynek hossza legalább n+1 és amelyen ezért legalább n+1 nemterminális szimbólum szerepel. Mivel N-ben összesen n darab nemterminális van ezért van olyan nemterminális is amely ezen az úton legalább kétszer előfordul. Tekintsük ezek közül azt a nemterminálist, amelyik ezen úton a terminális levéltől indulva a gyökér felé legelőször megismétlődik, és jelöljük ezt A-val. Továbbá legyen t a t-nek azon részfája, melynek gyökere A-nak a levéltől nézett első előfordulása és legyen t a t-nek azon részfája, melynek gyökere A-nak a második előfordulása.(nyilvánvaló módon t, t D A és t a t -nek is részfája.) Legyenek w 1,w 2,w 3,w 4,w 5 Σ* szavak az alábbi feltételekkel meghatározva: w 3 =fr(t ) w 2 és w 4 olyan, hogy fr(t )=w 2 w 3 w 4 w 1 és w 5 olyan, hogy fr(t)=w 1 w 2 w 3 w 4 w 5.

10 Ekkor a lemmában szereplő valamennyi feltétel teljesül, mert: (1) mert: fr(t)=w (2) mert: a legelső olyan nemterminálist választottuk, amelyik ismétlődik és ezért h(t ) n+1 (3) mert: G láncszabály- és λ-mentes (4) mert: az a derivációs fa amelyet úgy kapunk, hogy t -ből töröljük t -t a gyökere kivételével tetszőleges n-szer ismételhető úgy, hogy S gyökerű derivációs fát kapunk és a kapott derivációs fa határa w 1 w 2 n w 3 w 4 n w 5 lesz. A14. A környezetfüggetlen nyelvek osztályának zártsági tulajdonságai (reguláris műveletek, Boole műveletek). TÉTEL: A környezetfüggetlen nyelvek osztálya zárt a reguláris műveletekre nézve. BIZ: Azt kell igazolni, hogy ha L 1,L 2 Σ* környezetfüggetlen nyelvek, akor L 1 L 2, L 1 L 2 és L 1 * is azok. Evégett legyenek G 1 =(N 1,Σ,P 1,S 1 ) és G 2 =(N 2,Σ,P 2,S 2 ) környezetfüggetlen nyelvtanok, melyekre L 1 =L(G 1 ) és L 2 =L(G 2 ). Az általánosság megszorítása nélkül feltehetjük, hogy N 1 N 2 =. Mindhárom müvelet esetén konstruálunk egy G környezetfüggetlen nyelvtant, amely rendre az L 1 L 2, L 1 L 2 és L 1 * nyelveket generálja. Legyen G=(N 1 N 2 {S},Σ,P 1 P 2 {S S 1,S S 2 },S), ahol S egy új szimbólum. Akkor L(G)=L 1 L 2. Legyen G=(N 1 N 2 {S},Σ,P 1 P 2 {S S 1 S 2 },S). Akkor L(G)=L 1 L 2. Legyen G=(N 1 {S},Σ,P 1 {S S 1 S,S λ},s). Akkor L(G)=L 1 *. LEMMA: A környezetfüggetlen nyelvek osztálya nem zárt a metszetre. BIZ: Megadunk két olyan örnyezetfüggetlen nyelvet, amelynek metszete nem környezetfüggetlen. Legyen L 1 ={a m b m c n m,n 0}. Akkor L 1 környezetfüggetlen mivel generálható az alábbi környezetföggetlen nyelvtannal: S AB A aab λ B cb λ. Hasonlóan látható be, hogy L 2 ={a m b n c n m,n 0} is környezetföggetlen. Legyen L=L 1 L 2 ={a n b n c n m,n 0}. Indirekt módon bebizonyítjuk, hogy L nem környezetfüggetlen. Tegyük fel, hogy L környezetfüggetlen. Akkor a Bar-Hillel lemma szerint vannak olyan p,q>0 számok, hogy minden w L szóra, melynek hossza nagyobb mint p, teljesülnek az ezen lemmában szereplő feltételek. Vegyük a w=a p b p c p szót ami nyilván L-ben van. Mivel w =3p, az is igaz, hogy w >p. Akkor a pumpáló lemma szerint w felírható w=w 1 w 2 w 3 w 4 w 5 alakban, ahol minden n 0-ra w 1 w 2 n w 3 w 4 n w 5 L. Vizsgáljuk meg hogyan helyezkedhetnek el a w 2 és w 4 részszavak a w-ben. Megállapíthatjuk, hogy sem w 2, sem w 4 nem tartalmazhat két különböző betűt, mert ekkor például a w 1 w 2 w 2 w 3 w 4 w 4 w 5 szóban a betűk sorrendje nem abc lenne. Tehát mind w 2 mind w 4 legfeljebb egy fajta betűt tartalmaz. Ez viszont ellentmondáshoz vezet, mert ha így van, akkor n-et növelve a w 1 w 2 n w 3 w 4 n w 5 szóban csak legfeljebb két fajta betűnek a száma növekszik, ami ellent mond annak, hogy w 1 w 2 n w 3 w 4 n w 5 L. LEMMA: A környezetfüggetlen nyelvek osztálya nem zárt a komplementer műveletre. BIZ: Legyenek L 1,L 2 Σ* környezetfüggetlen nyelvek. A de Morgan azonosság szerint L 1 L 2 = L 1 L 2.(!!!Az egész jobb oldal fölött egy vonalnak kellene lennie!!!) Továbbá, a környezetfüggetlen nyelvek osztálya zárt az egyesítésre. Ezért, ha a komplementer képzésre zárt lenne, akkor zárt lenne az metszésre is, ami viszont ellentmondáshoz vezetne.

11 B1. Szintaxis megadása környezetfüggetlen nyelvtannal, az elemzés alapfeladata. A környezetfüggetlen nyelvtanok alkalmasak progamozási nyelvek szintaxisának a megadására. Egy PL programozási nyelv szintaxisát le lehet írni egy G PL =(N,Σ,P,S) környezetfüggetlen nyelvtannal, ahol a PL nyeelvű programok Σ* azon elemei amelyek levezethetők S-ből a P-beli szabályok segítségével. Ismert jelöléseinket alkalmazva azt mondhatjuk, hogy a PL nyelvű programok éppen L(G PL ) elemei. A gyakorlatban fontos feladat annak eldöntése, hogy egy, a felhasználó által megírt program megfelel-e a szintaktikai előírásoknak, hiszen csak ebben az esetben tudja a számítógép aztelfogadni és végrehajtani. Mi felel meg a felhasználó által írt programnak? Nem más, mint Σ* egy w eleme. Tehát annak eldöntése, hogy w megfelel-e PL szintexisának, vagyis, hogy szintaktikusan helyes-e, ekvivalens annak a kérdésnek a megválaszolásával, hogy w L(G PL ) teljesül-e. Ez a w szó elemzésével válaszolható meg. Az elemzés alapfeladata: Adjunk meg olyan algoritmust, amely tetszőleges G=(N,Σ,P,S) környezetfüggetlen nyelvtan és w Σ* szó esetén eldönti, hogy w L(G) teljesül-e! Olyan algoritmusokat keresünk tehát, amelyeknek inputként adható egy G nyelvtan és egy w Σ* szó, outputként pedig igen vagy nem választ adnak aszerint, hogy w L(G) vagy w L(G). Az ilyen algoritmusokat elemzési algoritmusoknak nevezzük. Az elemzési algoritmusok egyfajta csoprtosítása a következő lehet: felülről-lefelé (top-down) algoritmusok. alulról-felfelé (bottom-up) algoritmusok. B2. Az általános felülről lefelé haladó elemzési algoritmus. ALGORITMUS: Felülről lefelé haladó általános elemzési algoritmus. Input: Egy nem balrekurzív G=(N,Σ,P,S) környezetfüggetlen nyelvtan és egy w=a 1...a n, n 0 input szó. Output: Igen jelzés és a w szónak egy baloldali levezetése, ha w L(G). Különben nem jelzés. Módszer: Minden A N esetében rögzítsük le A alternatíváinak egy sorrendjét A γ 1 γ 2... γ k alakban. Az A i- edik alternatívájára A i -vel hivatkozunk. Az elemzés (s,i,α,β) alakú konfigurációk sorozata, ahol: s {q,t,b} az elemzés állapota. Értéke lehet q (normál), t (elfogadó) vagy b (backtrack). Kezdőértéke q. i egy pointer melynek értéke 1 i n+1, ahol n az input szó hossza. Ha 1 i n, akkor i pointer a i - re mutat. Ha i=n+1, akkor a n+1 =$, ahol $ egy olyan szimbólum ami nincs Σ-ban. Az i kezdőértéke: 1. α egy verem, melynek teteje a jobb végén van. Tartalmazza az elemzés mindenkori történetét, hogy backtrack esetén tudjuk mely alternatívákat választottuk korábban és, hogy elfogadás esetén rendelkezésünkre álljon a bal oldali levezetés. Ezt a vermet passzív veremnek nevezzük. Kezdőértéke: λ. β egy verem, mejnek teteje a bal végén van. Tartalmazza a levezetett bal oldali mondatformának azt a részét amelyet még ki kell terjeszteni. Ezt a vermet aktív veremnek nevezzük, a tetején lévő szimbólumot pedig aktív szimbólumnak, amit vagyx illeszteni kell (ha terminális), vagy kiterjeszteni (ha nemterminális). Kezdőértéke: S. A konfigurációk halmazán megadunk egy átmeneti relációt. Minden (s,i,α,β) konfigurációhoz legfeljebb egy (s,i,α,β ) konfiguráció van, melyre (s,i,α,β) (s,i,α,β ). Ezen konfigurációt a következőképpen határozható meg: Az átmeneti relációt definiáló rész (1) pontjából indulva megkeressük az első olyan pontot, melyben szereplő feltétel teljesül (s,i,α,β)-ra. Ezen őpontban leírtaknak megfelelően számítjuk ki a rákövetkező (s,i,α,β ) konfigurációt.

12 Kezdő konfiguráció: (q,1,λ,s). A befejező konfigurációk alakja: (t,n+1,α,λ), ahol α egy terminálisokból és alternatívákból álló sorozat. Az teljesül, hogy: w L(G) akkor és csakis akkor áll fenn, ha (q,1,λ,s). *(t,n+1,α,λ). Az elemzési algoritmus: 1. C:= (q,1,λ,s); 2. Amíg van olyan C, melyre C C, legyen C:=C ; 3. Ha C:=(t,n+1,α,λ) valamely α-ra, akkor az output: igen, különben nem. Amennyiben az output igen, α-ból törölve a terminális szimbólumokat, a megmaradó alternatíva sorozat w- nek egy bal oldali levezetését adja. Átmeneti reláció: (1) Kiterjesztés: Ha a C=(q,i,α,Aβ), vagyis az aktív szimbólum nemterminális, akkor C C, ahol C =(q,i,αa 1,γ 1 β), és γ 1 az A első alternatívája. (2) Sikeres input illesztés: Ha C=(q,i,α,aβ) és a=a i, vagyis az aktív szimbólum terminális és illeszkedik és illeszkedik az input pointer által mutatott input szimbólumhoz, akkor C C, ahol C =(q,i+1,αa,β). (3) Sikeres elemzés: Ha C=(q,n+1,α,λ), akkor C C, ahol C =(t,n+1,α,λ), vagyis elérjük a befejező konfigurációt. (4) Sikertelen input illesztés: Ha C=(q,i,α,aβ) de a a i, vagyis az aktív szimbólum terminális, de nem illeszkedik az input pointer által mutatott input szimbólumhoz, akkor C C, ahol C =(b,i,α,aβ). (5) Backtrack az inputban: Ha C=(b,i,αa,β), akkor C C, ahol C =(b,i-1,α,aβ) (6) Ha C=(b,i,αA j+1,γ j+1 β) akkor az alábbi esetek lehetségesek: (i) Ha A-nak van j+1-edik alternatívája is, akkor C C, ahol C =(q,i,αa j+1,γ j+1 β). (ii) Ha i=1, A=S és S-nek csak j alternatívája van, akkor nincs átmenet semelyik konfigurációba. (iii) Ha az előző feltételek egyike sem teljesül, akkor C C, ahol C =(b,i,α,aβ). DEF: Legyen k 0 egy egész szám. Akkor: tetszőleges α (N Σ)*-ra: FI k (α)={w α *wx Σ* és w =k vagy ( w <k és x=λ)} tetszőleges L (N Σ)*-ra FI k (L)= α L FI k (α) tetszőleges u Σ*-ra {{u}, ha u <k FI k (u)= { {{w}, ha u=wx, ahol w =k. DEF: Legyenek L 1, L 2 Σ* nyelvek,és k 0.Akkor L 1 k L 2 ={ FI k (xy) x L 1,y L 2 } ALGORITMUS: FI k (A) halmazok kiszámítása. Input: Egy G környezetfüggetlen nyelvtan. Output: Minden A N-re FI k (A) halmaz. Módszer: FI k (A)-t iteráljuk a H 0 (A),H 1 (A),... sorozattal. Algoritmus: (1) Legyen minden a Σ és i 0 esetén H i (a)={a}. (2) Legyen minden A N-re H 0 (A)={x Σ* A xα P ahol ( x =k) vagy ( x <k és α=λ)} és legyen i=0. (3) Minden A N-re H 0 (A),...,H i (A) már ismertek. Legyen

13 H i+1 (A)=H i (A) {x Σ* x H i (X 1 ) k... k H i (X n ) valamely A X 1...X n esetén}. (4) Ha minden A N-re H i (A)= H i+1 (A), akkor álljunk meg, különben legyen i=i+1 és menjünk vissza (3)-ra. DEF: Legyen A N és k 1. Akkor FO k (A)= {FI k (β) S *αaβ, valamilyen α,β (N Σ)*-ra}. ALGORTMUS: A FO k (A) halmazok kiszámítása. Input: Egy G környezetfüggetlen nyelvtan és egy k 1 egész szám. Output: Minden A N-re FO k (A). Módszer: FO k (A)-t iteráljuk a H 0 (A),H 1 (A),... sorozattal. Algoritmus: (1) Legyen i=0, H 0 (S)={λ} és minden A S-re H 0 (A)=. (2) Mnden A N-re H 0 (A),...,H i (A) már ismertek. Legyen H i+1 (A)=H i (A) {x Σ* x FI k (βh i (B)) valamely B αaβ szabály esetén}. (3) Ha minden A N-re H i (A)= H i+1 (A), akkor álljunk meg, különben legyen i=i+1 és menjün (2)-re. Mivel minden A N-re H i (A) Σ*,k,nyilvánvaló,hogy az algoritmus véges sok lépés után vmely i-re megáll. B4. Az LL(k) és az erősen LL(k) nyelvek definíciója, és ekvivalanciájuk a k=1 esetben. Az erősen LL(k) feltétel eldönthetősége. DEF: Legyen k 1 egy egész szám. Azt mondjuk, hogy a G nyelvtan LL(k), ha valahányszor teljesülnek az S l *waα wβα *wx S l *waα wγα *wy FI k (x)=fi k (y) feltételek, mindannyiszor β=γ. DEF: Legyen k 1. Azt mondjuk, hogy G erősen LL(k), ha tetszőleges A N és A β, A γ különböző szabályok esetén teljesül, hogy FI k (βfo k (A)) FI k (γfo k (A))=, ahol βfo k (A)={βx x FO k (A)}. TÉTEL: G akkor és csakis akkor erősen LL(1), ha LL(1). BIZ: Egy korábbi tételből tudjuk, hogy ha G erősen LL(1), akkor LL(1) is. A megfordítást indirekt módon bizonyítjuk, vagyis feltesszük, hogy G nyelvtan LL(1), de nem erősen LL(1). Ez esetben van két olyan különböző A β és A γ szabály melyekre FI 1 (βfo 1 (A)) FI 1 (γfo 1 (A))=, vagyis van olyyan a (Σ {λ}), hogy a FI 1 (βfo 1 (A)) FI 1 (γfo 1 (A)). A következő esetek lehetségesek: (a) a Σ. ekkor az a FI 1 (βfo 1 (A)) FI 1 (γfo 1 (A)) tartalmazás négyféleképpen valósulhat meg, melyek mindegyike ellentmondáshoz fog vezetni. (a1) a FI 1 (β) és a FI 1 (γ). Ekkor léteznek az S l *waα wβα *wax S l *waα wγα *way levezetések, továbbá teljesül FI 1 (ax )=FI 1 (ay )=a. Ezért mivel G nyelvtan LL(1), β=γ-nak is teljesülnie kell, ami ellentmondás. (a2) β *λ, a FO 1 (A) és a FI 1 (γ). Ekkor léteznek az S l *waα wβα *wα *wax S l *waα wγα *way levezetések, továbbá teljesül FI 1 (ax )=FI 1 (ay ). Ezért mivel G nyelvtan LL(1), β=γnak is teljesülnie kell, ami ellentmondás. (a3) γ *λ, a FO 1 (A) és a FI 1 (β). Ennek az esetnek a bizonyítása az (a2)-höz hasonlóan történik. (a4) β *λ, a FO 1 (A) γ *λ. Ekkor léteznek az S l *waα wβα *wα *wax S l *waα wγα *wα *wax levezetések, továbbá teljesül FI 1 (ax )=FI 1 (ax ). Ezért mivel G nyelvtan LL(1), β=γ-nak is teljesülnie kell, ami ellentmondás.

14 (b) a=λ.ekkor a λ FI 1 (βfo 1 (A)) FI 1 (γfo 1 (A)) tartalmazás úgy valósulhat meg, hogy β *λ, γ *λ, továbbá λ FO 1 (A). Ezért léteznek az (c) S l *waα wβα *wα *w S l *waα wγα *wα *w levezetések, továbbá w után λ áll és teljesül, hogy FI 1 (λ)=fi 1 (λ). Ezért mivel G nyelvtan LL(1), β=γ-nak is teljesülnie kell, ami megintcsak ellentmondás. ALGORITMUS: Az erősen LL(k) feltétel eldöntése. Input: Egy G környezetfüggetlen nyelvtan és k 1 egész szám. Output: Igen, ha G erősen LL(k), különben nem. Algoritmus: (1) Válasszunk egy olyan A nemterminálist melynek legalább két alternatívája van. (2) Válasszunk két különböző A β és Aβγ szabályt és számoljuk ki a (FI k (βfo k (A))) (FI k (γfo k (A))) halmazt. Amennyiben ez a metszet nem üres, akkor G nem lehet erősen LL(k), tehát áljjunk meg és adjunk az outputra nem jelzést. (3) Ha választható A-nak újabb két alternatíva-párja, akkor ismétejük (2)-t. (4) Ha választható újabb nemterminális, akkor ismétejük (1)-et. (5)Adjunk az outputra igen jelzést. B5. Az erősen LL(k) nyelvek elemzése: elemző tábla kosntukciója és az elemzési algoritmus. Az M elemző tábla a következőképpen konstruálható: M sorai az N Σ {$} halmaz elemeivel, oszlopai pedig a Σ*,k halmaz elemeivel vanna kcímkézve. Ha A N, akkor M-nek az A sorhoz és u Σ*,k oszlophoz tartozó M(A,u) eleme azt a tevékenységet írja le amit akkor kell végezni, ha az elemzés során A-t kell kiterjeszteni és u az előre nézett szó. Ha pedig a Σ, akkor M-nek az a sorhoz és az u Σ*,k oszlophoz tartozó M(A,u) eleme azt adja meg, hogy mit kell csinálni, ha az előre nézett szó u és a-t kell illeszteni az elemzendő szóhoz. Ennek megfelelően M definíciója a következő: (1) Minde A N és u Σ*,k esetén, ha u FI k (βfo k (A)) és A β a j-edik szabály, akkor M(A,u)=(β,j) (2) Minden a Σ és u Σ*,k esetén, ha u=av, akkor legyen M(a,u)=pop (3) Legyen M($,λ)=elfogadás (4) Minden más X (N Σ {$}) és u Σ*,k esetén legyen M(X,u)=hiba. ALGORITMUS: Erősen LL(k) elemzési algoritmus. Input: G nyelvtan (ami erősen LL(k)) M elemző táblája és z Σ* szó. Output: Igen, ha z L(G). Különben nem. Módszer: Sorszámozzuk meg G szabályait Az elemzés (x,a$,π) alakú konfigurációk sorozata, ahol x Σ* egy szó, az elemzendő szó hátralevő része α (N Σ)* a levezetett bal mondatforma azon része, amely még további kiterjesztéseket és illesztéseket tartalmaz. Egy veremnek tekintjük, melynek teteje a bal végén van. $ az elemzendő szó végét jelző szimbólum, $ (N Σ). π szabályok sorszámaiból alkotott sorozat. Egy sornak tekintjük, melynek eleje π jobb oldali végén van. Kezdő konfiguráció: (z,s$,λ). A befejező konfigurációk (λ,$,π) alakúak. A konfigurációk közötti átmenetet -val jelöljük. Az átmeneti reláció úgy van definiálva, hogy z L(G) akkor és csakis akkor teljesül, ha (z,s$,λ) *(λ,$,π). Az elemzési algoritmus: (1) C:=(z,S$,λ) (2) Amíg van olyan C, melyre C C, legyen C:=C

15 (3) Ha C=(λ,$,π) alakú, valamely π-re, akkor output: igen, különben nem. Amennyiben az output igen, π adja z egy bal oldali levezetését. Átmeneti reláció: Tegyük fel, hogy az (x,xα,π) konfigurációban vagyunk, ahol Xα (N Σ)*$. Képezzük u=fi k (x)-et. (1) Ha X=A N és M(A,u)=(β,j), akkor (x,xα,π) (x,βα,πj). (a verem tetjén egy nemterminális állt amelyet kiterjesztettünk.az alkalmazott szabály sorszámát outpuutra adjuk) (2) Ha X=a Σ és M(A,u)=pop, akkor (x,xα,π) (x,α,π), ahol x=ax.(az illesztendő terminális illeszkedik az elemzendő szóhoz.) (3) Ha M(X,u)=elfogadás (X=$, α=λ és u=λ egyidejűleg teljesülnek), akkor nincs átmenet. (4) Ha M(X,u)=hiba, akkor nincs átmenet. B6. Az általános alulról felfelé haladó elemzési algoritmus. ALGORITMUS: Alulról felfelé haladó általános elemzési algoritmus. Input: Egy G=(N,Σ,P,S) ciklusmentes és λ-mentes környezetfüggetlen nyelvtan és egy w=a 1...a n Σ*, n 1 szó. Output: Igen jelzés és a w szónak egy jobb oldali levezetése, ha w L(G). Különben nem jelzés. Módszer:: Rögzítsük le a szabályok egy sorrendjét. Az elemzés (p,i,α,β) alakú konfigurációk sorozata, ahol p {q,b,t}, az elemzés állapota. Értéke q=normál, t=elfogadó vagy b=backtrack állapot. Kezdő értéke: q. i az input szóba mutató pointer, melynek értéke 1 i n+1, ahol n az input szó hossza. Kezdő értéke: 1. α egy verem, melynek teteje jobb végén van. Tartalmazza az input szó elolvasott részéből redukálásokkal keletkezett (N Σ)*-beli szót. Kezdő értéke: λ. β egy verem, melynek teteje a bal végén van. Tartalmazza az elemzés történetét, vagyis a végrehajtott shiftelések és redukálások sorozatát. Kezdő értéke: λ. A konfigurációk sorozatán megadunk egy átmeneti relációt, amely egyértelműen megadja, hogy egy (p,i,α,β) konfigurációból mely (p,i,α,β ) konfigurációba megyünk át. Ha egy konfigurációban vagyunk, akkor az átmeneti relációt definiáló rész (1) lépésétől elindulva az első olyan lépést alkalmazzuk, ami alkalmazható a konfigurációra. Ez a lépés határozza meg a következő konfigurációt. Kezdő konfiguráció: (q,1,λ,λ). A befejező konfigurációk alakja (t,n+1,s,γ) ahol γ egy s (shift) szimbólumból és szabályok sorszámaiból képzett sorozat. Az teljesül, hogy w L(G) akkor és csakis akkor, ha (q,1,λ,λ) *(t,n+1,s,γ). Az elemzési algoritmus: (0) Kezdő konfiguráció beállítása: C : =(q,1,λ,λ). (1) Redukálási kísérlet: Amíg redukálni lehet, vagyis C=(q,i,αγ,β)alakú és van olyan szabály ami A γ alakú, addig C C, ahol C =(q,i,αa,jβ) és ahol j az A γ szabály sorszáma, és ez a legelső olyan szabály, amely szerint redukálás hajtható végre. Ha már nem lehet redukálni, akkor továbblépünk. (2) Shiftelés: Ha C=(q,i,α,β) és i n+1, akkor C C, ahol C =(q,i+1,αa i,sβ), ahol a i az elemzendő szó i- edik betűje. Menjünk (1)-re. (mert ha lehet akkor redukáljuk) (3) Elfogadás: Ha C=(q,n+1,S,β), vagyis az inputot végigolvastuk, és az első veremben S van, akkor C C, ahol C =(t,n+1,s,β). Az algoritmus álljon le és adjon igen jelzést az outputra. A második veremből törölve az s-eket a megmaradó szabály sorszámokból álló sorozat w-nek egy jobb oldali levezetését adja. (4) Átmenet backtrack állapotba: Ha C=(q,n+1,α,β), de α S, akkor C C, ahol C =(b,n+1,α,β). (5) Backtrack vérehajtása: (egymást kizáró esetek:) (i) Ha C=(b,i,αA,jβ), a j-edik szabály A γ és az αγ redukálható egy további B γ szabály szerint is, akkor C C, ahol C =(q,i,α B,kβ) és k>j a B γ szabály sorszáma és a j-edik után ez a legelső olyan szabály, amely szerint αγ szón redukálás hajtható végre. Menjünk (1)- re.

16 (ii) Ha C=(b,i,αA,jβ), a j-edik szabály A γ és i n+1 de αγ nem redukálható más szabállyal, akkor a redukálást állítsuk vissza és shifteljünk, vagyis legyen C C, ahol C =(q,i+1,αγa i,sβ). Menjünk (1)-re. (iii) Ha C=(b,n+1,αA,jβ), a j-edik szabály A γ de αγ nem redukálható más szabállyal és már shiftelni sem tudunk, akkor a redukálást állítsuk vissza és maradjunk backtrack állapotban, vagyis legyen C C, ahol C =(b,n+1,αγ,β). Menjünk (5)-re. (iv) Ha C=(b,i,αa,sβ) és i>1, akkor állítsuk vissza a shiftelést, vagyis legyen C C, ahol C =(b,i-1,α,β). Menjünk (5)-re. (v) Ha egyik feltétel sem teljesül, akkor w L(G), ezért az algoritmus álljon le, és adjon nem jelzést az outputra. B7. Az LR(k) nyelvtan definíciója és az LR(k) elemzéshez szükséges fogalmak bevezetése (nyél, járható prefix, LR(k) elem, érvényesség, LR(k) táblák és azok kiszámítása). DEF:Alulról felfelé elemzések esetében fontos fogalom a nyél, ami nem más, mint egy jobb mondatforma levezetésében a legutoljára alkalmazott szabály jobb oldala. DEF: Legyen k 0 egész szám. Azt mondjuk, hogy a G nyelvtan LR(k), ha valahányszor teljesülnek az S r *αaw r αβw S r *γbx r γδx=αβy FI k (w)=fi k (y) feltételek, mindannyiszor α=γ, A=B és β=δ. DEF: Legyen γ jobb mondatforma, γ S. Azt mondjuk, hogy β a γ nyele, ha van olyan A β szabály, melyre S r *αaw r αβw=γ. DEF: Azt mondjuk, hogy γ (N Σ)* járható prefix,ha van olyan αβw jobb mondatformamelynek nyelve β és teljesül rá, hogy γ prefixe αβ-nak. DEF: Az [A β 1.β 2,u] alakú párokat LR(k) elemeknek nevezzük, ahol A β 1 β 2 P és u Σ*, k. DEF: Azt mondjuk, hogy az [A β 1.β 2,u] LR(k) elem érvényes az αβ 1 járható prefixre, ha létezik S r *αaw αβ 1 β 2 w deriváció úgy, hogy u=fi k (w). LR(k) táblák: Adott γ járható prefix esetén a γ-ra érvényes LR(k) elemek halmazát V k (γ)-val jelöljök. Minden γ-ra V k (γ) véges halmaz. A V k (γ)-kat LR(k) tábláknak hívjuk. Egy V k (γ) halmazban lévő járható prefixeket egymás alá írva táblázatszerű elrendezést kapunk. Bevezetjük a τ = {V k (γ) γ járható prefix} jelölést. ALGORITMUS: V k (γ) meghatározása. Input: G nyelvtan és γ=x 1...X n szó,ahol X 1...X n (N Σ). Output: V k (γ) halmaz Módszer:: Kiszámoljuk a V k (λ),v k (X 1 ),..., V k (X 1...X n ) halmazokat. Algoritmus:: (a) V k (λ) kiszámítása (1) (Inicializálás.)Minden S α P esetén legyen [ S.α ] V k (λ). (2) (Lezárás) Mindaddig, amíg V k (λ) bővíthető, a V k (λ) minden [A.Bβ,u] alakú elemére és B δ P - beli szabályra,legyen [B.δ,v] V k (λ) minden v Fi k (βu) -ra (b) Tegyük fel, hogy V k (X 1...X i-1 ) -et már kiszámoltuk.ekkor kiszámítjuk a V k (X 1...X i ) -t. (1) (Léptetés) Minden [A α. X i β,u] alakú V k (X 1...X i-1 ) -beli elem esetén legyen [A α. X i β,u] V k (X 1...X i ). (1) (2) (Lezárás) Mindaddig,amíg V k (X 1...X i ) bővíthető, a V k (X 1...X i ) minden [A α.bβ,u] alakú elemére, és B δ P-beli szabályra,legyen [B.δ,v] V k (X 1...X i ) minden v Fi k (βu) -ra.

17 B8. Az LR(k) feltétel átfogalmazása (LR(k) tétel), a tevékenység és a goto táblák definíciója. Az LR(k) elemzési algoritmus. TÉTEL: G akkor és csakis akkor LR(k), ha minden T τ LR(k) táblára igaz, hogy ha T-ben van [A β.,u] alakú elem, akkor nincs benne egy olyan másik [B β 1.β 2,v] elem, melyre u EFF k (β 2 v). (Röviden: minden LR(k) tábla konzisztens.) Tevékenység tábla: az f tevékenység tábla oszlopai Σ*,k elemeivel vannak címkézve. A T τ sorhoz és az u Σ*,k oszlophoz tarozó f(t,u) sor azt írja le, hogy mit kell tenni, ha a vizsgált járható prefixre LR(k) elemek halmaza T, az előrenézett szó pedig u. Goto tábla: A g goto tábla oszlopai N Σ elemeivel vannak címkézve. A T=V k (γ) sor és az X oszlop által meghatározott elem V k (γx), tehát g(t,x)=v k (γx). ALGORITMUS: LR(k) elemzési algoritmus. Input: G (LR(k)) nyelvtan LR(k) elemző (tevékenység, goto) táblája és w Σ* szó. Output: Igen,ha w L(G), különben nem. Módszer: Az elemzés (x,αt,π) alakú konfigurációk sorozata, ahol: x Σ* egy szó, az elemzendő szó hátralévő része. αt (τ N Σ)*, ahol α tartalmazza a járható prefixet úgy, hogy ennek minden prefixe után α- ban benne van a rá érvényes LR(k) tábla is. Egy veremnek tekintjük, melynek teteje a jobb végén van. π egy, a szabályok sorszámaiból alkotott sorozat. Egy sornak tekintjük, melynek teteje a bal végén van. Kezdő konfiguráció: (w,t 0,λ), ahol T 0 =V k (λ). A befejező konfigurációk (λ,t 0 αt,π) alakúak. A konfigurációk közötti átmenetet -val jelöljük. Az átmeneti reláció úgy van definiálva, hogy w L(G) akkor és csakis akkor teljesül, ha a kezdő konfigurációból elértünk egy olyan (λ,t 0 αt,π) konfigurációt, melyre f(t,λ)=elfogadás. Az elemzési algoritmus: (1) C:=(w,T 0,λ) (2) Amíg van olyan C, melyre C C, legyen C:=C. (3) Ha C=(λ,T 0 αt,π) alakú, valamely π-re, és f(t,λ)=elfogadás, akkor output: igen, különben nem. Amennyiben az output igen, akkor 1π adja w egy jobb oldali levezetését, ahol 1 az egyetlen S bal oldalú szabály sorszáma. Átmeneti reláció: Tegyük fel, hogy az (x,αt,π) konfigurációban vagyunk. Képezzük u=fi k (x)-et. (1) f(t,u)=(redukálás,j), akkor αt veremből törlünk 2 β darab szimbólumot, ahol A β a j-edik szabály. Tegyük fel, hogy a veremben marad γt. Akkor (x,αt,π) (x,γt AT,jπ) ahol T =g(t,a). (2) Ha f(t,u)=shift, akkor

18 (x,αt,π) (x,αtat,π) ahol x=ax és T =g(t,a) (3) Ha f(t,u)=elfogadás (csak úgy lehet,ha T-ben van [S α.,λ] alakú elem és u=λ egyidejűleg teljesülnek), akkor nincs átmenet. (4) Ha f(t,u)=hiba, akkor nincs átmenet. B9. Egyszerű precedencia nyelvtanok definíciója, eldönthetősége. Egyszerű precedencia elemzési algoritmus. DEF: Egy G=(N,Σ,P,S) környezetfüggetlen nyelvtan egyszerű precedencia nyelvtan, ha rá a következők teljesülnek: G ciklusmentes és λ-mentes G egyértelműen redukálható minden X,Y (N Σ)-ra a <,= és > relációk közül legfeljebb egy áll fenn X és Y között. KÖVETKEZMÉNY: Tetszőleges G környezetfüggetlen nyelvtanról eldönthető, hogy egyszerű precedencia nyelvtan-e. ALGORITMUS: Egyszerű precedencia elemzési algoritmus. Input: G egyszerű precedencia nyelvtan, precedencia mátrix és w Σ* szó. Feltesszük továbbá, hogy G szabályai meg vannak számozva. Output: Igen, ha w L(G), különben nem. Módszer: Az elemzés ($α,x$,π) alakú konfigurációk sorozata, ahol: α (N Σ)*, az elemzendő szó már beolvasott részéből redukált járható prefix. Egy veremnek tekintjük, melynek teteje a jobb végén van. x Σ* egy szó, az elemzendő szó hátralévő része. teljesül továbbá, hogy αx r *w π szabályok sorszámaiból alkotott sorozat. Egy sornak tekintjük, melynek teteje a bal végén van. Kezdő konfiguráció: ($,w$,λ). A befejező konfigurációk ($S,$,π) alakúak. A konfigurációk közötti átmenetet -val jelöljük. Az átmeneti reláció úgy van definiálva, hogy w L(G) akkor és csakis akkor teljesül, ha ($,w$,λ) *($S,$,π) valamely π-re és ekkor π adja w egy jobb oldali levezetését. Az elemzési algoritmus: (1) C:=($,w$,λ) (2) amíg van olyan C, melyre C C, legyen C:=C (3) Ha C=($S,$,π) alakú, valamely π-re, akkor az output igen, különben nem. Amennyiben az output igen, akkor π adja w egy jobb oldali levezetését. Átmeneti reláció: Tegyük fel, hogy a C=($α,x$,π) konfigurációban vagyunk, ahol α (N Σ)* és x Σ*. Legyen X a $α verem tetején lévő szimbólum (vagyis $α=α X) és legyen a az x$ első betűje.(vagyis ax =x$) (1) Ha (precedencia mátrix szerint) X<a vagy X=a, akkor C C, ahol C =($αa,x,π). (2) Ha (precedencia mátrix szerint) X>a, akkor keressük mega $a veremben fölülről lefelé az első olyan helyet, ahol két veremszimbólum között < áll fenn, vagyis legyen β a legrövidebb szó, melyre $α=α β és α utolsó és β első betűje között < áll fenn. Ekkor: ha β egy A β szabály jobb oldala, akkor redukáljunk, vagyis C C, ahol C =(α A,x$,jπ) különben,vagyis ha β egyetlen szabálynak sem jobb oldala, akkor nincs átmenet. (3) Különben nincs átmenet.

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:

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: 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: 1. Öt rövid kérdés megválaszolása egyenként 6 pontért, melyet minimum

Részletesebben

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:

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: 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: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12

Részletesebben

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

A digitális számítás elmélete A digitális számítás elmélete 8. előadás ápr. 16. Turing gépek és nyelvtanok A nyelvosztályok áttekintése Turing gépek és a természetes számokon értelmezett függvények Áttekintés Dominó Bizonyítások: L

Részletesebben

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

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták Környezetfüggetlen nyelvtan Egy G = (N,Σ,P,S) nyelvtan környezetfüggetlen, ha minden szabálya A α alakú. Példák: 1) Az S asb ε nyelvtan,

Részletesebben

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

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták Környezetfüggetlen nyelvtan Egy G = (N,Σ,P,S) nyelvtan környezetfüggetlen, ha minden szabálya A α alakú. Példák: 1) Az S asb ε nyelvtan,

Részletesebben

Chomsky-féle hierarchia

Chomsky-féle hierarchia http://www.cs.ubbcluj.ro/~kasa/formalis.html Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezet ), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira.

Részletesebben

Chomsky-féle hierarchia

Chomsky-féle hierarchia http://www.ms.sapientia.ro/ kasa/formalis.htm Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezetű), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira.

Részletesebben

Formális nyelvek - 9.

Formális nyelvek - 9. 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

Részletesebben

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

6. előadás A reguláris nyelvek jellemzése 2. 6. előadás A reguláris nyelvek jellemzése 2. Dr. Kallós Gábor 2014 2015 1 Tartalom A reguláris nyelvek osztályának jellemzése a körbebizonyítás Láncszabályok A 2. állítás és igazolása Ekvivalens 3-típusú

Részletesebben

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

A Turing-gép. Formális nyelvek III. Formális nyelvek III. Általános és környezetfüggő nyelvek Fülöp Zoltán SZTE TTIK Informatikai Intézet Számítástudomány Alapjai Tanszék 6720 Szeged, Árpád tér 2. Definíció. Egy Turing-gép egy M = (Q,Σ,Γ,

Részletesebben

Automaták és formális nyelvek

Automaták és formális nyelvek 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

Részletesebben

Formális nyelvek - 5.

Formális nyelvek - 5. Formális nyelvek - 5. 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 Lineáris

Részletesebben

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

Logika és számításelmélet. 10. előadás Logika és számításelmélet 10. előadás Rice tétel Rekurzíve felsorolható nyelvek tulajdonságai Tetszőleges P RE halmazt a rekurzívan felsorolható nyelvek egy tulajdonságának nevezzük. P triviális, ha P

Részletesebben

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

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1. 5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1. Dr. Kallós Gábor 2014 2015 1 Tartalom Reguláris kifejezések Meghatározás, tulajdonságok Kapcsolat a reguláris nyelvekkel A reguláris

Részletesebben

Automaták mint elfogadók (akceptorok)

Automaták mint elfogadók (akceptorok) Automaták mint elfogadók (akceptorok) Ha egy iniciális Moore-automatában a kimenőjelek halmaza csupán kételemű: {elfogadom, nem fogadom el}, és az utolsó kimenőjel dönti el azt a kérdést, hogy elfogadható-e

Részletesebben

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

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat Házi feladatok megoldása Nyelvek felismerése Formális nyelvek, 5. gyakorlat 1. feladat Adjunk a következő nyelvet generáló 3. típusú nyelvtant! Azon M-áris számrendszerbeli számok, melyek d-vel osztva

Részletesebben

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

6. előadás A reguláris nyelvek jellemzése 2. 6. előadás A reguláris nyelvek jellemzése 2. Dr. Kallós Gábor 2015 2016 1 Tartalom A reguláris nyelvek osztályának jellemzése a körbebizonyítás Láncszabályok A 2. állítás és igazolása Ekvivalens 3-típusú

Részletesebben

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

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések 1. Feladat Az első feladatban szereplő - kérdések 1 Minden környezet független nyelv felismerhető veremautomatával. Minden környezet független nyelv felismerhető 1 veremmel. Minden 3. típusú nyelv felismerhető

Részletesebben

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

Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2) Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2) ábécé: Ábécének nevezünk egy tetszőleges véges szimbólumhalmazt. Jelölése: X, Y betű: Az ábécé elemeit betűknek hívjuk. szó: Az X ábécé elemeinek

Részletesebben

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

Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat. Nyelvtani transzformációk Formális nyelvek, 6. gyakorlat a. S (S) SS ε b. S XS ε és X (S) c. S (SS ) Megoldás: Célja: A nyelvtani transzformációk bemutatása Fogalmak: Megszorított típusok, normálformák,

Részletesebben

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

A SZÁMÍTÁSTUDOMÁNY ALAPJAI Írta: ÉSIK ZOLTÁN A SZÁMÍTÁSTUDOMÁNY ALAPJAI Egyetemi tananyag 2011 COPYRIGHT: 2011 2016, Dr. Ésik Zoltán, Szegedi Tudományegyetem Természettudományi és Informatikai Kar Számítástudomány Alapjai Tanszék

Részletesebben

ZH feladatok megoldásai

ZH feladatok megoldásai ZH feladatok megoldásai A CSOPORT 5. Írja le, hogy milyen szabályokat tartalmazhatnak az egyes Chomskynyelvosztályok (03 típusú nyelvek)! (4 pont) 3. típusú, vagy reguláris nyelvek szabályai A ab, A a

Részletesebben

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

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések) Emlékeztető Emlékeztető: LR(0) elemzés A lexikális által előállított szimbólumsorozatot balról jobbra olvassuk, a szimbólumokat az vermébe tesszük. LR elemzések (SLR() és LR() elemzések) Fordítóprogramok

Részletesebben

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

A számítógépes nyelvészet elmélete és gyakorlata. Automaták A számítógépes nyelvészet elmélete és gyakorlata Automaták Nyelvek és automaták A nyelvek automatákkal is jellemezhetőek Automaták hierarchiája Chomsky-féle hierarchia Automata: új eszköz a nyelvek komplexitásának

Részletesebben

Alap fatranszformátorok II

Alap fatranszformátorok II Alap fatranszformátorok II Vágvölgyi Sándor Fülöp Zoltán és Vágvölgyi Sándor [2, 3] közös eredményeit ismertetjük. Fogalmak, jelölések A Σ feletti alaptermek TA = (T Σ, Σ) Σ algebráját tekintjük. Minden

Részletesebben

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

9. előadás Veremautomaták 1. 9. előadás 1. Dr. Kallós Gábor 2014 2015 1 Tartalom Motiváció Verem és végtelen automata Felépítés, konfigurációk és átmenetek Szavak felismerése, felismert nyelv Az elfogadó állapottal és az üres veremmel

Részletesebben

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

1. előadás: Halmazelmélet, számfogalom, teljes 1. előadás: Halmazelmélet, számfogalom, teljes indukció Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető,

Részletesebben

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

Számításelmélet. Második előadás Számításelmélet Második előadás Többszalagos Turing-gép Turing-gép k (konstans) számú szalaggal A szalagok mindegyike rendelkezik egy független író / olvasó fejjel A bemenet az első szalagra kerül, a többi

Részletesebben

6. előadás Környezetfüggetlen nyelvtanok/1.

6. előadás Környezetfüggetlen nyelvtanok/1. 6. előadás Környezetfüggetlen nyelvtanok/1. Dr. Kallós Gábor 2013 2014 1 Tartalom Bevezetés CF nyelv példák Nyelvek és nyelvtanok egy- és többértelműsége Bal- és jobboldali levezetések Levezetési fák A

Részletesebben

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6.

Programkonstrukciók A programkonstrukciók programfüggvényei Levezetési szabályok. 6. előadás. Programozás-elmélet. Programozás-elmélet 6. Programkonstrukciók Definíció Legyen π feltétel és S program A-n. A DO A A relációt az S-ből a π feltétellel képezett ciklusnak nevezzük, és (π, S)-sel jelöljük, ha 1. a / [π] : DO (a) = { a }, 2. a [π]

Részletesebben

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!

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! Feladatok 1. A CYK algoritmus segítségével döntsük el, hogy cabcab eleme-e a G = {a, b, c}, {S, A, B, C, D, E}, P, S nyelvtan által generált nyelvnek! P: S AD EB SS A AB a B DD b C CB c D EC a E AD b 2.

Részletesebben

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.

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. Univerzális ábécé: Szimbólumok egy megszámlálhatóan végtelen halmazát univerzális ábécének nevezzük Ábécé: Ábécének nevezzük az univerzális ábécé egy tetszőleges véges részhalmazát Betű: Az ábécé elemeit

Részletesebben

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

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21 A számítástudomány alapjai Ésik Zoltán SZTE, Számítástudomány Alapjai Tanszék Bevezetes Bevezetés.................................................... slide #2 Automaták és formális nyelvek Szavak és nyelvek...............................................

Részletesebben

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.

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. Számításelmélet Kiszámítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést, amire számítógéppel szeretnénk megadni a választ. (A matematika nyelvén precízen megfogalmazott

Részletesebben

Véges automaták, reguláris nyelvek

Véges automaták, reguláris nyelvek Véges automaták, reguláris nyelvek Kiegészítő anyag az lgoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: lgoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 27. augusztus 3. véges automata

Részletesebben

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI 3. Fuzzy aritmetika Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Intervallum-aritmetika 2 Fuzzy intervallumok és fuzzy számok Fuzzy intervallumok LR fuzzy intervallumok

Részletesebben

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

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy 1. előadás: Halmazelmélet Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy hozzátartozik-e,

Részletesebben

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám. 1 Az utazó ügynök problémája Utazó ügynök feladat Adott n számú város és a városokat összekötő utak, amelyeknek ismert a hossza. Adott továbbá egy ügynök, akinek adott városból kiindulva, minden várost

Részletesebben

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

Hadamard-mátrixok Előadó: Hajnal Péter február 23. Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára Hadamard-mátrixok Előadó: Hajnal Péter 2012. február 23. 1. Hadamard-mátrixok Ezen az előadáson látásra a blokkrendszerektől független kombinatorikus

Részletesebben

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva 6. FÜGGVÉNYEK HATÁRÉRTÉKE ÉS FOLYTONOSSÁGA 6.1 Függvény határértéke Egy D R halmaz torlódási pontjainak halmazát D -vel fogjuk jelölni. Definíció. Legyen f : D R R és legyen x 0 D (a D halmaz torlódási

Részletesebben

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

Az informatika elméleti alapjai 2 elővizsga december 19. Név (aláírás): Az informatika elméleti alapjai 2 elővizsga 2017. december 19. A vizsgadolgozat 1. feladatára helyes válaszonként 1-1 pont kapható, a 2-3. feladatok megoldásáért 6-6 pont, a 4. feladatra

Részletesebben

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

Alap fatranszformátorok I. Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap Alap fatranszformátorok I Vágvölgyi Sándor Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap termátíró rendszerről eldönthető hogy összefolyó-e. Mindannyian

Részletesebben

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

ALGEBRAI NYELV- ÉS KÓDELMÉLET. Babcsányi István ALGEBRAI NYELV- ÉS KÓDELMÉLET Babcsányi István 2013 Tartalomjegyzék ELŐSZÓ................................. 5 I. NYELVEK 7 1. Nyelvek algebrája 9 1.1. Műveletek nyelvekkel........................ 9 1.2.

Részletesebben

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

Formális Nyelvek - 1. Előadás Formális Nyelvek - 1. Előadás 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

Részletesebben

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

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete A számítógépes nyelvészet elmélete és gyakorlata Formális nyelvek elmélete Nyelv Nyelvnek tekintem a mondatok valamely (véges vagy végtelen) halmazát; minden egyes mondat véges hosszúságú, és elemek véges

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 4 IV. FÜGGVÉNYEk 1. LEkÉPEZÉSEk, függvények Definíció Legyen és két halmaz. Egy függvény -ből -ba egy olyan szabály, amely minden elemhez pontosan egy elemet rendel hozzá. Az

Részletesebben

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 2. A VALÓS SZÁMOK 2.1 A valós számok aximómarendszere Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit. 1.Testaxiómák R-ben két művelet van értelmezve, az

Részletesebben

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

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. HA 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) HA 2 Halmazok HA 3 Megjegyzések A halmaz, az elem és az eleme fogalmakat nem definiáljuk, hanem alapfogalmaknak

Részletesebben

Csempe átíró nyelvtanok

Csempe átíró nyelvtanok Csempe átíró nyelvtanok Tile rewriting grammars Németh L. Zoltán Számítástudomány Alapjai Tanszék SZTE, Informatikai Tanszékcsoport 1. előadás - 2006. április 10. Képek (pictures) I. Alapdefiníciók ábécé:

Részletesebben

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós

MBNK12: Permutációk (el adásvázlat, április 11.) Maróti Miklós MBNK12: Permutációk el adásvázlat 2016 április 11 Maróti Miklós 1 Deníció Az A halmaz permutációin a π : A A bijektív leképezéseket értjünk Tetsz leges n pozitív egészre az {1 n} halmaz összes permutációinak

Részletesebben

Atomataelmélet: A Rabin Scott-automata

Atomataelmélet: A Rabin Scott-automata A 19. óra vázlata: Atomataelmélet: A Rabin Scott-automata Az eddigieken a formális nyelveket generatív szempontból vizsgáltuk, vagyis a nyelvtan (generatív grammatika) szemszögéből. A generatív grammatika

Részletesebben

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

Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Sorozatok, sorok, függvények határértéke és folytonossága Leindler Schipp - Analízis I. könyve + jegyzetek, kidolgozások alapján Számsorozatok, vektorsorozatok konvergenciája Def.: Számsorozatok értelmezése:

Részletesebben

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

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására Nyelvek használata adatszerkezetek, képek leírására Formális nyelvek, 2. gyakorlat 1. feladat Módosított : belsejében lehet _ jel is. Kezdődhet, de nem végződhet vele, két aláhúzás nem lehet egymás mellett.

Részletesebben

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

Formális nyelvek és automaták előadások VÁRTERÉSZ MAGDA Formális nyelvek és automaták előadások 2005/06-os tanév 1. félév Tartalomjegyzék 1. Előzetes tudnivalók 4 2. Bevezetés 15 3. Ábécé, szó, formális nyelv 17 4. Műveletek nyelvekkel 24 4.1.

Részletesebben

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

Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 1 Halmazok 1 Mindent olyan egyszerűvé kell tenni, amennyire csak lehet, de nem egyszerűbbé. (Albert Einstein) Halmazok 2 A fejezet legfontosabb elemei Halmaz megadási módjai Halmazok közti műveletek (metszet,

Részletesebben

Iván Szabolcs október 6.

Iván Szabolcs október 6. Automaták irányítása II. Iván Szabolcs 2009. október 6. Tartalom 1 Alapfogalmak (ismét) 2 Egy kiterjesztés és egy ellenpélda 3 Pozitív részeredmények 4 A Road Coloring Problem Véges automaták Automata

Részletesebben

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:

Részletesebben

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

Turing-gépek. Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1 Turing-gépek Logika és számításelmélet, 7. gyakorlat 2009/10 II. félév Számításelmélet (7. gyakorlat) Turing-gépek 2009/10 II. félév 1 / 1 A Turing-gép Az algoritmus fogalmának egy intuitív definíciója:

Részletesebben

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

1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata. 1. tétel Halmazok és halmazok számossága. Halmazműveletek és logikai műveletek kapcsolata. HLMZOK halmaz axiomatikus fogalom, nincs definíciója. benne van valami a halmazban szintén axiomatikus fogalom,

Részletesebben

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

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig

Részletesebben

Analízis I. Vizsgatételsor

Analízis I. Vizsgatételsor Analízis I. Vizsgatételsor Programtervező Informatikus szak 2008-2009. 2. félév Készítette: Szabó Zoltán SZZNACI.ELTE zotyo@bolyaimk.hu v.0.6 RC 004 Forrás: Oláh Gábor: ANALÍZIS I.-II. VIZSGATÉTELSOR 2006-2007-/2

Részletesebben

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

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1 Halmazelmélet 1. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Halmazelmélet p. 1/1 A halmaz fogalma, jelölések A halmaz fogalmát a matematikában nem definiáljuk, tulajdonságaival

Részletesebben

Fogalomtár a Formális nyelvek és

Fogalomtár a Formális nyelvek és Fogalomtár a Formális nyelvek és automaták tárgyhoz (A törzsanyaghoz tartozó definíciókat és tételeket jelöli.) Definíciók Univerzális ábécé: Szimbólumok egy megszámlálhatóan végtelen halmazát univerzális

Részletesebben

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták)

A 2015/2016. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA (a speciális tanterv szerint haladó gimnazisták) A 205/206. tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló MATEMATIKA III. KATEGÓRIA a speciális tanterv szerint haladó gimnazisták Javítási-értékelési útmutató. feladat Az {,2,...,n} halmaz

Részletesebben

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

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 A szemantikus elemzés elmélete Szemantikus elemzés (attribútum fordítási grammatikák) a nyelvtan szabályait kiegészítjük a szemantikus elemzés tevékenységeivel fordítási grammatikák Fordítóprogramok előadás

Részletesebben

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok

Bevezetés. 1. fejezet. Algebrai feladatok. Feladatok . fejezet Bevezetés Algebrai feladatok J. A számok gyakran használt halmazaira a következ jelöléseket vezetjük be: N a nemnegatív egész számok, N + a pozitív egész számok, Z az egész számok, Q a racionális

Részletesebben

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

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések 1. Az informatikai rendszereknél mit ellenőriznek validációnál és mit verifikációnál? 2. A szoftver verifikációs technikák

Részletesebben

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.

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. Függvények határértéke és folytonossága Egy f: D R R függvényt korlátosnak nevezünk, ha a függvényértékek halmaza korlátos. Ha f(x) f(x 0 ) teljesül minden x D esetén, akkor x 0 -at a függvény maximumhelyének

Részletesebben

Egészrészes feladatok

Egészrészes feladatok Kitűzött feladatok Egészrészes feladatok Győry Ákos Miskolc, Földes Ferenc Gimnázium 1. feladat. Oldjuk meg a valós számok halmazán a { } 3x 1 x+1 7 egyenletet!. feladat. Bizonyítsuk be, hogy tetszőleges

Részletesebben

Formális nyelvek és fordítóprogramok http://www.ms.sapientia.ro/~kasa/formalis.htm Könyvészet 1. Csörnyei Zoltán, Kása Zoltán, Formális nyelvek és fordítóprogramok, Kolozsvári Egyetemi Kiadó, 2007. 2.

Részletesebben

Algoritmuselmélet 12. előadás

Algoritmuselmélet 12. előadás Algoritmuselmélet 12. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu 2002 Április 9. ALGORITMUSELMÉLET 12. ELŐADÁS 1 Turing-gépek

Részletesebben

Algoritmusok bonyolultsága

Algoritmusok bonyolultsága Algoritmusok bonyolultsága 11. előadás http://www.ms.sapientia.ro/~kasa/komplex.htm () 1 / 1 NP-telesség Egy L nyelv NP-teles, ha L NP és minden L NP-re L L. Egy Π döntési feladat NP-teles, ha Π NP és

Részletesebben

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

7. előadás Környezetfüggetlen nyelvtanok 7. előadás dr. Kallós Gábor 2017 2018 Tartalom Bevezető Deriváció Előállított szó és nyelv Levezetési sorozat Reguláris nyelvtanok Reguláris nyelvekre vonatkozó 2. ekvivalencia tétel Konstrukciók (NVA

Részletesebben

Numerikus módszerek 1.

Numerikus módszerek 1. Numerikus módszerek 1. 6. előadás: Vektor- és mátrixnormák Lócsi Levente ELTE IK 2013. október 14. Tartalomjegyzék 1 Vektornormák 2 Mátrixnormák 3 Természetes mátrixnormák, avagy indukált normák 4 Mátrixnormák

Részletesebben

3. Feloldható csoportok

3. Feloldható csoportok 3. Feloldható csoportok 3.1. Kommutátor-részcsoport Egy csoport két eleme, a és b felcserélhető, ha ab = ba, vagy átrendezve az egyenlőséget, a 1 b 1 ab = 1. Ezt az [a,b] = a 1 b 1 ab elemet az a és b

Részletesebben

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

Deníciók és tételek a beugró vizsgára Deníciók és tételek a beugró vizsgára (a szóbeli viszgázás jogáért) Utolsó módosítás: 2008. december 2. 2 Bevezetés Számítási problémának nevezünk egy olyan, a matematika nyelvén megfogalmazott kérdést,

Részletesebben

Formális nyelvek előadások tavaszi félév

Formális nyelvek előadások tavaszi félév Formális nyelvek előadások 2018. tavaszi félév Követelmények Az aláírást mindenki megkapja ajándékba. A vizsga két részből áll, írásbeli és szóbeli vizsgából. Az írásbeli elégséges szintű teljesítése esetén

Részletesebben

MintaFeladatok 2.ZH Megoldások

MintaFeladatok 2.ZH Megoldások Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) 1. feladat megoldása a b 1 2 3 2 4 2 3 2 1 4 6 3 5 10 6 6 8 7 7 9 7 8 8 9 9 8 8 10 5 1 I. Összefüggőség vizsgálat. H0={1}

Részletesebben

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2.C szakirány Diszkrét matematika 2.C szakirány 2015. ősz 1. Diszkrét matematika 2.C szakirány 3. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Komputeralgebra Tanszék 2015.

Részletesebben

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

Informatika szigorlat. A lexikális elemző feladatai közé tartozik a whitespace karakterek (a Informatika szigorlat 17-es tétel: Felülről lefelé elemzések 1. Lexikális elemzés A lexikális elemző alapvető feladata az, hogy a forrásnyelvű program lexikális egységeit felismerje, azaz meghatározza

Részletesebben

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk

Fraktálok. Kontrakciók Affin leképezések. Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék. TARTALOMJEGYZÉK Kontrakciók Affin transzformációk Fraktálok Kontrakciók Affin leképezések Czirbusz Sándor ELTE IK, Komputeralgebra Tanszék TARTALOMJEGYZÉK 1 of 71 A Lipschitz tulajdonság ÁTMÉRŐ, PONT ÉS HALMAZ TÁVOLSÁGA Definíció Az (S, ρ) metrikus tér

Részletesebben

Permutációk véges halmazon (el adásvázlat, február 12.)

Permutációk véges halmazon (el adásvázlat, február 12.) Permutációk véges halmazon el adásvázlat 2008 február 12 Maróti Miklós Ennek az el adásnak a megértéséhez a következ fogalmakat kell tudni: ismétlés nélküli variáció leképezés indulási és érkezési halmaz

Részletesebben

Kiterjesztések sek szemantikája

Kiterjesztések sek szemantikája Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból

Részletesebben

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

Adatbázisok elmélete 12. előadás Adatbázisok elmélete 12. előadás Katona Gyula Y. Budapesti Műszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz. I. B. 137/b kiskat@cs.bme.hu http://www.cs.bme.hu/ kiskat 2005 ADATBÁZISOK ELMÉLETE

Részletesebben

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

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból ÜTEMTERV Programozás-elmélet c. tárgyhoz (GEMAK233B, GEMAK233-B) BSc gazdaságinformatikus, programtervező informatikus alapszakok számára Óraszám: heti 2+0, (aláírás+kollokvium, 3 kredit) 2019/20-es tanév

Részletesebben

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont Oktatási Hivatal Öt pozitív egész szám egy számtani sorozat első öt eleme A sorozatnak a különbsége prímszám Tudjuk hogy az első négy szám köbének összege megegyezik az ezen öt tag közül vett páros sorszámú

Részletesebben

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

A digitális számítás elmélete A digitális számítás elmélete 1. előadás szept. 19. Determinisztikus véges automaták 1. Példa: Fotocellás ajtó m m m k b s = mindkét helyen = kint = bent = sehol k k b s m csukva b nyitva csukva nyitva

Részletesebben

Minden x > 0 és y 0 valós számpárhoz létezik olyan n természetes szám, hogy y nx.

Minden x > 0 és y 0 valós számpárhoz létezik olyan n természetes szám, hogy y nx. 1. Archimedesz tétele. Minden x > 0 és y 0 valós számpárhoz létezik olyan n természetes szám, hogy y nx. Legyen y > 0, nx > y akkor és csak akkor ha n > b/a. Ekkor elég megmutatni, hogy létezik minden

Részletesebben

1. Példa. A gamma függvény és a Fubini-tétel.

1. Példa. A gamma függvény és a Fubini-tétel. . Példa. A gamma függvény és a Fubini-tétel.. Az x exp x + t )) függvény az x, t tartományon folytonos, és nem negatív, ezért alkalmazható rá a Fubini-tétel. I x exp x + t )) dxdt + t dt π 4. [ exp x +

Részletesebben

Teljes visszalépéses elemzés

Teljes visszalépéses elemzés Teljes visszalépéses elemzés adott a következő nyelvtan S» aad a A» b c elemezzük a következő szöveget: accd» ccd ddc S S a A d a A b c d a c c d a c c d Teljes visszalépéses elemzés adott a következő

Részletesebben

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

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI 4. Fuzzy relációk Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Klasszikus relációk Halmazok Descartes-szorzata Relációk 2 Fuzzy relációk Fuzzy relációk véges alaphalmazok

Részletesebben

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Készítette: Laczik Sándor János Gráfelmélet I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma Definíció: a G=(V,E) párt egyszerű gráfnak nevezzük, (V elemeit a gráf csúcsainak/pontjainak,e elemeit

Részletesebben

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat.

A következő feladat célja az, hogy egyszerű módon konstruáljunk Poisson folyamatokat. Poisson folyamatok, exponenciális eloszlások Azt mondjuk, hogy a ξ valószínűségi változó Poisson eloszlású λ, 0 < λ

Részletesebben

Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória

Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória Bolyai János Matematikai Társulat Arany Dániel Matematikai Tanulóverseny 2015/2016-os tanév 1. forduló Haladók III. kategória Megoldások és javítási útmutató 1. Az a és b befogójú derékszögű háromszögnek

Részletesebben

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet)

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet) Fordítóprogramok. (Fordítóprogramok felépítése, az egyes komponensek feladata. A lexikáliselemző működése, implementációja. Szintaktikus elemző algoritmusok csoportosítása, összehasonlítása; létrehozásuk

Részletesebben

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

Itt és a továbbiakban a számhalmazokra az alábbi jelöléseket használjuk: 1. Halmazok, relációk, függvények 1.A. Halmazok A halmaz bizonyos jól meghatározott dolgok (tárgyak, fogalmak), a halmaz elemeinek az összessége. Azt, hogy az a elem hozzátartozik az A halmazhoz így jelöljük:

Részletesebben

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t Ellenőrző kérdések 2. Kis dolgozat kérdései 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t 37. Ha t szintű indexet használunk,

Részletesebben

KOVÁCS BÉLA, MATEMATIKA I.

KOVÁCS BÉLA, MATEMATIKA I. KOVÁCS BÉLA, MATEmATIkA I. 3 III. MEGFELELTETÉSEk, RELÁCIÓk 1. BEVEZETÉS Emlékeztetünk arra, hogy az rendezett párok halmazát az és halmazok Descartes-féle szorzatának nevezzük. Más szóval az és halmazok

Részletesebben

VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER október 15. Irodalom. További ajánlott feladatok

VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER október 15. Irodalom. További ajánlott feladatok VEKTORTEREK I. VEKTORTÉR, ALTÉR, GENERÁTORRENDSZER 2004. október 15. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak az előadáson, másrészt megtalálják

Részletesebben

Diszkrét matematika 2.

Diszkrét matematika 2. Diszkrét matematika 2. 2018. szeptember 21. 1. Diszkrét matematika 2. 2. előadás Fancsali Szabolcs Levente nudniq@cs.elte.hu www.cs.elte.hu/ nudniq Komputeralgebra Tanszék 2018. szeptember 21. Gráfelmélet

Részletesebben