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