You are on page 1of 2

EBC-FJP • 2024 • 01

1
Operace nad jazyky

Výukový cíl cvičení


• vyjasnit význam základních pojmů,
• umět vypsat řetězce nad danou abecedou s požadovanými vlastnostmi,
• umět vypsat podřetězce, prefixy a sufixy daného řetězce,
• umět vypsat věty jazyka s požadovanými vlastnostmi,
• umět provádět množinové operace nad jazyky,
• umět provádět řetězcové operace nad jazyky.

Důležité pojmy
abeceda, symboly abecedy, řetězec nad abecedou, prázdný řetězec, mocnina řetězce, reverze řetězce, (vlastní) podřetězec,
(vlastní) prefix, (vlastní) sufix, délka řetězce, formální jazyk, sjednocení jazyků, průnik jazyků, rozdíl jazyků, doplněk
jazyka, konkatenace jazyků, iterace jazyka, Kleeneho uzávěr, reverze jazyka

Úlohy k řešení
1. Vypište všechny řetězce 𝑤 nad abecedou {𝑎, 𝑏}, pro které platí |𝑤| = 3.
2. Zapište explicitně řetězec 𝑢 = 𝑣3 ⋅ 𝑏𝑎 ⋅ (𝑏𝑏𝑎)2 , kde 𝑣 = 𝑎𝑏.
3. Vypište všechny řetězce délky 2, které jsou podřetězcem řetězce 00010 nad abecedou {0, 1}.
4. Nalezněte všechny prefixy a sufixy řetězce 0010.
5. Nalezněte všechny řetězce, které jsou zároveň prefixem i sufixem řetězce 101110110.
6. Napište příklad jazyka, ve kterém platí:
a) 𝐿 = 𝐿 ⋅ 𝐿 c) 𝐿∗ = 𝐿 ∪ {𝜖} e) 𝐿∗ ≠ 𝐿+
b) 𝐿∗ ∩ {𝜖} = 𝐿 ∩ {𝜖} d) 𝐿 ∩ 𝐿R = ∅
7. Mějme jazyky 𝐿1 , 𝐿2 , 𝐿3 nad abecedou 𝛴 = {𝑎, 𝑏}. Nalezněte a vypište všechna slova těchto jazyků:
𝐿1 = {𝑎} ⋅ ({𝜖} ∪ {𝑎}), 𝐿2 = {𝑏} ∪ (∅ ⋅ {𝑏}), 𝐿3 = (𝐿1 ⋅ 𝐿∗2 ) ∩ 𝐿∗1
8. Vypište v lexikografickém uspořádání všechna slova 𝑤 ∈ 𝐿, pro která platí |𝑤| < 5:
a) 𝐿 = {𝑎𝑏𝑐}∗ d) 𝐿 = {𝑏} ⋅ {𝑎𝑏}∗ ⋅ {𝑎} g) 𝐿 = {(𝑎𝑏)𝑖 𝑏𝑗 ∣ 𝑖 ≥ 0, 𝑗 ≥ 1}
∗ ∗
b) 𝐿 = {𝑎𝑏} ⋅ {𝑐} e) 𝐿 = {𝑎} ⋅ {𝑏𝑏𝑎} ∪ {𝑏𝑎𝑏} h) 𝐿 = {𝑎𝑖 𝑏𝑗 ∣ 𝑖, 𝑗 ≥ 0, 𝑖 < 𝑗}
c) 𝐿 = {0}∗ ⋅ {10}∗ ⋅ {1} f) 𝐿 = {𝑎𝑖 𝑏𝑗 ∣ 𝑖 ≥ 3, 𝑗 ≥ 1}
9. Rozhodněte a zdůvodněte, zda 𝑤1 , 𝑤2 , 𝑤3 ∈ 𝐿:
a) 𝐿 = {𝑎2𝑛 𝑏𝑛 𝑎 ∣ 𝑛 ≥ 1}, 𝑤1 = 𝜖, 𝑤2 = 𝑎𝑎𝑎𝑎𝑏𝑎, 𝑤3 = 𝑎𝑎𝑎𝑎𝑏𝑏𝑎
b) 𝐿 = {1𝑛 2𝑛 ∣ 𝑛 > 0}, 𝑤1 = 𝜖, 𝑤2 = 122, 𝑤3 = 2211
𝑛 𝑛 𝑖
c) 𝐿 = {(01) 1 (10) ∣ 𝑖, 𝑛 ≥ 0}, 𝑤1 = 𝜖, 𝑤2 = 0110, 𝑤3 = 101010
𝑛 𝑛 𝑛
10. Nechť 𝐿1 = {𝑎 𝑏 ∣ 𝑛 > 0} a 𝐿2 = {𝑐 ∣ 𝑛 > 0}. Pro každý z následujících řetězců rozhodněte, zda patří do 𝐿1 𝐿2 :
a) 𝜖 b) 𝑎𝑎𝑏𝑏𝑐𝑐 c) 𝑎𝑏𝑏𝑐𝑐 d) 𝑎𝑎𝑏𝑏𝑐𝑐𝑐𝑐
11. Odvoďte počet různých neprázdných jazyků, jež obsahují pouze binární řetězce délky 𝑛.

