Algorytmy metaheurystyczne Wykład 5 Piotr Syga 03.04.2017
Wprowadzenie Inspiracje Metalurgia wyżarzanie: proces zwiększający ciągliwość metalu i zmniejszający jego twardość, by ułatwić obróbkę Algorytm Metropolisa algorytm typu Monte Carlo, wybierający kolejnego kandydata na podstawie wcześniej zaakceptowanego
Wprowadzenie SA idea 1 Wybieramy początkową temperaturę T = T 0 oraz (losowe) rozwiązanie x 0 2 Do czasu znalezienia dość dobrego rozwiązania lub osiągnięcia T = 0: wybieramy sąsiada x poprzez niewielką perturbację zmiennych decydujemy się czy przejść do x decydujemy o zmniejszeniu temperatury T
Wprowadzenie Wchodząc w szczegóły Cecha wyróżniająca dopuszczamy gorsze rozwiązania W przeciwieństwie do wcześniejszych podejść typu LS, do każdego z testowanych rozwiązań sąsiednich przechodzimy z pewnym prawdopodobieństwem: dużym (np. 1 lub wariacja wzoru poniżej) jeśli nowe rozwiązanie jest lepsze mniejszym, w p.p. p = 1 1+e f T (często upraszczanym do e f T )
Wprowadzenie Ekspansja vs. eksploracja wartości T
Wprowadzenie Wychładzanie równowaga termodynamiczna Wniosek Wysoka temperatura sprzyja ekspansji, do czasu znalezienia lokalnego optimum, stopniowe wychładzanie zwiększa wpływ różnicy jakości rozwiązań f. W metalurgii wychładzanie jest na tyle wolne, by układ cały czas znajdował się w równowadze termodynamicznej (min E in TH). Jaki dobrać odpowiednik równowagi w symulowanym wyżarzaniu?
Wprowadzenie Skutki zbyt szybkiego wychłodzenia W metalurgii: W symulowanym wyżarzaniu: Utkniemy w lokalnym optimum
Wprowadzenie Parametry definicja i rozmiar sąsiedztwa (perturbacja zmiennych) temperatura początkowa prawdopodobieństwo przejścia tempo redukcji temperatury redukcja w każdym kroku czy po spełnieniu warunku warunek redukcji temperatury predeterminowany czy adaptatywny jaką dobrać temperaturę końcową warunek końcowy
Przykłady Dopasowanie konturu
Przykłady TSP Algorithm 1 SA for TSP 1: T T 0 2: red_factor c 3: x 0 R S 4: while T > 0 do 5: losuj transpozycję t 6: x x 0 t 7: f (f (x 0 ) f (x )) 8: r R (0, 1) 9: if p( f, T ) > r then 10: x 0 x 11: T (1 red_factor) T
Przykłady TSP wyniki Przykładowe wykonania dla n = 15. Tempo redukcji\t 0 5000 5000(b) 1000 1000(b) 0.1 1355 927 1472 885 1483 744 1438 903 0.05 1367 896 1192 853 1407 801 1375 780 0.01 1480 789 1596 718 1387 709 1541 846 0.005 1522 680 1214 713 1234 735 1554 685 Optimum globalne: 612
Wyżarzanie kwantowe Chronologia Pomysł 98 Kadowaki, Nishimori Quantum annealing in the transverse Ising model Pierwsze testy 11 D-Wave testuje pierwszy układ QA (128 qubit) Pełne testy 13 układ kwantowy dostosowany do QA (108qubit) Quantum annealing with more than one hundred qubits Raport porównujący QA z SA 15 What is the Computational Value of Finite Range Tunneling?
Wyżarzanie kwantowe Idea korzystamy z pewnych własności obliczeń kwantowych (np. rozpoczynamy w superpozycji wszystkich możliwych rozwiązań) zamiast zmiennego prawdopodobieństwa przejścia, zmieniamy amplitudy wszystkich stanów wykorzystanie fluktuacji kwantowych zamiast temperatury zmiany stanu systemu zgodne z równaniem Schrödingera i t Ψ(r, t) = ĤΨ(r, t)
Wyżarzanie kwantowe Zysk Przyspieszenie Ze względu na superpozycję stanów (rozwiązań), sprawdzenie całej przestrzeni odbywa się szybciej (cf. raport). Ucieczka z lokalnych optimów W podejściu klasycznym prawdopodobieństwo przejścia do gorszego rozwiązania było proporcjonalne do e f T, w QA prawdopodobieństwo f w przejścia proporcjonalne do e Γ, dla szerokości piku w oraz Γ wsp. przenikania pola tunelującego.
Wyżarzanie kwantowe Google Talks QA z przykładami w biologii H. Nishimori- Theory of Quantum Annealing QA vs SA