Uploaded by vilmosmalarik

A-60-feladat-megoldasa

advertisement
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.
Download