1
EBC-FJP • 2024 • 01

12. Je dán jazyk 𝐿1 = {𝑥, 𝑦, 𝑧}∗ . Určete, které jazyky jsou shodné s 𝐿1 :

a) 𝐿2 = {𝑥𝑦𝑧}∗ c) 𝐿4 = {𝑥}∗ ⋅ {𝑦}∗ ⋅ {𝑧}∗ e) 𝐿6 = ({𝑥, 𝑦}∗ ∪ {𝑧}∗ )

b) 𝐿3 = {𝑥, 𝑦, 𝑧}+ d) 𝐿5 = ({𝑥}∗ ⋅ {𝑦}∗ ⋅ {𝑧}∗ ) f) 𝐿7 = {𝑥, 𝑦, 𝑧}∗ ⋅ {𝑥} ⋅ {𝑥, 𝑦, 𝑧}∗
13. Jsou dány jazyky 𝐿1 , 𝐿2 ⊆ {𝑥, 𝑦, 𝑧}∗ tak, že 𝐿1 = {𝑥𝑦, 𝑦, 𝑦𝑥}, 𝐿2 = {𝑦, 𝑧}. Vypočítejte:
a) 𝐿1 ∪ 𝐿2 , 𝐿1 ∩ 𝐿2 b) 𝐿1 ⋅ 𝐿2 , 𝐿2 ⋅ 𝐿1 c) 𝐿02 , 𝐿12 , 𝐿22 , 𝐿32 , 𝐿+ ∗
2 , 𝐿2
14. Vypočítejte:
a) ∅∗ , ∅+ , {𝜖}∗ , {𝜖}+ c) ∅ ⋅ {𝜖}, ∅ ⋅ 𝐿, {𝜖} ⋅ {𝜖}, {𝜖} ⋅ 𝐿
b) ∅ ∪ {𝜖}, ∅ ∩ {𝜖}, ∅ ∩ 𝐿, {𝜖} ∩ 𝐿
15. Mějme jazyky 𝐿1 , 𝐿2 ⊆ {𝑎, 𝑏, 𝑐, 𝑑}∗ , kde 𝐿1 = {𝑎, 𝑎𝑎, 𝑏𝑎}, 𝐿2 = {𝑏𝑎, 𝑎𝑏𝑐, 𝑎, 𝜖}. Rozhodněte, zda platí:
a) 𝐿1 ⊆ 𝐿1 ⋅ 𝐿2 b) 𝑎𝑎𝑏𝑎𝑎𝑏𝑐 ∈ 𝐿42 c) 𝑏𝑎𝑎𝑎𝑏𝑐 ∈ 𝐿62 d) 𝑎𝑏𝑎𝑏𝑐 ∈ 𝐿32
16. Jsou dány jazyky nad abecedou {𝑎, 𝑏}: 𝐿1 = {𝑎𝑏}, 𝐿2 = {𝑎}∗ , 𝐿3 = {𝑎𝑏}∗ , 𝐿4 = {𝑎𝑖 𝑏𝑖 ∣ 𝑖 ≥ 0}, 𝐿5 = {𝜖, 𝑏𝑏}.
Jak vypadají následující jazyky?
a) 𝐿2 ∖ 𝐿1 , 𝐿1 ∖ 𝐿3 , 𝐿5 ∖ 𝐿3 b) 𝐿R R
1 , 𝐿2 , 𝐿R R R
3 , 𝐿4 , 𝐿5
17. Vypočítejte 𝐿1 ∖ 𝐿2 :
a) 𝐿1 = {𝑎𝑏𝑐, 𝑎𝑎𝑐, 𝑐𝑏}, 𝐿2 = {𝑏𝑎𝑎, 𝑐𝑏} c) 𝐿1 = {𝑎}∗ , 𝐿2 = {𝑏}∗
b) 𝐿1 = {𝑎𝑏𝑐, 𝑎𝑎𝑐}, 𝐿2 = {𝑎𝑏𝑏, 𝑎𝑏𝑐, 𝑎𝑎𝑎, 𝑎𝑎𝑏, 𝑎𝑎𝑐} d) 𝐿1 = {𝑎, 𝑏}, 𝐿2 = ∅
18. Mějme jazyky 𝐿1 = {𝑎}, 𝐿2 = {𝑏}. Pomocí operací sjednocení, zřetězení a iterace nad 𝐿1 a 𝐿2 vyjádřete:
a) jazyk 𝐿3 , jehož slova obsahují alespoň dva znaky 𝑎
b) jazyk 𝐿4 , jehož slova mají sudou délku
c) jazyk 𝐿5 , jehož slova mají lichou délku
d) jazyk 𝐿6 , jehož slova začínají a končí stejným (neprázdným) znakem
e) jazyk 𝐿7 , jehož slova obsahují podslovo 𝑎𝑏𝑎
f) jazyk 𝐿8 , pro který platí |𝑤| mod 3 = 0, 𝑤 = 𝑎𝑖 𝑏𝑗 , 𝑖, 𝑗 ∈ ℤ+
0
g) jazyk 𝐿9 , jehož slova mají sudý počet znaků 𝑎 a zároveň sudý počet znaků 𝑏

You might also like