WMiI - Teoretyczne Podstawy Informatyki
Transkrypt
WMiI - Teoretyczne Podstawy Informatyki
WMiI - Teoretyczne Podstawy Informatyki - Ćwiczenia Arkusz 1 - JĘZYKI FORMALNE Zadanie 1. Określ długość słów A = ab2 a i B = (ab)2 a4 w alfabecie: a) Σ = {a, b} b) Σ = {a, b3 } c) Σ = {ab, b2 } d) Σ = {a2 , b} Zadanie 2. Wskaż alfabety nad którymi można utworzyć język a) L = {tgx, ctgx} b) L = {(x + 1), 2x − 4} c) L = {999, 998, 997} Zadanie 3. Ile słów można utworzyć z alfabetu łacińskiego (24 litery) o długości 0, o długości 1, o długości 2, o długości n. Zadanie 4. Ile słów o długości mniejszej lub równej 3 można utworzyć z alfabetu łacińskiego (24 litery)? Zadanie 5. Niech Σ = {a, h, l}. Wyznacz L = {x ∈ Σ∗ : |x| = 2} oraz L∗ . Zadanie 6. Znajdź L wiedząc, że L∗ = {x ∈ Σ∗ = {a, b}∗ : 3||x|}. Zadanie 7. Dane jest słowo baobab ∈ Σ∗ . Wypisz wszystkie jego przedrostki przyrostki i podsłowa jeśli: a) Σ = {a, b, o} b) Σ = {b, ba, bao} Zadanie 8. Ile maksymalnie przedrostków i podsłów zawiera słowo długości n? Zadanie 9. Niech Σ = {a, b}, L = {a, ab, ba2 }. Wskaż słowa o długości 5 należące do języka L∗ . Zadanie 10. Niech Σ = {a, b}, L1 = {bak : k 6 2, k ∈ N}, L2 = {x ∈ Σ∗ : |x| = 1}. Wyznacz wszystkie słowa należące do języka: a) L1 + L2 c) L1 • L2 e) L2 • (L1 + L2 ) g) L22 ∩ L1 b) L1 ∩ L2 d) L1 \ L2 f) L1 + (L2 • L1 ) h) L32 \ L1 Zadanie 11. Określ własności dodawania, składania i mnożenia języków. Które z tych działań są wewnętrzne, łączne, przemienne. Zadanie 12. Niech L1 = {A ∈ Σ∗ : |A| = 2} i L2 = {A ∈ Σ∗ : |A| = 5}. Opisz język: a) L∗1 + L∗2 b) L∗1 ∩ L∗2 c) L∗1 • L∗2 d) L∗1 \ L∗2 Zadanie 13. Wypisz wszystkie słowa długości 10 należące do języka: a) MNOŻENIE b) DODAWANIE Zadanie 14. Opisz język a) MNOŻENIE ∩ NPALINDROMY b) DODAWANIE ∩ PPALINDROMY Zadanie 15. Niech Σ = {a, b}, L1 = {X ∈ Σ∗ : |X| = 2}, L2 = {a}. Wyznacz a) L01 \ L02 b) (L01 ∪ L02 )∗ c) (L∗1 ∩ L∗2 ) 0 d) (L∗1 )0 ∩ (L∗2 )0 Zadanie 16. Niech Σ = {a, b}, Σ1 = {a}, Σ2 = {b}. Opisz słowa należące do Σ∗ \ (Σ∗1 ∪ Σ∗2 ). Zadanie 17. Niech Σ = {h, a}, L1 = {a}, L2 = {a, ha}. Wyznacz 1 WMiI - Teoretyczne Podstawy Informatyki - Ćwiczenia c) L∗1 a) L1 ∪ L2 b) L1 · L2 e) (L∗1 )+ d) (L1 ∩ L2 )+ f) (L1 ∪ L2 ) g) L1 ∪ (L2 · L1 ) 0 h) L2 ∩ P ALIN DROMY Zadanie 18. Niech Σ = {a, ab}. Niech L1 = {x ∈ Σ∗ : |x| = 2} ∪ {Λ}, L2 = {x ∈ Σ∗ : |x| = 3}. Wyznacz a) L1 + L2 b) L1 · L2 c) L2 · L1 Czy dla dowolnych L1 , L2 zachodzi L1 · L2 = L2 · L1 ? Zadanie 19. Niech L1 = {a} i L2 = {b}. Opisz język a) L+1 L2 c) (L1 + L2 )3 b) (L21 )∗ L2 d) L+1 L2 (L1 + L22 ) Zadanie 20. Jakie relacje zachodzą między językami L∗1 i L∗2 jeśli a) L1 = {a, b2 }, b) L1 = {a, a2 }, L2 = {a, b2 , b4 , b6 , . . .} L2 = {a, a3 , Λ} c) L1 = {a, ab}, L2 = {a, aba, b} d) L1 = {a, ba}, L2 = {a, ab} Zadanie 21. Pokaż, że nie są prawdziwe następujące zdania: a) Jeżeli L∗1 ⊂ L∗2 , to L1 ⊂ L2 b) Jeżeli L∗1 = L∗2 , to L1 ⊂ L2 lub L2 ⊂ L1 Zadanie 22. Jakie relacje zachodzą między językami: a) L∗1 + L∗2 i (L1 + L2 )∗ c) L∗1 ∩ L∗2 i (L1 ∩ L2 )∗ b) L∗1 • L∗2 i (L1 • L2 )∗ d) L∗1 \ L∗2 i (L1 \ L2 )∗ Zadanie 23. Znajdź dwa języki formalne, dla których: a) L∗1 + L∗2 , (L1 + L2 )∗ c) L∗1 • L∗2 , (L1 • L2 )∗ b) L∗1 ∩ L∗2 , (L1 ∩ L2 )∗ d) L∗1 \ L∗2 , (L1 \ L2 )∗ e) L∗1 + L∗2 = (L1 + L2 )∗ Zadanie 24. Określ, które zdanie jest prawdziwe dla dowolnych języków formalnych L1 , L2 , L3 a) L1 • (L2 + L3 ) = (L1 • L2 ) + (L1 • L3 ) c) L1 • (L2 ∩ L3 ) = (L1 • L2 ) ∩ (L1 • L3 ) b) L1 + (L2 • L3 ) = (L1 + L2 ) • (L1 + L3 ) d) L1 ∩ (L2 • L3 ) = (L1 ∩ L2 ) • (L1 ∩ L3 ) Zadanie 25. Wykaż, że dla dowolnego języka L zachodzą równości: a) (L+ )∗ = (L∗ )∗ b) (L+ )+ = L+ c) (L∗ )+ = (L+ )∗ \ Λ 2