Algorytmy ewolucyje Piotr Lipiński Iformacje ogóle Iformacje i materiały dotyczące wykładu będą publikowae a PIAZZA.com, m.i. prezetacje z wykładów UWAGA: prezetacja to ie książka, otatki czy skrypt to raczej streszczeie omawiaego materiału, pokazaie wybraych algorytmów, przedstawieie wybraych przykładów dlatego przejrzeie samych prezetacji czasami może ie wystarczyć do zrozumieia treści całego wykładu listy zadań propozycje miireferatów i miikokursów materiały dodatkowe rozszerzające treść wykładu ogłoszeia bieżące Piotr Lipiński, Wykład z algorytmów ewolucyjych
Zasady zaliczeia Ćwiczeia/pracowie: Będzie moża zdobywać pukty za: listy zadań (za 80 puktów łączie) każda lista zadań będzie dotyczyć pewych zagadień związaych z algorytmami ewolucyjymi część zadań będzie polegać a zaimplemetowaiu pewych algorytmów i wykorzystaiu ich do rozwiązaia przykładowych problemów, a część a omówieiu przy tablicy pewych mechaizmów algorytmów ewolucyjych a realizację każdej listy zadań będzie określoy czas, zwykle lub tygodie projekt (za 30 puktów) sprawdzia (za 0 puktów) pukty bousowe za dodatkową aktywość (miireferaty, miikokursy, itp.) Łączie będzie do zdobycia miimum 0 puktów (oprócz puktów bousowych) Na zaliczeie wymagae jest 60 puktów. Progi a 3.0 60 puktów poszczególe ocey to: 3.5 7 puktów 4.0 4.5 84 puktów 96 puktów 08 puktów Na oceę bardzo dobrą wymagae jest dodatkowo przygotowaie i wygłoszeie miireferatu. Wykład: egzami 5.0 Piotr Lipiński, Wykład z algorytmów ewolucyjych 3 Zasady zaliczeia Kilka przykładów: Studet, który zdobędzie 40 puktów za listy zadań, 0 puktów ze sprawdziau i 0 puktów za projekt, zaliczy zajęcia z oceą 3.0. Studet, który zdobędzie 60 puktów za listy zadań, 0 puktów ze sprawdziau i 0 puktów za projekt, zaliczy zajęcia z oceą 3.0. Studet, który zdobędzie 55 puktów za listy zadań, 0 puktów ze sprawdziau, 0 puktów za projekt i 5 puktów za miireferat, zaliczy zajęcia z oceą 3.0. Studet, który zdobędzie 75 puktów za listy zadań, 0 puktów ze sprawdziau, 0 puktów za projekt i 5 puktów za miireferat, zaliczy zajęcia z oceą 5.0. Studet, który zdobędzie 75 puktów za listy zadań, 0 puktów ze sprawdziau i 5 puktów za projekt, zaliczy zajęcia z oceą 4.5 (a oceę 5.0 wymagay jest miireferat). UWAGA: Projekt może wymagać sporo pracy. Musi zawierać przemyśleie wybraego problemu, opracowaie algorytmu jego rozwiązywaia, implemetację tego algorytmu, przeprowadzeie eksperymetów obliczeiowych i wykoaie raportu z testowaia opracowaego podejścia. Piotr Lipiński, Wykład z algorytmów ewolucyjych 4
Program wykładu Wprowadzeie do problemów optymalizacji Wprowadzeie do heurystyczych algorytmów optymalizacji Problemy optymalizacji: Klasycze problemy optymalizacji Wielomodale problemy optymalizacji Wielokryteriale problemy optymalizacji Dyamicze problemy optymalizacji Algorytmy ewolucyje: algorytmy geetycze, strategie ewolucyje, programowaie geetycze, programowaie ewolucyje (m.i. SGA, ES, GP, EP, messyga, DE) proste algorytmy estymowaia rozkładu (m.i. CGA, PBIL, ECGA) algorytmy oparte a sieciach bayesowskich i gaussowskich (EBNA, EGNA, BOA) algorytmy optymalizacji wielokryterialej (m.i. NSGA, SPEA, MOEA/D) Zastosowaia: klasycze problemy optymalizacji (m.i. TSP, QAP, Q3AP) systemy ekspertowe, systemy klasyfikujące, systemy wspomagaia decyzji evolutioary robotics, embodied evolutio i ie Piotr Lipiński, Wykład z algorytmów ewolucyjych 5 Klasyczy problem optymalizacji Niech F : Ω R będzie fukcją określoą a zbiorze Ω i przyjmującą wartości rzeczywiste. Problem miimalizacji fukcji F a zadaym zbiorze D Ω polega a zalezieiu miimum fukcji F a zbiorze D (i puktu, w którym fukcja to miimum przyjmuje), tz. a zalezieiu x 0 D takiego, że dla każdego x D \ {x 0 } zachodzi F(x 0 ) < F(x). Problem maksymalizacji fukcji F a zadaym zbiorze D Ω polega a zalezieiu maksimum fukcji F a zbiorze D (i puktu, w którym fukcja to maksimum przyjmuje), tz. a zalezieiu x 0 D takiego, że dla każdego x D \ {x 0 } zachodzi F(x) < F(x 0 ). Każdy problem miimalizacji może zostać przekształcoy do problemu maksymalizacji i każdy problem maksymalizacji może zostać przekształcoy do problemu miimalizacji. UWAGI: Zbiór Ω azywamy przestrzeią poszukiwań. Fukcję F azywamy fukcją celu. Zbiór D azywamy zbiorem rozwiązań dopuszczalych. W praktyce, często rozszerza się problem zastępując ierówości ostre ieostrymi i starając się zaleźć wszystkie pukty x 0 spełiające powstały waruek. W praktyce, często ie jest waże zalezieie dokładych puktów miimów czy maksimów fukcji celu, a jedyie ich przybliżeń lub puktów, w których fukcja celu przyjmuje wartości "dostateczie iskie" lub "dostateczie wysokie" z praktyczego puktu widzeia. Piotr Lipiński, Wykład z algorytmów ewolucyjych 6 3
Klasyczy problem optymalizacji Często zakłada się, że przestrzeń poszukiwań Ω jest przestrzeią metryczą z pewą metryką ρ. Wówczas moża defiiować pojęcie otoczeia puktu, a przykład otoczeie puktu x 0 o promieiu ε > 0 moża określić jako S = {x : ρ(x 0, x) < ε}. Mówimy, że fukcja F przyjmuje miimum lokale w pukcie x 0 Ω, jeśli istieje otoczeie S puktu x 0 takie, że dla każdego x S \ {x 0 } zachodzi F(x 0 ) < F(x). Mówimy, że fukcja F przyjmuje maksimum lokale w pukcie x 0 Ω, jeśli istieje otoczeie S puktu x 0 takie, że dla każdego x S \ {x 0 } zachodzi F(x) < F(x 0 ). Piotr Lipiński, Wykład z algorytmów ewolucyjych 7 Klasyczy problem optymalizacji Przykład (fukcje aalitycze): Zaleźć miimum fukcji F(x) = 3x x +. Zaleźć miimum fukcji F(x, y) = x 7 y 3 x + 3y 7 + 5. Zaleźć miimum fukcji F(x), określoej jak wyżej, ale rozwiązaiami dopuszczalymi są jedyie liczby całkowite. Przykład (problemy kombiatorycze): Problem komiwojażera. Problem QAP. Problem Q3AP. Przykład 3 (fukcje "obliczeiowe" / Black Box Optimizatio): W praktyce często mamy do czyieia z fukcjami, których dokłade matematycze defiicje i wzory ie są zae. Fukcje takie są obliczae w zaday sposób, a przykład w procesie symulacji pewych zjawisk. Cała asza wiedza o takiej fukcji to zajomość procedury obliczaia jej wartości dla zadaego argumetu. Przykład 4: Fukcje pochodzące z systemów uczeia maszyowego: systemów ekspertowych, systemów klasyfikujących, systemów wspomagaia decyzji. Przykład 5: Fukcje określoe a drzewach, grafach czy iych złożoych obiektach. Piotr Lipiński, Wykład z algorytmów ewolucyjych 8 4
Przykład klasyfikacja wielospektralych obrazów satelitarych Wielospektraly obraz satelitary: obraz wielospektraly składa się z pewej liczby warstw (zazwyczaj jest duże, p. = 5) (aalogiczie jak obraz RGB składa się z 3 warstw: R, G i B) każdy pukt obrazu q jest więc opisay przez parametrów: q, q,, q (parametry te mogą być liczbami jedobajtowymi lub ogóliej liczbami rzeczywistymi) Klasyfikacja: a obrazie chcemy rozpozawać pewe klasy puktów, a przykład odpowiadające budykom, drogom, trawikom, zbiorikom wodym, itp. pewie fragmet obrazu został wcześiej wzorcowo sklasyfikoway, możemy użyć go do utworzeia/auczeia systemu automatyczej klasyfikacji iech K ozacza liczbę rozważaych klas, zaś C, C,, CK będą etykietami tych klas Piotr Lipiński, Wykład z algorytmów ewolucyjych 9 Przykład klasyfikacja wielospektralych obrazów satelitarych 7 68 4 3 47 34 34 4 39 99 3 34 4 4 39 39 99 993 3 3 3 97 97 46 46 4 449 3 97 46 449 49 C3 ustaloe wzorce klas pukt obrazu jest zgody ze wzorcem klasy C3 (parametry zawierają się w odpowiedich przedziałach) Piotr Lipiński, Wykład z algorytmów ewolucyjych 0 5
Przykład klasyfikacja wielospektralych obrazów satelitarych Propoowae podejście: Dla zadaego puktu q, klasyfikator będzie kolejo określał czy pukt q ależy do klasy C, klasy C,, klasy CK. Jeśli pukt będzie ależał do więcej iż jedej klasy, to klasyfikator zwróci błąd (pukt ieokreśloy). Klasyfikator będzie określał czy pukt q ależy do klasy C przez sprawdzeie waruków postaci: q [a ] q [a ] q [a ], gdzie a, a,, a, to ustaloe parametry określające klasę C. Problem: Jak wyzaczyć właściwe parametry określające klasy? Moża sprowadzić to do problemu optymalizacji: Przestrzeń poszukiwań: Zbiór wszystkich możliwych kofiguracji systemu (ciągów parametrów), tz. zbiór wektorów liczb rzeczywistych o długości K. Fukcja celu: argumetem fukcji celu jest ciąg parametrów [a, a,, a,, a (C), a (C),, a (C) (C) (C), (C),, a, a,, a, ] wartość fukcji celu jest obliczaa przez uruchomieie klasyfikatora z zadaą przez argumet fukcji celu kofiguracją systemu (ciągiem parametrów) dla daych uczących (fragmetu obrazu wzorcowo sklasyfikowaego) i policzeie liczby błędie sklasyfikowaych puktów obrazu Wyzaczeie właściwej kofiguracji systemu polega więc a zalezieiu miimum fukcji celu a przestrzei poszukiwań. Piotr Lipiński, Wykład z algorytmów ewolucyjych Przykład problem QAP Quadratic Assigmet Problem (QAP): rozpatrujemy miejscowości, w których ależy zbudować fabryk (w każdej miejscowości ma powstać dokładie jeda fabryka) przypisaie fabryk do miejscowości (rozmieszczeie fabryk) to permutacja p = (p, p,, p ) liczb,,,, taka że p k ozacza umer miejscowości, w której zostaie zbudowaa fabryka umer k daa jest macierz odległości między miejscowościami macierz D rozmiaru x, o elemetach d(i, j) ozaczających odległość miejscowości i od miejscowości j daa jest macierz przepływu towarów między fabrykami macierz F rozmiaru x, o elemetach f(k, l) ozaczających wartość przepływu towarów z fabryki k do fabryki l ależy zaleźć takie rozmieszczeie fabryk p, żeby łączy koszt przepływu towarów c(p) był miimaly: c( p) = k = l= f ( k, l) d( p k, p l ) Piotr Lipiński, Wykład z algorytmów ewolucyjych 6
Przykład programowaie geetycze Przestrzeią poszukiwań może być zbiór drzew (a przykład drzew klasyfikujących). Fukcja celu jest wówczas określoa a tych drzewach (a przykład jako sprawość klasyfikatora liczoa a pewych daych uczących). Zagadieie optymalizacji polega a zalezieiu maksimum fukcji celu, czyli zalezieiu drzewa spełiającego pewe kryteria (a przykład ajlepiej klasyfikującego dae uczące). Programowaie geetycze to algorytmy zajmujące się problemami optymalizacji określoymi a zbiorach drzew. Piotr Lipiński, Wykład z algorytmów ewolucyjych 3 Klasyczy problem optymalizacji Populare metody rozwiązywaia: aaliza matematycza (fukcji jedej i wielu zmieych) programowaie liiowe i kwadratowe algorytm simplex (dla wypukłych problemów optymalizacji) algorytmy aproksymacyje algorytmy przeszukiwaia algorytm pełego przeglądu algorytmy heurystycze Simulated Aealig Tabu Search Hill Climbig algorytmy przeszukiwaia populacyjego, w tym algorytmy ewolucyje Dla wielu praktyczych problemów algorytmy optymalizacji gwaratujące poprawość rozwiązaia ie mogą zostać zastosowae. Algorytmy aproksymacyje, awet jeśli mogą być zastosowae do takich problemów, to mimo że gwaratują określoą dokładość rozwiązaia, często dostarczają rozwiązań zbyt słabych. Prowadzi to do koieczości stosowaia heurystyczych algorytmów przeszukiwaia. Piotr Lipiński, Wykład z algorytmów ewolucyjych 4 7
Uogólioe problemy optymalizacji Wielomodaly problem optymalizacji Celem ie jest zalezieie maksimum globalego fukcji celu, ale określoej liczby ajwiększych maksimów lokalych fukcji celu. Przykład: projektowaie kształtów spełiających pewe kryteria (fukcja celu mierzy stopień spełiaia tych kryteriów), użytkowik jedak chciałby mieć możliwość wybraia rozwiązaie gorszego (o iższej wartości fukcji celu), ale "ładiejszego" (a tego kryterium użytkowik ie potrafi sprecyzować). Wielokryterialy problem optymalizacji Zamiast jedej fukcji celu jest ich kilka, często ze sobą sprzeczych. Celem jest zalezieie rozwiązaia kompromisowego, optymalizującego kilka sprzeczych ze sobą kryteriów. Przykład: maksymalizacja oczekiwaego zysku z iwestycji przy jedoczesej miimalizacji ryzyka. Dyamiczy problem optymalizacji Fukcja celu zmieia się w czasie. Zmiay są a tyle częste, że ie moża rozpatrywać tego problemu jako ciągu statyczych problemów optymalizacji, ale ależy w algorytmie optymalizacji uwzględić fakt, że fukcji celu zmieia się w trakcie jego wykoywaia. Przykład: system wspomagaia decyzji dla środowisk dyamiczych, m.i. Opartych a szeregach czasowych wysokiej częstotliwości. Piotr Lipiński, Wykład z algorytmów ewolucyjych 5 8