SZTUCZNA INTELIGENCJA W FINANSACH IV. Metody genetyczne Jerzy KORCZAK email: jerzy.korczak@ue.wroc.pl Metody sztucznej ewolucji Algorytmy genetyczne Programowanie genetyczne Systemy klasyfikatorow Strategie ewolucyjne Podstawa symulacji : Ewolucja populacji rozwiazan poprzez procesy selekcji, krzyzowania, mutacji i reprodukcji Ch. DARWIN «On the Origin of Species by Means of Natural Selection», 1859 «surivival of the fittest» J.Korczak, 1 J.Korczak, ULP 2 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 3 J.Korczak, ULP 4 3. Operatory genetyczne - Selekcja : mechanizm «ruletki» Nr PopInit x f(x) fi/s 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 01101,11000,11000,10011 J.Korczak, ULP 5 31% 6% 14% 49% 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 6 1
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 (npr) exp (-r 2 / 2 ), r 2 = x 2 +y 2, x,y [0.0, 1.0] gdzie n oraz sa stalymi. J.Korczak, ULP 7 J.Korczak, ULP 8 Operatory genetyczne: selekcja, mutacja, reprodukcja Selekcja Selekcja proporcjonalna F i /SF i : kolo ruletki Selekcja wg pozycji Selekcja turniejowa, Mutacja Eksploracja przestrzeni rozwiazan Mutacja adaptacyjna, Rekreacja populacji (utworzenie nastepnej populacji) Strategia elitarna Strategia eugeniczna, Operatory genetyczne: Krzyzowanie 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 9 J.Korczak, ULP 10 Projekt ibe-realtime Expert Discovery and Database Connections Consulting and simulations Stock trading using genetic algorithms Trading expert model: a subset of trading rules each 5 sec aggregation Database Quotes Experts Clients Supervisor each 1 min provider Oracle ias server Expert Generator 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 Quality of trading expert = F(return, risk) J.Korczak, ULP 11 J.Korczak, ULP 12 2
Technical trading rules Rate Of Change (ROC) IF ROC is-greater-than (1+e) THEN BUY, ELSE IF ROC is-less-than (1-e) THEN SELL ELSE HOLD Reguly tradingu : Srednia 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 13 J.Korczak, ULP 14 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 15 J.Korczak, ULP 16 Przestrzen rozwiazan population initiale Projekt ibe-realtime Expert Discovery and Database Connections Consulting and simulations each 5 sec provider aggregation each 1 min Database Quotes Experts Clients Oracle ias server Supervisor Expert Generator J.Korczak, ULP 17 J.Korczak, ULP 18 3
Bourse-Experts : Real-time stock trading 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 J.Korczak, ULP 19 J.Korczak, ULP 20 Przyklad Dane sa 4 zadania (A, B, C, D) do wykonania na 4 maszynach (M1, M2, M3, M4). Kodowanie (reprezentacja) rozwiazan Przyklad : chromozom ADBC A1 (T=2, M1), A2(T=3, M2), A3(T=4, M3), A4(T=5, M4). B1 (T=3, M1), B2(T=4, M3), B3(T=1, M2), B4(T=1, M4). C1 (T=5, M3), C2(T=5, M2), C3(T=2, M1), C4(T=2, M4). 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 21 J.Korczak, ULP 22 Ocena i kryterium stopu Fitness function: f(plan i) = 1/czas wykonania planu i Kryterium stopu: homogenicznosc populacji otrzymanie satysfakcjonujacego rozwiazania liczba generacji Operatory krzyzowania PMX (Partially Match Crossover) OX (Order Crossover) CX (Cycle Crossover) J.Korczak, ULP 23 J.Korczak, ULP 24 4
PMX PMX Etap 2 : Zamienic strefy krzyzowania 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 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. J.Korczak, ULP 25 J.Korczak, ULP 26 PMX Mutacja Etap 4: Skompletowac genami homologicznymi A : 8 4 1 2 3 5 7 6 B : 4 3 5 6 7 1 8 2 Przypomnienie : Exemple : A : 1 2 3 4 5 6 7 8 A : 1 2 6 4 5 3 7 8 A : 8 4 5 6 7 1 3 2 B : 4 7 1 2 3 5 8 6 J.Korczak, ULP 27 J.Korczak, ULP 28 J.Korczak, ULP 29 J.Korczak, ULP 30 5
TSP: Problem komiwojazera Poszukiwanie najkrotszej marszruty przez dane miasta Zlozonosc: O(n!) 45000 40000 Przyklad : Regresja symboliczna Cel : wygenerowanie funkcji przechodzacej przez punkty: (x 1, y 1 ), (x 2, y 2 ),, (x n, y n ), Funkcje elementarne : +,-,*,/, sin, cos, log, exp Terminal : x Fitness : SI(f(x i ) y i )I dla 20 losowych punktow Kryterium stopu : MaxLiczbaGen LUB I(f(x i ) y i )I < 0.01 35000 30000 25000 20000 15000 10000 5000 0 0 2 4 6 8 10 W tym przykladzie 20 punktow zostalo wygenerowanych funkcja: f(x) = x 4 + x 3 + x 2 + x http://alphard.ethz.ch/gerber/approx/default.html J.Korczak, ULP 31 J.Korczak, ULP 32 Programowanie genetyczne : Aproksymacja funkcji Podsumowanie Adaptacyjnosc Modularnosc Robustness Latwosc implementacji Nie jest konieczna doglebna znajomosc dzialania modelu Latwosc hybrydyzacji (sieci neuronowe, heurystyki) Latwosc implementacji rownoleglej algorytmu J.Korczak, ULP 33 J.Korczak, ULP 34 6