Przeszukiwanie
Algorytmy ewolucyjne
Podstawy Sztucznej Inteligencji (PSZT)
Paweł Wawrzyński
PSZT, zima 2013, wykład 8 2
Dzisiaj
• Zagadnienie przeszukiwania (optymalizacji)
• Podejścia do przeszukiwania
• Idea algorytmów ewolucyjnych
• Algorytm (1+1)
– mutacja
• Algorytm zrównoleglony (1+1)
• Algorytm (μ+λ)
– krzyżowanie
Przeszukiwanie - optymalizacja
• W przestrzeni X
• istnieje funkcja f : X→R
• Chodzi o znalezienie x maksymalizującego f
• Przykłady:
– najlepsze parametry dla procesu technicznego lub ekonomicznego
– najlepsza struktura procesu j.w.
– najlepsza struktura sieci telekomunikacyjnej
PSZT, zima 2013, wykład 8 4
Podejścia do optymalizacji
• Przegląd wszystkich możliwości
• Metody przeglądowe z eliminacją
– np. alg. podziału i oszacowań
• Metody analityczne
– np. alg. gradientów sprzężonych
• Metody losowe
– alg. ewolucyjne, genetyczne – symulowane wyżarzanie
Idea algorytmów ewolucyjnych
• Osobnik
• Populacja
• Reprodukcja, potomstwo
– mutacja
– krzyżowanie
• Funkcja przystosowania
PSZT, zima 2013, wykład 8 6
Ogólny algorytm ewolucyjny
1. Wygeneruj populację początkową P 2. Reprodukuj z P zbiór osobników R 3. Wybierz z P ∪ R nową populację P
4. Jeśli nie jest spełniony warunek stopu, wróć do punktu 2, w przeciwnym razie zwróć najlepszego osobnika z P
Algorytm (1+1)
Parametry: n - wymiar X, naturalne m oraz początkowe 1. Wygeneruj pierwszego osobnika
2. Wygeneruj potomka 3. Wybierz
4. Zaktualizuj ϕ jako proporcję wybranych y-ków w ciągu ostatnich m iteracji.
5. Co m-ty krok dokonaj przypisania:
6. Jeśli , zakończ przyjmując x jako wynik;
w przeciwnym razie wróć do kroku 2.
• Algorytm działa nieźle dla , oraz
X
x ∈ σ > 0 )
, 0 ( I N
x
y = + σ
y x
y f x
f
x = ( ) > ( )? :
=
>
<
=
5 / 1 dla
5 / 1 dla
5 / 1 dla
2 1
ϕ σ
ϕ σ
ϕ σ
σ c
c
σ min
σ <
2 8 ,
1 = 0
c c2 = 1,2
= 10 m
PSZT, zima 2013, wykład 8 8
Mutacja w algorytmie (1+1)
• Zmutowany osobnik y powstaje przez losowe zaburzenie x.
• Dlaczego 1/5?
Zrównoleglony (1+1)
1. Wybierz xr∈X; będzie to wartość dostępna w sposób wyłączny dla wszystkich wątków
algorytmu
2. W zbiorze niezależnych wątków realizuj tą samą procedurę:
Powtarzaj
a) x = wynik działania algorytmu (1+1) b) jeżeli f(x) > f(xr), przypisz xr=x
dopóki nie wystąpił warunek stopu 3. Zwróć xr
PSZT, zima 2013, wykład 8 10
Algorytm (μ+λ)
Parametry: n - wymiar X, naturalne μ oraz λ (μ < λ) 1. Wygeneruj P - populację μ osobników postaci
2. Wylosuj z P λ-elementową tymczasową populację T 3. Reprodukuj z T λ-elementową populację potomną R
stosując krzyżowanie i mutację.
4. Utwórz P jako μ osobników wybranych z P ∪ R.
5. Jeśli jest spełniony warunek stopu, zwróć wynik jako najlepszy element P;
w przeciwnym razie wróć do punktu 2.
n
xn
x1,..., ,σ 1,...,σ
Algorytm (μ+λ) - krok 2.
• Wielokrotne losowanie ze zwracaniem
PSZT, zima 2013, wykład 8 12
Algorytm (μ+λ) - krzyżowanie
• Uśrednianie:
• Interpolacja dla
( ) (
/ 2,)
/ 2, x f xm f m
x σ = + σ + σ
( )
m f( )
mf a x a a
ax
x,σ = + 1− , σ + 1− σ )
1 , 0 (
~ U a
Algorytm (μ+λ) - mutacja
• Natężenie rozmywania
• Rozwiązanie
( ) ( )
( )
( )
xn n n
N
N i
i R
i
dim 2 ,
, 1 2
' 1
1 , 0 1
, 0 '
exp
=
=
=
+
=
τ τ
τ τ
σ σ
( )
0,1i R i i
R
i x N
x = + σ
PSZT, zima 2013, wykład 8 14
Algorytm (μ+λ) - wybór
• μ najlepszych.
• Metoda koła ruletki: osobniki są losowane z prawdopodobieństwem proporcjonalnym do
• Selekcja rankingowa p-stwo wyboru x
proporcjonalne do
(
f x)
g( )
y eyg ( ) , np. =
) ( 1− pozycja x +
+ λ µ
Algorytm (μ, λ)
• Identyczny jak Algorytm (μ + λ), oprócz tego, że w Punkcie 4 wybór dokonywany jest ze zbioru R.
PSZT, zima 2013, wykład 8 16
Algorytm programowania ewolucyjnego
1. Wygeneruj P - populację μ osobników
2. Reprodukuj z P μ-elementową populację potomną R stosując mutację dla każdego osobnika z P.
3. Utwórz nowe P jako μ osobników wybranych z P∪R.
4. Jeśli jest spełniony warunek stopu, zwróć wynik jako najlepszy element P;
w przeciwnym razie wróć do punktu 2.
Presja selekcyjna,
eksploracja, eksploatacja
• Algorytm: (μ + λ)
• Populacja P∪R:
• Presja selekcyjna: preferencja dla lepiej przystosowanych - słaba / silna
• Eksploracja = poszukiwanie max.
globalnego
• Eksploatacja = poszukiwanie max.
lokalnego
f
x
PSZT, zima 2013, wykład 8 18
Skalowanie argumentów funkcji przystosowania
• Algorytm: (1+1)
• Przykład, reakcja chemiczna
– temperatura [20,80]
– stężenie katalizatora [10-5,10-4]
– tempo optymalizacji temp. takie jak stężenia
• Remedium: skalowanie wymiarów, np.
– przeszukiwanie przestrzeni: [20,80]x[10,100]
– której drugi wymiar to stężenie x 106
Skalowanie wartości
funkcji przystosowania, 1/2
• Algorytm: (μ + λ)
• Przykład:
– f(x1)=100, f(x2)=0, f(x3)=-100 – f(x1)=3, f(x2)=2, f(x3)=1
– Pstwo wyboru z P∪R proporcjonalne do exp(f(x))
PSZT, zima 2013, wykład 8 20
Skalowanie wartości
funkcji przystosowania, 2/2
• Remedium
– dla P∪R obliczyć - średnie
- odchylenie standardowe
– zamiast do obliczania p-stwa używać reguluje presję selekcyjną
f f ( )x
σ f ( )x
(
f ( )x − f)
σk( )x
f
≈ 1 k
Dobór podobnych
• Algorytm: (μ + λ)
• Przykład:
• Problem: potomstwo punktów z okolic różnych maksimów lokalnych jest słabe
• Remedium: krzyżowanie podobnych
– np., p-stwo, że x oraz y
tworzą potomka proporcjonalne do c - przypuszczalna
odległość między sąsiednimi maksimami
f
x
2 2
/ 1
1
c y
x − +
PSZT, zima 2013, wykład 8 22
Strategia elitarna
• Algorytm: (μ + λ)
• Strategia elitarna: najlepszy osobnik ma gwarantowane miejsce w kolejnym
pokoleniu
• Przesłanka: nie warto tracić najlepszego osobnika jako „reproduktora” kolejnych o wysokiej jakości