Metody sztucznej ewolucji Sieci neuronowe i algorytmy ewolucyjne IV. Algorytmy ewolucyjne Algorytmy genetyczne Programowanie genetyczne Systemy klasyfikatorow Strategie ewolucyjne Podstawa symulacji : Ewolucja populacji rozwiazan poprzez procesy selekcji, krzyzowania, mutacji i reprodukcji Jerzy KORCZAK email :jerzy.korczak@ue.wroc.pl http://www.korczak-leliwa.pl http://citi-lab.pl http://kti.ue.wroc.pl Ch. DARWIN «On the Origin of Species by Means of Natural Selection», 1859 «surivival of the fittest» 1 J.Korczak, ULP 2 Przestrzeń rozwiązań population initiale Proces ewolucji populacja końcowa J.Korczak, ULP 3 J.Korczak, ULP 4 Algorytm ewolucji t:=0 initpopulation P(t) //initialize a usually random population evaluate P(t) // evaluate fitness of all individuals WHILE not done DO // test for termination criterion t:=t + 1 P := selectparents P(t) // sub-population for offspring production recombine P (t) // recombine the «genes» of selected parents mutate P (t) // perturb the mated population stochastically evaluate P (t) // evaluate new fitness P :=survive P, P (t) // select the survivors OD END EA Prosty przyklad Cel : Maksymalizacja funkcji f(x) = x 2 gdzie x [0...31] 1. Kodowanie 0 00000 1 00001... 31 11111 2. Generacja pierwszej populacji (n=4) NoChaîne PopInit x f(x) 1 01101 13 169 2 11000 24 576 3 01000 8 64 4 10011 19 361 J.Korczak, ULP 5 J.Korczak, ULP 6 1
3. Operatory genetyczne - Selekcja : mechanizm «ruletki» Nr PopInit x f(x) f i/σ f 1 01101 13 169 0.14 2 11000 24 576 0.49 3 01000 8 64 0.06 4 10011 19 361 0.31 Suma 1170 1.00 Srednia 293 - Krzyzowanie 0110 1 1100 0 0110 0 1100 1 31% 6% 14% 49% 01101,11000,11000,10011 4. Operatory genetyczne : krzyzowanie, mutacja Nr Rodzice Partner lokx. Dzieci x f(x) 1 01101 2 4 01100 12 144 2 11000 1 4 11001 25 625 3 11000 4 2 11011 27 729 4 10011 3 2 10000 16 256 Suma 1754 Srednia 439 Max 729 - Mutacja : p mut = 1/20 ; nr pozycji -> rand() =13 01100 11001 11011 10000 01100 11001 11111 10000 J.Korczak, ULP 7 J.Korczak, ULP 8 Fitness function Maksymalizacja funkcji Dany jest model o P parametrach. Jakosc tego modelu mierzy funkcja F(P) Zadanie optymalizacji polega na znalezieniu takiego punktu p* ktory maksymalizuje funkcje oceny. Przyklad: Znalezc taka pare (x m,y m ) ktore maksymalizuje f(x,y) = cos 2 (nπr) exp (-r 2 /σ 2 ), r 2 = x 2 +y 2, x,y [0.0, 1.0] gdzie n oraz σ sa stalymi. J.Korczak, ULP 9 J.Korczak, ULP 10 Operatory genetyczne: selekcja, mutacja, reprodukcja Operatory genetyczne: Krzyzowanie Selekcja Selekcja proporcjonalna F i /ΣF i : kolo ruletki Selekcja wg pozycji Selekcja turniejowa, Mutacja Eksploracja przestrzeni rozwiazan Mutacja adaptacyjna, Rekreacja populacji (utworzenie nastepnej populacji) Strategia elitarna Strategia eugeniczna, Krzyzowanie 1-no punktowe AA AAAAA AABBBBB BB BBBBB BBAAAAA Krzyzowanie 2-punktowe AA AAA AA AABBBAA BB BBB BB BBAAABB Krzyzownie wielo-punktowe 0 1 1 0 0 0 1 AAAAAAA BBBBBBB BAABBBA ABBAAAB J.Korczak, ULP 11 J.Korczak, ULP 12 2
Planowanie zadan: Job Shop Scheduling Dane : zbior zadan do wykonania {J i } na m maszynach {M k }, kazde zadanie J i jest zlozone z m i operacji {o i1, o i2,, o mi }, operacja o ik : { id, czas wykonania t k, maszyna M k } Cel : Minimalizacja calkowitego czasu wykonania T min (T max ) = min (max (t ik ) : J i J, M k M) gdzie T max jest czasem wykonania przy spelnieniu ograniczen nastepstwa zadan i zasobow. Liczba mozliwych planow realizacji zadan: (n!) m Przyklad Dane sa 4 zadania (A, B, C, D) do wykonania na 4 maszynach (M1, M2, M3, M4). Zadanie A sklada sie z 4 podzadan: A1 (T=2, M1), A2(T=3, M2), A3(T=4, M3), A4(T=5, M4). Zadanie A sklada sie z 4 podzadan: B1 (T=3, M1), B2(T=4, M3), B3(T=1, M2), B4(T=1, M4). Zadanie A sklada sie z 4 podzadan: C1 (T=5, M3), C2(T=5, M2), C3(T=2, M1), C4(T=2, M4). Zadanie A sklada sie z 4 podzadan: D1 (T=1, M1), D2(T=1, M4), D3(T=2, M3), D4(T=9, M2). --- A1 (T=2, M1) oznacza ze A1 wymaga 2 jedn czasu na M1 J.Korczak, ULP 13 J.Korczak, ULP 14 Kodowanie (reprezentacja) rozwiazan Przyklad : chromozom ADBC Ocena i kryterium stopu Fitness function: f(plan i) = 1/czas wykonania planu i Kryterium stopu: homogenicznosc populacji otrzymanie satysfakcjonujacego rozwiazania liczba generacji J.Korczak, ULP 15 J.Korczak, ULP 16 Operatory krzyzowania PMX PMX (Partially Match Crossover) OX (Order Crossover) CX (Cycle Crossover) A : 8 4 5 6 7 1 3 2 B : 4 7 1 2 3 5 8 6 Etap 1 : Wybrac losowo strefe krzyzowania Przyklad : A : 8 4 5 6 7 1 3 2 J.Korczak, ULP 17 J.Korczak, ULP 18 3
PMX PMX Etap 2 : Zamienic strefy krzyzowania A : 8 4 5 6 7 1 3 2 A :.. 1 2 3... B : 4 7 1 2 3 5 8 6 B :.. 5 6 7... Etap 3: Zachowac geny nie bedace w strefie krzyzowania A : 8 4 1 2 3... B : 4. 5 6 7. 8. Etap 4: Skompletowac genami homologicznymi A : 8 4 1 2 3 5 7 6 B : 4 3 5 6 7 1 8 2 Przypomnienie : A : 8 4 5 6 7 1 3 2 B : 4 7 1 2 3 5 8 6 J.Korczak, ULP 19 J.Korczak, ULP 20 Mutacja Exemple : A : 1 2 3 4 5 6 7 8 A : 1 2 6 4 5 3 7 8 J.Korczak, ULP 21 J.Korczak, ULP 22 Problem komiwojażera Reprezentacja: Dystans : -z 0 do 1 = 5 -z 0 do 2 = 7 -... Przykłady podróży J.Korczak, ULP 23 J.Korczak, ULP 24 4
Problem komiwojażera - operacje Operacja Krzyżowania Problem komiwojażera - przykład Rodzice Miasta niewstawione Dzieci Operacja Mutacji Przed Po J.Korczak, ULP 25 J.Korczak, ULP 26 Projekt ibe-realtime Expert Discovery and Database Connections Consulting and simulations Stock trading using genetic algorithms [Korczak, Roger] Trading expert model: a subset of trading rules each 5 sec Time series aggregation Database Quotes Experts Clients each 1 min Time series provider Oracle ias server Technical trading rules and indicators [W.Colby et T. Meyers, J. Murphy] IF conditions are satisfied THEN decision financial indicators buy, hold or sell Initial wealth of expert: C 0 n 0 P t0 +1 + m Supervisor Expert Generator Quality of trading expert = F(return, risk) J.Korczak, ULP 27 J.Korczak, ULP 28 Technical trading rules Rate Of Change (ROC) IF ROC is-greater-than (1+ε) THEN BUY, ELSE IF ROC is-less-than (1-ε) THEN SELL ELSE HOLD Reguły tradingu : Średnia ruchoma Peugeot Ease of Movement Value (EMV) IF indicator EMV is positive THEN BUY ELSE IF indicator EMV is negative THEN SELL ELSE HOLD Price Channel IF current-price > max of n preceding prices THEN BUY ELSE IF current-price < min of n preceding prices THEN SELL ELSE HOLD Irrational rules: friday 13th, signs of Zodiac, etc. Rgula : Kup : kiedy SR przebija kurs à la hausse Sprzedaj : kiedy SR przebija kurs à la baisse J.Korczak, ULP 29 J.Korczak, ULP 30 5
Genetic encoding of experts Are some rules more efficient? Each trading expert is encoded as a binary string, a chromosome: 1 0 1 0 0 0 1 0 0 0 1 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 Genes represent the rules to be executed while examining financial data. no rule consistently outperforms the others J.Korczak, ULP 31 J.Korczak, ULP 32 Projekt ibe : interface Projekt ibe-realtime Expert Discovery and Database Connections Consulting and simulations each 5 sec Time series provider Time series aggregation each 1 min Database Quotes Experts Clients Oracle ias server Supervisor Expert Generator J.Korczak, ULP 33 J.Korczak, ULP 34 Architecture of Internet Bourse Experts AT system Internet Bourse-Experts - Agent Technology Market Database IAs Market Watch IA Volatility IA Text Mining IAs Expert Database Financial Database Stock Analysis IAs Visualization Agents Security Agents Expert Supervisor Expert Generator Users Database network Users ( PC, Palm, Mobile, ) J.Korczak, ULP 35 J.Korczak, ULP 36 6
Programowanie genetyczne Process of program evolution J. R. Koza, Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press 1996. PG : konstrukcja programu z wykorzystaniem sztucznej ewolucji Reprezentacja programu : drzewo syntaktyczne Program generation Genetic operators : creation, crossover, mutation, selection Fitness function Program primitives : Set of functions F, (*,+, AND, ) Set of terminalst (vars, const, ) (+ (* A B) (/ (+C 5) (- D 2.5) )) A * B + / + - C 5 D 2.5 Program test Compilation Program exe Results Execution J.Korczak, ULP 37 J.Korczak, ULP 38 Operatory : generowanie programu Operatory : krzyzowanie (crossover) J.Korczak, ULP 39 J.Korczak, ULP 40 Operatory : mutacja Operatory : tworzenie podprogramów J.Korczak, ULP 41 J.Korczak, ULP 42 7
Operatory: supresja podprogramów Operators : creation J.Korczak, ULP 43 J.Korczak, ULP 44 Operators : crossover Operators : mutation J.Korczak, ULP 45 J.Korczak, ULP 46 Operators : creation of sub-programs Example: Symbolic Regression The SR problem requires finding a function y=f(x), that fits a set of (x,y) data points with minimal error. The set of points comes from a target function (x 1, y 1 ), (x 2, y 2 ),, (x n, y n ), Functions : +,-,*,/, sin, cos, log, exp Terminal : x Fitness : /Φ(f(x i ) y i )I for 20 randomly generated points Stop criterion : MaxNoGen OU Φ(f(x i ) y i )I < 0.01 In this example, a set 20 samples has been generated using the following function : f(x) = x 4 + x 3 + x 2 + x http://alphard.ethz.ch/gerber/approx/default.html J.Korczak, ULP 47 J.Korczak, ULP 48 8
Programowanie genetyczne : Aproksymacja funkcji IBE-GP Schemat funkcjonalny J.Korczak, ULP 49 J.Korczak, ULP 50 Discovery of Trading Rules Règles : Sous la forme FONCTION=Booléen Test : si le résultat de la fonction est égal à la décision alors le booléen doit être TRUE Si ce n est pas le cas, la règle est évaluée comme fausse Wizualizacja decyzji STMicro AXA Peugeot J.Korczak, ULP 51 J.Korczak, ULP 52 Przyklad : Optymalizacja ruchu pojazdow Evolutionary Art : System EVA http://asd.bbn.com/papers/traffic/traffic.html J.Korczak, ULP 53 J.Korczak, ULP 54 9
System EVA Operatory i drzewo syntaktyczne «malarzy» Problem komiwojażera J.Korczak, ULP 55 J.Korczak, ULP 56 Podsumowanie Algorytmy ewolucyjne (AE) optymalizuja zagadnienia przy zmiennych ciaglych lub dyskretnych, przy czym liczba zmiennych moze byc duza AE nie wymagaja informacji o pochodnych AE maja zastosowanie przy zlozonych przestrzeniach funkcji kosztu Adaptacyjność i modularność Robustness Latwość implementacji Nie jest konieczna dogłebna znajomość działania modelu Latwość hybrydyzacji (sieci neuronowe, heurystyki) Latwość implementacji rownoległej algorytmu J.Korczak, ULP 57 10