Ć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

Podobne dokumenty