20 Feladat 1.Igazolja vagy cáfolja, hogy a következő nyelv reguláris: L={anbman: n, m ≥0} 2. Legyen L={w ∈{a,b}* : w megegyezik w fordítottjával, és w hossza páratlan}. Adja meg a G nyelvtant, melyre L=L(G). 3. Rajzolja fel annak a DFA-nak a gráfját, amely a bináris abc felett a 00-ra végződő szavakat fogadja el. 4. Legyen L={u∈{a,b}* : u ugyanannyi a-t és b-t tartalmaz, a sorrendtől függetlenül} 5. Készítsünk nyelvtant az alábbi nyelvhez: L={anbmcn | n≥0, m≥2} 6. Adjunk reguláris kifejezést a legfeljebb 3 darab a-t tartalmazó {a,b}* beli szavakra. 6/b. Adjunk reguláris kifejezést a pontosan 3 darab a-t tartalmazó {a,b}* beli szavakra. 6/c. Adjunk reguláris kifejezést a legalább 3 darab a-t tartalmazó {a,b}* beli szavakra. 7. Adjon nyelvtant a 0*1(0+1)* reguláris kifejezéssle adott nyelvhez. 8. Legyen az abc={a,b,c}. Készítsen NFA-t, amely azokat a szavakat fogadja el, amelyek tartalmaznak aaab-t. Reguláris kifejezéssel: (a|b|c)*aaab(a|b|c)* 9. Legyen az abc={a,b,c}. Készítsen NFA-t, amely azokat a szavakat fogadja el, amelyekben a c-k száma osztható 3-mal. 10. Küszöbölje ki a törlő szabályokat (azaz végezzen epszilon-mentesítést) a következő nyelvtanon: S→ε S → AB A → SAB A→a B→S B→b 11. Készítsen bináris abc felett egy nyelvtant, amely azokat a szavakat fogadja el, melyekben kétszer annyi 0 van, mint 1. 12. Adjunk meg Chomsky-féle normálalakú nyelvtant, amely ekvivalens az alábbi nyelvtannal: S → BB A → S A → xxzz A → y B → AxzxA B → A 13. Adott a következő nyelvtan, ahol abc={a,b,c}. S → AB | BC A → BA | a B → CC | b C → AB | a Döntse el Cyk algoritmussal, hogy baaba eleme-e a nyelvnek? 14. Készítsen DFA-t a bináris abc felett, amely azokat a szavakat fogadja el, melyekben balról a tizedik szimbólum 1. 15. Készítsen DFA-t a bináris abc felett, amely azokat a szavakat fogadja el, amelyek 01-gyel kezdődnek vagy 01-gyel végződnek (egyszerre is teljesülhet). 16. Legyen adott egy NFA, alakítsuk DFA-vá részhalmaz konstrukcióval. 1. lépés: Táblázattá alakítás 2. lépés: DFA táblázatok (betűk az egyszerűsítésért) 3. lépés: gráf rajzolása 17. Tekintsük a következő ε-NFA-t, alakítsuk át DFA-vá. Írjuk fel a DFA táblázatát és rajzoljuk meg a gráfját. 18. Adjon meg egy nyelvtant, melynek nyelve megegyezik a következő reguláris kifejezés nyelvével: (00)*1(1+0)* 19. Legyen adott egy szalag, amelyen van egy bináris szám, majd egy X jel, utána egy másik bináris szám. Az output csak annyiban különbözzön az inputtól, hogy az X jelet < vagy = vagy > jelre kell cserélni attól függően, hogy a baloldali bináris szám nagyobb, egyenlő vagy kisebb a jobboldali bináris számnál. Turing programot kell írni. 20. Legyen adott a szalagon egy bináris jelsorozat. Turing programmal el kell dönteni, hogy a bináris sorozat palindrom-e (azaz visszafelé olvasva megegyezik az eredetivel). Az output 1 legyen, ha palindrom, illetve 0 ha nem palindrom. 40 Feladat 1. Igazolja vagy cáfolja, hogy L={anbn | n≤m } reguláris. 2. Tekintsük az alábbi nyelvtant: S → ABS|AB A → aA|a b → bA Az alábbi szavak közül melyek vannak L(G)-ben? aabaab, illetve aaaaba. 3. Rajzolja fel annak a véges automatának (DFA) a gráfját, amely a {0,1} ábécé felett a 011-t tartalmazó szavakat fogadja el (nem szükségképpen a szavak végén van a 011). (0|1)*011(0|1)* 4. Legyen L az {a, b} ábécé feletti nyelv, melynek szavai ugyanannyi a-t és b-t tartalmaznak. Bizonyítsa vagy cáfolja, hogy L reguláris. 5. Rajzolja fel annak a véges automatának (DFA) a gráfját, amely a {0,1} ábécé felett a 000-t (három egymást követő 0-t) tartalmazó szavakat fogadja el (nem szükségképpen a szavak végén van a 000). (0|1)*000(0|1)* 5/a. Rajzolja fel annak az NFA-nak a gráfját, amely a {0,1} ábécé felett a 000-t (három egymást követő 0-t) tartalmazó szavakat fogadja el (nem szükségképpen a szavak végén van a 000). Ezután részhalmaz konstrukcióval állítsa elő az ekvivalens DFA-t. Lehet folytatni automata minimalizálással (D-E-F valószínűleg összevonható G-vé) 6. Definiáljuk a következő nyelvet L={aibj | i≥0, j≥0, i≠j}. Készítsen környezetfüggetlen G nyelvtant, melyre L=L(G). 7. Legyen L az {a, b, c} ábécé feletti nyelv, amely a b-vel kezdődő szavakat tartalmazza. Készítsen NFA-t, amely az L nyelv szavait fogadja el. 8. Az input szalagon A és B jelek vannak. Írjon Turing programot, melynek outputja A, ha több A volt a szalagon, mint B. Egyébként az output legyen B. 9. Készítsen NFA-t az {a,b,c} ábécé felett, amely azokat a szavakat fogadja el, melyeknek hátulról számítva a harmadik betűjük a. (q3-ból q0-ba menő a,b,c nem biztos, hogy kell) 10. Készítsen NFA-t az {a,b,c} ábécé felett, amely azokat a szavakat fogadja el, melyeknek hossza páros. 11. Készítsen NFA-t az {a,b,c} ábécé felett, amely azokat a szavakat fogadja el, melyeknek hossza páratlan és c-re végződnek. 12. Készítsen NFA-t az {a,b,c} ábécé felett, amely csak az üres szót (ε) fogadja el. 13. Készítsen DFA-t t az {a,b,c} ábécé felett, amely az aab szavakat tartalmazó szavakat fogadja el. 14. Rajzoljuk meg az az alábbi NFA gráfját a táblázat alapján. Adjuk meg az ekvivalens DFA-t táblázattal is és gráffal is. (lásd: 20/16. feladat) 15. Végezzen ε-mentesítést az alábbi nyelvtanon: S → ASA|Ab A → B|S B → b|ε 16. Készítse el annak a bináris ábécé feletti DFA-nak a gráfját, amely tartalmaz három egymást követő nullát. 17. Bizonyítsa be, hogy L={0i | i prím} nem reguláris. 18. Készítsen nyelvtant a {a2nbncn | n>0} nyelvhez! Vezesse le az n=3 esetet! 19. L={u ϵ{a,b}* | u páros sok a-t és páros sok b-t tartalmaz} Készítse el azt a G nyelvtant, melyre L=L(G). 20. Készítsünk nyelvtant az alábbi nyelvhez: L={ u ϵ {0,1}* | u hossza minimum 3} 21. L={ u ϵ {0,1}* | u 1-gyel kezdődik és 00-ra végződik} 22. L={ u {0,1}* | u 1-gyel kezdődik és 00-ra végződik} 23. Legyen L az a bináris ábécé feletti nyelv, melynek szavai legalább kettő darab 1-sel kezdődnek. Adjon meg ɛ-mentes G nyelvtant, melyre L=L(G). 24. Legyen L az a bináris nyelv, melynek szavaiban tetszőleges pozíción, összesen páratlan darab 1-es szerepel. 25. Olyan G nyelvtant kell készíteni, amely generálja azokat a bináris szavakat, melyek k darab 0-val kezdődnek (k ≥0), és legalább k darab 1-gyel végződnek, és a 0-k megelőzik az 1eseket. 26. Legyenek L1 és L2 tetszőleges nyelvek. Igazoljuk vagy cáfoljuk, hogy (L1 ∪L2 ) * = L1 * ∪ L2 * ! Ötlet + Áron megoldása Áron megoldása: 27. Adjunk meg a G=({S,A,B},{x,y,z},S,H) környezetfüggő nyelvtannal ekvivalens Kurodaféle normálalakú nyelvtant, ahol H={ S → ABABx, ABA → AyyyA, Ayyy → Byyy, A → z, A → BB, B → x}. Láncmentesítés kell! 28. Elemezzük CYK algoritmussal az aabbcc szót az alábbi G nyelvtan esetén: 29. Tekintsük az alábbi DFA-t. Elimináljuk az elérhetetlen állapotokat, ha vannak. Minimalizáljuk az automatát. Adjuk meg a minimálautomata gráfját is, és táblázatát is. 30. Tekintsük az alábbi, Chomsky normálformájú nyelvtant. A CYK algoritmussal döntsük el, hogy a aaaca szó eleme-e a nyelvtan által generált nyelvnek? Ha igen a válasz, adjuk meg a szó levezetési fáját is. 31. L={ 0n1n0m1m | n≥ 0, m≥ 0} Adjuk meg a G környezetfüggetlen nyelvtant, melyre L=L(G). 32. L={ ambn | 2n ≥ m ≥ n≥0} Adjuk meg a G környezetfüggetlen nyelvtant, melyre L=L(G). 33. Legyen az ábécé={a,b,c}. Készítsünk egy DFA-t, amely nem fogadja el az ac-t tartalmazó szavakat. 34. Készítsen egy epsilon-NFA-t, amely ekvivalens a (((ε+ a ) bb )*) a * reguláris kifejezéssel. Ezután részhalmaz konstrukcióval állítsa elő az ekvivalens DFA-t. 35. Bizonyítsa be, hogy L = {0n | n 2-nek hatványa} nem reguláris. 36. Minimalizálja az alábbi DFA-t. Beadandó a DFA táblázatos formában, a minimalizálást végrehajtó táblázat, a minimál-állapotok halmaza és a minimálautomata gráfja. 37. Készítsen egy DFA_t, melynek nyelve L = { w ∈ 00(13n) n ≥ 0}. 38. Bizonyítsa be, hogy az alábbi nyelv nem reguláris: L = {0n12n23n ∈ {0, 1, 2}* | n ≥ 0} ( Ezt még átgondolom, hogyan lehetne másképp is) 39. Tegyük fel, hogy L ⊆ {0,1}* reguláris. Bizonyítsa be, hogy a következő nyelv is reguláris: L' = {w ∈ L | |w| ≤ 1 vagy w második betűje 1} reguláris. 40. Tekintsük az ábrán levő játékot. Az A bemeneten golyókat dobunk be egyenként. Kétféle golyónk van: nehéz (jele 1) és könnyű (jele 0). A nehéz golyó, miután átment a kapcsolón, a kapcsolót ellenkező irányba állítja. A könnyű golyó nem állítja át a kapcsolót. Egy bemenő szó akkor nyerő szó, ha az utolsó golyó a C kimeneten távozik. Modellezzük a játékot egy DFA-val, ami a nyerő szavakat (és csak azokat) fogadja el.