Algorytmy ewolucyjne - Instytut Sterowania i Systemów
Transkrypt
Algorytmy ewolucyjne - Instytut Sterowania i Systemów
METODY SZTUCZNEJ INTELIGENCJI
algorytmy ewolucyjne
dr hab. inż. Andrzej Obuchowicz, prof. UZ
Instytut Sterowania i Systemów Informatycznych
Uniwersytet Zielonogórski
A. Obuchowicz: MSI - algorytmy ewolucyjne
Literatura
➽ J. Arabas, Wykłady z Algorytmów Ewolucyjnych, Warszawa: WNT, 2000.
➽ T. Bäck, D.B. Fogel, Z. Michalewicz, Handbook of Evolutionary
Computation, NY: Institute of Physics and Oxford University Press, 1997
and later.
➽ D.E. Goldberg, Algorytmy Genetyczne i ich zastosowania, Warszawa: WNT,
1996.
➽ Z. Michalewicz, Algorytmy Genetyczne + Struktury Danych = Programy
Ewolucyjne, Warszawa: WNT, 1999.
➽ A. Obuchowicz, Evolutionary Algorithms for Global Optimization and
Dynamic System Diagnosis, Zielona Góra: Lubuskie Scientific Society,
2003.
➽ R. Schaefer, Podstawy Genetycznej Optymalizacji Globalnej, Kraków:
Wyd. UJ, 2002.
1/24
A. Obuchowicz: MSI - algorytmy ewolucyjne
Algorytmy ewolucyjne - plan
✔ sformułowanie problemu optymalizacji;
✔ klasy technik optymalizacji;
✔ główne pojecia
˛
algorytmów ewolucyjnych;
✔ standardowe algorytmy ewolucyjne:
✖ algorytmy genetyczne;
✖ programowanie genetyczne;
✖ poszukiwanie ewolucyjne z miekk
˛ a˛ selekcja;
˛
✖ programowanie ewolucyjne;
✖ strategie ewolucyjne.
2/24
A. Obuchowicz: MSI - algorytmy ewolucyjne
Sformułowanie problemu optymalizacji
xopt = arg min f (x) | (gi (x) < 0 | i = 1, 2, . . . , m)
x∈D
☛ D – dziedzina;
☛ f : D → R – funkcja celu;
☛ gi : D → R | i = 1, 2, . . . , m – funkcje ograniczajace;
˛
☛ xopt ∈ D – (globalne) rozwiazanie
˛
optymalne.
3/24
A. Obuchowicz: MSI - algorytmy ewolucyjne
4/24
Klasy problemów optymalizacji
D
•
dyskretne
• ciagłe
˛
gi (x) •
ograniczone
• nieograniczone
f (x)
liniowe
• nieliniowe
•
wypukłe
wklesłe
˛
d.c.
inne
A. Obuchowicz: MSI - algorytmy ewolucyjne
Klasy technik optymalizacji
✌ metody klasyczne (gradientowe,
Quasi-Newtonowskie, etc.);
✌ enumeratywne (przeglad
˛ zupełny);
✌ stochastyczne (Monte-Carlo, Adaptive Random
Search (ARS), Simulated Annealing (SA), etc.);
✌ heurystyczne
✎ algorytmy ewolucyjne (EA)
5/24
A. Obuchowicz: MSI - algorytmy ewolucyjne
6/24
Podstawowe pojecia
˛
EA
Φ:D→R
xi ∈ D
G
a∈G
P ∈ Gη
EA : G η → G η
ξ:G→D
D
x∈D
Φ:D→R
ai ∈ G
EA : G η → G η
przestrzeń genotypowa;
genotyp (chromosom);
populacja η osobników;
proces evolucyjny;
przestrzeń fenotypowa;
fenotyp;
funkcja dopasowania
(maksymalizowana);
ξ:G→D
funkcja dekodujaca
˛
(zwykle nieodwracalna).
A. Obuchowicz: MSI - algorytmy ewolucyjne
7/24
Postać ogólna procesu ewolucyjnego
Inicjacja:
P (0) = {ai (0) = RAN DOM (G0 )}ηi=1 ;
Inicjacja
P (0) → Φ(P (0));
Reproducja:
P ′ (t) = spθp (P (t));
Sukcesja
Operatory genetyczne:
Reprodukcja
P ′′ (t) = rθr (P ′ (t));
P ′′′ (t) = mθm (P ′′ (t));
Ocena:
Ocena
Operat. genet.
P ′′′ (t) → Φ(P ′′′ (t));
Sukcesja:
′′′
P (t + 1) = sn
θn (P (t) ∪ P (t)).
A. Obuchowicz: MSI - algorytmy ewolucyjne
Standardowe algorytmy ewolucyjne
✐ przeszukiwanie genotypowe:
✒ algorytmy genetyczne (GA) (Holland,1975);
✒ programowanie genetyczne (GP) (Koza,1992);
✐ przeszukiwanie fenotypowe:
✒ programowanie ewolucyjne (EP) (Fogel et al.,1963);
✒ strategie ewolucyjne (ES) (Rechenberg,1965);
✒ poszukiwanie ewolucyjne z miekk
˛ a˛ selekcja˛ (ESSS)
(Galar,1985).
8/24
A. Obuchowicz: MSI - algorytmy ewolucyjne
9/24
GA — inicjacja
Inicjacja:
P (0) = {ai (0) ∈ G}ηi=1 ;
G = {0, 1}l (ciag
˛ bitów o długości l)
Inicjacja
— reprezentacja naturalna dla
×
Reprodukcja
odwzorowań pseudoboolowskich.
Qn
dla D = j=1 [uj , vj ] (uj < vj ),
ξ = ×nj=1 (ξj ),
Ocena
Operat. genet.
lj
ξj : {0, 1} → [uj , vj ],
Pn
j=1 lj
= l,
xj = ξj (ajp | p = 1, . . . , lj ) =
P
l
v −u
j
p−1
a
2
= uj + 2jlj −1j
.
jp
p=1
A. Obuchowicz: MSI - algorytmy ewolucyjne
10/24
GA — ocena i reprodukcja
Ocena:
Φ : D → R+ ∪ {0},
Inicjacja
dopasowanie = przeskalowana funkcja celu.
Reprodukcja:
×
Reprodukcja
selekcja proporcjonalna
zwana również metoda˛ ruletki
Ocena
Operat. genet.
P ′ (t) = {a′ hi }ηi=1 ;
n
o
h
Φ(ξ(a
(t)))
i
> χi
hi = min h : l=1
η
Φ(ξ(ai (t)))
l=1
χi ∈ U (0, 1)
A. Obuchowicz: MSI - algorytmy ewolucyjne
11/24
GA — operatory genetyczne: krzyżowanie
Rekombinacja (Krzyżowanie):
rodzice dobierani w pary
a′ 1 = (a1,1 , . . . , a1,n )
Inicjacja
a′ 2 = (a2,1 , . . . , a2,n )
×
potomkowie
Reprodukcja
IF χ ≤ θr THEN
a′′ 1 = (a1,1 , . . . , a1,ζ , a2,ζ+1 , . . . , a2,n )
Ocena
Operat. genet.
a′′ 2 = (a2,1 , . . . , a2,ζ , a1,ζ+1 , . . . , a1,n )
ELSE a′′ 1 = a′ 1
a′′ 2 = a′ 2
χ ∈ U (0, 1) ζ ∈ U (1, 2, . . . , n − 1)
A. Obuchowicz: MSI - algorytmy ewolucyjne
GA — operatory genetyczne: mutacja
Mutacja:
skrzyżowany rodzic
Inicjacja
a′′ (t) = (a′′1 , . . . , a′′n )
×
potomek
Reprodukcja
Ocena
Operat. genet.
a(t + 1) = (a1 , . . . , an )
a′′
χi > θm
i
ai =
1 − a′′ χi ≤ θm
i
χi ∈ U (0, 1)
12/24
A. Obuchowicz: MSI - algorytmy ewolucyjne
13/24
GP — reprezentacja osobnika
Reprezentacja:
a → tree(F, T ),
+
gdzie
T – zbiór argumentów (liście drzewa),
sin
∗
y
∗
2
π
x
F – zbiór operatorów (pozostałe wierzchołki).
z
przykład
T = {x, y, z, π, 2, 1, 0.1}
F = {+, −, ∗, /, sin, cos, log}
figure : f (x, y, z) = yz + sin(2πx).
A. Obuchowicz: MSI - algorytmy ewolucyjne
14/24
GP — operatory genetyczne
krzyżowanie
mutacja
losowe poddrzewo
A. Obuchowicz: MSI - algorytmy ewolucyjne
EP — inicjacja i ocena
Inicjacja:
Inicjacja
P (0) = {ai (0) ∈ G}ηi=1 ,
Sukcesja
×
G = Rn × Rn+ ,
ai = (xi , σ i > 0).
Ocena:
Ocena
M utacja
P (t) → Φ(P (t)) = {Φ(xi )}ηi=1 .
15/24
A. Obuchowicz: MSI - algorytmy ewolucyjne
16/24
EP — mutacja
Mutation:
Każdy element ai ∈ P (t) jest rodzicem
Inicjacja
(x, σ) → (x′ , σ ′ )
Sukcesja
×
x′k = xk + σk Nk (0, 1) | k = 1, . . . , n
√
σk′ = σk + ασk Nk (0, 1) | k = 1, . . . , n
α: parametr sterujacy;
˛
Nk (0, 1): zmienna losowa
Ocena
M utacja
o rozkładzie normalnym
(nowa dla każdej współrzednej
˛
k).
A. Obuchowicz: MSI - algorytmy ewolucyjne
17/24
EP — sukcesja
Sukcesja:
q-sparingowa selekcja
(P (t) ∪ P ′ (t)) → P (t + 1),
Inicjacja
∀ai ∈ P (t) ∪ P ′ (t)
Sukcesja
×
Ocena
M utacja
{χij = U (1, . . . , 2η) | j = 1, . . . , q}
Pq 1 if Φ(xi ) ≥ Φ(xχij )
wi = j=1
;
0 otherwise
wybieramy η z 2η osobników o
najwyższym rankingu wi
jako nowa˛ populacje.
˛
A. Obuchowicz: MSI - algorytmy ewolucyjne
18/24
ES — inicjacja
Inicjacja:
P (0) = {ai (0) ∈ G}ηi=1 ,
n
1
2 n(n+1)
G = R × R+
Inicjacja
,
ai = (xi , C i ) = (xi , σ i , αi ),
C i : macierz kowariancji dla
Sukcesja
Reprodukcja
wielowymiarowego rozkładu
normalnego w mutacji,
Ocena
Operat. genet.
αi : wector katów
˛
obrotu
przekształcajacego
˛
C i w forme˛
diagonalna˛ o wariancjach σ i .
A. Obuchowicz: MSI - algorytmy ewolucyjne
ES — reproducja i ocena
Reprodukcja:
λ rodziców jest wybieranych
Inicjacja
z η osobników
obecnej populacji P (t):
Sukcesja
Reprodukcja
{χi = U (1, 2, . . . , η) | i = 1, 2, . . . , λ}
P ′ (t) = {aχi (t) | i = 1, 2, . . . , λ}
Ocena:
Ocena
Operat. genet.
nie ma żadnych ograniczeń
na dopasowanie.
19/24
A. Obuchowicz: MSI - algorytmy ewolucyjne
20/24
ES — operacje genetyczne: rekombinacja
Rekombinacja:
P ′ (t) → P ′′ (t)
ap1,i
ap1,i ∨ ap2,i
a′i =
(1 − χ)ap1,i + χap2,i
ap1i ,i ∨ ap2i ,i
(1 − χ )a + χ a
i p1,i
i p2,i
bez rekombinacji
localna dyskretna
localna ciagła
˛
globalna dyskretna
globalna ciagła
˛
χ, χi = U (0, 1) p1, p2, p1i , p2i = U (1, 2, . . . , λ).
A. Obuchowicz: MSI - algorytmy ewolucyjne
ES — operatory genetyczne: mutacja
Mutacja:
Inicjacja
P ′′ (t) → P ′′′ (t)
(x′′ , σ ′′ , α′′ ) → (x′′′ , σ ′′′ , α′′′ )
Sukcesja
Reprodukcja
σk′′′ = σk′′ exp (τ ′ N (0, 1) + τ Nk (0, 1))
αk′′′ = αk′′ + βN (0, 1)
x′′′ = N (x′′ , σ ′′′ , α′′′ )
Ocena
Operat. genet.
τ, τ ′ , β: parametry sterujace.
˛
21/24
A. Obuchowicz: MSI - algorytmy ewolucyjne
22/24
ES — sukcesja
Sukcesja:
strategia (η + λ)ES
Inicjacja
P (t) ∪ P ′′′ (t) → P (t + 1)
η z η + λ najlepiej dopasowanych.
Sukcesja
Reprodukcja
strategia (η, λ)ES
Ocena
Operat. genet.
P ′′′ (t) → P (t + 1)
η z λ najlepiej dopasowanych.
(λ >> η).
A. Obuchowicz: MSI - algorytmy ewolucyjne
23/24
ESSS — inicjacja i ocena
Inicjacja:
Inicjacja
P (0) = {xi (0) ∈ D}ηi=1 ,
D = Rn ,
×
Reprodukcja
Ocena:
Ocena
M utacja
Φ : D → R+ ∪ {0},
dopasowanie = przeskalowana funkcja celu.
A. Obuchowicz: MSI - algorytmy ewolucyjne
24/24
ESSS — reprodukcja i mutacja
Reprodukcja:
selekcja proporcjonalna
zwana metoda˛ ruletki
Inicjacja
×
Reprodukcja
P ′ (t) = {x′ hi }ηi=1 ;
n
o
h
Φ(ξ(a
(t)))
i
hi = min h : l=1
> χi
η
Φ(ξ(ai (t)))
l=1
χi ∈ U (0, 1)
Mutacja:
Ocena
M utacja
P ′ (t) → P (t + 1)
xk (t + 1) = xk (t) + σNk (0, 1),
k = 1, 2, . . . , η,
˛
σ: parametr sterujacy.