Séria domácich úloh na cvičenie 3
Vo všetkých úlohách predpokladajte (pokiaľ nie je uvedené ináč), že
L, L1, L2 atď. sú ľubovoľné jazyky a h je ľubovoľný
homomorfizmus.
Zjednotenie značíme u, prienik ^, doplnok C
a reverz R.
Počiatočný symbol gramatiky označujeme S. Ak nie je povedané ináč,
malé písmená označujú terminály, veľké písmená neterminály. Používame skrátenú
formu zápisu pravidiel, t. j. S->A | bb sú dve pravidlá:
S->A a S->bb.
-
Nájdite jazyk L taký, aby L2 mal presne 99 slov
a L mal najmenší možný počet slov.
-
Nech L = { a } je jazyk nad abecedou Sigma = { a },
nech h je homomorfizmus zo Sigma* do
Sigma* taký, že h(a)=epsilon.
Zistite, koľko slov majú nasledovné jazyky:
- L1 = ( h-1( h(L) ) )*
- L2 = L2 . ( h(L) )*
- L3 = L . h-1(L)
- Zistite a dokážte, aký jazyk generuje nasledujúca gramatika:
G = ( N, T, P, S )
N = { S }, T = { a, b }
P = { S -> aS | Sb | bSa | epsilon }
- Zistite a dokážte, aký jazyk generuje nasledujúca gramatika:
G = ( N, T, P, S )
N = { S, A, B, C, D, E }, T = { a, b, c }
P = {
S -> AC | CC | CSD | bb
A -> BcA | DD | aBD | AC
B -> D | DDD | AB | aB
C -> bb | SC | ABCD
D -> AC | CA | Ac | cA
E -> ab | EC
}
-
Zostrojte bezkontextovú gramatiku, generujúcu jazyk:
L = { w | w patrí do {a,b}* a w = wR }
Dokážte správnosť svojej konštrukcie (t.j. že gramatika
generuje všetky slová tohoto jazyka a žiadne iné).
-
Pomocou konečného počtu homomorfizmu jazykov, inverzného homomorfizmu jazykov,
zreťazenia, zjednotenia a prieniku zostrojte z jazyka
L1 = { w | w patrí do {a,b}* a
#a(w) = #b(w) } jazyk
L2 = { ai bi | i >= 0 }
-
Zostrojte frázovú gramatiku, generujúcu jazyk:
L = { w#w | w patrí do {a,b}* }
Správnosť konštrukcie nemusíte dokazovať, stačí neformálne
zdôvodniť, ako vaša gramatika vygeneruje všetky slová jazyka
a prečo nevygeneruje žiadne iné.
- (pre fajnšmekrov)
Nech x, y sú ľubovoľné slová. Dokážte, že
xy = yx práve vtedy, keď existuje také slovo z,
že x = zi a y = zj (pre
vhodné i, j).