22.12.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!