1. Gramatyki i języki – odpowiedzi do zadań
1.1. Język nad alfabetem {a, b} będący zbiorem wszystkich łańcuchów zawierających co najmniej dwie litery a.
1.2. Język nad alfabetem {a, b} będący zbiorem wszystkich łańcuchów, które zawierają dwie kolejne litery a.
1.3. Język nad alfabetem {a, b} będący zbiorem wszystkich łańcuchów, w których przedostatnim symbolem jest litera a.
1.4. Język nad alfabetem {a, b} zawierający słowa, które rozpoczynają się i kończą literą a;
między tymi literami znajduje się dowolnej długości ciąg liter a i b, taki że każde dwie litery b są oddzielone co najmniej jedną literą a.
1.5. Język nad alfabetem {a, b} zawierający niepuste słowa rozpoczynające się literą a oraz kończące się literą b, lub bardziej formalnie:
k}
i dla ) m (n
, k
| b ...a b a b
{an1 m1 n2 m2 nk mk 1 i 1 i 1 1 1.6. { anbn+m am+kbk | n 1, m 1, k 1 }
1.7. { anbm ambnakbk | n 1, m 1, k 1 } 1.8. { an+1bmabc2mban | n 0, m 0 } 1.9. { anbm akbkambn | n 1, m 1, k 1 } 1.10. { a2nbambab2mabn | n 0, m 0 }
1.11. L(G) = { anbnck | n, k 0 } { akbncn | n, k 0 }
Gramatyka nie jest jednoznaczna, wieloznacznymi słowami są:
{ anbncn | n 0 } = ( { anbnck | n, k 0 } { akbncn | n, k 0 } ) L(G)
1.12. L(G) = { anbnckdk | n, k 0 } { akbncndk | n, k 0 }
Gramatyka nie jest jednoznaczna, wieloznacznymi słowami są:
{ anbncndn | n 0 } = ( { anbnckdk | n, k 0 } { akbncndk | n, k 0 } ) L(G) 1.14. { bancbn+1 | n 1 }
1.15. { anbm | n 0, m 0, n m }
1.16. { x {a,b}+ | liczba symboli a w słowie x jest równa liczbie symboli b w x } 1.17. { x {aa,bb}+ | słowo x rozpoczyna się sekwencją aa oraz kończy sekwencją bb } 1.18. { wv {a,b}* | w = w1w2...wn, v = v1v2...vn, n 0,
jeśli wi = a to vn–i+1 = b, jeśli wi = b to vn–i+1 = a } 1.19. { wv {a,b}+ | |w| = |v| 1, w = vR }
1.20. { x | x {ab,ba}+ } 1.21. { ambman | n 1, m 1 } 1.22. {a,b}*
1.23. { anbm cn+m | n 1, m 1 }
1.24. { ab, bbc, ccca, aaaab, bbbbbc, cccccca, aaaaaaab, ... } 1.25. { a, ab, abc, abca, abcab, abcabc, abcabca, ... }
1.26. Język nad alfabetem {a,b} zawierający słowa, które rozpoczynają się i kończą literą a;
między tymi literami znajduje się dowolny ciąg liter a i b, taki że każde dwie litery b są oddzielone co najmniej jedną literą a
1.27. { abb, abbaab, abbaababb, abbaababbaab, ... }
1.28. { x {a,b}+ | liczba symboli a w słowie x jest równa liczbie symboli b w słowie x, każdy przedrostek słowa x zawiera nie więcej symboli b niż symboli a } 1.29. { a, b, ab, ba, aba, bab, abab, baba, ababa, babab, ... }
1.30. Język nad alfabetem {(, )}, którego słowa są ciągami prawidłowo zagłębionych nawiasów, np.: (), (()), ()(), ()(()()), (()(()))(), itd.
1.31. Język nad alfabetem { (, ), [, ] }, którego słowa są ciągami prawidłowo zagłębionych nawiasów okrągłych i kwadratowych, przy czym nie jest możliwe zagłębianie
nawiasów kwadratowych wewnątrz nawiasów okrągłych, np.: (), [], (()), [(())], [[()()]], []()[(()())], (()(()))[], [][[]], itd.
1.32. Tzw. język Dycka dla k=3, czyli język nad alfabetem = { (1, )1, (2, )2, (3, )3 }, którego słowa są ciągami prawidłowo zagłębionych nawiasów trzech rodzajów, np.: (1 )1,
(2 (1 )1 )2, (1)1(2)2, (3 )3 (1 (2 )2 (3 )3 )1, (1 (3 )3 (2 (1 )1 )2 )1 (2 )2, itd.
1.33. {a,b}*
1.34. { anbcmbabcmban | n 0, m 0 } 1.35. { anbcbcm+1bn | n 0, m 0 } 1.36. { abn anbcmbmc | n 1, m 1 }
1.37.
(a) L1 = {w{a,b}* | każda sekwencja tych samych liter jest nie krótsza niż 3 } (b) L2 = {w{a,b}* | każda sekwencja tych samych liter jest nie dłuższa niż 2 } 1.38.
(a) L1 = {anbmck | n≥0, m≥1, k≥0}
(b) L2 = {anbmck | n≥1, m≥0, k≥1}
(c) L3 = L1 L2 = {anbmck | n+m≥1, m+k≥1}
1.39. Język niepustych słów nad alfabetem {a,b} zawierających dwa razy więcej liter a niż b.
1.40. Język niepustych słów nad alfabetem {a,b} zawierających tę samą liczbę liter a i b.
1.41. Język wszystkich słów nad alfabetem {a,b} niebędących palindromami.
1.42. Język wszystkich słów nad alfabetem {a,b} nie mających postaci anbn dla n≥0.
1.43. Język wszystkich słów nad alfabetem {a,b} niebędących palindromami.
1.44. Język nad alfabetem {(, )}, którego słowa nie są ciągami prawidłowo zagłębionych nawiasów
1.45.
L = {anbmck | n,m,k ≥ 1, (n ≥ 2m k ≥ 2m) }
1.46.
L = {anbmck | n,m,k ≥ 1, (n 2m k 2m) }
1.47.
L = {anbm | n,m ≥ 0, |n–m| 1}
1.48.
L = {anbm | n,m ≥ 1, (n m n 2m) }
1.49.
L = {anbmck | n,m,k ≥ 0, (m n m k) }
1.50.
L = {anbm | n,m ≥ 0, (n m n m+1) }
1.51.
L = { 0n1w | w {0,1}*, n ≥ 0 }
1.52.
L = {aibjckdm | i,j,k,m ≥ 0, i+j = k+m } 1.53.
L = {a,b}* – { ww | w {a,b}+ }