Egzamin z Algorytmiki, 24.06.2017 Część II: zadania
W rozwiązaniach można się powoływać jedynie na twierdzenia / algorytmy sformułowane na wykła- dzie lub ćwiczeniach. W szczególności dotyczy to NP-zupełności problemów wymienionych na drugiej stronie. Każde zadanie oddajemy na osobnej kartce.
Zadanie 1 [10 pkt.] Jako autokrata, chcesz kontrolować pewną grupę ludzi V . Niektórym członkom tej grupy chcesz założyć podsłuch. W tej grupie ludzi przewodzą Alicja i Bob; oni mają dobrze zabezpieczone domy, im podsłuchu założyć nie można, ale każdemu innemu członkowi grupy można założyć podsłuch. Zbiór E zawiera wszystkie pary osób, które się znają. Podzbiór R ⊆ E zawiera pary osób, które mają ze sobą romans; romanse są tylko między kobietą i mężczyzną, ale jedna osoba może mieć wiele romansów. Mając dany graf G = (V, E), wyróżnione wierzchołki a (Alicja) i b (Bob), oraz zbiór R ⊆ E chcesz wyznaczyć najmniejszy zbiór osób, którym należy założyć podsłuchy tak, by (a) każda informacja przekazywana między Alicją i Bobem łańcuchem znających się osób była pod-
słuchana
(b) w każdej parze która ma romans, choć jedna osoba była podsłuchiwana.
Zaproponuj algorytm aproksymacyjny dla powyższego problemu. Uzasadnij jego poprawność, przepro- wadź analizę współczynnika aproksymacji i złożoności czasowej.
Do uzyskania maksymalnej liczby punktów wystarczy 2-aproksymacja.
Zadanie 2 [10 pkt.] Dowolny wierzchołek v i trzech jego sąsiadów x1, x2, x3 tworzą pazur w grafie G, gdy {x1, x2, x3} jest zbiorem niezależnym w G. Udowodnij, że następujący problem jest NP-zupełny.
Claw-Free Deletion
Wejście: Graf nieskierowany G = (V, E) i liczba k ∈ N
Pytanie: Czy istnieje zbiór k wierzchołków S taki, że G − S nie zawiera pazurów?
Zadanie 3 [10+5 pkt.] Dany jest graf nieskierowany G = (V, E) oraz liczby naturalne k i `. Należy stwierdzić, czy istnieje ścieżka k-wierzchołkowa P taka, że co najwyżej ` wierzchołków z V \ V (P ) sąsiaduje z wierzchołkami P . Parametrem jest liczba p = k + `. Podaj algorytm parametryzowany dla tego problemu (może być randomizowany Monte-Carlo).
Złożoność algorytmu ma wpływ na ocenę, ale dowolny algorytm parametryzowany (z uzasadnieniem poprawności i analizą złożoności) otrzymuje 10 pkt.
Powodzenia!
3-SAT
Wejście: Formuła logiczna φ w postacji 3-CNF Pytanie: Czy φ jest spełnialna?
Set Cover
Wejście: Rodzina zbiorów S1, . . . , Sm oraz liczba k ∈ N
Pytanie: Czy istnieją liczby 1 ≤ i1 < i2 <
· · · < ik ≤ m takie żeSk
j=1Sij =Sm j=1Sj
Independent Set
Wejście: Graf nieskierowany G i liczba k ∈ N Pytanie: Czy G zawiera zbiór niezależny roz- miaru k?
Clique
Wejście: Graf nieskierowany G i liczba k ∈ N Pytanie: Czy G zawiera klikę rozmiaru k?
Vertex Cover
Wejście: Graf nieskierowany G i liczba k ∈ N Pytanie: Czy G zawiera pokrycie wierzchoł- kowe rozmiaru k?
Hamiltonian Cycle
Wejście: Graf nieskierowany G
Pytanie: Czy G zawiera cykl Hamiltona?
Subgraph Isomorphism
Wejście: Grafy nieskierowane G i H
Pytanie: Czy G zawiera podgraf izomorficzny z H?
Subset Sum
Wejście: Zbiór liczb naturalnych S oraz b ∈ N Pytanie: Czy S zawiera podzbiór o sumie b?
Set Partition
Wejście: Zbiór liczb naturalnych S
Pytanie: Czy S można podzielić na dwa pod- zbiory o równych sumach?
Knapsack
Wejście: n przedmiotów: i-ty przedmiot o war- tości pi ∈ N oraz rozmiarze si ∈ N; rozmiar ple- caka B ∈ N; liczba P ∈ N
Pytanie: Czy można spośród danych przedmio- tów wybrać podzbiór, który mieści się w plecaku i ma całkowitą wartość co najmniej P ?
Integer Linear Programming
Wejście: Układ nierówności liniowych o n zmiennych
Pytanie: Czy układ jest niesprzeczny w dzie- dzinie liczb całkowitych?