Home Page Title Page JJ II J I Page1of24 Go Back Full Screen Close Quit
Wykład 3
Heurystyki lokalnych ulepszeń
w optymalizacji parametrycznej
Home Page Title Page JJ II J I Page2of24 Go Back Full Screen Close Quit
Optymalizacja parametryczna
• Dziedzina: podzbiór zwarty (domknięty i ograniczony)
przestrze-ni euklidesowej D ⊂ Rm, zazwyczaj określony przez układ więzów postaci gi(x) 0
• Funkcja oceny (celu) f : D → R, co najmniej ciągła (najczęściej różniczkowalna)
• W ogólnym przypadku (zadanie programowania nieliniowego)
nie są znane uniwersalne metody wyznaczania optimum globalnego
• Stosując metody numeryczne, zadowalamy się rozwiązaniami
przybliżonymi
• Jedno z możliwych podejść: dyskretyzacja zadania
Polega na zastąpieniu dziedziny D ε-siecią Dε pokrywającą D, tj.
skończo-nym podzbiorem Dε ⊂ D o tej własności, że dla każdego punktu x ∈ D
istnieje węzeł sieci x0 ∈ Dε taki, że k x − x0 k< ε)
• Tak zredukowane zadanie można rozwiązać przy użyciu
Home Page Title Page JJ II J I Page3of24 Go Back Full Screen Close Quit
Przykłady funkcji testowych
• Funkcja Ackleya f (x) = −a exp −b v u u t 1 m m X i=1 x2i − exp 1 m m X i=1 cos(2πxi) + a + exp(1) • Funkcja Griewangka f (x) = n X i=1 x2i 4000 − n Y i=1 cos √xi i • Funkcja Rastrigina f (x) = n X i=1 (x2i − a cos 2πxi) + a n • Funkcja Rosenbrocka f (x) = n−1 X i=1 (100(xi+1− x2i) 2+ (1 − x i)2)
Home Page Title Page JJ II J I Page4of24 Go Back Full Screen Close Quit
Reprezentacje stałopozycyjne
• Rozwiązanie: wektor m-wymiarowy o współrzędnych rzeczywistych • Sposoby reprezentacji liczby rzeczywistej:
– stałopozycyjna (skala równomierna, błąd bezwględny) – zmiennopozycyjna (skala nierównomierna, błąd względny)
• Binarna reprezentacja stałopozycyjna liczby naturalnej z zakresu 0..2L−1 n(b) = L−1 X i=0 bi2i L — długość reprezentacji
• Binarna reprezentacja stałopozycyjna liczby rzeczywistej z przedziału [0, 1]
(funkcje dekodujące): (a) rA(b) = L−1 X i=0 bi2i−L+ 2 −(L+1) =n(b) + 0.5 2L Dokładność reprezentacji: εA= 0.5/2L (b) rB(b) = 1 2L− 1 L−1 X i=0 bi2i= n(b) 2L− 1 Dokładność reprezentacji: εB = 0.5/(2L− 1)
Home Page Title Page JJ II J I Page5of24 Go Back Full Screen Close Quit
Dyskretyzacje odcinka
Home Page Title Page JJ II J I Page6of24 Go Back Full Screen Close Quit
Ograniczenia kostkowe
• Reprezentacja L-bitowa liczby r z przedziału [u, v] (funkcja deko-dująca):
h(b) = u + (v − u) · r(b)
Dokładność reprezentacji: = (v − u)ε
• Kostka m-wymiarowa:
{x = (x1, x2, . . . , xm) : uj ¬ xj¬ vj, j = 1, . . . , m}
• Reprezentacje stałopozycyjne dla ograniczeń kostkowych
– monolityczna: b = b(1)◦ b(2)◦ . . . ◦ b(m) (konkatenacja ciągów
ze-rojedynkowych; każdej zmiennej może odpowiadać segment innej dłu-gości, funkcja dekodująca najpierw „rozpakowuje” ciąg wynikowy na poszczególne segmenty)
– wielowymiarowa: ~b = (b(1), b(2). . . , b(m)) (wektor złożony z prezentacji poszczególnych zmiennych; każda zmienna może mieć re-prezentację innej długości)
Home Page Title Page JJ II J I Page7of24 Go Back Full Screen Close Quit
Problem więzów
• Zbiór D spełniający ograniczenia kostkowe można traktować
jako „otoczkę” właściwej dziedziny D0, złożonej z rozwiązań
dopuszczalnych
• Jak sobie radzić z rozwiązaniami niedopuszczalnymi ? • Jest to jedno z trudniejszych zagadnień praktycznych • Typowe podejścia:
– odsiewanie – naprawianie
– specjalne reprezentacje i operatory zachowujące
dopuszczal-ność
– funkcje kary – dekodery
Home Page Title Page JJ II J I Page8of24 Go Back Full Screen Close Quit
Zasięg operatora mutacji
• Zasięg bezpośredni:
— jak daleko można „przeskoczyć” w przestrzeni poszukiwań przy jednokrotnym zastosowaniu operatora mutacji?
• Zasięg pośredni:
— jak daleko można „zawędrować” w przestrzeni poszukiwań przy wielokrotnym zastosowaniu operatora mutacji?
• Precyzyjniej:
— jakie jest prawdopodobieństwo, że przeskoczymy/zawędrujemy do punktu należącego do zadanego podzbioru przestrzeni poszu-kiwań?
Home Page Title Page JJ II J I Page9of24 Go Back Full Screen Close Quit
„Klify Hamminga”
• Niezgodność metryki Hamminga i metryki euklidesowej dla
ko-dowania pozycyjnego: punkty bliskie na prostej mogą być odległe w
Bm • Przykład: n(01 . . . 1) = 2L−1 − 1 n(10 . . . 0) = 2L−1 – odległość euklidesowa: 1 – odległość Hamminga: L
• Prawdopodobieństwo przejścia przy mutacji Bernoulliego: pL (a więc np. dla p = 1/L jest ono równe 1/LL)
• Zjawisko nazwano „klifami Hamminga” przez analogię do
trud-ności, na jakie natrafiłby wędrowiec próbując pokonać przeszko-dę
• Wniosek: Kodowanie pozycyjne nie jest odpowiednie przy sto-sowaniu operatora mutacji Bernoulliego
Home Page Title Page JJ II J I Page10of24 Go Back Full Screen Close Quit
Mutacja Bernoulliego: zasięg
bezpo-średni w metryce euklidesowej
Zaczerniony obszar odpowiada punktom z kwadratu [0, 1] × [0, 1], otrzymanym przez zastosowanie
operatora mutacji Bernoulliego do reprezentacji pozycyjnej punktu (X0, Y0) = (0.5, 0.5).
Home Page Title Page JJ II J I Page11of24 Go Back Full Screen Close Quit
Mutacja Bernoulliego: zasięg
pośred-ni w metryce euklidesowej
Zaczerniony obszar odpowiada punktom z kwadratu [0, 1] × [0, 1], otrzymanym przez zastosowanie
operatora mutacji Bernoulliego do reprezentacji pozycyjnych kolejnych punktów (Xi, Yi) przy (X0, Y0) =
Home Page Title Page JJ II J I Page12of24 Go Back Full Screen Close Quit
Co widać z tych rysunków?
• Operator mutacji Bernoulliego w metryce euklidesowej ma
cha-rakter stochastycznie lokalno-globalny
• Operator mutacji Bernoulliego penetruje całą przestrzeń
rozwią-zań (gdy nie napotka przeszkód!)
• Skąd biorą się przeszkody?
• Wiele interesujących funkcji rzeczywistych charakteryzuje się
re-gularnością (np. tendencją do wzrostu) w metryce euklidesowej, nie w metryce Hamminga dla reprezentacji pozycyjnej
• „Klify Hamminga” zmieniają „krajobraz”, rozrywając
„natural-ne drogi pod górkę” i wprowadzają sztucz„natural-ne optima lokal„natural-ne
• Ale działa to też w drugą stronę: punkty odległe w metryce
euklidesowej mogą być bliskie w metryce Hamminga, co daje możliwość szybkiej penetracji „odległych regionów”
Home Page Title Page JJ II J I Page13of24 Go Back Full Screen Close Quit
Lustrzany kod Graya
• Idea: zmodyfikować kodowanie tak, żeby punkty bliskie w
me-tryce euklidesowej miały kody bliskie w meme-tryce Hamminga
• Taką własność mają kody Graya
• Lustrzany kod Graya tworzymy następująco:
0 0 | 0 | 0 1 0 | 0 | 1 2 0 | 1 1 3 0 | 1 0 4 1 1 0 5 1 1 1 6 1 0 1 7 1 0 0
Home Page Title Page JJ II J I Page14of24 Go Back Full Screen Close Quit
Algorytm dekodowania dla kodu Graya
• Aby zastosować kodowanie Graya, musimy umieć
„przetłuma-czyć” go na kod pozycyjny
• Niech
g = (gL−1, . . . , g1, g0)
reprezentacja liczby n w kodzie lustrzanym Graya,
b = (bL−1, . . . , b1, b0)
reprezentacja liczby n w kodzie pozycyjnym
• Wtedy bL−i = i M j=1 gL−j dla i = 1, . . . L • Inaczej: bL−1 = gL−1 bj = bj+1 ⊕ gj dla j = L−2, . . . , 0
Home Page Title Page JJ II J I Page15of24 Go Back Full Screen Close Quit
Mutacja Bernoulliego:
zasięg bezpośredni (kod Graya)
Zaczerniony obszar odpowiada punktom z kwadratu [0, 1] × [0, 1], otrzymanym przez zastosowanie
ope-ratora mutacji Bernoulliego do reprezentacji w kodzie Graya punktu (X0, Y0) = (0.5, 0.5).
Home Page Title Page JJ II J I Page16of24 Go Back Full Screen Close Quit
Arytmetyczna mutacja Bernoulliego
K. Grygiel, Algorytmy ewolucyjne z AB-mutacją, IV KKAEiOG, 2000 • Istota pomysłu: dodawanie zamiast „nakładania” maski
• Efekt jest następujący:
n(φξ(b)) = n(b) ± n(ξ) (mod 2L)
gdzie maska mutacyjna ξ jest tworzona jak w przypadku mutacji Berno-ulliego, przy czym znak (+ lub −) jest losowany niezależnie od ξ z praw-dopodobieństwem 1/2, a operacja modulo jest wykonywana, aby uniknąć przekroczenia zakresu reprezentacji (zatem dziedzinę traktujemy tu jako wielowymiarowy torus)
• W przypadku funkcji wielu zmiennych należy użyć
reprezenta-cji „wielochromosomowej” (każdy argument mutowany nieza-leżnie)
• Operator jest prosty i efektywny w realizacji, jeśli stosujemy
im-plementację całkowitoliczbową reprezentacji binarnej (zob. da-lej)
Home Page Title Page JJ II J I Page17of24 Go Back Full Screen Close Quit
AB-mutacja: zasięg bezpośredni
w metryce euklidesowej
Zaczerniony obszar odpowiada punktom z kwadratu [0, 1] × [0, 1], otrzymanym przez zastosowanie
operatora arytmetycznej mutacji Bernoulliego do reprezentacji pozycyjnej punktu (X0, Y0) = (0.5, 0.5).
Home Page Title Page JJ II J I Page18of24 Go Back Full Screen Close Quit
Implementacje
• Dekodowanie do przedziału [0, 1] (funkcja rA): // N = 2^L
function decode(b: Chromosom): Real; begin
decode := (b+0.5) / N end;
• Funkcja dekodująca Graya:
function invGray (j: Fixed): Fixed; const numBits = 8*sizeOf(Fixed); var i: Fixed; s: Byte;
begin
i := j; s := 1;
while (j > 1) and (s < numBits) do begin j := i shr s; i := i xor j; s := s*2; end; invGray := i end;
Home Page Title Page JJ II J I Page19of24 Go Back Full Screen Close Quit
Implementacje, cd
• Zegar mutacyjny:Dodając przesunięcie wygenerowane wg rozkładu geometrycznego podczas tworzenia maski (masek), wygodnie jest potraktować reprezentację rozwią-zania jako pojedynczą sekwencję, nawet jeśli faktycznie obejmuje ona z wiele składowych (tj. ponumerować jednolicie wszystkie bity reprezentacji). Oba możliwe podejścia są statystycznie równoważne ze względu na „bezpamię-ciowość” rozkładu geometrycznego.
• AB-mutacja:
// dodawanie maski do chromosomu (b): // N = 2^L if mask <> 0 then if Random < 0.5 then b := (N-mask+b) mod N else b := (mask+b) mod N;
Home Page Title Page JJ II J I Page20of24 Go Back Full Screen Close Quit
Mutacja gaussowska: zasięg bezpośredni
Zaczerniony obszar odpowiada punktom z kwadratu [0, 1] × [0, 1], otrzymanym przez zastosowanie
operatora mutacji gaussowskiej do reprezentacji rzeczywistoliczbowej punktu (X0, Y0) = (0.5, 0.5).
Home Page Title Page JJ II J I Page21of24 Go Back Full Screen Close Quit
Mutacja gaussowska: zasięg pośredni
Zaczerniony obszar odpowiada punktom z kwadratu [0, 1] × [0, 1], otrzymanym przez zastosowanie
operatora mutacji gaussowskiej do reprezentacji rzeczywistoliczbowych kolejnych punktów (Xi, Yi) przy
(X0, Y0) = (0.5, 0.5).
Home Page Title Page JJ II J I Page22of24 Go Back Full Screen Close Quit
Jak gęste jest “sito”
mutacji gaussowskiej?
Zasięg bezpośredni mutacji gaussowskiej w powiększeniu 10-krotnym (w otoczeniu punktu
Home Page Title Page JJ II J I Page23of24 Go Back Full Screen Close Quit
A jak to wygląda dla
arytmetycznej mutacji Bernoulliego?
Zasięg bezpośredni arytmetycznej mutacji Bernoulliego w powiększeniu 10-krotnym (w otoczeniu
Home Page Title Page JJ II J I Page24of24 Go Back Full Screen Close Quit
Wnioski
• Operator mutacji Gaussa w metryce euklidesowej ma charakter
stochastycznie lokalny
• Operator mutacji Gaussa penetruje całą przestrzeń rozwiązań • Operator mutacji Gaussa „degeneruje się” do błądzenia
przy-padkowego w skali odległości rzędu σ
• Czy można to poprawić?
• Pomysł: schemat mutacji adaptacyjnej (automatyczna zmiana
wielkości σ w zależności od stopnia skuteczności trafień) — zajmiemy się tym później