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