A2. Véges automata fogalma, nemdeterminisztikus és determinisztikus automaták ekvivalenciája.
|
|
- Botond Juhász
- 5 évvel ezelőtt
- Látták:
Á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: 1. Öt rövid kérdés megválaszolása egyenként 6 pontért, melyet minimum
RészletesebbenA 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észletesebbenA 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észletesebbenKö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észletesebbenKö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észletesebbenChomsky-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észletesebbenChomsky-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észletesebbenFormá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észletesebben6. 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észletesebbenA 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észletesebbenAutomatá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észletesebbenFormá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észletesebbenLogika é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észletesebben5. 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észletesebbenAutomatá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észletesebbenHá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észletesebben6. 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észletesebbenFormá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észletesebbenFormá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észletesebbenHá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észletesebbenA 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észletesebbenZH 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észletesebbenEmlé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észletesebbenA 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észletesebbenAlap 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észletesebben9. 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észletesebben1. 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észletesebbenSzá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észletesebben6. 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észletesebbenProgramkonstrukció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észletesebbenFeladatok. 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észletesebbenNyelv 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észletesebbenFelismerhető 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észletesebbendefiniá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észletesebbenVé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észletesebben3. 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észletesebbenHalmaz: 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.
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észletesebbenHadamard-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észletesebbenf(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észletesebbenAz 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észletesebbenAlap 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észletesebbenALGEBRAI 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észletesebbenFormá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észletesebbenA 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észletesebbenKOVÁ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észletesebbenAz 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észletesebbenMindent 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észletesebbenCsempe á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észletesebbenMBNK12: 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észletesebbenAtomataelmé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észletesebbenSorozatok, 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észletesebbenHá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észletesebbenFormá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észletesebbenMindent 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észletesebbenIvá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észletesebben5. 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észletesebbenTuring-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észletesebben1. 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észletesebbenALAPFOGALMAK 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észletesebbenAnalí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észletesebbenHalmazelmé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észletesebbenFogalomtá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észletesebbenA 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észletesebbenA 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észletesebbenBevezeté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észletesebbenHardver é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észletesebbenminden 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észletesebbenEgé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észletesebbenFormá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észletesebbenAlgoritmuselmé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észletesebbenAlgoritmusok 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észletesebben7. 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észletesebbenNumerikus 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észletesebben3. 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észletesebbenDení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észletesebbenFormá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észletesebbenMintaFeladatok 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észletesebbenDiszkré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észletesebbenInformatika 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észletesebbenFraktá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észletesebbenPermutá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észletesebbenKiterjeszté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észletesebbenAdatbá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észletesebbenElő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észletesebbenOktatá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észletesebbenA 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észletesebbenMinden 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észletesebben1. 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észletesebbenTeljes 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észletesebben4. 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észletesebbenGrá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észletesebbenA 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észletesebbenArany 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észletesebbenFordí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észletesebbenItt é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észletesebbenEllenő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észletesebbenKOVÁ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észletesebbenVEKTORTEREK 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észletesebbenDiszkré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