Home Page Title Page JJ II J I Page1of25 Go Back Full Screen Close Quit
Wykład 2
Heurystyki lokalnych ulepszeń
Home Page Title Page JJ II J I Page2of25 Go Back Full Screen Close Quit
Jak skonstruować
generator rozwiązań?
• Specyficzny generator dla specyficznej klasy funkcji (problemów) • Rozpoznanie i wykorzystanie strukturalnych regularności,
cha-rakteryzujących tę klasę
• Trzy etapy konstrukcji:
– wprowadzenie (odkrycie) struktury w zbiorze rozwiązań (sąsiedztwo, podobieństwo, pokrewieństwo, odległość)
– powiązanie zależności strukturalnych z ilościowymi (określenie rodzaju
regularności)
– sformułowanie strategii heurystycznego przeszukiwania wykorzystującej
hipotetyczne regularności
• Uwaga: trzeba pamiętać, że nasze hipotezy będą często zawod-ne; inaczej moglibyśmy je sformułować w postaci twierdzenia i
Home Page Title Page JJ II J I Page3of25 Go Back Full Screen Close Quit
Sąsiedztwo,
przekształcenia modyfikujące
• Podejście strukturalne: rozkład rozwiązania na komponenty • Odległość rozwiązań: liczba „różnic”
• Sąsiedztwo rozwiązania x:
N (x) = {y ∈ S : d(x, y) = 1}
• Podejście operacyjne: przekształcenia generujące sąsiedztwo
(przekształcenia modyfikujące, ruchy, mutacje) Φ = {φi : S → S, i ∈ I} • Sąsiedztwo rozwiązania x:
Home Page Title Page JJ II J I Page4of25 Go Back Full Screen Close Quit
Iterowane
przeszukiwanie lokalne — idea
• Ogólna koncepcja:
– „punkt wypadowy” i penetracja sąsiedztwa
– podążanie za „tropem”, zmiana punktu wypadowego • Schemat formalny pojedynczej „rundy” algorytmu
(heurystyka przeszukiwania z ograniczoną pamięcią)
xb, yb ↓ z }| { x0, x1, . . . , xk y0, y1, . . . , yk | {z } ↓ x0b, yb0 (xb, x 0 b — rozwiązania bieżące)
• Sposób wyboru nowego rozwiązania bieżącego określa reguła selekcji
Home Page Title Page JJ II J I Page5of25 Go Back Full Screen Close Quit
Iterowane
przeszukiwanie lokalne — opis
• Wybieramy rozwiązanie początkowe, które staje się rozwiąza-niem bieżącym
• Generujemy pewną liczbę rozwiązań z sąsiedztwa rozwiązania
bieżącego i spośród nich wybieramy kolejne rozwiązanie bieżące
• Powtarzamy ostatni krok pewną liczbę razy, zapamiętując za
każdym razem najlepsze otrzymane rozwiązanie
• Jako wynik (aproksymację optimum) przyjmujemy najlepsze
za-pamiętane rozwiązanie, czyli
xopt(K) = optf{x0, x1, . . . , xK}
Home Page Title Page JJ II J I Page6of25 Go Back Full Screen Close Quit
Schemat działania
Home Page Title Page JJ II J I Page7of25 Go Back Full Screen Close Quit
Heurystyki lokalnych ulepszeń
• Jak rozpoznawać „trop” (tzn. jak wybierać nowe rozwiązanie
bieżące)?
– jak zapewnić, żeby rozwiązania bieżące nie powtarzały się, unikając ich
rejestracji?
– jak zapewnić, żeby ciąg rozwiązań bieżących zmierzał do rozwiązania
optymalnego?
• Pomysł: metoda dojścia na szczyt we mgle — iść stale pod górę • Realizacja: monotoniczna reguła selekcji – podstawa heurystyki
lokalnych ulepszeń
• Formalnie: heurystyka iterowanego przeszukiwania lokalnego jest
heurystyką lokalnych ulepszeń, jeżeli w każdej iteracji rozwiąza-nie bieżące albo zostaje ulepszone, albo rozwiąza-nie ulega zmiarozwiąza-nie
Home Page Title Page JJ II J I Page8of25 Go Back Full Screen Close Quit
Konsekwencje selekcji monotonicznej
• Co zyskujemy (lub tracimy)?
– pierwszy problem rozwiązany całkowicie
– drugi problem rozwiązany częściowo i niezadowalająco:
pułapka lokalnych szczytów = degeneracja algorytmu!
• Formalnym odpowiednikiem „lokalnego szczytu” jest pojęcie optimum lokalnego: rozwiązanie x jest optimum lokalnym, jeśli
w jego sąsiedztwie N (x) nie istnieje rozwiązanie lepsze
• Wniosek:
Metoda wspinaczki działa, jeśli jest tylko jeden szczyt; w przeciwnym przypadku może się załamać
• Uwaga: „Teren równinny” (plateau) w „krajobrazie”
Home Page Title Page JJ II J I Page9of25 Go Back Full Screen Close Quit
Deterministyczne reguły selekcji
• Notacja: R(x, f, Φ), gdzie
x: rozwiązanie bieżące f : funkcja oceny
Φ: rodzina przekształceń modyfikujących
• SAHC (Steepest Ascent Hill Climbing):
R(x, f, Φ) := najlepsze (ze względu na f ) rozwiązanie w ciągu x, φ1(x), . . . , φ|I|(x)
(w przypadku niejednoznaczności: pierwsze z nich)
• NAHC (Next Ascent Hill Climbing):
R(x, f, Φ) := pierwsze (o ile istnieje) rozwiązanie w ciągu φ1(x), . . . , φ|I|(x)
Home Page Title Page JJ II J I Page10of25 Go Back Full Screen Close Quit
Zrandomizowane heurystyki
lokalnych ulepszeń
• Zrandomizowany generator rozwiązań: wybór losowego
rozwią-zania z sąsiedztwa rozwiąrozwią-zania bieżącego
• Prosta realizacja: operator modyfikacji φξ, gdzie
ξ — zmienna losowa o wartościach ze zbioru indeksowego I
(Inaczej mówiąc, za każdym razem losujemy jedno z przekształceń modyfi-kujących z rodziny Φ)1
• Reguła selekcji redukuje się do reguły akceptacji: przyjąć lub
odrzucić nowe rozwiązanie
• Konieczne jest zewnętrzne kryterium zatrzymania (niemożność sprawdzenia, czy wyczerpano wszystkie elementy sąsiedztwa)
1 Uwaga terminologiczna: Operatorem będziemy tu nazywać losowe przekształ-cenie z danej rodziny przekształceń
Home Page Title Page JJ II J I Page11of25 Go Back Full Screen Close Quit
Formalizacja
• Relacje „porządku jakościowego”: – porządek rosnący
x0 ≺f x00 ≡
(
f (x0) < f (x00) (maksymalizacja)
f (x0) > f (x00) (minimalizacja) (czytamy: x0 jest gorsze niż x00 ze względu na f )
– porządek malejący
x0 f x00 ≡ x00 ≺f x0
(czytamy: x0 jest lepsze niż x00 ze względu na f )
• Podzbiór lepszych sąsiadów:
N+(x) = {z ∈ N (x) : x ≺f z}
• Rozwiązanie x jest optimum lokalnym, jeśli
x 6≺f z dla dowolnego z ∈ N (x)
Home Page Title Page JJ II J I Page12of25 Go Back Full Screen Close Quit
Schemat zrandomizowanej
heurystyki lokalnych ulepszeń
• Oznaczenia:
S – zbiór rozwiązań zadania φξ – operator modyfikacji na S
≺f – relacja porządku jakościowego na S (ze względu na funkcjęf ) • Algorytm: begin x := losowy element z S; repeat z := φξ(x); if x ≺f z then x := z until warunek zatrzymania; return x
Home Page Title Page JJ II J I Page13of25 Go Back Full Screen Close Quit
Czas oczekiwania
na poprawę rozwiązania
• Algorytm: zrandomizowana heurystyka lokalnych ulepszeń • Oznaczenia:
ps(x) = P {φξ(x) ∈ N+(x)} qs(x) = 1 − ps(x)
Ts(x): czas oczekiwania na poprawę rozwiązania • Wówczas P {Ts(x) = t} = qst−1(x)ps(x) (rozkład geometryczny) ETs(x) = 1/ps(x) jeśli ps(x) > 0 +∞ w p. p.
Home Page Title Page JJ II J I Page14of25 Go Back Full Screen Close Quit
Charakteryzacja wyników
• Jakie rozwiązanie znajduje heurystyka lokalnych ulepszeń (ogól-niej: monotoniczna)?
• Wariant deterministyczny:
– przestrzeń rozwiązań rozpada się na rozłączne obszary przyciągania
optimów lokalnych
– wynik zależy wyłącznie od punktu startowego – optima lokalne = punkty stałe reguły selekcji R • Wariant zrandomizowany:
– nie ma obszarów przyciągania
– algorytm zachowuje się jak pochłaniający łańcuch Markowa – optima lokalne = stany pochłaniające
• Kiedy heurystyki monotoniczne znajdują optimum globalne
nie-zależnie od punktu startowego?
• Gdy wszystkie optima lokalne są globalne (inaczej: gdy lokalne
Home Page Title Page JJ II J I Page15of25 Go Back Full Screen Close Quit
Uogólnione struktury sąsiedztwa
• Skąd biorą się optima lokalne?
• Odpowiedź: sami je wprowadziliśmy, ograniczając
przeszukiwa-nie do sąsiedztwa rozwiązania bieżącego
• Jak złagodzić ten problem? • Hierarchia sąsiedztw:
k-sąsiedztwo rozwiązania x = {y ∈ S : ρ(x, y) ¬ k},
gdzie ρ(·, ·) — odległość (metryka) w S
• Mechanizm uprzywilejowania bliskiego sąsiedztwa: stopniowe
od-dalanie się od punktu wyjścia
• Heurystyki zrandomizowane: stochastyczna lokalność
operato-ra; prawdopodobieństwo malejące wraz ze wzrostem odległości („zasięgu” operatora)
Home Page Title Page JJ II J I Page16of25 Go Back Full Screen Close Quit
Reprezentacje:
przestrzeń wektorów zerojedynkowych
• Przestrzeń wektorów zerojedynkowych
Bm = {x = (x1, x2, . . . , xm), gdzie xj ∈ {0, 1}} z metryką Hamminga: dH(x, y) = m X j=1 | xj − yj | • Przekształcenia modyfikujące: mutacje punktowe
Φ = {φj(x1, . . . , xj, . . . , xm) = (x1, . . . , 1−xj, . . . , xm), j ∈ I}
gdzie I = {1, 2, . . . , m}
• Operator mutacji punktowej φξ:
gdzie ξ — zmienna losowa o rozkładzie jednostajnym na I, tj.
P {ξ = j} = 1
Home Page Title Page JJ II J I Page17of25 Go Back Full Screen Close Quit
Przykład:
analiza czasu oczekiwania na optimum
• ps(x) = |N +(x)| |N (x)| dla x ∈ Bm, | N (x) |= m • funkcja oceny: f (x) = Xm i=1 xi, zadanie maksymalizacji
• optimum globalne: (1, 1, . . . , 1) (brak innych optimów
lokal-nych)
• rozwiązanie startowe: x0 = (0, 0, . . . , 0)
• ps(xk) = (m−k)/m, więc
ETs(xk) = m/(m−k) dla k = 0, 1, . . . m−1 • całkowity średni czas oczekiwania:
m m−1 X k=0 1 m−k = mHm ∼ = m ln(m)
Home Page Title Page JJ II J I Page18of25 Go Back Full Screen Close Quit
Mutacja Bernoulliego
• Mutacje wielopunktowe (wg maski):
Φ = {φi(x) = x ⊕ i, i ∈ Bm}
gdzie i — maska mutacyjna, ⊕ — dodawanie modulo 2 po współrzędnych
• Operator mutacji Bernoulliego φξ:
ξ — wektor losowy o wartościach z Bm, przy czym
P {ξ = i} = p/i/(1−p)m−/i/
gdzie p — punktowe prawdopodobieństwo mutacji
/i/ — liczba jedynek w masce i
• Średni zasięg operatora (oczekiwana liczba zmutowanych
pozy-cji w wektorze x): mp
• Rozsądne wartości: 1/m ¬ p < 0.5
Home Page Title Page JJ II J I Page19of25 Go Back Full Screen Close Quit
Mutacja Bernoulliego:
objaśnienia
• Jak działa maska mutacyjna?
x 0 0 1 1
i 0 1 0 1
x ⊕ i 0 1 1 0
pi q p q p
• Interpretacja: Jedynka w masce oznacza zajście mutacji
punk-towej na danej pozycji
• Prawdopodobieństwo maski (dla tego przykładu): p2q2 (q = 1−p)
• Uwaga końcowa: Mutacja Bernoulliego z p < 0.5 jest
Home Page Title Page JJ II J I Page20of25 Go Back Full Screen Close Quit
Reprezentacje binarne:
implementacja• Implementacja tablicowa: jeden bajt na zapamiętanie jednego
bitu (spore marnotrawstwo, ale bez ograniczeń)
• Implementacja całkowitoliczbowa: możliwa w zakresie
umiarko-wanych długości reprezentacji
• Przykładowa implementacja w Pascalu: const L = 30; { długość chromosomu } N = Integer(1) shl L; { N = 2^L } type Chromosom = 0..(N-1); • Operacje na bitach
– dodawanie wektorowe modulo 2 (operacja ⊕): xor – przesunięcie o jeden bit w lewo / w prawo: shl / shr
Home Page Title Page JJ II J I Page21of25 Go Back Full Screen Close Quit
„Zegar mutacyjny”
• Dla małych wartości p można zastosować efektywną
implemen-tację operatora mutacji Bernoulliego, opartą na następującym twierdzeniu:
Jeżeli p jest prawdopodobieństwem sukcesu dla nieogra-niczonego ciągu prób Bernoulliego oraz U — zmienną losową o rozkładzie jednostajnym na odcinku [0, 1], to K = bln(U )/ ln(1 − p)c jest zmienną losową reprezen-tującą liczbę porażek przed pierwszym sukcesem
• Zamiast dokonywać próby losowej dla każdej pozycji wektora,
losujemy miejsca, w których zachodzi mutacja punktowa
Home Page Title Page JJ II J I Page22of25 Go Back Full Screen Close Quit
Reprezentacje: przestrzeń
wektorów rzeczywistoliczbowych
• Przestrzeń wektorów rzeczywistoliczbowych
Rm = {x = (x1, x2, . . . , xm), gdzie xj ∈ R}
z metryką euklidesową lub miejską
• Przekształcenia modyfikujące: mutacje addytywne: φu(x) = x+ u, gdzie x, u ∈ Rm
• Operator mutacji gaussowskiej φξ(x) = x + ξ:
ξ — wektor losowy o m-wymiarowym rozkładzie normalnym o
średniej 0 i macierzy kowariancji C.
• Wariant uproszczony C = D2 (brak korelacji)
• Wtedy F (x1, . . . , xm) = m Y i=1 Fi(xi), gdzie Fi(x) = (σi √ 2π)−1Z x −∞e − t2 2σ2i dt
Home Page Title Page JJ II J I Page23of25 Go Back Full Screen Close Quit
Rozkład normalny (jednowymiarowy)
• Notacja: ξ ∼ N (a, σ) — zmienna losowa ξ ma rozkład
normal-ny z parametrami a, σ
• Parametry: a: wartość oczekiwana, σ: odchylenie standardowe
(σ2 – wariancja)
• Funkcja gęstości: g(t) = σ√1
2πe
−(t−a)2
Home Page Title Page JJ II J I Page24of25 Go Back Full Screen Close Quit
Charakterystyka mutacji gaussowskiej
• Wariant standardowy: mutacje niezależne dla każdej
współrzęd-nej rozwiązania
• Rozkład zasięgu mutacji (P {| ξ |< kσ}):
odchylenie % przypadków
0, 67σ 50,0
σ 68,3
2σ 95,6
3σ 99,7
• Średni zasięg (oczekiwana długość „kroku mutacyjnego”): E | ξ | = σ v u u t 2 π ∼ = 0, 80σ
• Uwaga: mutacja gaussowska jest także przykładem operatora
Home Page Title Page JJ II J I Page25of25 Go Back Full Screen Close Quit
Generowanie liczb losowych
o rozkładzie normalnym
• Rozkład N (0, 1) (metoda Boxa-Mullera):
Jeżeli U1, U2 są niezależnymi zmiennymi losowymi o
roz-kładzie jednostajnym na przedziale (0,1), to
X1 = √−2 ln U1cos(2πU2)
X2 =
√
−2 ln U1sin(2πU2)
są niezależnymi zmiennymi losowymi o rozkładzie nor-malnym N (0, 1)
• Rozkład N (a, σ):
Y = a + σX