Ćwiczenia 12: Zadania na kolokwium.
Transkrypt
Ćwiczenia 12: Zadania na kolokwium.
Obliczalność i złożoność Zadania przygotowujące do kolokwium Prawdopodobnie większość zadań na kolokwium będzie z poniżych przykładowych zadań i ich podpunktów. Zadanie 1 Podaj słownie ideę działania deterministycznej maszyny Turinga akceptującej podany język, tak by miała pamięć ograniczoną przez O(logn) . Uzasadnij krótko, dlaczego maszyna działa z pamięcią logarytmiczną. (a) język poprawnie zagnieżdżonych nawiasów "(" oraz ")" np. słowa (), (()), ()(), ((())())() (b) L = {ucuv : u, v ∈ {a, b}+ } nad alfabetem {a, b, c} (c) L = {ucvu : u, v ∈ {a, b}+ } nad alfabetem {a, b, c} (d) L = {wcw : w ∈ {a, b}+ } nad alfabetem {a, b, c} (e) L = {an bn cn : n ≥ 1} nad alfabetem {a, b, c} (f) L = {an bk cn dk : n, k ≥ 1} nad alfabetem {a, b, c, d} 2 (g) L = {0k : k ≥ 1} nad alfabetem {0} (h) L = {0k : k jest liczbą pierwszą} nad alfabetem {0} k (i) L = {02 : k ≥ 0} nad alfabetem {0} (j) L = {u1 #u2 #...#uk : k ≥ 1, u1 , ..., uk ∈ {0, 1}+ , pośród liczb u1 , ..., uk istnieją ui , uj takie, że ui = uj } nad alfabetem {0, 1, #} (k) L = {u1 #u2 #...#uk : k ≥ 1, u1 , ..., uk ∈ {0, 1}+ , pośród liczb u1 , ..., uk istnieją ui , uj takie, że ui = 2uj } nad alfabetem {0, 1, #} (l) L = {u1 #u2 #...#uk : k ≥ 1, u1 , ..., uk ∈ {0, 1}+ , pośród liczb u1 , ..., uk istnieją ui , uj takie, że ui = 4uj } nad alfabetem {0, 1, #} Zadanie 2 Poniżej podano zestaw języków. Zaproponuj (opis słowny) maszyny Turinga akceptujące te języki w różnych wersjach: • deterministyczną, jednotaśmową • deterministyczną, wielotaśmową • niedeterministyczną, wielotaśmową Oszacuj ich złożoność czasową. Zastanów się czy jest możliwe przyspieszenie deterministycznej maszyny jeśli dodane są kolejne taśmy. A może niedeterminizm pozwoli na maszynę o lepszej złożoności czasowej? (a) L = {xyz#y : x, y, z ∈ {a, b}+ } nad alfabetem {a, b, #} (b) L = {y#xyz : x, y, z ∈ {a, b}+ } nad alfabetem {a, b, #} 1 (c) L = {an bn cn : n ≥ 1} nad alfabetem {a, b, c} (d) L = {an bk cn dk : n, k ≥ 1} nad alfabetem {a, b, c, d} (e) L = {ww : w ∈ {a, b}∗ } nad alfabetem {a, b} (f) L = {www : w ∈ {a, b}∗ } nad alfabetem {a, b} (g) L = {0k 10l : k, l ≥ 1, k dzieli l} nad alfabetem {0, 1} (h) L = {0k 10l : k, l ≥ 1, k, l są względnie pierwsze} nad alfabetem {0, 1} 2 (i) L = {0k : k ≥ 1} nad alfabetem {0} (j) L = {0k : k jest liczbą złożoną} nad alfabetem {0} k (k) L = {02 : k ≥ 0} nad alfabetem {0} Zadanie 3 Poniżej podane są problemy. Jeśli problem jest rozstrzygalny, podaj propozycję algorytmu go rozstrzygającego (i zgrubne oszacowanie czasowe). Jeśli problem jest nierozstrzygalny, udowodnij to. (a) (b) Wejście: Pytanie: Silna Spójność graf skierowany G Czy G jest silnie spójny? Wejście: Pytanie: Własność związana z maszynami maszyna Turinga M Czy maszyna zatrzyma się w stanie akceptującym dla słowa ab na wejściu? Wejście: Pytanie: 4Coloring graf nieskierowany G Czy wierzchołki G da się pokolorować 4 kolorami tak, aby dwa o wspólnej krawędzi nie miały tego samego koloru? (d) Wejście: Pytanie: Implikacja formuł formuły boolowskie Φ1 , Φ2 Czy prawdziwa jest implikacja Φ1 ⇒ Φ2 ? (e) Wejście: Pytanie: Równoważność formuł formuły boolowskie Φ1 , Φ2 Czy formuły są równoważne (tzn. czy Φ1 ⇔ Φ2 )? (f) Wejście: Pytanie: Determinizm maszyny maszyna Turinga M Czy maszyna jest deterministyczna? (g) Wejście: Pytanie: Cykl Hamiltona graf nieskierowany G Czy G ma cykl Hamiltona? (h) Wejście: Pytanie: Własność związana z maszynami maszyna Turinga M Czy L(M ) jest nieskończony lub |L(M )| = 2k lub |L(M )| = 3k , gdzie k ≥ 0? (c) 2 Wejście: Pytanie: Niepustość przekroju 3 gramatyk CF gramatyki bezkontekstowe G1 , G2 , G3 Czy L(G1 ) ∩ L(G2 ) ∩ L(G3 ) 6= ∅? (j) Wejście: Pytanie: Uniwersalność dla gramatyki CF gramatyka bezkontekstowa G (nad alfabetem Σ) Czy L(G) = Σ∗ ? (k) Wejście: Pytanie: Regularność dla gramatyki CF gramatyka bezkontekstowa G, wyrażenie regularne R Czy L(G) = R? (l) Wejście: Pytanie: Własność związana z maszynami maszyna Turinga M Czy L(M ) ∈ Reg ∨ L(M ) ∈ / CF ? (m) Wejście: Pytanie: Własność związana z maszynami maszyna Turinga M Czy L(M ) jest skończony lub |L(M )| jest liczbą złożoną? (n) Wejście: Pytanie: Własność związana z maszynami maszyna Turinga M Czy L(M ) ∈ CF − Reg ? Wejście: Pytanie: Planarność grafu graf nieskierowany G Czy G jest planarny ? (i) (o) (p) Wejście: Pytanie: Problem podziału zbiór liczb całkowitych S Czy istnieje podział S na zbiory S1 i S2 (S = S1 ∪ S2 , S1 ∩ S2 = ∅) taki, że elementy w S1 i S2 dają taką samą sumę? Zadanie 4 Wykaż, że podany problem jest NP-zupełny. Redukcji dokonaj korzystając z NP-zupełności problemu wskazanego w dopiskach. (a) Wejście: Pytanie: Podwójna k-Klika graf nieskierowany G, liczba k Czy G ma dwie k-kliki nieposiadające wspólnych wierzchołków? Dokonaj redukcji z problemu k-Klika. Jak przetłumaczone zostaną grafy G1 =(1:2,3;2:1,3;3:1,2,4;4:3;) i G2 =(1:2,3;2:1;3:1,4;4:3;) przez funkcję redukującą? Sprawdź poprawność przyjmując k = 3. (b) Wejście: Pytanie: Cykl Hamiltona graf nieskierowany G Czy G ma cykl Hamiltona? Dokonaj redukcji z problemu "ścieżka Hamiltona" (czy dany na wejściu graf ma ściężkę Hamiltona?). Wykaż poprawność funkcji redukującej wskazując jej działanie dla kilku argumentów. (c) Wejście: Pytanie: 4SAT formuła boolowska Φ w postaci 3CNF Czy Φ jest spełnialna? 3 Dokonaj redukcji z problemu SAT. Wykaż poprawność funkcji redukującej wskazując jej działanie dla kilku argumentów. (d) Wejście: Pytanie: Independent Set graf nieskierowany G, liczba naturalna k Czy G ma zbiór niezależny wierzchołków wielkości k? Dokonaj redukcji z problemu SAT. Wykaż poprawność funkcji redukującej wskazując jej działanie dla kilku argumentów. (e) Wejście: Pytanie: Set Cover zbiór U , rodzina zbiorów A = {A1 , ..., Am }, liczba k Czy istnieje maksymalnie k zbiorów z rodziny A, S które po zsumowaniu pokryją zbiór U (tzn. U ⊂ i Ai )? Dokonaj redukcji z problemu Vertex Cover. Wykaż poprawność funkcji redukującej wskazując jej działanie dla kilku argumentów. (f) Wejście: Pytanie: 3-Coloring graf nieskierowany G Czy wierzchołki G da się pokolorować 3 kolorami tak, aby dwa o wspólnej krawędzi nie miały tego samego koloru? Dokonaj redukcji z problemu 3-SAT (wskazówki: https://www.cs.cmu.edu/ ckingsf/bioinfolectures/sat.pdf). Wykaż poprawność funkcji redukującej wskazując jej działanie dla kilku argumentów. 4