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 1/24 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.
A. Obuchowicz: MSI - algorytmy ewolucyjne 2/24 Algorytmy ewolucyjne - plan sformułowanie problemu optymalizacji; klasy technik optymalizacji; główne pojęcia algorytmów ewolucyjnych; standardowe algorytmy ewolucyjne: algorytmy genetyczne; programowanie genetyczne; poszukiwanie ewolucyjne z miękka selekcja; programowanie ewolucyjne; strategie ewolucyjne.
A. Obuchowicz: MSI - algorytmy ewolucyjne 3/24 Sformułowanie problemu optymalizacji x opt = arg min x D f(x) (g i(x) < 0 i = 1, 2,...,m) D dziedzina; f : D R funkcja celu; g i : D R i = 1, 2,...,m funkcje ograniczajace; x opt D (globalne) rozwiazanie optymalne.
A. Obuchowicz: MSI - algorytmy ewolucyjne 4/24 Klasy problemów optymalizacji D dyskretne ciagłe g i (x) ograniczone nieograniczone f(x) liniowe nieliniowe wypukłe wklęsłe d.c. inne
A. Obuchowicz: MSI - algorytmy ewolucyjne 5/24 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)
A. Obuchowicz: MSI - algorytmy ewolucyjne 6/24 Podstawowe pojęcia EA Φ : D R x i D ξ : G D a i G EA : G η G η G a G P G η EA : G η G η D x D Φ : D R ξ : G D przestrzeń genotypowa; genotyp (chromosom); populacja η osobników; proces evolucyjny; przestrzeń fenotypowa; fenotyp; funkcja dopasowania (maksymalizowana); funkcja dekodujaca (zwykle nieodwracalna).
A. Obuchowicz: MSI - algorytmy ewolucyjne 7/24 Postać ogólna procesu ewolucyjnego Sukcesja Reprodukcja Operat. genet. : P(0) = {a i (0) = RANDOM(G 0 )} η i=1 ; P(0) Φ(P(0)); Reproducja: P (t) = s p θ p (P(t)); Operatory genetyczne: P (t) = r θr (P (t)); P (t) = m θm (P (t)); : P (t) Φ(P (t)); Sukcesja: P(t + 1) = s n θ n (P(t) P (t)).
A. Obuchowicz: MSI - algorytmy ewolucyjne 8/24 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 miękka selekcja (ESSS) (Galar,1985).
A. Obuchowicz: MSI - algorytmy ewolucyjne 9/24 GA inicjacja Reprodukcja Operat. genet. : P(0) = {a i (0) G} η i=1 ; G = {0, 1} l (ciag bitów o długości l) reprezentacja naturalna dla odwzorowań pseudoboolowskich. dla D = n j=1 [u j, v j ] (u j < v j ), ξ = n j=1 (ξ j), ξ j : {0, 1} l j [u j, v j ], x j = ξ j (a jp p = 1,...,l j ) = = u j + v j u j 2 l j 1 n j=1 l j = l, ( lj p=1 a jp2 p 1 ).
A. Obuchowicz: MSI - algorytmy ewolucyjne 10/24 GA ocena i reprodukcja Reprodukcja Operat. genet. : Φ : D R + {0}, dopasowanie = przeskalowana funkcja celu. Reprodukcja: selekcja proporcjonalna zwana również metoda ruletki P (t) = {a h i } η { i=1 ; } h l=1 h i = min h : Φ(ξ(a i(t))) η l=1 Φ(ξ(a i(t))) > χ i χ i U(0, 1)
A. Obuchowicz: MSI - algorytmy ewolucyjne 11/24 GA operatory genetyczne: krzyżowanie Reprodukcja Operat. genet. Rekombinacja (Krzyżowanie): rodzice dobierani w pary a 1 = (a 1,1,...,a 1,n ) a 2 = (a 2,1,...,a 2,n ) potomkowie IF χ θ r THEN a 1 = (a 1,1,...,a 1,ζ, a 2,ζ+1,...,a 2,n ) a 2 = (a 2,1,...,a 2,ζ, a 1,ζ+1,...,a 1,n ) ELSE a 1 = a 1 a 2 = a 2 χ U(0, 1) ζ U(1, 2,...,n 1)
A. Obuchowicz: MSI - algorytmy ewolucyjne 12/24 GA operatory genetyczne: mutacja Reprodukcja Operat. genet. Mutacja: skrzyżowany rodzic a (t) = (a 1,...,a n) potomek a(t + 1) = (a 1,...,a n ) a i = χ i U(0, 1) a i 1 a i χ i > θ m χ i θ m
A. Obuchowicz: MSI - algorytmy ewolucyjne 13/24 GP reprezentacja osobnika + sin y z 2 π x Reprezentacja: a tree(f, T), gdzie T zbiór argumentów (liście drzewa), F zbiór operatorów (pozostałe wierzchołki). 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 15/24 EP inicjacja i ocena Sukcesja Mutacja : P(0) = {a i (0) G} η i=1, G = R n R n +, a i = (x i, σ i > 0). : P(t) Φ(P(t)) = {Φ(x i )} η i=1.
A. Obuchowicz: MSI - algorytmy ewolucyjne 16/24 EP mutacja Sukcesja Mutacja Mutation: Każdy element a i P(t) jest rodzicem (x, σ) (x, σ ) x k = x k + σ k N k (0, 1) k = 1,...,n σ k = σ k + ασ k N k (0, 1) k = 1,...,n α: parametr sterujacy; N k (0, 1): zmienna losowa o rozkładzie normalnym (nowa dla każdej współrzędnej k).
A. Obuchowicz: MSI - algorytmy ewolucyjne 17/24 EP sukcesja Sukcesja: q-sparingowa selekcja (P(t) P (t)) P(t + 1), a i P(t) P (t) Sukcesja Mutacja {χ ij = U(1,...,2η) j = 1,...,q} w i = q 1 if Φ(x i ) Φ(x χij ) j=1 0 otherwise wybieramy η z 2η osobników o ; najwyższym rankingu w i jako nowa populację.
A. Obuchowicz: MSI - algorytmy ewolucyjne 18/24 ES inicjacja : Sukcesja Reprodukcja P(0) = {a i (0) G} η i=1, G = R n R 1 2 n(n+1) +, a i = (x i, C i ) = (x i, σ i, α i ), C i : macierz kowariancji dla wielowymiarowego rozkładu normalnego w mutacji, Operat. genet. α i : wector katów obrotu przekształcajacego C i w formę diagonalna o wariancjach σ i.
A. Obuchowicz: MSI - algorytmy ewolucyjne 19/24 ES reproducja i ocena Sukcesja Reprodukcja Operat. genet. Reprodukcja: λ rodziców jest wybieranych z η osobników obecnej populacji P(t): {χ i = U(1, 2,...,η) i = 1, 2,...,λ} P (t) = {a χi (t) i = 1, 2,...,λ} : nie ma żadnych ograniczeń na dopasowanie.
A. Obuchowicz: MSI - algorytmy ewolucyjne 20/24 ES operacje genetyczne: rekombinacja Rekombinacja: P (t) P (t) a i = χ,χ i = U(0, 1) a p1,i a p1,i a p2,i bez rekombinacji localna dyskretna (1 χ)a p1,i + χa p2,i localna ciagła a p1i,i a p2i,i globalna dyskretna (1 χ i )a p1,i + χ i a p2,i globalna ciagła p1,p2,p1 i,p2 i = U(1, 2,...,λ).
A. Obuchowicz: MSI - algorytmy ewolucyjne 21/24 ES operatory genetyczne: mutacja Mutacja: P (t) P (t) Sukcesja Reprodukcja Operat. genet. (x, σ, α ) (x, σ, α ) σ k = σ k exp (τ N(0, 1) + τn k (0, 1)) α k = α k + βn(0, 1) x = N(x, σ, α ) τ, τ, β: parametry sterujace.
A. Obuchowicz: MSI - algorytmy ewolucyjne 22/24 ES sukcesja Sukcesja Sukcesja: strategia (η + λ)es P(t) P (t) P(t + 1) η z η + λ najlepiej dopasowanych. Reprodukcja Operat. genet. strategia (η, λ)es P (t) P(t + 1) η z λ najlepiej dopasowanych. (λ >> η).
A. Obuchowicz: MSI - algorytmy ewolucyjne 23/24 ESSS inicjacja i ocena : P(0) = {x i (0) D} η i=1, D = R n, Reprodukcja Mutacja : Φ : D R + {0}, dopasowanie = przeskalowana funkcja celu.
A. Obuchowicz: MSI - algorytmy ewolucyjne 24/24 ESSS reprodukcja i mutacja Reprodukcja Mutacja Reprodukcja: selekcja proporcjonalna zwana metoda ruletki P (t) = {x h i } η { i=1 ; } h l=1 h i = min h : Φ(ξ(a i(t))) η l=1 Φ(ξ(a i(t))) > χ i χ i U(0, 1) Mutacja: P (t) P(t + 1) x k (t + 1) = x k (t) + σn k (0, 1), k = 1, 2,...,η, σ: parametr sterujacy.