zbiór zadań na ćwiczenia (.pdf) - Instutut Informatyki Uniwersytetu ...
zbiór zadań na ćwiczenia (.pdf) - Instutut Informatyki Uniwersytetu ...
zbiór zadań na ćwiczenia (.pdf) - Instutut Informatyki Uniwersytetu ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Około dwustu łatwych <strong>zadań</strong><br />
z języków formalnych i złożoności obliczeniowej ∗<br />
(i jedno chyba trudne)<br />
Jerzy Marcinkowski<br />
styczeń 2013<br />
1 Deterministyczne Automaty Skończone<br />
Zadanie 1. Rozważmy język L = {w0s : |s| = 9}, złożony z tych słów, których dziesiąty<br />
symbol od końca to 0. Udowodnij, że DFA rozpoz<strong>na</strong>jący ten język ma co <strong>na</strong>jmniej 1024 stany.<br />
Zadanie 2. Jaką minimalną liczbę stanów musi mieć deterministyczny automat skończony<br />
rozpoz<strong>na</strong>jący <strong>zbiór</strong> tych wszystkich słów <strong>na</strong>d alfabetem {a, b, c}, które wśród ostatnich trzech<br />
z<strong>na</strong>ków mają po jednym wystąpieniu każdej z liter alfabetu?<br />
Zadanie 3. Jaką minimalną liczbę stanów musi mieć deterministyczny automat skończony,<br />
rozpoz<strong>na</strong>jący język tych słów <strong>na</strong>d alfabetem {a, b, c}, które mają przy<strong>na</strong>jmniej 4 symbole i<br />
których ostatnie 4 symbole są jed<strong>na</strong>kowe?<br />
Zadanie 4. Udowodnij, że język L = {a n b 2n : n ∈ N} nie jest regularny.<br />
Zadanie 5. Udowodnij, że język L tych słów <strong>na</strong>d alfabetem {0, 1}, które są zapisem bi<strong>na</strong>rnym<br />
liczby pierwszej, nie jest regularny.<br />
Zadanie 6. (za 2 punkty) Niech L będzie dowolnym podzbiorem 0 ∗ . Udowodnij, że L ∗ jest<br />
językiem regularnym.<br />
Definicja. Dla danego słowa w, <strong>na</strong>d pewnym ustalonym alfabetem, niech w R oz<strong>na</strong>cza ”w<br />
czytane od końca”, tzn. ε R = ε i (aw) R = w R a jeśli a <strong>na</strong>leży do alfabetu, zaś w jest dowolnym<br />
słowem.<br />
Zadanie 7. Czy język L = {ww R x : w, x ∈ {0, 1} ∗ i w, x ≠ ε} jest regularny? Czy język<br />
L = {xwx : w, x ∈ {0, 1} ∗ i x ≠ ε} jest regularny?<br />
Zadanie 8. Rozważmy alfabet A n składający się z liter a, b 1 , b 2 , . . . , b n . Niech język L 1 n<br />
składa się z tych słów <strong>na</strong>d A n , które mają parzystą liczbę wystąpień wzorca b 1 b 2 . Niech język<br />
L 2 n składa się z tych słów <strong>na</strong>d A n , które mają parzystą liczbę wystąpień wzorca b 2 b 3 , itd.<br />
Niech wreszcie język L n n składa się z tych słów <strong>na</strong>d A n , które mają parzystą liczbę wystąpień<br />
wzorca b n b 1 . Zdefiniujmy język L n jako przecięcie L 1 n ∩ L 2 n ∩ . . . ∩ L n n. Jaką minimalną liczbę<br />
stanów musi mieć deterministyczny automat skończony rozpoz<strong>na</strong>jący L n ?<br />
∗ Jest to kolej<strong>na</strong> edycja zbioru <strong>zadań</strong>, stanowiącego podstawę ćwiczeń z przedmiotu Języki formalne i<br />
złożoność obliczeniowa, który prowadzę corocznie w Instytucie <strong>Informatyki</strong> <strong>Uniwersytetu</strong> Wrocławskiego.<br />
Powstanie tej wersji zbioru było możliwe dzięki temu, że pan Kacper Król zechciał poświęcić swój czas <strong>na</strong><br />
odtworzenie zaginionych źródeł LATEXowych poprzedniej wersji, za co jestem mu ogromnie wdzięczny.<br />
1
Zadanie 9. (Twierdzenie o indeksie) Niech L ⊆ A ∗ . Relację ∼ L ⊆ A ∗ × A ∗ definiujemy<br />
w <strong>na</strong>stępujący sposób: w ∼ L w ′ w.t.w gdy ∀v ∈ A ∗ (wv ∈ L ⇔ w ′ v ∈ L). Udowodnij<br />
<strong>na</strong>stępujące twierdzenie o indeksie: L jest regularny wtedy i tylko wtedy gdy liczba klas<br />
abstrakcji relacji ∼ L jest skończo<strong>na</strong>. Minimal<strong>na</strong> liczba stanów DFA rozpoz<strong>na</strong>jącego L jest<br />
wtedy rów<strong>na</strong> liczbie tych klas abstrakcji.<br />
2 Wyrażenia regularne<br />
Zadanie 10. Skonstruuj automat skończony rozpoz<strong>na</strong>jący i wyrażenie regularne definiujące,<br />
<strong>na</strong>d alfabetem {0, 1}, język słów, które zawierają tyle samo jedynek co zer i w których każdym<br />
prefiksie liczba zer różni się co <strong>na</strong>jwyżej o dwa od liczby jedynek.<br />
Zadanie 11. Skonstruuj automat skończony rozpoz<strong>na</strong>jący i wyrażenie regularne definiujące,<br />
<strong>na</strong>d alfabetem {a, b}, język słów, które nie zawierają wzorca baba.<br />
Zadanie 12. Dodanie do definicji wyrażeń regularnych pozwolenia <strong>na</strong> użycie symbolu ∩,<br />
oz<strong>na</strong>czającego przekrój języków nie umożliwia reprezentowania nowych zbiorów, wyrażenia<br />
jed<strong>na</strong>k stają się krótsze. Udowodnij, że użycie ∩ może wykładniczo skrócić wyrażenie.<br />
Wskazówka: rozważyć język składający się z 1 słowa (. . . ((a 0 a 1 ) 2 a 2 ) 2 . . .) 2 .<br />
Zadanie 13. Skonstruuj automat skończony rozpoz<strong>na</strong>jący i wyrażenie regularne definiujące,<br />
<strong>na</strong>d alfabetem {a, b, c, d}, język słów, które zawierają tyle samo symboli a co b, tyle samo<br />
symboli c co d i w których każdym prefiksie liczba symboli a różni się co <strong>na</strong>jwyżej o jeden<br />
od liczby symboli b, zaś liczba symboli c różni się co <strong>na</strong>jwyżej o jeden od liczby symboli d.<br />
Zadanie 14. Czy istnieje wyrażenie regularne φ, takie że L aφ = L φb ? Czy istnieje wyrażenie<br />
regularne φ, takie że L a ∗ φ = L φb ∗?<br />
Zadania o deterministycznych wyrażeniach regularnych. Niech φ będzie wyrażeniem<br />
regularnym <strong>na</strong>d alfabetem A, a w słowem <strong>na</strong>d tym alfabetem. Niech f będzie funkcją, której<br />
argumentami są wystąpienia liter alfabetu w słowie w (czyli ”kolejne litery słowa w”), a wartościami<br />
są wystąpienia liter w wyrażeniu φ. Powiemy, że f jest poprawnym mapowaniem<br />
w <strong>na</strong> φ, jeśli zachodzi któryś z warunków:<br />
1. φ jest słowem <strong>na</strong>d A, φ = w i f jest identycznością lub φ = ε i w jest puste;<br />
2. φ = φ 1 + φ 2 i f jest poprawnym mapowaniem w <strong>na</strong> φ 1 lub f jest poprawnym mapowaniem<br />
w <strong>na</strong> φ 2 ;<br />
3. φ = φ 1 φ 2 , w = w 1 w 2 i f ograniczo<strong>na</strong> do w 1 jest poprawnym mapowaniem tego słowa<br />
<strong>na</strong> φ 1 , zaś f ograniczo<strong>na</strong> do w 2 jest poprawnym mapowaniem tego słowa <strong>na</strong> φ 2 ;<br />
4. φ = ψ ∗ , w = w 1 w 2 . . . w k , dla jakiegoś k 0 i dla każdego 1 i k funkcja f<br />
ograniczo<strong>na</strong> do w i jest poprawnym mapowaniem w i <strong>na</strong> ψ.<br />
Intuicja jest taka, że poprawne mapowanie słowa przyporządkowuje każdej jego literze,<br />
literę wyrażenia z której ta litera słowa ”się wzięła”. Wyrażenie φ jest deterministycznym<br />
wyrażeniem regularnym, jeśli dla każdego w ∈ L φ istnieje dokładnie jedno poprawne<br />
mapowanie w <strong>na</strong> φ. Deterministyczne wyrażenie regularne pozwala odczytać, które litery w<br />
słowie biorą się z których liter w wyrażeniu, ale to odczytanie <strong>na</strong>stępuje dopiero, gdy z<strong>na</strong>my<br />
całe słowo. i<strong>na</strong>czej jest dla detereministycznych on-line wyrażeń regularnych. Wyrażenie regularne<br />
φ jest deterministyczne on-line, jeśli dla każdych słów ww 1 , ww 2 ∈ L φ i każdych<br />
funkcji f 1 , f 2 , będących poprawnymi mapowaniami słów (odpowiednio) ww 1 i ww 2 <strong>na</strong> φ,<br />
funkcje f 1 i f 2 zgadzają się <strong>na</strong> prefiksie w.<br />
UWAGA: deterministic regular expressions, z<strong>na</strong>ne również jako u<strong>na</strong>mbiguous regular<br />
expression pojawiają się, jak się wydaje niechcący, w definicji standardu XML<br />
2
Zadanie 15. A. Które z poniższych wyrażeń są deterministyczne, a które są deterministyczne<br />
on-line? i. 0 ∗ 10 ∗ + 0 ∗<br />
ii.(0 + 1) ∗ 1(0 + 1)<br />
iii.(0 + 1)(0 + 2) ∗ + (1 + 2)(0 + 1) ∗ + (0 + 2)(1 + 2) ∗<br />
B. Z<strong>na</strong>jdź deterministyczne wyrażenie regularne oz<strong>na</strong>czające język tych wszystkich słów <strong>na</strong>d<br />
alfabetem zerojedynkowym, które zawierają wzorzec 101.<br />
Zadanie 16. Czy dla każdego języka regularnego istnieje deterministyczne on-line wyrażenie<br />
regularne, które go definiuje?<br />
Zadanie 17. Z<strong>na</strong>jdź deterministyczne on-line wyrażenie regularne oz<strong>na</strong>czające język tych<br />
wszystkich słów <strong>na</strong>d alfabetem zerojedynkowym, które zawierają jedną lub dwie jedynki.<br />
3 Niedeterministyczne Automaty Skończone<br />
Zadanie 18. Skonstruuj niedeterministyczny automat skończony rozpoz<strong>na</strong>jący język tych<br />
słów <strong>na</strong>d {0, 1} ∗ które, jako liczba w systemie dwójkowym, dzielą się przez 5, przy czym<br />
liczba jest wczytywa<strong>na</strong><br />
a) począwszy od <strong>na</strong>jbardziej z<strong>na</strong>czącego bitu,<br />
b) począwszy od <strong>na</strong>jmniej z<strong>na</strong>czącego bitu.<br />
Zadanie 19. Udowodnij, że jeśli dla pewnego języka L istnieje rozpoz<strong>na</strong>jący go NDF A, to<br />
istnieje również NDF A rozpoz<strong>na</strong>jący język L R = {w : w R ∈ L}<br />
Zadanie 20. Wiadomo, że L jest językiem regularnym. Pokaż, że w takim razie język {w :<br />
∃n ∈ N ∃v ∈ L w n = v} jest też językiem regularnym. Przez w n rozumiemy tu słowo w<br />
skonkatenowane ze sobą n razy.<br />
Zadanie 21. Udowodnij, że jeśli L 1 i L 2 są językami regularnymi <strong>na</strong>d pewnym alfabetem<br />
A to również języki L 1 ∪ L 2 , L 1 ∩ L 2 , i A ∗ − L 1 są językami regularnymi.<br />
Zadanie 22. (za 2 punkty) Załóżmy, że L jest pewnym językiem regularnym. Czy język<br />
L/2 = {w : ∃v vw ∈ L ∧ |v| = |w|} jest regularny?<br />
Zadanie 23. Podaj algorytm rozstrzygający, dla danych dwóch niedtereministycznych automatów<br />
skończonych czy języki rozpoz<strong>na</strong>wane przez te automaty są równe.<br />
Zadanie 24. Minimalny DF A rozpoz<strong>na</strong>jący język L ma zawsze tyle samo stanów co minimalny<br />
DF A rozpoz<strong>na</strong>jący dopełnienie L. Stwierdzenie to przestaje być prawdziwe, jeśli<br />
rozważamy automaty niedeterministyczne. Udowodnij, że istnieje język L, który daje się<br />
rozpoz<strong>na</strong>ć za pomocą NDF A o mniej niż 20 sta<strong>na</strong>ch, ale którego dopełnienie nie daje się<br />
rozpoz<strong>na</strong>ć żadnym NDF A o mniej niż 200 sta<strong>na</strong>ch. Wskazówka: wystarczy rozważyć alfabet<br />
jednoelementowy.<br />
Zadanie 25. Niech L k = {0 n : k nie dzieli n}. Dla języka regularnego L, niech d(L) oz<strong>na</strong>cza<br />
minimalną liczbę stanów automatu deterministycznego rozpoz<strong>na</strong>jącego L, zaś n(L) niech<br />
oz<strong>na</strong>cza minimalną liczbę stanów automatu nideterministycznego rozpoz<strong>na</strong>jącego L. Podaj<br />
nieskończenie wiele liczb <strong>na</strong>turalnych k, dla których zachodzi d(L k ) = n(L k ) i nieskończenie<br />
wiele k <strong>na</strong>turalnych, dla których ta równość nie zachodzi.<br />
W kolejnych dwóch zadaniach niech p 5 będzie pewną liczbą pierwszą, a L p językiem<br />
tych słów <strong>na</strong>d {0, 1} które czytane jako liczba w zapisie bi<strong>na</strong>rnym dają, jako resztę z dzielenia<br />
przez p, jedną z liczb {1, 2, . . . (p − 1)/2}, przy czym liczby czytamy „od prawej”, czyli od<br />
<strong>na</strong>jmniej z<strong>na</strong>czącego bitu (to z<strong>na</strong>czy pierwszy z<strong>na</strong>k słowa jest ostatnią cyfrą liczby).<br />
3
Zadanie 26. Czy istnieje niedeterministyczny automat skończony o mniej niż p + 3 sta<strong>na</strong>ch<br />
rozpoz<strong>na</strong>jący język L p ?<br />
Zadanie 27. Czy istnieje deterministyczny automat skończony o mniej niż 2p sta<strong>na</strong>ch rozpoz<strong>na</strong>jący<br />
język L p ?<br />
Zadanie 28. Język L ∈ {0, 1} ∗ jest regularny. Czy wynika z tego, że język<br />
√<br />
L = {w ∈ {0, 1} ∗ : ∃x ∈ {0, 1} ∗ ∃y ∈ L wx = y ∧ |y| = |w| 2 }<br />
jest regularny?<br />
W kolejnych dwóch zadaniach niech M n będzie językiem tych słów <strong>na</strong>d alfabetem {1, 2, . . . n}<br />
(gdzie n jest pewną liczbą parzystą) w których występują wszystkie litery alfabetu oprócz<br />
być może jednej. Przez M n rozumiemy dopełnienie języka M n do zbioru {1, 2, . . . n} ∗ .<br />
Zadanie 29. a. Jaką minimalną liczbę stanów musi mieć deterministyczny automat skończony<br />
rozpoz<strong>na</strong>jący M n ?<br />
b. Jaką minimalną liczbę stanów musi mieć niedeterministyczny automat skończony rozpoz<strong>na</strong>jący<br />
M n ?<br />
Zadanie 30. Udowodnij, że każdy niedeterministyczny automat skończony rozpoz<strong>na</strong>jący<br />
język M n musi mieć więcej niż 2 n 2 −1 stanów.<br />
Wskazówka. Dla liczby <strong>na</strong>turalnej k, takiej, że 1 k n/2 <strong>na</strong>zwijmy parę liczb {2k − 1, 2k}<br />
rodziną. Powiemy że słowo x ∈ {1, 2, . . . n} ∗ nie rozdziela rodzin, jeśli zawsze wtedy, gdy<br />
jed<strong>na</strong> z liter z jakiejś rodziny występuje w słowie x, w słowie tym występuje również druga z<br />
tych liczb. Powiemy że słowo x jest rosnące, gdy każda jego kolej<strong>na</strong> litera jest liczbą większą<br />
niż poprzednia. Ile jest słów nie <strong>na</strong>leżących do M n , które są rosnące i nie rozdzielają rodzin?<br />
Na potrzeby kolejnych trzech <strong>zadań</strong> zdefiniujmy indukcyjnie <strong>na</strong>stępującą ter<strong>na</strong>rną relację<br />
⊖ <strong>na</strong> słowach <strong>na</strong>d alfabetem Σ:<br />
• ⊖(ε, ε, ε)<br />
• ⊖(aw, v, ax) jeśli ⊖(w, v, x)<br />
• ⊖(w, av, ax) jeśli ⊖(w, v, x)<br />
gdzie a ∈ Σ and w, v, x ∈ Σ ∗<br />
Dla języka L ⊆ Σ ∗ i słowa w ∈ Σ ∗ zdefiniujmy:<br />
L ∃w = {x ∈ Σ ∗ : ∃y ∈ Σ ∗ (⊖(w, x, y) ∧ y ∈ L)}<br />
L ∀w = {x ∈ Σ ∗ : ∀y ∈ Σ ∗ (⊖(w, x, y) ⇒ y ∈ L)}<br />
Zadanie 31. Załóżmy, że L jest językiem regularnym, zaś w jest pewnym ustalonym słowem<br />
z Σ ∗ . Czy wynika z tego że L ∀w jest językiem regularnym ?<br />
Zadanie 32. Załóżmy, że L jest językiem regularnym, zaś w jest pewnym ustalonym słowem<br />
z Σ ∗ . Czy wynika z tego że L ∃w jest językiem regularnym ?<br />
4
Zadanie 33. Udowodnij, że dla każdej liczby <strong>na</strong>turalnej k istnieje język L ⊆ {a, b, c} ∗ dający<br />
się rozpoz<strong>na</strong>wać deterministycznym automatem skończonym o mniej niż kK 2 sta<strong>na</strong>ch i taki,<br />
że język L ∃c k nie daje się rozpoz<strong>na</strong>wać deterministycznym automatem skończonym o mniej<br />
niż 2 kK sta<strong>na</strong>ch, gdzie K = 2 k .<br />
Wskazówka: Być może przyda <strong>na</strong>m się pamiętać, że suma n liczb pierwszych jest zawsze<br />
mniejsza niż n 2 log n, zaś ich iloczyn zawsze jest większy od 2 n log n .<br />
4 Więcej <strong>zadań</strong> o językach regularnych<br />
Przez język rodzynkowy będziemy przez chwilę (to z<strong>na</strong>czy w kolejnych trzech zadaniach i ani<br />
chwili dłużej) rozumieć język będący podzbiorem L a ∗ ba ∗.<br />
Dla danego języka regularnego L <strong>na</strong>pis i(L) będzie oz<strong>na</strong>czał <strong>na</strong> tej liście indeks języka L,<br />
czyli minimalną liczbę stanów deterministycznego automatu rozpoz<strong>na</strong>jącego L.<br />
Zadanie 34. Czy istnieje język rodzynkowy L taki, że L ∗ jest bezkontekstowy ale nie jest<br />
regularny?<br />
Zadanie 35. Dla ustalonego n <strong>na</strong>turalnego niech L n będzie językiem składającym się ze<br />
wszystkich słów postaci a i ba j , gdzie 0 i, j 2n oraz |i − j| 1. Udowodnij, że i(L ∗ n)<br />
szacuje się (z dokładnością do stałej multiplikatywnej) przez n 2 .<br />
Wskazówka: Warto rozważyć słowa postaci a k (ba 2n ) l , dla odpowiednich liczb k i l.<br />
Zadanie 36. Udowodnij, że dla każdego <strong>na</strong>turalnego n istnieje język rodzynkowy L n , taki<br />
że i(L n L n ) c2 i (L n ), gdzie c jest pewną stałą niezależną od n. Jeśli nie potrafisz pokazać<br />
takiego wykładniczego dolnego ograniczenia <strong>na</strong> wzrost i(L n L n ), to dostaniesz punkty również<br />
za inne ograniczenie, jeśli nie będzie mniejsze niż ci(L n ) 3 .<br />
Relacje automatyczne. W przeciwieństwie do wielu innych pojęć, które czasem <strong>na</strong> tej<br />
liście <strong>zadań</strong> zdarza <strong>na</strong>m się definiować, pojęcie relacji automatycznych jest standardowe i<br />
systematycznie badane. Standardowa definicja jedynie niez<strong>na</strong>cznie odbiega od <strong>na</strong>szej.<br />
Zdefiniujmy funkcję l : {0, 1} ∗ → N jako: l(ε) = 0, l(0w) = 2l(w), l(1w) = 2l(w) + 1.<br />
Dla liczby <strong>na</strong>turalnej k zdefiniujmy Σ k = {0, 1} k .<br />
Dla liczb <strong>na</strong>turalnych j k zdefiniujmy funkcję Π j k : Σ∗ k → {0, 1}∗ jako: Π j k<br />
(ε) = ε,<br />
Π j k (〈a 1, a 2 , . . . a j , . . . a k 〉w) = a j Π j k (w), gdzie 〈a 1, a 2 , . . . a j , . . . a k 〉 ∈ Σ k .<br />
Relację R ⊆ N k <strong>na</strong>zwiemy <strong>na</strong> tej liście <strong>zadań</strong> automatyczną, jeśli język L R złożony z tych<br />
słów w ∈ Σ ∗ k , dla których zachodzi R(l(Π1 k (w)), l(Π2 k (w)), . . . l(Πk k<br />
(w))), jest regularny.<br />
Zadanie 37. Czy relacja dodawania jest automatycz<strong>na</strong>? Przez relację dodawania rozumiemy<br />
tu {〈a, b, c〉 ∈ N 3 : a + b = c}.<br />
Zadanie 38. Czy relacja mnożenia jest automatycz<strong>na</strong>? Przez relację mnożenia rozumiemy<br />
tu {〈a, b, c〉 ∈ N 3 : ab = c}.<br />
Zadanie 39. Udowodnij, że rzut relacji automatycznej jest relacją automatyczną. Innymi<br />
słowy, jeśli R ⊆ N k jest relacją automatyczną, to również relacja R ′ = {r ∈ N k−1 : ∃m ∈<br />
N 〈r, m〉 ∈ R} jest relacją automatyczną (dla uproszczenia możesz przyjąć, że k = 2).<br />
5
5 Gramatyki bezkontekstowe i automaty ze stosem<br />
Zadanie 40. Zbuduj automat ze stosem rozpoz<strong>na</strong>jący język dobrze rozstawionych <strong>na</strong>wiasów<br />
dwóch rodzajów generowany przez gramatykę:<br />
S → SS|(S)|[S]|ε<br />
która ma jeden symbol nietermi<strong>na</strong>lny S i cztery symbole termi<strong>na</strong>lne (, ), [, ].<br />
Zadanie 41. Zbuduj gramatykę bezkontekstową generującą język:<br />
L = {w ∈ {0, 1} ∗ : |w| 0 = 2|w| 1 ∧ |w| 1 jest liczbą parzystą}.<br />
Zadanie 42. Czy język L = {w ∈ {0, 1} ∗ : |w| 0 |w| 1 2|w| 0 } jest bezkontekstowy?<br />
Zadanie 43. Czy język L = {w ∈ {0, 1} ∗ : ∃n ∈ N 2n|w| 0 |w| 1 (2n + 1)|w| 0 } jest<br />
bezkontekstowy?<br />
Zadanie 44. Podaj algorytm rozstrzygający dla danej gramatyki bezkontekstowej G, czy<br />
L(G) jest niepusty.<br />
Zadanie 45. Pokaż, że L ⊆ {0} ∗ jest bezkontekstowy wtedy i tylko wtedy gdy jest regularny.<br />
Zadanie 46. Niech G będzie gramatyką generująca poprawnie zbudowane formuły rachunku<br />
zdań ze zmiennymi zdaniowymi p i q. Symbolami termi<strong>na</strong>lnymi w G są p, q, (, ), ¬, ⇒, zaś<br />
produkcjami S → ¬S|(S ⇒ S)|p|q<br />
Z<strong>na</strong>jdź gramatykę w postaci normalnej Chomsky’ego generującą ten sam język.<br />
Zadanie 47. Czy język L 3 = {w ∈ {0, 1, 2} ∗ : ¬∃x ∈ {0, 1, 2} ∗ w = xx} jest bezkontekstowy?<br />
Zadanie 48. Czy dopełnienie języka L 3 z poprzedniego zadania, język L 4 = {w ∈ {0, 1, 2} ∗ :<br />
∃x ∈ {0, 1, 2} ∗ w = xx} jest bezkontekstowy?<br />
Wskazówka: (1) rozważ język L 4 ∩ L gdzie L = L 0 ∗ 10 ∗ 10 ∗ 10 ∗ 1.<br />
(2) Skorzystaj z lematu o pompowaniu, pamiętaj że podział w = sztyx, którego istnienie<br />
postuluje lemat jest taki, że |zty| c, gdzie c jest stałą z lematu.<br />
Zadanie 49. Zbuduj NDP DA i gramatykę bezkontekstową G dla języka {0, 1} ∗ − {www :<br />
w ∈ {0, 1} ∗ }.<br />
Zadanie 50. (Za 3 punkty, bardzo trudne) Czy istnieje gramatyka bezkontekstowa generująca<br />
<strong>zbiór</strong> tych słów <strong>na</strong>d alfabetem {0, 1}, które nie są postaci vww dla żadnych słów w, v,<br />
takich że |v| = |w|<br />
Zadanie 51. Czy język L złożony z tych wszystkich słów <strong>na</strong>d alfabetem {0, 1}, które są<br />
postaci wvw, dla pewnych słów w, v, takich że |w| = |v| jest bezkontekstowy?<br />
Zadanie 52. Czy język L będący dopełnieniem języka L z poprzedniego zadania do {0, 1} ∗<br />
jest bezkontekstowy?<br />
Zadanie 53. Czy język L = {vww : v, w ∈ {a, b, c} ∗ , w ≠ ε} jest bezkontekstowy?<br />
Zadanie 54. Niech L = będzie językiem tych słów <strong>na</strong>d alfabetem {0, 1}, które mają tyle<br />
samo zer co jedynek, a L R niech będzie językiem wszystkich palindromów. Czy przekrój<br />
L = z dopełnieniem L R jest językiem bezkontekstowym? (mamy tu <strong>na</strong> myśli dopełnienie do<br />
{0, 1} ∗ )<br />
Zadanie 55. Niech L = będzie językiem tych słów <strong>na</strong>d alfabetem {0, 1}, które mają tyle<br />
samo zer co jedynek, a L R niech będzie językiem wszystkich palindromów. Czy przekrój L =<br />
z L R jest językiem bezkontekstowym?<br />
6
Zadanie 56. Pokaż, że L ⊂ {0} ∗ jest bezkontekstowy wtedy i tylko wtedy, gdy jest regularny.<br />
Zadanie 57. Czy język L = {0 n 1 n2 : n ∈ N} jest bezkontekstowy?<br />
Zadanie 58. Czy <strong>zbiór</strong> takich słów <strong>na</strong>d alfabetem {0, 1}, które mają parzystą długość, i w<br />
których pierwszej połowie jest przy<strong>na</strong>jmniej tyle samo jedynek, co w drugiej połowie, jest<br />
bezkontekstowy?<br />
6 Więcej <strong>zadań</strong> o językach bezkontekstowych<br />
Zadanie 59. Na wykładzie udowodniliśmy, że rozszerzenie definicji automatu skończonego<br />
o możliwość poruszania się po słowie wejściowym w obie strony nie zmieni klasy rozpoz<strong>na</strong>wanych<br />
języków. Czy podobnie jest w przypadku automatów ze stosem? Mówiąc dokładniej,<br />
rozważamy automaty, których relacja przejścia zawiera się w<br />
(Q × T × U) × (Q × U ∗ × {L, R})<br />
gdzie Q jest skończonym zbiorem stanów („w jakim stanie jestem”), T jest zbiorem symboli<br />
taśmowych („co widzę <strong>na</strong> taśmie”), U zbiorem symboli stosowych (z a<strong>na</strong>logicznymi jak dla<br />
zwykłych automatow ze stosem założeniami dotyczącymi symbolu d<strong>na</strong> stosu), zaś L i R <strong>na</strong>leży<br />
rozumieć jako instrukcje „idź w lewo” i „idź w prawo”. Automaty takie są uruchamiane<br />
dla słów, których koniec i początek zaz<strong>na</strong>czone są dodatkowym symbolem taśmowym, nie<br />
występującym wewnątrz słowa. Czy każdy język jaki moż<strong>na</strong> rozpoz<strong>na</strong>ć przy pomocy takiego<br />
automatu jest bezkontekstowy? Wskazówka: wystarczy rozważać takie deterministyczne<br />
automaty akceptujące po osiągnięciu jakiegoś końcowego stanu akceptującego.<br />
Zadanie 60. (za 2 punkty) Splecenie definiujemy w tym zadaniu jako <strong>na</strong>jmniejszą relacje<br />
ter<strong>na</strong>rną <strong>na</strong> słowach <strong>na</strong>d pewnym ustalonym alfabetem A spełniające warunki:<br />
• spleceniem słowa pustego ze słowem pustym jest słowo puste;<br />
• jeśli w jest spleceniem słowa s ze słowem t, to jest również spleceniem słowa t ze słowem<br />
s<br />
• jeśli v = at, a ∈ A i w jest spleceniem słowa s ze słowem t to aw jest spleceniem słowa<br />
s ze słowem v<br />
Dla danych dwóch języków L 1 , L 2 ⊆ A ∗ zdefiniujmy ich splecenie jako <strong>zbiór</strong> wszystkich w,<br />
które są spleceniami pewnego s ∈ L 1 z pewnym t ∈ L 2 .<br />
Czy splecenie dwóch języków regularnych zawsze jest językiem regularnym?<br />
Czy splecenie dwóch języków bezkontekstowych zawsze jest językiem bezkontekstowym?<br />
Niech A będzie skończonym alfabetem i niech L ⊆ A ∗ . Przez Lustro(L) będziemy w kolejnych<br />
trzech zadaniach rozumieli język {wv R ∈ A ∗ : wv ∈ L}<br />
Zadanie 61. Pokaż, że jeśli L jest regularny, to Lustro(L) również jest regularny.<br />
Zadanie 62. Pokaż, że deterministyczny automat skończony rozpoz<strong>na</strong>jący język Lustro(L)<br />
może potrzebować liczby stanów wykładniczo większej niż deterministyczny automat skończony<br />
rozpoz<strong>na</strong>jący język L.<br />
Zadanie 63. Czy teza Zadania 61. pozostanie prawdziwa, jeśli oba wystąpienia słowa „regularny”<br />
zmienimy w nim <strong>na</strong> „bezkontekstowy”?<br />
7
Niech języki L ∀w i L ∀w będą zdefiniowane jak w Zadaniach 31 – 33.<br />
Zadanie 64. Załóżmy, że L jest CFL, zaś w jest pewnym ustalonym słowem z Σ ∗ . Czy<br />
wynika z tego że L ∀w jest CFL?<br />
Zadanie 65. Załóżmy, że L jest CFL, zaś w jest pewnym ustalonym słowem z Σ ∗ . Czy<br />
wynika z tego że L ∃w jest CFL?<br />
7 Zbiory i funkcje rekurencyjne<br />
Zadanie 66. Rozszerz definicję zbioru rekurencyjnego tak, aby moż<strong>na</strong> było rozważać rekurencyjne<br />
zbiory par liczb <strong>na</strong>turalnych i udowodnij, że jeśli <strong>zbiór</strong> A ⊆ N 2 jest rekurencyjny,<br />
to <strong>zbiór</strong> {n : ∃m [n, m] ∈ A}, czyli rzut A <strong>na</strong> pierwszą oś, jest zbiorem rekurencyjnie przeliczalnym.<br />
Zadanie 67. Pokaż, że każdy <strong>zbiór</strong> rekurencyjnie przeliczalny jest rzutem pewnego zbioru<br />
rekurencyjnego, to z<strong>na</strong>czy jeśli B jest r.e. to istnieje taki rekurencyjny A ⊆ N 2 rekurencyjny,<br />
że B = {n : ∃m [n, m] ∈ A}.<br />
Zadanie 68. Powtórz, podany <strong>na</strong> wykładzie, dowód nierozstrzygalności problemu stopu, to<br />
z<strong>na</strong>czy faktu, że <strong>zbiór</strong> K = {n : φ n (n) ∈ N} nie jest rekurencyjny.<br />
Zadanie 69. Pokaż, że {n : |Dom(φ n )| 7} jest rekurencyjnie przeliczalny.<br />
Zadanie 70. Niech A, B, C, D będą zbiorami rekurencyjnie przeliczalnymi, takimi że każda<br />
liczba <strong>na</strong>tural<strong>na</strong> <strong>na</strong>leży do dokładnie dwóch z nich. Udowodnij, że w takim razie wszystkie<br />
cztery zbiory są rekurencyjne.<br />
Zadanie 71. Udowodnij, że jeśli φ jest niemalejącą całkowitą funkcją rekurencyjną, to <strong>zbiór</strong><br />
φ(N) jej wartości jest rekurencyjny. Czy pozostaje to prawdą bez założenia o całkowitości φ?<br />
Zadanie 72. Udowodnij, że każdy niepusty <strong>zbiór</strong> rekurencyjnie przeliczalny jest postaci<br />
φ(N) dla pewnej całkowitej funkcji rekurencyjnej φ.<br />
Zadanie 73. Udowodnij, że każdy nieskończony <strong>zbiór</strong> rekurencyjnie przeliczalny jest postaci<br />
φ(N) dla pewnej całkowitej, różnowartościowej funkcji rekurencyjnej φ.<br />
Zadanie 74. Udowodnij, że <strong>zbiór</strong> {n : Dom(φ n ) = N} nie jest rekurencyjnie przeliczalny.<br />
Zadanie 75. (Długie, więc za 2 punkty) Załóżmy, że f jest funkcją rekurencyjną, całkowitą.<br />
Które z poniższych implikacji są prawdziwe?<br />
• jeśli A jest rekurencyjny, to f(A) też;<br />
• jeśli A jest rekurencyjny, to f −1 (A) też;<br />
• jeśli A jest r.e., to f(A) też;<br />
• jeśli A jest r.e., to f −1 (A) też.<br />
Co zmieni się, jeśli założymy, że f jest funkcją częściową?<br />
Zadanie 76. Nie korzystając z tw. Rice’a udowodnij, że <strong>zbiór</strong> B = {n : Dom(φ n ) i N −<br />
Dom(φ n ) są nieskończone} nie jest rekurencyjny.<br />
Zadanie 77. Udowodnij, że <strong>zbiór</strong> B = {n : Dom(φ n ) i N − Dom(φ n ) są nieskończone} z<br />
poprzedniego zadania nie jest <strong>na</strong>wet rekurencyjnie przeliczalny.<br />
8
Zadanie 78. Udowodnij, że <strong>zbiór</strong> numerów tych programów, które zatrzymują się dla wszystkich<br />
argumentów oprócz co <strong>na</strong>jwyżej skończonej liczby, nie jest rekurencyjnie przeliczalny.<br />
Zadanie 79. Udowodnij podane <strong>na</strong> wykładzie twierdzenie Rice’a.<br />
Zadanie 80. Poniższe zbiory nie są rozstrzygalne:<br />
1. <strong>zbiór</strong> numerów tych maszyn Turinga, które obliczają funkcje o dziedzinie różnej od N;<br />
2. <strong>zbiór</strong> numerów tych maszyn Turinga, które obliczają funkcje całkowitą i których czas<br />
działania jest rosnący względem rozmiaru danych;<br />
3. <strong>zbiór</strong> numerów tych maszyn Turinga, których czas działania dla żadnych danych nie<br />
jest liczbą pierwszą;<br />
4. <strong>zbiór</strong> numerów tych maszyn Turinga, które obliczają funkcje częściowe, których wartościami<br />
są wyłącznie liczby pierwsze.<br />
Nierozstrzygalność których z nich daje się udowodnić wprost z twierdzenia Rice’a?<br />
Zadanie 81. Udowodnij nierozstrzygalność zbioru z punktu 2. poprzedniego zadania.<br />
Zadanie 82. Niech A, B ⊆ N. Mówimy, że A rek B jeśli istnieje całkowita funkcja rekurencyj<strong>na</strong><br />
f (zwa<strong>na</strong> redukcją), taka że f(x) ∈ B wtedy i tylko wtedy gdy x ∈ A. Pokaż, że dla<br />
każdych dwóch zbiorów A, B ⊆ N istnieje ich <strong>na</strong>jmniejsze ograniczenie górne w sensie rek ,<br />
to z<strong>na</strong>czy taki <strong>zbiór</strong> C, że:<br />
i) A rek C i B rek C,<br />
ii) jeśli D jest taki, że A rek D i B rek D to C rek D.<br />
Zadanie 83. (Za 2 punkty) Czy K rek K? Czy K rek K?<br />
Zadanie 84. Pokaż, że <strong>zbiór</strong> A = {n : φ n zatrzymuje się dla wszystkich danych po czasie<br />
mniejszym niż trzykrot<strong>na</strong> długość danych} nie jest rekurencyjny. Czy moż<strong>na</strong> do tego użyć<br />
tw. Rice’a?<br />
Zadanie 85. Niech T będzie zbiorem tych par liczb 〈n, m〉 dla których φ n i φ m to ta sama<br />
funkcja częściowa.<br />
i) Pokaż, że T nie jest rekurencyjnie przeliczalny.<br />
ii) Czy dopełnienie zbioru T jest rekurencyjnie przeliczalne?<br />
Zadanie 86. Niech f : N × N → N będzie pewną ustaloną obliczalną bijekcją. Oz<strong>na</strong>czmy<br />
klasę zbiorów rekurencyjnych jako Σ 0 . Dla danego Σ i niech Π i = {A ⊆ N : N\A ∈ Σ i },<br />
zaś A ∈ Σ i+1 , jeśli istnieje B ∈ Π i , takie że A = {n ∈ N : ∃m f(n, m) ∈ B}. Jakie jest<br />
<strong>na</strong>jmniejsze i dla którego zachodzi L ∈ Σ i ?<br />
Zadanie 87. Niech A, B będą podzbiorami zbioru liczb <strong>na</strong>turalnych. Załóżmy, że f jest<br />
redukcją świadczącą o tym, że A rek B. Załóżmy, że f jest „<strong>na</strong>” (tzn. jej obrazem jest cały<br />
<strong>zbiór</strong> liczb <strong>na</strong>turalnych). Pokaż, że w takim razie zachodzi również B rek A.<br />
Zadanie 88. Pod<strong>zbiór</strong> zbioru liczb <strong>na</strong>turalnych <strong>na</strong>zywamy co-r.e. jeśli jego dopełnienie jest<br />
rekurencyjnie przeliczalne. Odcinkami początkowymi zbioru liczb <strong>na</strong>turalnych <strong>na</strong>zywamy<br />
zbiory postaci {1, 2, . . . n} dla n ∈ N. Oz<strong>na</strong>czmy przez B <strong>zbiór</strong> numerów tych programów,<br />
których dziedziny są odcinkami początkowymi zbioru liczb <strong>na</strong>turalnych.<br />
a. Czy <strong>zbiór</strong> B jest co-r.e.?<br />
b. Udowodnij, że istnieje <strong>zbiór</strong> trójek liczb <strong>na</strong>turalnych A, który jest co-r.e. i którego rzut <strong>na</strong><br />
pierwszą oś jest zbiorem B. Uwaga. Wymaga to oczywiście milczącego rozszerzenia definicji<br />
zbiorów co-r.e. <strong>na</strong> zbiory trójek liczb.<br />
9
Zadanie 89. Niech D ⊆ P(N). Udowodnij że <strong>na</strong>stępujące warunki są równoważne:<br />
• D jest przeliczalny;<br />
• istnieje B ⊆ N taki że dla każdego A ∈ D zachodzi A rek B.<br />
Wskazówka: Dla ustalonej całkowitej funkcji rekurencyjnej f i zbioru B ⊆ N, ile może być<br />
takich zbiorów A ⊆ N, że f jest redukcją, świadczącą o tym, że A rek B?<br />
Zadanie 90. Oz<strong>na</strong>czmy przez T ot <strong>zbiór</strong> {n ∈ N : Dom(M n ) = N}, zas przez Nemp <strong>zbiór</strong><br />
{n ∈ N : Dom(M n ) ≠ ∅}.<br />
(a) Czy prawdą jest, że Nemp rek T ot ?<br />
(b) Czy prawdą jest, że T ot rek Nemp ?<br />
8 Maszyny Turinga<br />
Uwaga: Rozwiązując zadania z tego rozdziału <strong>na</strong>leży dość dokładnie podać ideę<br />
konstrukcji, ale nie wymaga się wypisywania listy instrukcji konstruowanej maszyny.<br />
Zadanie 91. Udowodnij, że zastąpienie w definicji maszyny Turinga taśmy nieskończoną<br />
płaszczyzną nie zmieni klasy funkcji obliczalnych.<br />
Zadanie 92. Skonstruuj maszynę Turinga rozpoz<strong>na</strong>jącą język A = {ww R : w ∈ {0, 1} ∗ }<br />
Zadanie 93. Skonstruuj dwutaśmową maszynę Turinga, która mająć jako dane <strong>na</strong> jednej<br />
taśmie pewne słowo w zaś <strong>na</strong> drugiej taśmie słowo v postaci<br />
#q i1 a 1 q ′ i 1<br />
a ′ 1D 1 #q i2 a 2 q ′ i 2<br />
a ′ 2D 2 # . . . #q in a n q ′ i n<br />
a ′ nD n #q 0 #q F<br />
(gdzie każde D i jest albo R albo L) zwróci rezultat 1 wtedy i tylko wtedy gdy jednotaśmowa<br />
maszy<strong>na</strong>, której ciągiem instrukcji jest słowo v (stanem początkowym jest q 0 a końcowym<br />
q F ) zwróci rezultat 1.<br />
Zadanie 94. (za 2 punkty) Zauważ, że maszy<strong>na</strong> podob<strong>na</strong> do dwukierunkowego automatu<br />
ze stosem, lecz posiadająca dwa stosy, potrafi rozpoz<strong>na</strong>ć te same języki co maszyn Turinga.<br />
Udowodnij, że pozostaje to prawdą jeśli dysponujemy tylko jednym symbolem stosowym<br />
(oprócz symbolu d<strong>na</strong> stosu). Maszynę taką <strong>na</strong>zywamy maszyną z dwoma licznikami albo<br />
maszyną Minsky’ego<br />
Wskazówka: <strong>na</strong>jpierw udowodnij, że wystarczą cztery liczniki, potem spróbuj zakodować ich<br />
stan przy pomocy jednego licznika, drugiego będziesz mógł/mogła użyć do manipulowania<br />
pierwszym.<br />
Zadanie 95. Skanująca maszy<strong>na</strong> Turinga będzie da<strong>na</strong> przez piątkę 〈Σ, Q, q 0 , q F , δ〉, gdzie<br />
Σ jest skończonym alfabetem taśmowym, Q skończonym zbiorem stanów, q 0 , q F ∈ Q to odpowiednio<br />
stany początkowy i końcowy, zaś δ : (Qn{q F }) × Σ → Q × (Σn{B}) jest funkcją<br />
przejścia. Maszy<strong>na</strong> działa tak, że <strong>na</strong> początku głowica ustawio<strong>na</strong> jest w stanie q 0 <strong>na</strong> pierwszym<br />
symbolu słowa wejściowego. Gdy w stanie q głowica widzi symbol a ∈ Σ, to przechodzi<br />
do stanu q ′ , zamiast a wpisuje a ′ , gdzie δ(q, a) = (q ′ , a ′ ). Następnie jest przesuwa<strong>na</strong> o jedną<br />
komórkę w prawo, chyba że a było blankiem, wtedy wiadomo że przeskanowano cały dotychczas<br />
używany fragment taśmy i głowica jest przesuwa<strong>na</strong> (w aktualnym stanie) ponownie <strong>na</strong>d<br />
pierwszy symbol <strong>na</strong> taśmie, skąd ponownie wędruje w prawo itd. Obliczenie kończy się, gdy<br />
głowica z<strong>na</strong>jduje się w stanie q F .<br />
Czy problem ustalenia, dla danej skanującej maszyny Turinga M i słowa wejściowego<br />
w, czy M uruchomio<strong>na</strong> <strong>na</strong> w się zatrzyma, jest rozstrzygalny?<br />
10
Zadanie 96. Tak samo jak w poprzednim zadaniu, tylko odpowiedni fragment brzmi: ”Maszy<strong>na</strong><br />
działa tak, że <strong>na</strong> początku głowica ustawio<strong>na</strong> jest w stanie q 0 <strong>na</strong> pierwszym symbolu<br />
słowa wejściowego. Gdy w stanie q głowica widzi symbol a ∈ Σ, to przechodzi do stanu q ′ ,<br />
zamiast a wpisuje a ′ , gdzie δ(q, a) = (q ′ , a ′ ). Następnie jest przesuwa<strong>na</strong> o jedną komórkę w<br />
prawo, chyba że a było blankiem, wtedy wiadomo że przeskanowano cały dotychczas używany<br />
fragment taśmy i głowica zawraca, to z<strong>na</strong>czy po wyko<strong>na</strong>niu każdej kolejnej instrukcji<br />
przesuwa<strong>na</strong> jest o jedną komórkę w lewo, aż w końcu ponownie z<strong>na</strong>jdzie się <strong>na</strong>d pierwszym<br />
symbolem <strong>na</strong> taśmie. Wtedy ponownie zawraca w prawo itd.”<br />
9 Nierozstrzygalność. Kanoniczne zadania.<br />
Zadanie 97. Powtórz, podany <strong>na</strong> wykładzie, dowód nierozstrzygalności Problemu Odpowiedniości<br />
Posta.<br />
Zadanie 98. Dla gramatyki bezkontekstowej G niech L G oz<strong>na</strong>cza generowany przez nią<br />
język. Skorzystaj z nierozstrzygalności problemu odpowiedniości Posta aby pokazać, że <strong>zbiór</strong><br />
tych par gramatyk G, H dla których zachodzi L G ∩ L H ≠ ∅ nie jest rekurencyjny. Czy jest<br />
on rekurencyjnie przeliczalny?<br />
Zadanie 99. (za 2 punkty) Udowodnij, że nie istnieje algorytm rozstrzygający, dla danej<br />
gramatyki bezkontekstowej G i alfabetu A, czy A ∗ = L(G)<br />
Zadanie 100. Czy istnieje algorytm rozstrzygający, dla danych dwóch gramatyk bezkontekstowych<br />
G i H, czy L(G) = L(H)?<br />
Zadanie 101. Udowodnij nierozstrzygalność problemu sprawdzenia dla danego procesu Thuego<br />
Π i słowa w czy <strong>zbiór</strong> A w = {v : w ∗Π ↔ v} jest skończony.<br />
Wskazówka (nieobowiązkowa, jak wszystkie wskazówki): Rozważ maszyny Turinga z dodanym<br />
gdzieś <strong>na</strong> taśmie licznikiem, który jest zwiększany o jeden przy każdym ruchu wykonywanym<br />
przez maszynę. Naśladuj dowód nierozstrzygalności problemu słów.<br />
Zadanie 102. (za 2 punkty) Rozpatrzmy skończony <strong>zbiór</strong> par słów P i bi<strong>na</strong>rną relację → <strong>na</strong><br />
słowach zdefiniowaną jak <strong>na</strong>stępuje: w → p v wtedy i tylko wtedy gdy istnieje para 〈a, b〉 ∈ P<br />
taka, że w = ax i v = xb gdzie x jest pewnym słowem. Niech → ∗ p będzie przechodnim<br />
domknięciem → p (to z<strong>na</strong>czy <strong>na</strong>jmniejszą relacją przechodnią zawierającą → p ).<br />
Czy problem: dane P, x, y, czy x → ∗ p y? jest rozstrzygalny?<br />
Zadanie 103. (trudne, za 2 punkty) Funkcję f : N → N <strong>na</strong>zywamy funkcją Conway’a jeśli<br />
istnieją liczby <strong>na</strong>turalne p, a 1 , b 1 , a 2 , b 2 , . . . , a p , b p takie, że dla każdego n jeśli n = k mod p<br />
to f(n) = <strong>na</strong> k /b k . Pokaż, że nie ma algorytmu, który dla danych p, a 1 , b 1 , a 2 , b 2 , . . . , a p , b p<br />
odpowiedziałby, czy dla definiowanej przez te współczynniki funkcji Conway’a istnieje m<br />
takie, że f m (2) = 1 gdzie f m oz<strong>na</strong>cza funkcję f złożoną m razy ze sobą.<br />
Zadanie 104. (za 2 punkty) Udowodnij nierozstrzygalność <strong>na</strong>stępującego problemu: dany<br />
jest skończony <strong>zbiór</strong> kolorów C, zawierający co <strong>na</strong>jmniej kolory: czerwony i biały, oraz<br />
<strong>zbiór</strong> N ⊆ C 4 czwórek kolorów, uz<strong>na</strong>nych za nieestetyczne. Mamy nieskończenie wiele kwadratowych<br />
kafelków każdego koloru o boku długości 1. Czy istnieje kwadrat (o całkowitych<br />
wymiarach i boku nie mniejszym niż 2), który moż<strong>na</strong> wypełnić kafelkami w taki sposób by w<br />
lewym dolnym i w lewym górnym <strong>na</strong>rożniku z<strong>na</strong>lazł się czerwony kafelek, pozostałe kafelki<br />
dolnego i górnego brzegu były białe, oraz by w całym kwadracie nie pojawiła się nieestetycz<strong>na</strong><br />
sekwencja kafelków, tj. cztery sąsiadujące kafelki:<br />
takie że (c 1 , c 2 , c 3 , c 4 ) ∈ N.<br />
c 1 c 2<br />
c 3 c 4<br />
11
Na wykładzie mówiliśmy o nierozstrzygalności dziesiątego problemu Hilberta (<strong>na</strong>zwijmy<br />
go H10). Problem ten polega <strong>na</strong> tym, aby dla danego układu rów<strong>na</strong>ń diofantycznych,<br />
to z<strong>na</strong>czy rów<strong>na</strong>ń między wielomia<strong>na</strong>mi wielu zmiennych o współczynnikach całkowitych,<br />
odpowiedzieć, czy układ ten ma rozwiązanie w liczbach <strong>na</strong>turalnych.<br />
Zadanie 105. Niech H10prim będzie problemem ustalenia, dla danego układu rów<strong>na</strong>ń diofantycznych,<br />
czy układ ten ma rozwiązanie w liczbach całkowitych.<br />
a (od -1 do 6 punktów). Pokaż, że H10prim rek H10.<br />
b (od -1 do 6 punktów) Pokaż, że H10 rek H10prim.<br />
Zadanie 106. Niech H10bis będzie problemem H10 w którym ograniczamy się jedynie do<br />
rów<strong>na</strong>ń diofantycznych, w którym każdy wielomian jest stopnia co <strong>na</strong>jwyżej dwa. Czy H10bis<br />
pozostaje nierozstrzygalny?<br />
Wskazówka (do tego zadania i poprzedniego): W jednym z <strong>zadań</strong> możesz zechcieć odwołać<br />
się do faktu, że każda liczba <strong>na</strong>tural<strong>na</strong> daje się przedstawić jako suma czterech kwadratów<br />
liczb <strong>na</strong>turalnych.<br />
10 Nierozstrzygalność. Różne inne zadania.<br />
Zadanie 107. Udowodnij, że problem z dziesiątego problemu Hilberta (H10), to z<strong>na</strong>czy<br />
problem czy dany układ rów<strong>na</strong>ń diofantycznych (czyli rów<strong>na</strong>ń między wielomia<strong>na</strong>mi wielu<br />
zmiennych o współczynnikach całkowitych) ma rozwiązanie w liczbach całkowitych, pozostaje<br />
niezrozstrzygalny jeśli, zamiast o rozwiązanie w liczbach całkowitych, będziemy pytać<br />
o rozwiązanie w liczbach całkowitych nieparzystych. Wolno oczywiście skorzystać z nierozstrzygalności<br />
H10.<br />
Zadanie 108. Czy istnieje algorytm rozstrzygający, dla danej gramatyki bezkontekstowej<br />
G, czy istnieje słowo w, takie że ww R w ∈ L(G)?<br />
Zadanie 109. Dla danych funkcji f, g, h : {0, 1, . . . , p} → {0, 1, . . . , p} i danego nieskończonego<br />
ciągu liczb <strong>na</strong>turalnych (a 1 , a 2 , a 3 , . . .), niech F f,g,h (a 1 , a 2 , . . .) będzie ciągiem liczb<br />
<strong>na</strong>turalnych, którego i-ty element jest równy f(a i−1 ) + p g(a i ) + p h(a i+1 ), gdzie + p oz<strong>na</strong>cza<br />
dodawanie modulo p (przyjmujemy, że a 0 = 0). Udowodnij, że problem:<br />
Dane funkcje f, g i h oraz skończone ciągi (b 1 , b 2 , . . . , b k ) i (c 1 , c 2 , . . . , c k ). Czy istnieje<br />
liczba iteracji n taka, że F N f,g,h (b 1, b 2 , . . . , b k , 0, 0, 0, . . .) = (c 1 , c 2 , . . . , c l , 0, 0, 0, . . .)? jest<br />
nierozstrzygalny.<br />
Zadanie 110. Jak każdy pamięta, deterministyczny automat ze stosem, to urządzenie zadane<br />
przez skończony <strong>zbiór</strong> instrukcji w formacie: jeśli widzisz <strong>na</strong> taśmie wejściowej a, jesteś<br />
w stanie q, a z czubka stosu zdjąłeś b, to przejdź do stanu q’, a <strong>na</strong> czubek stosu włóż słowo w.<br />
Taki automat czyta słowo wejściowe litera po literze, zmieniając przy tym stan jak zwykły<br />
automat skończony, a do tego jeszcze buduje sobie stos. Czy istnieje algorytm odpowiadający,<br />
dla danych dwóch deterministycznych automatów ze stosem, czy istnieje niepuste słowo<br />
wejściowe, po przeczytaniu którego, oba te automaty będą miały <strong>na</strong> swoich stosach takie<br />
same ciągi symboli?<br />
Zadanie 111. Powiemy, że semiproces Thuego Π jest bezkontekstowy, jeśli dla każdej pary<br />
[w, v] ∈ Π słowo w składa się z jednej litery a słowo v jest niepuste. Czy problem słów dla<br />
bezkontekstowych semiprocesów Thuego jest rozstrzygalny?<br />
Zadanie 112. Powiemy, że semiproces Thuego Π jest prawie bezkontekstowy, jeśli dla każdej<br />
pary [w, v] ∈ Π jedno ze słów w i v składa się tylko z jednej litery, drugie zaś z dwóch liter.<br />
Czy problem słów dla prawie bezkontekstowych semiprocesów Thuego jest rozstrzygalny?<br />
12
Uwaga: Użyta w tym i poprzednim zadaniu nomenklatura (pojęcia procesów bezkontekstowych<br />
i prawie bezkontekstowych) została wymyślo<strong>na</strong> tylko by po to, by wygodniej było sformułować<br />
te zadania i nie ma wiele wspólnego z jakimkolwiek standardem.<br />
Zadanie 113. Automat niedeterministyczny ruszający dwiema nogami zdefiniujemy sobie w<br />
tym zadaniu jako piątkę 〈Σ, Q, q 0 , F, δ〉, gdzie F jest skończonym alfabetem, Q skończonym<br />
zbiorem stanów, q o ∈ Q jest stanem początkowym, F ⊆ Q jest zbiorem stanów akceptujących,<br />
a δ ⊆ Q × Σ × Σ × Q × {0, 1} × {0, 1} jest relacją przejścia.<br />
Relacja przejścia jest rozumia<strong>na</strong> <strong>na</strong>stępująco: jeśli δ(q, a 1 , a 2 , q ′ , b 1 , b 2 ), to gdy automat<br />
jest w stanie q, lewą nogę ma <strong>na</strong> symbolu a 1 , a prawą nogę <strong>na</strong> sumbolu a 2 , to możemy przejść<br />
do stanu q ′ , przesunąć lewą nogę o b 1 symboli w prawo i przesunąć prawą nogę o b 2 sumboli<br />
w prawo.<br />
Automat rozpoz<strong>na</strong>je pary słów w l , w p z których każde jest postaci a(Σ \{a, z})z, dla<br />
pewnych ustalonych symboli a, z ∈ Σ.<br />
Na początku działania automat jest w stanie q 0 i ma lewą nogę <strong>na</strong> pierwszej literze<br />
(czyli a) słowa w l , a prawą <strong>na</strong> pierwszej literze (czyli a) słowa w p . Automat akceptuje parę<br />
słów, jeśli możliwe jest aby z<strong>na</strong>lazł się obiema nogami <strong>na</strong> literach z i przeszedł wtedy w stan<br />
q ∈ F .<br />
Czy problem totalności automatu niedeterministycznego ruszającego dwiema nogami<br />
jest rozstrzygalny? Przez problem totalności rozumiemy tu dopełnienie problemu istnienia<br />
jakiejkolwiek pary słów, o podanej powyżej postaci, ale nie ackeptowanej przez dany automat.<br />
Zadanie 114. Przez funkcję liniową będziemy w tym zadaniu rozumieć funkcję postaci<br />
h(x) = ax + b, gdzie a, b są liczbami <strong>na</strong>turalnymi.<br />
Instancją problemu skaczącej pchły będzie w tym zadaniu skończony ciąg funkcji liniowych<br />
= 〈f 1 , g 1 , . . . f k , g k 〉. Powiemy, że instancja c= 〈f 1 , g 1 , . . . f k , g k 〉 problemu skaczącej pchły ma<br />
rozwiązanie jeśli istnieje niepusty ciąg s 1 , s 2 , . . . s l liczb ze zbioru {1, 2, . . . k} taki, że punkt<br />
〈f sl f sl−1 . . . f s1 (0), g sl g sl−1 . . . g s1 (0)〉 leży <strong>na</strong> prostej y = x (zatem wyobrażamy sobie, że<br />
pchła zaczy<strong>na</strong> skakać w punkcie 〈0, 0〉, w każdym kolejnym skoku umie przemieścić się z<br />
punktu 〈x, y〉 do dowolnego spośród 〈f i (x), g i (y)〉; pytamy o to, czy potrafi kiedykolwiek<br />
znów z<strong>na</strong>leźć się w punkcie o obu współrzędnych równych).<br />
Pokaż, że problem skaczącej pchły, to z<strong>na</strong>czy problem czy dla danej instancji istnieje rozwiązanie,<br />
jest nierozstrzygalny.<br />
Zadanie 115. Niech φ(x, y) będzie pewną formułą arytmetyki liczb <strong>na</strong>turalnych z dodawaniem<br />
i mnożeniem, z dwiema zmiennymi wolnymi.<br />
Napisz zdanie ψ arytmetyki liczb <strong>na</strong>turalnych z dodawaniem i mnożeniem, które będzie<br />
prawdziwe wtedy i tylko wtedy, gdy istnieją liczba l 1 i skończony ciąg liczb <strong>na</strong>turalnych<br />
a 1 , a 2 , . . . a l , taki, że a 1 = 1, a l = 2, oraz taki, że dla każdego 1 i l − 1 zachodzi<br />
φ(a i , a i + 1).<br />
Wskazówka: Możesz <strong>na</strong> przykład użyć chińskiego twierdzenia o resztach (choć są również<br />
inne rozwiązania). Posłuż się makrami, podobnymi do tych, których używaliśmy <strong>na</strong> wykładzie<br />
— <strong>na</strong> przykład Pierwsza(z), Kolejne-Pierwsze(z,t).<br />
W kolejnych dwóch zadaniach, po <strong>na</strong>pisanym <strong>na</strong> skończonej taśmie słowie poruszają się<br />
żuczki. Dwa albo trzy. Każdy z żuczków jest rodzajem dwukierunkowego deterministycznego<br />
automatu skończonego, to z<strong>na</strong>czy ma skończony <strong>zbiór</strong> stanów i funkcję przejścia (inną dla<br />
każdego żuczka), która w zależności od tego w jakim jest stanie, jaki symbol widzi w aktualnej<br />
komórce taśmy, i które z pozostałych żuczków z<strong>na</strong>jdują się wraz z nim w aktualnej komórce<br />
taśmy każe mu odpowiednio zmienić stan i poruszyć się w lewo lub w prawo (dla porządku<br />
zakładamy, że końce słowa oz<strong>na</strong>czone są unikalnymi symbolami, dzięki czemu żuczek nigdy<br />
nie opuści taśmy i że <strong>na</strong> początku wszystkie żuczki stoją <strong>na</strong> początku słowa, w pewnym<br />
13
ustalonym stanie początkowym). Kolejny ruch żuczka, czyli wyko<strong>na</strong>nie funkcji przejścia,<br />
<strong>na</strong>stępuje zawsze wtedy, gdy usłyszy on tyknięcie zegara.<br />
Przez problem niepustości rozumiemy pytanie, czy dla danych funkcji przejścia żuczków<br />
istnieje słowo, które żuczki zaakceptują, to z<strong>na</strong>czy takie, <strong>na</strong> którym któryś z nich osiągnie,<br />
po skończonej liczbie kroków, ustalony stan akceptujący.<br />
Zadanie 116. Dwa synchroniczne żuczki. Pokaż, że problem niepustości jest nierozrozstrzygalny<br />
jeśli rozważamy pary (funkcji dla) żuczków i zakładamy, że są one synchroniczne, to<br />
z<strong>na</strong>czy oba słyszą tykanie tego samego zegara.<br />
Zadanie 117. Trzy asynchroniczne żuczki. Pokaż, że z tezy Zadania 116 wynika, że nierozstrzygalny<br />
jest również problem niepustości dla trójek (funkcji dla) żuczków jeśli zakładamy,<br />
że są one asynchroniczne, to z<strong>na</strong>czy w każdej komórce taśmy słychać osobny zegarek, który<br />
tyka jak chce (np. czasem wolniej czasem szybciej). Uwaga. Różne zachowania zegarków mogą<br />
tu skutkować różnymi obliczeniami, czyli różnymi zachowaniami żuczków. Myślimy o tym<br />
jak o obliczeniu niedeterministycznym: słowo zostaje zaakceptowane, gdy istnieje zachowanie<br />
zegarków, które prowadzi do obliczenia akceptującego.<br />
Komentarz. Nie z<strong>na</strong>m rozwiązania zadania o dwóch asynchronicznych żuczkach.<br />
W kolejnych dwóch zadaniach rozważamy płaszczyznę, po której biega k psów. Startują<br />
one jednocześnie z początku układu współrzędnych, a <strong>na</strong>stępnie każdy z nich, w każdej<br />
jednostce czasu, przesuwa się o jednostkę odległości <strong>na</strong> północ, południe, wschód lub zachód<br />
(zatem po każdym takim kroku psy z<strong>na</strong>jdują się w punktach kratowych płaszczyzny). O<br />
kierunku kolejnego ruchu psa decyduje jego funkcja przejścia (psy są różne, i mogą mieć<br />
różne funkcje przejścia). Argumentami funkcji przejścia są: aktualny stan psa (każdy pies ma<br />
skończoną liczbę stanów) oraz zapach punktu kratowego aktualnie zajmowanego przez psa.<br />
Przez zapach pola rozumiemy tu informację o tym, które psy odwiedziły już to pole.<br />
Wśród stanów każdego psa wyróżniamy jeden stan szczekający.<br />
Mówiąc bardziej formalnie, funkcja przejścia i-tego psa δ i ma typ δ i : Q i × Z → Q i ×<br />
{N, S, E, W }, gdzie Q i to skończony <strong>zbiór</strong> stanów i-tego psa, zaś Z = P({1, . . . k}) jest zbiorem<br />
zapachów (czyli rodziną wszystkich pozdbiorów zbioru wszystkich biegających psów).<br />
Funkcja ruchu i-tego psa ˆδ i definiowa<strong>na</strong> jest przy pomocy δ i w <strong>na</strong>turalny dla teorii automatów<br />
skończonych sposób. Wreszcie zapach z(p, t) punktu kratowego p w chwili t jest równy<br />
z(p, t − 1) ∪ S(p, t − 1), gdzie S(p, t) to <strong>zbiór</strong> numerów psów z<strong>na</strong>jdujących się w punkcie p w<br />
chwili t. W chwili zerowej zapachem wszystkich punktów jest zapach pusty.<br />
Problem szczeku dla układu k psów jest <strong>na</strong>stępujący: dane funkcje przejścia k psów, oraz<br />
informacja o tym które stany są szczekające. Czy któryś z biegających zgodnie z tymi funkcjami<br />
psów osiągnie kiedyś stan szczekający?<br />
Zadanie 118. Czy problem szczeku dla układu 3 psów jest rozstrzygalny?<br />
Zadanie 119. Czy problem szczeku dla układu z jednym psem jest rozstrzygalny?<br />
Zadanie 120. Czy problem niepustości języka L G ∩ L G L G , dla danej gramatyki bezkontekstowej<br />
G, jest rozstrzygalny?<br />
11 Niedeterministyczne maszyny Turinga i klasa NP<br />
Zadanie 121. Pokaż, że wielomianową maszynę niedeterministyczną moż<strong>na</strong> przerobić tak,<br />
aby zgadywała rozwiązanie wcześniej niż poz<strong>na</strong> dane. Dokładniej rzecz ujmując, udowodnij<br />
że jeśli <strong>zbiór</strong> A <strong>na</strong>leży do klasy NP, to istnieją wielomiany p, q oraz nideterministycz<strong>na</strong><br />
maszy<strong>na</strong> Turinga M rozpoz<strong>na</strong>jąca A, działająca dla danego n w <strong>na</strong>stępujący sposób: M<br />
14
wyz<strong>na</strong>cza <strong>na</strong> taśmie blok klatek o długości p(|n|) - zatem interesuje ją wielkość n, ale nie jego<br />
dokład<strong>na</strong> wartość - po czym niedeterministycznie i nie czytając n zapełnia ten blok ciągiem<br />
zer i jedynek. Dopiero <strong>na</strong>stępnie czyta n i przechodzi do fazy, w której obliczenie jest już<br />
deterministyczne i nie zabiera więcej niż q(|n|) kroków.<br />
Zadanie 122. Pokaż, że jeśli <strong>zbiór</strong> A ⊆ N 2 jest w P i p jest wielomianem, to <strong>zbiór</strong> {∃m |m| <br />
p(|n|) i [n, m] ∈ A}, czyli rodzaj rzutu A <strong>na</strong> pierwszą oś, jest w NP.<br />
Zadanie 123. Pokaż, że każdy <strong>zbiór</strong> w NP jest rzutem pewnego zbioru z P, to z<strong>na</strong>czy jeśli B<br />
jest w NP, to istnieje wielomian p i <strong>zbiór</strong> A ⊆ N 2 <strong>na</strong>leżący do P i taki, że B = {n : ∃m |m| <br />
p(|n|) i [n, m] ∈ A}.<br />
12 Redukcje wielomianowe i NP-trudność<br />
Zadanie 124. Pokaż, że 5SAT< p 3SAT.<br />
Zadanie 125. (za 2 punkty) Problem STASI 1 jest taki: mamy dany graf nieskierowany i<br />
liczbę k. Czy da się rozstawić k agentów w wierzchołkach grafu tak, aby każdy wierzchołek w<br />
którym nie stoi agent miał (co <strong>na</strong>jmniej jednego) agenta za sąsiada? Pokaż, że 3SAT< p STASI.<br />
Wskazówka: To nie jest trudne. Idea jest podob<strong>na</strong> jak przy dowodzie faktu, że 3SAT< p 3COL,<br />
który był <strong>na</strong> wykładzie. Tylko łatwiej<br />
Zadanie 126. (za 2 punkty) Niech H oz<strong>na</strong>cza problem cyklu Hamilto<strong>na</strong> dla grafów nieskierowanych<br />
(tzn. język tych wszystkich grafów nieskierowanych, w których istnieje ścieżka<br />
zamknięta przechodząca dokładnie raz przez każdy wierzchołek).<br />
Niech H d oz<strong>na</strong>cza problem cyklu Hamilto<strong>na</strong> dla grafów skierowanych. Pokaż, że H < p<br />
H d i H d < p H.<br />
Wskazówka: W trudniejszą stronę trzeba każdy wierzchołek zastąpić trzema.<br />
Zadanie 127. (za 2 punkty) Klauzula <strong>na</strong>zywa się hornowską jeśli co <strong>na</strong>jwyżej jeden z jej<br />
literałów jest niezanegowany. Pokaż, że problem HORNSAT spełnialności formuł, w postaci<br />
CNF, których każda klauzula jest hornowska jest w P.<br />
Zadanie 128. (za 2 punkty) Pokaż, że problem spełnialności formuł w koniunkcyjnej postaci<br />
normalnej, w których każda klauzula jest alter<strong>na</strong>tywą co <strong>na</strong>jwyżej dwóch literałów jest w<br />
klasie P. (Patrz definicja <strong>na</strong> stronie 375 polskiego wydania książki Hopcrofta i Ullma<strong>na</strong>.<br />
Tłumaczka z bożej łaski tłumaczy CNF jako PNK).<br />
Zadanie 129. Pokaż, że 3SAT< p 3SAT 3 . To ostatnie to 3SAT ograniczony tylko do formuł,<br />
w których żad<strong>na</strong> zmien<strong>na</strong> nie występuje więcej niż 3 razy.<br />
Zadanie 130. (za 2 punkty) Udowodnij, że problem cyklu Hamilto<strong>na</strong> jest NP-zupełny.<br />
Zadanie 131. Problem komiwojażera jest taki: dany jest graf nieskierowany pełny, którego<br />
krawędzie etykietowane są liczbami całkowitymi. Waga drogi w grafie jest definiowa<strong>na</strong><br />
jako suma wag krawędzi <strong>na</strong>leżących do tej drogi. Da<strong>na</strong> liczba k. Czy istnieje w grafie cykl<br />
Hamilto<strong>na</strong> o wadze mniejszej niż k?<br />
Pokaż, że problem komiwojażera jest NP-zupełny. Wolno skorzystać z NP-zupełności<br />
problemu Hamilto<strong>na</strong>.<br />
Komentarz: Problem komiwojażera to jedyny kawałek teorii informatyki, który trafił do<br />
kultury masowej, stając się w ten sposób kolegą Myszki Miki.<br />
1 To się <strong>na</strong>prawdę <strong>na</strong>zywa ”Problem zbioru dominującego”. Zadanie sformułowałem, tak jak jest teraz<br />
sformułowane, w latach 90, kiedy było modne śmiać się z NRD (wiecie co to było NRD?), bo wydawało się,<br />
że u <strong>na</strong>s było i<strong>na</strong>czej. Wydawało się.<br />
15
Zadanie 132. (za 2 punkty) Pokaż, że jeśli istnieje wielomianowy algorytm wskazujący, dla<br />
danego przykładu problemu komiwojażera, cykl nie więcej niż dwa razy dłuższy od optymalnego,<br />
to P =NP.<br />
Wskazówka: To wcale nie jest trudne zadanie, z całą pewnością nie zasługuje <strong>na</strong> dwie<br />
gwiazdki. Podobnie jak w poprzednim trzeba się odwołać do NP-zupełności problemu Hamilto<strong>na</strong>.<br />
Zadanie 133. Pokaż, że jeśli ograniczymy się do przykładów problemu komiwojażera, w<br />
których wagi krawędzi spełniają nierówność trójkąta, to z<strong>na</strong>czy dla każdych wierzchołków<br />
v 1 , v 2 , v 3 zachodzi d(v 1 , v 2 ) + d(v 2 , v 3 ) d(v 1 , v 3 ), to istnieje wielomianowy algorytm z<strong>na</strong>jdujący<br />
cykl Hamilto<strong>na</strong> o wadze nie więcej niż dwa razy większej od optymalnej.<br />
Zadanie 134. Jaka jest złożoność problemu 3SAT 2 , tzn. problemu spełnialności formuł w<br />
postaci 3CNF, w których żad<strong>na</strong> zmien<strong>na</strong> nie występuje więcej niż 2 razy?<br />
Zadanie 135. Jaka jest złożoność problemu SAT 2 , tzn. problemu spełnialności formuł w<br />
postaci CNF, w których żad<strong>na</strong> zmien<strong>na</strong> nie występuje więcej niż 2 razy?<br />
Zadanie 136. (za 2 punkty) Udowodnij, że problem istnienia w danym grafie o n wierzchołkach<br />
kliki mającej n/2 wierzchołków jest NP-zupełny.<br />
Zadanie 137. Udowodnij, że jeśli istnieje wielomianowy algorytm z<strong>na</strong>jdujący w danym grafie<br />
klikę wielkości co <strong>na</strong>jmniej połowy kliki maksymalnej 2 , to istnieje również wielomianowy<br />
algorytm z<strong>na</strong>jdujący w danym grafie klikę wielkości co <strong>na</strong>jmniej 1/ √ 2 kliki maksymalnej.<br />
Zadanie 138. Rozważmy <strong>na</strong>stępujący problem spełnialności dla zdecydowanej większości<br />
klauzul: Dane różne klauzule rachunku zdań φ 1 , φ 2 , . . . , φ n . Czy moż<strong>na</strong> podstawić wartości<br />
0 i 1 za zmienne zdaniowe tak aby więcej niż 9/10 spośród klauzul φ 1 , φ 2 , . . . , φ n przyjęła<br />
wartość logiczną 1? Udowodnij, że problem spełnialności dla zdecydowanej większości klauzul<br />
jest NP-zupełny. Przypomi<strong>na</strong>m, że klauzulą <strong>na</strong>zywamy formułę postaci l 1 ∨ l 2 ∨ . . . ∨ l k , gdzie<br />
l i są literałami, to z<strong>na</strong>czy zmiennymi zdaniowymi lub ich negacjami.<br />
Wskazówka: Skorzystaj z NP-zupełności SAT.<br />
Zadanie 139. Niech KLIKA c będzie problemem istnienia w danym grafie o n wierzchołkach<br />
kliki zawierającej nie mniej niż n/c wierzchołków. Pokaż, że dla każdych c, c ′ zachodzi<br />
KLIKA c p KLIKA c ′.<br />
Zadanie 140. Rozważmy <strong>na</strong>stępujący problem smutnych strażników. Dany jest pewien <strong>zbiór</strong><br />
strażników s 1 , s 2 , . . . , s l . Strzegą oni obiektów a 1 , a 2 , . . . , a k . Odbywa się to tak, że każdy<br />
strażnik s i ma w swoim kantorku dwa ekrany telewizyjne E i i F i i <strong>na</strong> każdym z tych ekranów<br />
widzi, za pośrednictwem nieruchomej kamery, pewien niezmienny <strong>zbiór</strong> obiektów (odpowiednio<br />
Z Ei i Z Fi , zbiory te oczywiście niekoniecznie muszą być parami rozłączne). Powiemy, że<br />
strażników moż<strong>na</strong> rozweselić jeśli da się przestawić u każdego z nich jeden telewizor <strong>na</strong> ka<strong>na</strong>ł<br />
gdzie akurat transmitują mecz, ale w taki sposób, że każdy obiekt ze zbioru {a 1 , a 2 , . . . , a k }<br />
pozostaje pod obserwacją <strong>na</strong> jakimś nieprzestawionym telewizorze.<br />
Pokaż, że problem rozstrzygnięcia, dla danego przykładu problemu smutnych strażników,<br />
czy strażników da się rozweselić, jest NP-zupełny.<br />
Zadanie 141. Udowodnij, że <strong>na</strong>stępujący problem podziału n harcerzy <strong>na</strong> 4 drużyny jest<br />
NP-zupełny.<br />
Dany jest hufiec H harcerzy i lista E ⊆ H 2 par harcerzy, którzy się nie lubią. Czy da się<br />
podzielić H <strong>na</strong> cztery drużyny tak, aby spełnione były warunki:<br />
drużyny mają być z grubsza równej wielkości: do każdej z nich musi <strong>na</strong>leżeć przy<strong>na</strong>jmniej<br />
jed<strong>na</strong> piąta wszystskich harcerzy z H. W żadnej drużynie nie mogą jednocześnie z<strong>na</strong>leźć się<br />
dwaj harcerze, którzy się nie lubią.<br />
2 Nie wiemy czy istnieje taki algorytm.<br />
16
Zadanie 142. W Pewnej Wschodniej Krainie wszystkim rządzą trzej gangsterzy, pan K,<br />
pan G i pan B. Każda firma, która chce mieć spokój i dostawać koncesje i kontrakty, musi<br />
mieć wśród członków swojej rady <strong>na</strong>dzorczej przyjaciół przy<strong>na</strong>jmniej dwóch spośród tych<br />
trzech gangsterów. Kłopot polega jed<strong>na</strong>k <strong>na</strong> tym, że: gangsterzy za sobą <strong>na</strong>wzajem nie przepadają,<br />
więc każdy członek rady może przyjaźnić się co <strong>na</strong>jwyżej z jednym gangsterem. Rady<br />
<strong>na</strong>dzorcze różnych firm niekoniecznie muszą być rozłączne.<br />
Udowodnij, że problem: Dane listy członków rad <strong>na</strong>dzorczych pewnej liczby firm, czy da<br />
się osoby figurujące <strong>na</strong> tych listach pozaprzyjaźniać z pa<strong>na</strong>mi K, G i B w taki sposób, aby<br />
wszystkie z tych firm miały spokój?<br />
Jest NP-zupełny.<br />
Zadanie 143. Jaka jest złożoność <strong>na</strong>stępującego problemu klasy udającej się <strong>na</strong> wycieczkę.<br />
Klasa ma udać się <strong>na</strong> wycieczkę do Świeradowa. Jed<strong>na</strong>k ze względu <strong>na</strong> trawiący ją wewnętrzny<br />
konflikt, niektórzy z młodych ludzi obwarowują kwestię swojego wyjazdu pewnymi<br />
warunkami. Warunki te mają <strong>na</strong>stępującą postać:<br />
Ja (jadę — nie jadę) jeśli X (jedzie — nie jedzie)<br />
gdzie X przebiega <strong>zbiór</strong> uczniów klasy. Każdy uczeń może przedstawić Pani Wychowawczyni<br />
dowolną liczbę takich warunków. Jaka jest złożoność problemu sprawdzenia, czy da się<br />
zorganizować wycieczkę w sposób uwzględniający wszystkie postawione warunki? Wielkością<br />
zadania jest tu łącz<strong>na</strong> liczba warunków.<br />
Zadanie 144. Udowodnij, że problem istnienia dla danego grafu nieskierowanego, takiego<br />
kolorowania wierzchołków tego grafu trzema kolorami, aby każdy wierzchołek sąsiadował z<br />
co <strong>na</strong>jwyżej jednym wierzchołkiem tego samego koloru, jest NP-zupełny.<br />
Zadanie 145. Przykładem problemu pokrycia zbioru podzbiorami rozłącznymi (PZPR)<br />
jest skończo<strong>na</strong> rodzi<strong>na</strong> A = {A 1 , A 2 , . . . , A N } skończonych zbiorów. A ∈ P ZP R jeśli istnieje<br />
rodzi<strong>na</strong> B ⊆ A zbiorów rozłącznych, taka że suma wszystkich zbiorów z B jest rów<strong>na</strong> sumie<br />
wszystkich zbiorów z A. Udowodnij, że 3SAT p PZPR.<br />
Wskazówka: pokaż, że 3SAT 3 p PZPR gdzie 3SAT 3 to problem spełnialności dla formuł<br />
w postaci 3CNF w których każda zmien<strong>na</strong> występuje co <strong>na</strong>jwyżej 3 razy.<br />
Zadanie 146. Jaka jest złożoność problemu istnienia, dla danej formuły boolowskiej w<br />
postaci CNF, wartościowania przy którym w każdej klauzuli wszystkie literały przyjmują<br />
wartość 1 albo wszystkie literały przyjmują wartość 0?<br />
Zadanie 147. Niech f : {0, 1} ∗ → {0, 1} ∗ będzie bijekcją obliczalną w czasie wielomianowym.<br />
Czy wynika z tego, że f −1 też jest bijekcją obliczalną w czasie wielomianowym?<br />
Zadanie 148. Udowodnij, że problem komiwojażera pozostaje NP-zupełny, gdy ograniczymy<br />
się do przykładów, w których funkcja wagi krawędzi d spełnia mocny warunek trójkąta:<br />
d(x, y) < d(x, z) + d(z, y).<br />
Zadanie 149. Rozważmy <strong>na</strong>stępujący problem P z8 . Dane: graf nieskierowany G = (V, E) i<br />
A ⊆ V . Czy moż<strong>na</strong> wybrać <strong>zbiór</strong> B ⊆ A tak aby:<br />
1. <strong>zbiór</strong> B był dominujący w G, tzn. dla każdego x ∈ V \ B istniał y ∈ B taki, że E(x, y);<br />
2. <strong>zbiór</strong> B był niezależny w G, tzn. dla żadnych x, y ∈ B nie zachodziło E(x, y);<br />
3. dla każdego x ∈ V istniał co <strong>na</strong>jwyżej jeden y ∈ B taki, że E(x, y)<br />
Pokaż, że problem P z8 jest NP-zupełny.<br />
17
Zadanie 150. Jaka jest złożoność <strong>na</strong>stępującego problemu: Dany graf nieskierowany. Czy<br />
istnieje taki sposób pokolorowania jego krawędzi dwoma kolorami, czerwonym i niebieskim,<br />
aby każda krawędź była pokolorowa<strong>na</strong> i aby nie pojawił się żaden niebieski cykl nieparzystej<br />
długości ani żaden czerwony cykl nieparzystej długości?<br />
W Pewnej (Wschodniej) Krainie odbyły się wybory, w wyniku których do parlamentu<br />
weszła pew<strong>na</strong> liczba partii. Żad<strong>na</strong> z nich nie uzyskała większości, konieczne stało się zatem<br />
wyłonienie koalicji rządowej dysponującej więcej niż połową głosów. Każda z partii złożyła<br />
w związku z tym oświadczenie o <strong>na</strong>stępującej formie: wejdziemy do koalicji wtedy i tylko<br />
wtedy gdy otrzymamy <strong>na</strong>stępujące stanowiska: lista stanowisk. Listy stanowisk żadanych przez<br />
partie przeci<strong>na</strong>ją się czasem niepusto, a partie w swych żądaniach są nieugięte.<br />
Oz<strong>na</strong>czmy przez KOAL problem istnienia większościowej koalicji, przy której moż<strong>na</strong><br />
zaspokoić oczekiwania tworzących ją partii. Dane stanowi tu lista partii, wraz z ilością mandatów<br />
jakimi każda partia rozporządza i listą stanowisk jakich się domaga. Przez KOAL i j<br />
oz<strong>na</strong>czmy wariant problemu KOAL, w którym każda partia może żądać co <strong>na</strong>jwyżej i stanowisk,<br />
a każdego stanowiska żąda co <strong>na</strong>jwyżej j partii (brak któregość z indeksów oz<strong>na</strong>cza,<br />
że nie ograniczamy tego parametru).<br />
Zadanie 151. Jaka jest złożoność problemu KOAL 2 ?<br />
Wskazówka: Wolno skorzystać z NP-zupełności problemu istnienia, w grafie nieskierowanym<br />
o n wierzchołkach, zbioru wierzchołków niezależnych o mocy n/4.<br />
Zadanie 152. Jaka jest złożoność problemu KOAL 3 3?<br />
Zadanie 153. Jaka jest złożoność problemu KOAL 2 2?<br />
Komentarz: Nie potrafiłem niestety rozstrzygnąć jaka jest złożoność problemu KOAL 2 .<br />
Dlatego pomyślałem, że może lepiej będzie, jeśli nie umieszczę tu takiego zadania.<br />
Zadanie 154. Jaka jest złożoność problemu 3-kolorowania grafów, jeśli ograniczymy się do<br />
grafów o stopniu wierzchołków równym co <strong>na</strong>jwyżej 4?<br />
Zadanie 155. Rozważmy <strong>na</strong>stępujący Problem Trójek Klasowych (PTK).<br />
Rodzice uczniów każdej klasy w szkole wybierają spośród siebie (do różnych niezmiernie<br />
ważnych <strong>zadań</strong>) trójkę – zwaną trójką klasową. Ponieważ moż<strong>na</strong> być rodzicem więcej niż<br />
jednego dziecka w szkole, moż<strong>na</strong> być członkiem więcej niż jednej takiej trójki.<br />
Spośród członków tych trójek dyrektor szkoły chce powołać szkolny komitet rodzicielski,<br />
do którego <strong>na</strong>leży dokładnie jeden członek każdej trójki klasowej. PTK jest problemem<br />
rozstrzygnięcia czy, dla danej listy trójek klasowych, powołanie takiego komitetu jest możliwe.<br />
Udowodnij, konstruując odpowiednią redukcję, że 3COL< P PTK.<br />
Zadanie 156. Jaka będzie złożoność problemu z poprzedniego zadania, jeśli każde wystąpienie<br />
słowa trójka zamienimy w nim słowem dwójka?<br />
Zadanie 157. Przez liczbę chromatyczną grafu nieskierowanego G = 〈V, E〉 rozumiemy <strong>na</strong>jmniejszą<br />
liczbę <strong>na</strong>turalną n dla której istnieje funkcja l : V → {1, 2, . . . n} taka, że zachodzi<br />
formuła ∀x, y ∈ V E(x, y) ⇒ l(x) ≠ l(y). Liczbę chromatyczną grafu G oz<strong>na</strong>czamy przez<br />
χ(G)<br />
Udowodnij, że jeżeli istnieje wielomianowy algorytm który, dla danego grafu G, zwróci<br />
zawsze jedną z liczb {χ(G), χ(G) + 1}, to PTIME=NP<br />
18
Przez pokrycie cyklowe nieskierowanego grafu G = 〈V, E〉 rozumieć będziemy <strong>zbiór</strong> rozłącznych<br />
(wierzchołkowo) cykli o wierzchołkach w V i krawędziach w E, taki, że każdy wierzchołek<br />
ze zbioru V <strong>na</strong>lezy do któregoś z tych cykli. Moc pokrycia wierzchołkowego to liczba<br />
cykli z których to pokrycie się składa. Dla grafu G przez σ(G) oz<strong>na</strong>czmy, w kolejnych trzech<br />
zadaniach, minimalną moc pokrycia cyklowego G (ponieważ wierzchołek jest sam w sobie<br />
cyklem, więc liczba σ(G) jest zawsze określo<strong>na</strong> i nie większa od liczby wierzchołków G).<br />
Zadanie 158. Niech c > 3. Jaka jest złożoność problemu stwierdzenia, dla danego grafu G,<br />
czy σ(G) n/c, gdzie n to liczba wierzchołków G?<br />
Zadanie 159. Załóżmy, że istnieje wielomianowy algorytm, który dla każdego grafu G takiego<br />
że σ(G) = 1 zwraca pokrycie cyklowe G składające się z nie więcej niż dwóch cykli.<br />
Pokaż, że w takim razie P=NP.<br />
Zadanie 160. Pokaż, że jeśli P jest różne od NP to funkcja σ(G) nie może być, przez żaden<br />
wielomianowy algorytm, aproksymowa<strong>na</strong> z dokładnością do stałej multiplikatywnej. Mówiąc<br />
dokładniej, pokaż że nie istnieje wtedy wielomianowy algorytm M i liczba c > 0 taka, że dla<br />
każdego grafu G algorytm M uruchomiony dla G zwróci jego pokrycie cyklowe o mocy nie<br />
większej niż cσ(G).<br />
Zadanie 161. Czy istnieje język L ∈ P T IME, który nie daje się rozpoz<strong>na</strong>wać, <strong>na</strong> maszynie<br />
Turinga, w czasie kwadratowym ? (Przez czas kwadratowy rozumiemy czas ograniczony<br />
przez c(n 2 +1) gdzie n jest wielkością wejścia a c pewną stałą niezależną od wielkości wejścia).<br />
Niech G = 〈V, E〉 będzie grafem nieskierowanym. Przypomi<strong>na</strong>m, że kliką w G <strong>na</strong>zywamy<br />
<strong>zbiór</strong> U ⊆ V taki, że ∀x, y ∈ U {x, y} ∈ E, zaś zbiorem niezależnym w G <strong>na</strong>zywamy <strong>zbiór</strong><br />
U ⊆ V taki, że ∀x, y ∈ U {x, y} ∉ E.<br />
W poniższych dwóch zadaniach wolno korzystać ze wszystkiego, czego w czasie wykładu<br />
i ćwiczeń dowiedzieliście się o złożoności różnych wersji problemu spełnialności formuł boolowskich.<br />
Nie wolno <strong>na</strong>tomiast korzystać z <strong>zadań</strong> o złożoności problemu kliki, ani innych<br />
problemów grafowych.<br />
Zadanie 162. a. Jaka jest złożoność problemu rozstrzygnięcia, dla danego grafu G = 〈V, E〉,<br />
czy istnieje klika U ⊆ V taka, że V \ U jest zbiorem niezależnym?<br />
b. Jak zmieni się złożoność problemu z punktu a., jeżeli dodatkowo zażądamy, aby moc<br />
U była dokładnie połową mocy V ?<br />
Zadanie 163. Jaka jest złożoność problemu rozstrzygnięcia, dla danego grafu G = 〈V, E〉,<br />
czy istnieją klika U ⊆ V i <strong>zbiór</strong> niezależny Y ⊆ V , oba o mocy nie mniejszej niż jed<strong>na</strong><br />
czwarta mocy V .<br />
Zadanie 164. Problem wesołego dwukolorowania zdefiniujemy w tym zadaniu <strong>na</strong>stępująco.<br />
Instancją problemu jest graf nieskierowany. Pytamy, czy da się pokolorować wierzchołki tego<br />
grafu dwoma kolorami w taki sposób, aby każdy wierzchołek miał wśród swoich sąsiadów<br />
przy<strong>na</strong>jmniej po jednym wierzchołku każdego koloru. Pokaż, że problem wesołego dwukolorowania<br />
jest NP-zupełny.<br />
Wskazówka: Wolno skorzystać z NP-zupełności problemu not-all-equal-3-SAT. Instancjami<br />
tego problemu są formuły w postaci 3-CNF, a pytamy, czy istnieje takie wartościowanie<br />
19
zmiennych, że w każdej klauzuli jest przy<strong>na</strong>jmniej jeden literał zwartościowany jako prawdziwy<br />
i przy<strong>na</strong>jmniej jeden literał zwartościowany jako fałszywy.<br />
Na planecie Nijak używa się logiki o trzech wartościach: T (prawda), F (fałsz) i M (mhm).<br />
Spójniki logiczne ∨, ∧ i ¬ są dla wartości T i F określone tak jak <strong>na</strong> Ziemi, ¬(M) = M, zaś<br />
∨ i ∧ są symetryczne i M ∨ M = M ∧ M = M, T ∨ M = T ∧ M = T i F ∨ M = F ∧ M = F .<br />
Definicje postaci CNF, 2CNF itd. są <strong>na</strong> Nijak takie same jak <strong>na</strong> Ziemi. Podobnie, formuła<br />
jest <strong>na</strong> Nijak spełnial<strong>na</strong> jeśli istnieje wartościowanie zmiennych przy którym ma o<strong>na</strong> wartość<br />
logiczną T .<br />
Zadanie 165. Jaka jest <strong>na</strong> Nijak złożoność problemu spełnialności formuł w postaci 2CNF?<br />
Zadanie 166. Jaka jest <strong>na</strong> Nijak złożoność problemu spełnialności formuł w postaci 3CNF?<br />
W zadaniu tym zakładamy, że literałami są zmienne, negacje zmiennych, oraz stałe T,F i M.<br />
Zadanie 167. Jaka jest <strong>na</strong> Nijak złożoność problemu spełnialności formuł w postaci 3CNF?<br />
W zadaniu tym zakładamy, że literałami są zmienne i negacje zmiennych, ale nie są nimi<br />
stałe T,F i M.<br />
Zadanie 168. Jaka jest złożoność problemu rozstrzygnięcia, dla danej formuły w postaci<br />
2CNF, czy istnieje wartościowanie spełniające przy<strong>na</strong>jmniej 3/4 wszystkich klauzul w tej<br />
formule?<br />
Zadanie 169. Jaka jest złożoność problemu rozstrzygnięcia, dla danej formuły w postaci<br />
2CNF, czy istnieje wartościowanie spełniające przy<strong>na</strong>jmniej 3/4 spośród pierwszych stu<br />
klauzul w tej formule, oraz wszystkie pozostałe?<br />
Zadanie 170. Melmażelon z planety Melmak umie odpowiedzieć, zawsze zgodnie z prawdą,<br />
<strong>na</strong> jedno pytanie o spełnialność formuły boolowskiej. Dokładniej mówiąc, melmażelon pożera<br />
formułę, po czym, jeśli formuła jest spełnial<strong>na</strong> to robi się cały seledynowy, zaś jeśli jest<br />
niespełnial<strong>na</strong> robi się cały pomarańczowy. Po czym, w obu przypadkach, rusza tak śmiesznie<br />
łapkami i zaraz zdycha.<br />
Oz<strong>na</strong>czmy przez PTIME M klasę problemów, które moż<strong>na</strong> rozwiązać w deterministycznym<br />
czasie wielomianowym kosztem jednego melmażelo<strong>na</strong>. To z<strong>na</strong>czy takich problemów, dla<br />
których istnieje wielomianowy algorytm, działający w czasie wielomianowym, zadający, w<br />
trakcie swojego działania, co <strong>na</strong>jwyżej jedno pytanie do melmależo<strong>na</strong> o spełnialność jakiejś<br />
formuły, i uzależniający dalsze działanie od odpowiedzi <strong>na</strong> to pytanie.<br />
Czy PTIME M = NP∪ co-NP? Zakładamy, że co-NP≠ NP ≠ PTIME.<br />
Zadanie 171. Instancją problemu NAE-SAT (Not All Equal SAT) jest formuła boolowska<br />
w postaci 3CNF. Formuła <strong>na</strong>leży do NAE-SAT jeśli istnieje wartościowanie zmiennych, przy<br />
którym każda z klauzul jest spełnio<strong>na</strong>, ale w każdej jest przy<strong>na</strong>jmniej jeden fałszywy literał.<br />
Pokaż, że 3COL P NAE-SAT.<br />
Zadanie 172. Jaka jest złożoność problemu istnienia takiego kolorowania wierzchołków<br />
danego nieskierowanego grafu G dwoma kolorami, przy którym nie powstaje żaden trójkąt o<br />
wszystkich trzech wierzchołkach tego samego koloru? Przez trójkąt rozumiemy tu 3-klikę w<br />
grafie G.<br />
Zadanie 173. Czy odpowiedź <strong>na</strong> pytanie z poprzedniego zadania zmieni się, jeśli ograniczymy<br />
się do instancji problemu będącymi grafami 4-kolorowalnymi ?<br />
20
13 O teoretycznych kłopotach kryptografii<br />
Zadanie 174. (za 2 punkty) Funkcja różnowartościowa f : N → N i taka, że dla każdego n<br />
zachodzi |n| = |f(n)| jest jednostron<strong>na</strong> jeśli istnieje wielomianowy algorytm obliczający f,<br />
ale nie ma wielomianowego algorytmu obliczającego f −1 . Pokaż, że jeśli istnieje jakaś funkcja<br />
jednostron<strong>na</strong> to NP ∩ co-NP ≠ PTIME.<br />
Wskazówka: Rozważ <strong>zbiór</strong> {〈x, y〉 : f −1 (x) < y}<br />
14 Problemy być może nie <strong>na</strong>leżące do klasy NP<br />
Zadanie 175. Grę w kompromis definiujemy, <strong>na</strong> potrzeby tego zadania, <strong>na</strong>stępująco. Planszę<br />
do gry stanowi skierowany graf dwudzielny 〈V, E〉 (gdzie V = L ∪ P jest podziałem V<br />
wynikającym z dwudzielności grafu; zakładamy po<strong>na</strong>dto, że minimalny stopień wyjściowy<br />
wierzchołka jest 2), z wyróżnionym wierzchołkiem c 0 ∈ L zwanym początkowym, i ze<br />
zbiorem W ⊆ L, zwanym zbiorem pozycji wygrywających. W kompromis grają dwaj gracze,<br />
L i P, wykonujący ruchy <strong>na</strong> przemian.<br />
Protokół ruchu gracza L jest <strong>na</strong>stępujący. Zastaje on planszę z kamieniem umieszczonym<br />
w jakimś wierzchołku s ∈ L. Następnie wybiera dwa różne wierzchołki t 1 , t 2 ∈ P takie,<br />
że zachodzi E(s, t 1 ) i E(s, t 2 ) i mówi: wybierz sobie bracie, gdzie chcesz bym się ruszył.<br />
Jego przeciwnik wybiera jeden spośród wierzchołków t 1 , t 2 , a gracz L przesuwa tam kamień.<br />
Protokół ruchu gracza P jest a<strong>na</strong>logiczny, z tym że zamienione są role zbiorów P i L.<br />
Na początku gry kamień leży w c 0 , zatem pierwszy ruch wykonuje gracz L. Gra kończy<br />
się zwycięstwem gracza P gdy uda mu się postawić kamień w wierzchołku <strong>na</strong>leżącym do W .<br />
Gra kończy się zwycięstwem gracza L jeśli gracz P nie wygra w ciągu 2|V | ruchów.<br />
Jaka jest złożoność problemu rozstrzygnięcia, dla danej planszy do gry w kompromis,<br />
który z graczy ma w niej strategię wygrywającą?<br />
Wskazówka: The owls are not what they seem.<br />
Zadanie 176. Udowodnij, że problem, czy dane wyrażenie regularne opisuje wszystkie słowa<br />
<strong>na</strong>d danym alfabetem, jest w PSPACE.<br />
Zadanie 177. (za 3 punkty) Instancja Gry w Kamienie to: skończony <strong>zbiór</strong> X (zwany<br />
zbiorem pól), relacja R ⊆ X 3 , <strong>zbiór</strong> Y ⊆ X i element f ∈ X.<br />
Grę toczą dwaj gracze wykonujący <strong>na</strong> przemian ruchy. Przed każdym ruchem <strong>na</strong> niektórych<br />
polach ze zbioru X z<strong>na</strong>jdują się kamienie: przed pierwszym ruchem pierwszego gracza<br />
mamy po jednym kamieniu w każdym polu zbioru Y , który to <strong>zbiór</strong> wyz<strong>na</strong>cza w ten sposób<br />
pozycję początkową w grze. W swoim ruchu każdy z graczy przesuwa jeden kamień zgodnie z<br />
regułą, że jeśli zachodzi R(x, y, z) oraz w x i y są kamienie, a w z nie ma kamienia, to wolno<br />
przesunąć kamień z x do z. Wygrywa ten, kto pierwszy postawi kamień w f.<br />
Jaka jest złożoność problemu: da<strong>na</strong> instancja gry w kamienie, czy gracz pierwszy ma<br />
strategie wygrywającą?<br />
Zadanie 178. Udowodnij, że problem rozstrzygania prawdziwości formuł o postaci<br />
∃!x 1 ∃!x 2 . . . ∃!x n φ<br />
jest w PSPACE. Zmienne x 1 , x 2 , . . . , x l przebiegają tu <strong>zbiór</strong> {0, 1, 2}. Kwantyfikator ∃! oz<strong>na</strong>cza<br />
istnieje dokładnie jeden, zaś φ jest formułą bez kwantyfikatorów z n zmiennymi x 1 ,<br />
x 2 . . .,x n , zbudowaną przy pomocy spójników boolowskich i symboli arytmetyki modulo 3,<br />
to z<strong>na</strong>czy symboli dodawania i mnożenia modulo 3, symbolu równości i stałych {0, 1, 2}.<br />
Zadanie 179. Jaka jest złożoność problemu istnienia, dla danej formuły boolowskiej φ w<br />
postaci 2CNF wartościowania spełniającego φ i przyporządkowującego wartość logiczną 1<br />
przy<strong>na</strong>jmniej trzem spośród zmiennych występujących w φ?<br />
21
Zadanie 180. (za 2 punkty) Udowodnij, że są języki rekurencyjne, które nie są w PSPACE.<br />
Zadanie 181. Udowodnij, że problem sprawdzenia prawdziwości formuł o postaci<br />
Q 1 x 1 Q 2 x 2 . . . Q n x n φ(x 1 , x 2 , . . . , x n )<br />
gdzie każdy Q i to albo ∃!, oz<strong>na</strong>czający istnieje dokładnie jeden, albo ∃ (czyli istnieje), albo<br />
∀ (czyli dla każdego), zaś φ jest fromułą boolowską, jest PSPACE-zupełny.<br />
Tematem kolejnych czterech pięknych <strong>zadań</strong> są Klasy alternujące.<br />
Definicja. Powiemy, że język A <strong>na</strong>leży do klasy altPTIME jeśli istnieją wielomian p i język<br />
B ∈ P T IME takie, że zachodzi równoważność:<br />
w ∈ A wtedy i tylko wtedy, gdy gracz pierwszy ma strategię wygrywającą w opisanej<br />
poniżej grze Gra(w, p, B)<br />
Gra(w, p, B) ma <strong>na</strong>stępujące reguły. Zaczy<strong>na</strong> się od <strong>na</strong>pisania <strong>na</strong> taśmie słowa s 1 = w#.<br />
Następnie, w rundzie i-tej, <strong>na</strong>jpierw gracz pierwszy dopisuje do aktualnie zapisanego słowa s i<br />
wybrany przez siebie sufiks w i # a <strong>na</strong>stępnie gracz drugi dopisuje do s i w i # pewien wybrany<br />
przez siebie sufiks v i #, tworząc w ten sposób słowo s i+1 . Żąda się przy tym aby długości<br />
w i i v i były obie równe p(n), gdzie n jest długością słowa w. Gracz pierwszy wygrywa gdy<br />
s p(n) ∈ B.<br />
Zadanie 182. (za 2 punkty) Udowodnij, że altPTIME=PSPACE.<br />
Definicja. Powiemy, że język A <strong>na</strong>leży do klasy altPSPACE jeśli istnieją wielomian p oraz<br />
języki B, C ∈ P T IME takie, że zachodzi równoważność:<br />
w ∈ A w.t.w. gdy gracz pierwszy ma strategię wygrywającą w opisanej poniżej grze<br />
Gra2(w, p, B, C).<br />
Gra2(w, p, B, C) ma <strong>na</strong>stępujące reguły. Zaczy<strong>na</strong> się od <strong>na</strong>pisania <strong>na</strong> taśmie słowa w#.<br />
Następnie, w pierwszej rundzie, <strong>na</strong>jpierw gracz pierwszy dopisuje do w# wybrany przez<br />
siebie sufiks w 1 # tworząc w ten sposób t 1 = w#w 1 #, a <strong>na</strong>stępnie gracz drugi dopisuje do<br />
t 1 pewien wybrany przez siebie sufiks v 1 #, tworząc w ten sposób słowo s 1 . W i-tej rundzie<br />
<strong>na</strong>jpierw gracz pierwszy wymazuje z taśmy słowo w i−1 zastępując je wybranym przez siebie<br />
w i (powstałe w ten sposób słowo <strong>na</strong>zywamy t i ), a <strong>na</strong>stępnie drugi gracz wymazuje z taśmy<br />
słowo v i−1 zastępując je przez v i . Powstałe słowo (równe w#w i #v i ) oz<strong>na</strong>czamy przez s i .<br />
Żąda się przy tym aby długości w i i v i były obie równe p(n), gdzie n jest długością słowa w.<br />
Gra kończy się porażką pierwszego gracza, gdy w którejś rundzie pojawi się słowo t i takie,<br />
że t i /∈ B. Gra kończy się porażką drugiego gracza, gdy w którejś rundzie pojawi się słowo<br />
s i takie że s i /∈ C.<br />
Zadanie 183. Udowodnij, że jeśli któryś z uczestników ma strategię wygrywającą w grze<br />
Gra2(w, p, B, C), to może doprowadzić do zwycięstwa nie dalej, niż po wykładniczej względem<br />
długości w liczbie rund.<br />
Zadanie 184. (za 2 punkty) Udowodnij, że altP SP ACE ⊆ EXP T IME<br />
Zadanie 185. (za 3 punkty) Udowodnij, że EXP T IME ⊆ altP SP ACE<br />
Zadanie 186. Wyobraźmy sobie prostokątną tabelkę o 17 wierszach i 5 kolum<strong>na</strong>ch, w każde<br />
pole której wolno wpisać 0 lub 1. Po<strong>na</strong>dto wyobraźmy sobie formułę zdaniową KROK, w<br />
której występuje 10 zmiennych.<br />
Mówimy, że tabelka jest poprawnie wypełnio<strong>na</strong> jeśli dla każdych kolejnych dwóch wierszy<br />
a 1 a 2 a 3 a 4 a 5 i b 1 b 2 b 3 b 4 b 5 zachodzi:<br />
KROK(a 1 , a 2 , a 3 , a 4 , a 5 , b 1 , b 2 , b 3 , b 4 , b 5 ).<br />
22
Niech k 1 k 2 k 3 k 4 k 5 i m 1 m 2 m 3 m 4 m 5 będą dwoma ustalonymi ciągami zerojedynkowymi. Napisz<br />
QBF mówiącą, że moż<strong>na</strong> poprawnie wypełnić <strong>na</strong>szą tabelkę zerami i jedynkami w taki<br />
sposób, że w pierwszym wierszu jest k 1 k 2 k 3 k 4 k 5 w ostatnim zaś m 1 m 2 m 3 m 4 m 5 . Formuła nie<br />
może zawierać więcej niż 45 zmiennych (nie liczymy m 1 . . . m 5 i k 1 . . . k 5 - to nie są zmienne).<br />
Oczywiście szuka<strong>na</strong> QBF będzie zawierała pewną liczbę wystąpień podformuły KROK.<br />
Przez QBF rozumiemy tu formułę zdaniową o k zmiennych, poprzedzoną k kwantyfikatorami<br />
wiążącymi te zmienne. To z<strong>na</strong>czy ∀p∃q (p ∨ q) ∧ (¬p ∨ q) jest QBF a ∀p [(∃q (p ∨ q)) ∧<br />
(∃q (¬p ∨ q))] nie jest.<br />
Zadanie 187. Napisz formułę rachunku predykatów mówiącą, że w danym grafie 〈V, R〉 istnieje<br />
ścieżka prowadząca z danego wierzchołka c do danego wierzchołka k złożo<strong>na</strong> z dokładnie<br />
16 krawędzi. Formuła ta ma mieć przy tym nie więcej niż 10 wystąpień kwantyfikatorów.<br />
Przez formułę rachunku predykatów rozumiemy tu formułę, w której używa się kwantyfikatorów<br />
wiążących zmienne przebiegające <strong>zbiór</strong> V , symbolu relacji R, symbolu równości,<br />
<strong>na</strong>wiasów i spójników logicznych.<br />
Wyjaśnienie: Formuła: ∃x 1 ∃x 2 . . . ∃x 15 R(c, x 1 )∧R(x 1 , x 2 )∧. . .∧R(x 15 , k) spełnia wszelkie<br />
wymogi zadania, oprócz tego, że ma 15 kwantyfikatorów.<br />
Zadanie 188. Dla danej formuły φ zbudowanej, zgodnie ze zwykłymi regułami, ze zmiennych<br />
x 1 , x 2 , . . . , x n , y 1 , y 2 , . . . , y n , z liczb <strong>na</strong>turalnych 0, 1 i 2, ze spójników boolowskich oraz<br />
z symboli = 3 , + 3 i × 3 (rozumianych jako równość, dodawanie i mnożenie modulo 3), ale bez<br />
kwantyfikatorów, rozważmy <strong>na</strong>stępującą grę G(φ) rozgrywaną między uczestnikami X i Y.<br />
Rozgrywka składa się z n ruchów, w trakcie których zastępuje się zmienne w formule φ<br />
stałymi. W ruchu i <strong>na</strong>jpierw gracz X wybiera k ∈ {0, 1, 2} i zastępuje wszystkie wystąpienia<br />
zmiennej x i przez liczbę k, a <strong>na</strong>stępnie gracz Y wybiera l ∈ {0, 1, 2} i zastępuje wszystkie<br />
wystąpienia zmiennej y i przez liczbę l. Gracz X wygrywa, jeśli formuła bez zmiennych w jaką<br />
zmieni się φ po ostatnim ruchu gracza Y, jest prawdziwa.<br />
Niech 3GRA będzie problemem rozstrzygnięcia, dla danej formuły φ, czy gracz X ma<br />
strategię wygrywającą w grze G(φ). Udowodnij, że QBF p 3GRA.<br />
Zadanie 189. Jaka jest złożoność problemu prawdziwości kwantyfikowanych formuł boolowskich,<br />
w których są co <strong>na</strong>jwyżej dwa wystąpienia kwantyfikatora ogólnego?<br />
Zadanie 190. Jaka jest złożoność problemu rozstrzygnięcia, dla danych dwóch deterministycznych<br />
automatów skończonych M 1 i M 2 , czy język L M1 ∩ L M2 jest niepusty? (wielkością<br />
zadania jest tu łącz<strong>na</strong> liczba stanów tych automatów).<br />
Zadanie 191. Jaka jest złożoność problemu rozstrzygnięcia, dla danych deterministycznych<br />
automatów skończonych M 1 , M 2 , . . . , M k czy język L M1 ∩ L M2 ∩ . . . ∩ L Mk jest niepusty?<br />
(wielkością zadania jest tu łącz<strong>na</strong> liczba stanów tych automatów).<br />
Przykład Problemu Rozkładu Jazdy Pociągów TLK (w skrócie Problemu TLK) będą<br />
stanowiły, w trzech kolejnych zadaniach, acykliczny graf skierowany G = 〈V, E〉 (elementy V<br />
<strong>na</strong>zywamy stacjami), liczba <strong>na</strong>tural<strong>na</strong> n, ciąg s 1 , s 2 . . . s m parami różnych elementów V oraz<br />
ciąg t 1 , t 2 . . . t l parami różnych elementów V , gdzie l m. O takim przykładzie powiemy, że<br />
zawiera l pociągów TLK i m − l pociągów Intercity (IC).<br />
Przykład problemu TLK ma rozwiązanie, jeśli niezależnie od zachowania pociągów Intercity,<br />
wszystkie pociągi TLK mogą, po nie więcej niż n jednostkach czasu, zakończyć bieg <strong>na</strong><br />
swoich stacjach docelowych 3 .<br />
Ruch pociągów obu kompanii regulują przy tym <strong>na</strong>stępujące reguły:<br />
• Pociągi o numerach 1, 2, . . . l <strong>na</strong>leżą do TLK, zaś pociągi o numerach l + 1, l + 2, . . . m<br />
do IC.<br />
3 Zadania o problemie TLK wymyśliłem w czasie sześciogodzinnej podróży pociagiem TLK z Krakowa do<br />
Warszawy.<br />
23