Zadania.

Transkrypt

Zadania.
Zaawansowane techniki algorytmiczne – Paweł Zieliński
Przykładowe zadania
1
∗
1. Pokazać, że wersja decyzyjna problemu szeregowania zadań na m identycznych, równoległych maszynach minimalizującego długość uszeregowania
Cmax , czyli P m||Cmax , jest NP-zupełna dla m = 2.
2. Rozważmy problem Max-2SAT. Jest to problem Max-SAT, w którym
klauzule w formule w postaci CNF mają co najwyżej dwa literały. Problem
Max-2SAT nie jest aproksymowalny w wielomianowym czasie lepiej niż
22/21, o ile P6=NP. Co można powiedzieć o istnieniu FPTAS i PTAS dla
tego problemu?
3. Dane jest m maszyn (liczba maszyn m ograniczona jest przez stałą), n
zadań, każde zadanie składa się z m operacji. W każdym zadaniu pierwsza operacja musi być wykonana na maszynie nr 1, druga operacja musi
być wykonana na maszynie nr 2, m-ta operacja w zadaniu musi być wykonana na maszynie nr m. Dane są również czasy wykonania operacji
na maszynach do których są przyporządkowane. Operacja i + 1 w zadaniu nie może być rozpoczęta przed ukończeniem operacji i-tej w zadaniu,
i = 1, . . . , m − 1. Operacje są niepodzielne. Problem polega na znalezieniu uszeregowania (harmonogramu), który ma minimalną długość (Cmax ).
Rozważany problem jest silnie NP-trudny dla m = 3. Podać szkic PTAS
dla rozważanego problemu (jeśli istnieje).
4. Zderandomizuj algorytm e/(e−1)-aproksymacyjny (przedstawiony na wykładzie) dla problemu maksymalnej ważonej spełnialności metodą warunkowej wartości oczekiwanej.
5. Rozważmy modyfikacje algorytm zachłannego (algorytmu GR przedstawionego na wykładzie) dla problemu dla problemu plecakowego MaxKnapsack. Niech e1 , . . . , en będzie uporządkowanym ciągiem elementów.
Znajdź najmniejszy indeks k taki, że rozmiar pierwszych k przedmiotów
będzie przekraczał b (pojemność plecaka). Wybierz korzystniejsze z dwóch
rozwiązań: {e1 , . . . , ek−1 } lub {ek } (rozmiar każdego elementu nie przekracza b). Pokaż, że modyfikacja jest algorytmem 2-aproksymacyjnym.
6. Rozważmy algorytm aproksymacyjny MC-MCF (przedstawiony na wykładzie) dla problemu minimalnego multiprzekroju w drzewach. Wykazać, że
jeśli w kroku nr 2 algorytmu MC-MCF do zbioru D będziemy dodawać jedną
z nasyconych krawędzi, a nie wszystkie, to możemy otrzymać zbiór D nie
będący multiprzekrojem.
7. Rozważmy algorytm aproksymacyjny MC-MCF (przedstawiony na wykładzie) dla problemu minimalnego multiprzekroju w drzewach. Wykazać, że
jeśli w kroku nr 3 algorytmu MC-MCF krawędzie e i e′ są elementami D i
e jest głębsza niż e′ , to e została dodana do D w tej samej iteracji, co e′
lub wcześniej.
∗
Część zadań pochodzi z książki V. Vazirani, Algorytmy Aproksymacyjne, WNT, 2005.
Zaawansowane techniki algorytmiczne – Paweł Zieliński
2
8. Pokazać, że problem komiwojażera TSP należy do klasy NPO.
9. Pokazać, że problem komiwojażera TSP jest NPO-zupełny.
10. W PTAS dla problemu Job-Shop wyznaczamy wartość C taką, że Cmin ¬
C ¬ Cmin + δPmax . Ile razy trzeba rozwiązać zagadnienie programowania
liniowego, które przyporządkowuje malutkie operacje, dla zadanego δ > 0?
11. Uzasadnić, że algorytm dla problemu Job-Shop ze stałą liczbą maszyn i
operacji w zadaniach (przedstawiony na wykładzie) jest wielomianowy.
12. Rozważmy problem najtańszego pokrycia zbioru, czyli dla danego n elementowego uniwersum U rodziny jego podzbiorów S = {S1 , . . . , Sk } oraz
kosztów wyboru podzbiorów cS , S ∈ S należy znaleźć najtańszą podrodzinę S pokrywającą U . Przykład: U = {a, b, c}, S1 = {a, b}, S2 = {b, c},
S3 = {a, c}, cS1 = 1, cS2 = 2, cS3 = 3. S1 i S2 jest pokryciem o koszcie 3.
(a) Sformułować zadanie programowania całkowitoliczbowego dla najtańszego pokrycia zbioru.
(b) Dokonać relaksacji LP rezygnując z całkowitoliczbowości zmiennych.
(c) Sformułować zadanie dualne do LP.
13. Niech f będzie częstością najczęstszego elementu w problemie najtańszego
pokrycia zbioru (zob. zadanie 12). Niech xS ∈ {0, 1}, S ∈ S, będzie zmienną binarną w zadaniu programowania całkowitoliczbowego dla problemu
najtańszego pokrycia zbioru. xS = 1 wtedy i tylko wtedy, gdy S należy
do pokrycia.
Rozważmy następujący algorytm
krok 1 Znajdź rozwiązanie optymalne relaksacji LP, 0 ¬ x∗S ¬ 1, S ∈ S.
krok 2 Wybierz podzbiory S, dla których x∗S ­ 1/f , S ∗ = {S | x∗S ­
1/f }.
krok 3 Zwróć S ∗ .
(a) Pokaż, że S ∗ jest rozwiązaniem dopuszczalnym problemu najtańszego
pokrycia zbioru.
(b) Pokaż, powyższy algorytm jest f -aproksymacyjnym algorytmem.
Wskazówka: Zobacz 2-aproksymacyjny algorytm oparty na programowaniu liniowym dla problemu minimalnego ważonego pokrycia wierzchołkowego omawiany na wykładzie (technika zaokrąglania).
14. Podać egzemplarz I problemu P 2||Cmax (dwie identyczne równoległe maszyny), dla którego algorytm LPT zwraca rozwiązanie takie, że
4
1
mLPT (I)
= −
.
∗
m (I)
3 3·2
Zaawansowane techniki algorytmiczne – Paweł Zieliński
3
15. Rozważmy modyfikację algorytm hybrydowego dla problemu maksymalnej
ważonej spełnialności:
krok 1 Przypisz bitowi b jeden z prawdopodobieństwem 1/2.
krok 2 Jeśli b = 1 znajdź wartościowanie τ za pomocą algorytmu Max-Sat 1.
Jeśli b = 0 znajdź wartościowanie τ za pomocą algorytmu Max-Sat 2.
krok 3 Zwróć τ .
Pokaż, że wartość oczekiwana wagi wartościowania zwróconego przez powyższy zmodyfikowany algorytm jest taka, że
3
E[W ] ­ OP T.
4
16. Wyjaśnij dlaczego algorytm Max-Sat 1 jest algorytmem dla dużych klauzul a algorytm Max-Sat 2 jest algorytmem dla małych.
17. Niech I będzie egzemplarzem problemu Bin Packing. Zastosujmy algorytm First Fit Decreasing do tego egzemplarza. Niech mFFD (I) będzie
oceną rozwiązania (liczbą kubełków).
Rozważmy k-ty kubełek w rozwiązaniu, gdzie k = ⌈α mFFD (I)⌉, 0 < α < 1.
Pokazać, że jeśli k-ty kubełek zawiera element o rozmiarze > 1/2, to dla
tego rozwiązania spełniona jest nierówność:
mFFD (I) ¬
1 ∗
m (I).
α
18. Rozważmy problem P m||Cmax oraz egzemplarz problemu I, w którym
pmin > m∗ (I)/3. Pokazać, że w optymalnym uszeregowaniu co najwyżej
dwie prace przydzielone są do każdej maszyny.
19. ...

Podobne dokumenty