Wyk lad 2: Algorytmy heurystyczne Nguyen Hung Son son@mimuw.edu.pl Streszczenie Page 1 of 21
Page 2 of 21 1. Algorytmy aproksymacji Przyk lad: Problem szeregowania zadań: Dane: n zadań wraz z czasem ich realizacji, m identycznych maszyn. Problem: Uszeregować te zadania w taki sposób, aby minimalizować okres realizacji wszystkich zadań. Przyk lad rozwiazania: Algorytm List scheduling : Idea: Wybierz kolejne zadanie z listy zadań i uszereguj go do pierwszej wolnej maszyny. Czy ten algorytm jest dobry?
Page 3 of 21 PROBLEM: Co zrobić z problemami, które sa NP-trudne? Zak ladajac, że instancje sa losowo generowane, oszacuj óczekiwany wynik. Np. ścieżka Hamiltona w grafach. Problem: jak ustalić w laściwy rozk lad prawdopodobieństwa? Wykonaj algorytm nad-wielomianowy z nadzieja, że czasem skończy on w rozsadnym czasie. Używaj jakiegoś algorytmu heurystycznego + pokaż, że dzia la dostatecznie dobrze (pod naszym nadzorem)
Page 4 of 21 DEFINICJA PROBLEMU OPTYMALIZACJI: Dla każdej instancji I definiujemy: S(I) - zbiór możliwych rozwiazań; f : S(I) R - jakość rozwiazań; Problem maksymalizacji/minimalizacji = szukanie w S(I) rozwiazania maksymalizujacego/mimimalizuj acego funkcje f; OP T (I) = arg max σ S(I) f(σ) najlepsze rozwiazanie. Np. problem plecaku. Za lożenie techniczne: dane wejściowe i wartości funkcji f sa liczbami wymiernymi. f(σ) jest wielomianowa wzg. σ. używamy kodu binarnego do obliczenia rozmiaru problemu. dane wejściowe i wartości funkcji f s a liczbami wymiernymi. f(σ) jest wielomianowa wzg. σ. używamy kodu binarnego do obliczenia rozmiaru problemu.
Page 5 of 21 1.1. NPtrudny problem optymalizacji problem optymalizacji Π jest NP-trudny, jeśli można redukować jakiś inny, NP-trudny problem decyzyjnego do niego. czyli istnieje wielomianowa transformacja Turinga. Algorytm aproksymacji: każdy algorytm, który zwraca rozs adne rozwi azanie ; chcemy mieć dobry algorytm. Jak mierzyć?
1.2. Absolutny wsp. aproksymacji Def.: Algorytm A ma absolutny wsp. aproksymacji k, jeśli dla każdej instancji I A(I) OP T (I) k 1.3. Wzgl edny wsp. aproksymacji Def.: Algorytm A ma wzgl edny wsp. aproksymacji α, jeśli dla każdej instancji I mamy: Page 6 of 21 A(I) α OP T (I) A(I) α OP T (I) dla problemu minimalizacji dla problemu maksimalizacji
Page 7 of 21 2. Algorytmy zrandomizowane Sa to algorytmy, których dzia lania jest uzależnione od pewnych czynników losowych. Istnieja 2 typy randomizacji: Monte Carlo: typ algorytmów dajacych wynik optymalny z prawdopodobieństwem bliskim 1 (po dostatecznie d lugim czasie dzia lania); Las Vegas: typ algorytmów daj acych zawsze wynik optymalny, a randomizacja s luży jedynie przyspieszeniu algorytmu;
Page 8 of 21 2.1. Przyk lad metody Las Vegas 1. zrandomizowany QuickSort: Wybierzmy losowy element x ze zbioru S; Podzielmy S na podzbiory S 1 zawierajacy elementy mniejsze od x, i S 2 zawierajacy elementy wieksze od x; rekurencyjnie stosujemy powyższe kroki dla S 1 i S 2 uwaga: z lożoność średnia jest taka sama, jak w przypadku QuickSort, ale losowość elementu dzielacego zapobiega pojawieniu z lośliwych danych. 2. drzewo BST:
Page 9 of 21 2.2. Przyk lad metody Monte Carlo 1. Sprawdzić czy AB = C, gdzie A, B, C sa macierzami rzedu n n: Dok ladny algorytm mnożenia macierzy dzia la w czasie n 3 ; zrandomizowany algoprytm: Losowo wybierz kilka wektorów x i sprawdź, czy A(Bx) = Cx ; jeśli nie zachodzi równość, to bardzo szybko można znaleźć kontr-przyk lady! 2. Ca lkowanie: Liczymy średnia wartość funkcji w losowych punktach; 3. Problem komiwojażera: Losujemy kolejna permutacje;
3. Algorytmy aproksymacji Page 10 of 21 Źród la prawdziwej losowości: zegar systemowy; użytkownik komputera (czas naciśniecia klawisza, ruch myszki); przyrzady pomiarowe (szumy, licznik Geigera próbki promieniotwórczej) W praktyce te źród la s luża do inicjalizacji ciagów liczb pseudolosowych w generatorach programowych. Np. Generator Marsaglii (1991): x n = (x n s + x n r + c)modm gdzie c = 1 jeśli poprzednia suma przekroczy la M, c = 0 w p.p.; np. x n = (x n 2 + x n 21 + c) mod 6, okres 10 16 np. x n = (x n 22 x n 43 c) mod 2 32 5, okres 10 414
Page 11 of 21 3.1. Liczby losowe o zadanym rozk ladzie Metoda ogólna: Odwracanie dystrybuanty: Mamy generować zm. losowa X o gestości f(x). Niech F (x) bedzie dystrybuanta tego rozk ladu. Wówczas X = F 1 (u) bedzie zmienna o żadanym rozk ladzie, gdzie u jest zm. o rozk ladzie jednostajnym na przedziale [0, 1]; Metoda eliminacji: Znamy g estości f(x) na dziedzinie D, jednak nie znamy F 1. Niech M b edzie ograniczeniem górnym rozk ladu f(x); repeat u1 = random(d); u2 = random(0,m); until u2 < f(u1);
Page 12 of 21 4. Simulated Annealing: Analogia do fizyki Monte Carlo Annealing Probabilistyczna metoda wspinaczkowa Statystyczne sch lodzenie Stochastyczna relaksacja Cechy charakterystyczne: Znajduje rozsadne rozwiazanie niezależnie od punktu startowego Kontrolowany czas obliczeń Latwe w użyciu: zaczynamy od rozwi azania nie koniecznie optymalnego, a algorytm wykonuje reszt e roboty!!!
5. Algorytmy aproksymacji Page 13 of 21 Wych ladzanie: proces termiczny do otrzymania materia lu o niskim stanie energii. 2-etapowy proces: 1. Zwiekszamy temperature do maksymalnej (temp. topnienia) 2. Bardzo powoli obniżamy temperature dopóki czastki materialne rozmieszczaja sie w stanie krystalicznym. Ciecz: chaotyczny ruch czastek, wysoki stan energii wewnetrznej. Kryszta l: czastki sa uk ladane w uporzadkowanej strukturze, niski stan energetyczny Stan krystaliczny można otrzymać jeśli maks. temp. jest dostatecznie wysoka i sch lodzenie jest dostatecznie wolne. W p.p. materia l b edzie zamrożony do meta-stabilnego stanu (lokalne minimum) Szybkie sch lodzenie hartowanie stan meta-stabilny
5.1. Pierwsze pomys ly Algorytmy aproksymacji Page 14 of 21 (1953, Metropolous, Rosenbluth, Teller and Teller) Problem optymalizacji: Zbiór możliwych konfiguracji (stanów, rozwiazań) R = {k 1, k 2,..., k N } Każda konfiguracja k i ma otoczenie R i R. Funkcja kosztu C : R R +. Koszty moga być interpretowane jako energie. Zamiast C(k i ) piszemy C i. Stan k j jest akceptowany z k i z prawdopodobieństwem { 1 jeśli Cj C i 0, P accept (j, i) = wpp. e C j C i c gdzie c jest temperatura uk ladu.
Page 15 of 21 5.2. Schemat Algorytmu begin INITIALIZE(c 0,konfiguracja poczatkowa K 0 ); M := 0; repeat repeat LOSUJ now a konfiguracjȩ K j R i ; C ij = C j C i ; if ( C ij 0) then K i := K j ; ) else if (e C ij c M > random(0, 1) end then K i := K j ; until Równowaga jest prawie osi agalna c M+1 := f(c M ); M := M + 1; until Kryterium STOPU zachodzi (system zamrożony)
6. Algorytmy aproksymacji Page 16 of 21 1. Stany R = {1, 2,..., N} 2. Macierz generacji: G(c k ) = [G ij (c k )] G ij (c k ) = χ R i (j) R i = p-wo generowania j z i 3. Macierz akceptacji: A(c k ) = [A ij (c k )] { 1 jeśli Cj C i 0, A ij (c k ) = e C j C i c k wpp. 4. Stochastyczna macierz przejść: P(c k ) = [P ij (c k )] { Gij (c k ) A ij (c k ) jeśli i j, P ij (c k ) = 1 P il (c k ) wpp. l i
Page 17 of 21 6.1. Zbieżność lokalna SA Twierdzenie 1: Lańcuch Markowa o macierzy przejść [P ij (c k )] jest stacjonarny, tzn. istnieje niezależnie od j, oraz gdzie N 0 (c) = j R q i = lim k P r({x(k) = i X(0) = j}) q i (c) = 1 N 0 (c) C(i) e c e C(i) c <,
Page 18 of 21 6.2. Lańcuch Markowa Kiedy istnieje stan stacjonarny? Lemat (o istnieniu) Jeśli lańcuch Markowa o macierzy przejść [P ij (c k )] jest skończony, nieprzywiedlny, acykliczny i jednorodny to istnieje jednoznaczny rozk lad stacjonarny q = (q i ) i R Lemat Jeśli ij q i P ij = q j P ji to q = (q i ) i R jest jednoznacznym rozk ladem stacjonarnym dla LM.
6.3. Dowód zbieżności lokalnej 1. Jednorodność, skończoność... 2. Nieprzywiedlność: wynika z wyboru otoczeń. i,j R k 1 ( P k ) ij > 0 3. Jeśli lańcuch Markowa ( LM) o macierzy przejść P ij (c k ) jest nieprzywiedlny oraz ( j R P jj > 0) to LM jest acykliczny tzn i R NW D({n N {0} : (P n ) ii > 0}) = 1 Page 19 of 21 4. Wystarczy pokazać, że rozk lad q i (c) = 1 N 0 (c) C(i) e c (1) gdzie N 0 (c) = j R 2) e C(i) c <, jest stacjonarny. (wynika z lematu
Page 20 of 21 6.4. Zbieżność globalna SA Twierdzenie Algorytm Simulated Annealing jest asymptotycznie zbieżny (tzn. lim k P r({x(k) R opt}) = 1 Dowód Jeśli rozk lad stacjonarny jest określony wzorem (1) to lim q i(c k ) = lim P r({x(k) = i} c k ) = q i k k jest prawdopodobieństwem osi agania stanu i w. Wówczas q i = lim c 0 + q i(c k ) = 1 R opt χ R opt (i)
Page 21 of 21 Literatura [1] S. Kirkpatrick, C. Gelatt, Jr., and M. Vecchi, Optimization by Simulated Annealing, Science, 220, No. 4598. 498-516, May 1983. [2] N. Metropolis, A. Rosenbluth, A. Teller and E. Teller, Equation of State Calculations by Fast Computing Machines, J. Chem. Phys. 21 1087, 1953. [3] David E Goldberg, Genetic Algorithms in Search, Optimization, and Machine Learning, Addison-Wesley, 1989 [4] Emile Aarts and Jan Korst, Simulated Annealing and Boltzmann Machines, John Wiley & Sons, 1990