OPTYMALIZACJA GLOBALNA PLAN WYKŁADU Historia Zadania
Transkrypt
OPTYMALIZACJA GLOBALNA PLAN WYKŁADU Historia Zadania
2010‐03‐11 PLAN WYKŁADU Historia Zadania | Co odróżnia od klasycznych algorytmów | Nazewnictwo | Etapy | Kodowanie, inicjalizacja, transformacja funkcji celu | Selekcja | Skalowanie funkcji przystosowania | | OPTYMALIZACJA GLOBALNA Wykład 2 dr inż. Agnieszka Bołtuć HISTORIA NA CZYM BAZUJĄ AG Lata 50 – prace biologów (Barricelli, Fraser) nad symulacją procesów biologicznych, | 1962 – zastosowanie AG do zagadnień sztucznej adapatacji (J. Holland) | 1967 – AG grający w prostą grę (Bagley) | 1970 – systemy rozpoznające np. twarze ludzkie, | 1971 – J. Holland wydaje pierwszą pracę o zastosowaniu AG do optymalizacji funkcji | 1975 – Adaptation in Natural and Artificial Systems, John Holland (profesor z Uniwersytetu Michigan, Stany Zjednoczone) | | Naśladują procesy zachodzące w przyrodzie, Naśladują procesy ewolucji biologicznej, | Odzwierciedlają dobór naturalny oraz dziedziczność, | Łączą Ł w sobie bi ewolucyjna l j zasadę d przeżycia ż i najlepiej przystosowanych z systematyczną, choć zrandomizowaną wymianą informacji tworząc metodę obdarzoną dozą ludzkiej pomysłowości, | 1 2010‐03‐11 AG KONTRA KLASYCZNE METODY HISTORIA O KRÓLICZKACH WG. MICHALEWICZA AG nie przetwarza bezpośrednio parametrów zadania, ale ich zakodowana postać | AG prowadzą poszukiwania nie z pojedynczego punktu, lecz pewnej populacji, | AG korzystają jedynie z funkcji celu – bez pochodnych i innych informacji, | AG stosują probabilistyczne, a nie deterministyczne reguły wyboru. | | | | | | NAZEWNICTWO | | | | | Populacja – zbiór osobników o pewnej liczebności (rozwiązań) Osobniki – zakodowane w postaci chromosomów zbiory parametrów zadania, czyli rozwiązania zadania, czy też punkty przestrzeni poszukiwań, Chromosom - łańcuchy, czy też ciągi kodowe, to uporządkowane ciągi genów, Gen - pojedynczy element genotypu, w szczególności chromosomu, Genotyp - zespół chromosomów danego osobnika. Czyli osobnikami mogą być genotypy lub pojedyncze chromosomy, najczęściej genotyp składa się z jednego chromosomu – osobnik haploidalny. W każdej chwil mamy jakąś populację królików. Niektóre z nich są szybsze i sprytniejsze od innych. Szybsze i sprytniejsze króliki mają większą szansę umknięcia przed lisem. Wobec tego więcej ich przeżywa, aby zrobić to, co króliki robią najlepiej, a mianowicie nowe króliki. Oczywiście, y niektóre z wolniejszych j y ig głupszych p y królików też przeżyją, bo mają szczęście. Ta ocalała populacja królików wydaje potomstwo. Jest ono dobrą mieszaniną materiału genetycznego. Niektóre wolne króliki krzyżują się z szybkimi, niektóre szybkie z szybkimi, nie które sprytne z głupimi itd. A do tego natura dorzuca od czasu do czas „dziką kartę", wprowadzając mutację do genetycznego materiału królików. Urodzone w wyniku takiego procesu króliki będą (średnio) szybsze i sprytniejsze niż te z początkowej populacji, ponieważ szybsi i sprytniejsi rodzice umknęli przed lisami. NAZEWNICTWO Fenotyp - to zestaw wartości odpowiadający danemu genotypowi, | Allel – wartość danego genu, | Locus – pozycja wskazująca miejsce położenia danego genu w chromosomie chromosomie, | Generacja – kolejna iteracja w AG, | Pokolenie – nowa populacja (wynik generacji), | Funkcja przystosowania – miara dostosowania osobnika do populacji. | 2 2010‐03‐11 NAZEWNICTWO KONTRA KRÓLICZKI SCHEMAT KLASYCZNEGO AG Króliczek – osobnik Populacja króliczków – populacja | Funkcja przystosowania – określenie czy szybki czy wolny | Selekcja S l k j – słabe ł b osobniki b iki giną i | Krzyżowanie – tworzenie nowych, wydawanie potomstwa | Mutacja – dzika karta | | | ETAPY SGA | Kodowanie i Inicjalizacja – utworzenie populacji początkowej przez losowy wybór ustalonej liczby chromosomów w odpowiednim kodzie, | Ocena przystosowania – obliczenie funkcji przystosowania, im większa wartość tym lepiej przystosowany, | Simple Genetic Algorithm (SGA) by Holland Start Stop Kodowanie Inicjalizacja Ocena przystosowania Czy stop? Reprodukcja Operatory genetyczne Nowa populacja Ocena przystosowania Sukcesja KRYTERIUM STOPU | Otrzymano wartość żądaną lub z żądaną dokładnością, | Założona z góry liczba iteracji lub czas, | Gdy kolejne iteracje nie wpływają na wyniki. Reprodukcja – wybór chromosomów, które będą brały udział w tworzeniu nowej populacji, największe szanse mają te najlepiej przystosowane. 3 2010‐03‐11 KODOWANIE W SGA | | Kodowanie wpływa na sposób przeszukiwania przestrzeni rozwiązań, Sposób zakodowania w chromosomie informacji o proponowanym p p y rozwiązaniu ą wydatnie y wpływa py na szybkość i jakość znajdowanych wyników, KODOWANIE BINARNE Polega na zastąpieniu zmiennej decyzyjnej zadania poprzez jej reprezentację binarną: Zakres Z k zmienności i ś i [[a,b], b] Rozdzielczość (liczba genów), | Sposób rozkładu zmiennych w przedziale. | | | Każde możliwe rozwiązanie optymalizowanego problemu przedstawiamy w postaci chromosomu, | W SGA będzie to kodowanie binarne – ciągi zerojedynkowe zapisane na dowolnej liczbie bitów. xp = a + d *D 2n −1 D – długość przedziału (b-a) n- liczba bitów d – wartość dziesiętna z łańcucha binarnego KODOWANIE BINARNE - PRZYKŁADY KODOWANIE BINARNE - PRZYKŁADY Zad. 1 Mamy funkcję F(x). Należy zakodować liniowo zmienną decyzyjną tej funkcji w przedziale <0,31> na 5 bitach. F(x)=x2-1, <60,150>, kodowanie liniowe na 5 bitach Zad. 2 Mamy funkcję F(x). Należy zakodować liniowo zmienną decyzyjną tej funkcji w przedziale <-5,7> na 5 bitach. Plik .xls przystosowanie względne= f ∑f *100 lub f ∑f 4 2010‐03‐11 KODOWANIE - DOKŁADNOŚĆ | | można założyć dokładność wartości dziesiętnych otrzymywanych po przekształceniu z systemu binarnego, jest ona zależna od dziedziny zmienności x INICJALIZACJA | Losowanie populacji początkowej zakodowanej w wybrany sposób, | Dobór odpowiedniej liczby osobników: | jeśli j śli zbyt b t mało ł utkniemy tk i w minimach i i h llokalnych k l h | jeśli zbyt dużo duży koszt działania programy np. 6 miejsc po przecinku dla przedziału <-1,2> obliczamy dl*106 = 3*1000000=3000000 2x<=3000000<2x+1 221=2097152<3000000<222=4194304 Odp. Rozdzielczość dla żądanej dokładności wynosi 22 OCENA PRZYSTOSOWANIA | | | Ocena przystosowania polega na obliczeniu wartości funkcji przystosowania dla każdego chromosomu. Im większa wartość funkcji, tym lepszy chromosom. W zadaniach optymalizacyjnych funkcją przystosowania jest zwykle optymalizowana funkcja. W teorii sterowania funkcją przystosowania może być funkcja błędu, w teorii gier funkcja kosztu, etc. Zakłada się, że problem optymalizacji jest problemem poszukiwania maksimum funkcji i że funkcja przystosowania jest funkcją przyjmującą wartości nieujemne. Jeżeli pierwotna funkcja nie spełnia tych założeń, trzeba ją poddać odpowiedniej transformacji. TRANSFORMACJA FUNKCJI CELU | g(x)=f(x)+|Cmin| | g(x)=|Cmax|-f(x) 5 2010‐03‐11 REPRODUKCJA METODA RULETKI Zadaniem jest wybór osobników, które wezmą udział w tworzeniu następnego pokolenia, | Tak jak w naturalnej selekcji – im lepiej przystosowany (większa wartość funkcji przystosowania) tym większe szanse szanse, | Rodzaje: | losowa – gdy wszyscy mają jednakowe prawdopodobieństwo przejścia, | proporcjonalna – gdy prawdopodobieństwo przejścia zależy od wartości funkcji przystosowania. | METODA RULETKI - IMPELMENTACJA WADY REPRODUKCJI RULETKOWEJ | | Dla każdego chromosomu obliczamy tzw. dystrybuantę Symulacja odpowiednio wykalibrowanej tarczy obrotowej ruletki, | Każdy chromosom ma swój odpowiednik na ruletce – o wielkości takiej jak wartość funkcji przystosowania tzn. przystosowania, tzn f f ps = *100 lub ps = ∑f ∑f Proces selekcji oparty jest na n-krotnym uruchomieniu ruletki (n-liczba osobników) i wyborze za każdym razem jednego osobnika, | Niektóre będą wybrane częściej, inne raz, jeszcze inne wcale. | | W bezpośredni sposób może być stosowana jedynie do szukania maksimum funkcji, | Osobniki o zbyt małej funkcji przystosowania mogą być zbyt szybko zostać usunięte co doprowadzi do przedwczesnej zbieżności, i qi = ∑ ps j j =1 | L Losujemy j liliczbę b r z przedziału d i ł <0,1> 0 1 llub b <0,100> 0 100 | Wybieramy chromosom i-ty dla którego qi −1 < r ≤ qi Skalowanie funkcji przystosowania 6 2010‐03‐11 SKALOWANIE FUNKCJI PRZYSTOSOWANIA CELE SKALOWANIE FUNKCJI PRZYSTOSOWANIA | Zapewnienie odpowiedniego poziomu konkurencji podczas wykonywania algorytmu, | Zapobieganie przed dominowaniem w selekcji niewielkiej liczby superosobników poprzez „zmniejszenie” wartości funkcji celu – zapobieganie bi i przedwczesnej d j zbieżności, bi ż ś i | W fazach późniejszych gdy skład populacji jest bardziej jednorodny, poziom konkurencji między osobnikami spada i mamy do czynienia z błądzeniem algorytmu, wówczas należy „powiększyć” wartości funkcji celu, aby uwydatnić różnice pomiędzy członkami populacji – zapobieganie błądzeniu. Skalowanie liniowe F’=aF+b a,b – dobieramy tak aby średnia wartość funkcji F’ była równa średniej wartości F, a maksymalna wartość F’ F była wielokrotnością średniej wartości funkcji przystosowania Współczynnik wielokrotności przyjmuje się często pomiędzy 1.2 a 2 Należy uważać aby skalowanie nie doprowadziło do powstania ujemnych wartości funkcji przystosowania SKALOWANIE FUNKCJI PRZYSTOSOWANIA SKALOWANIE FUNKCJI PRZYSTOSOWANIA Skalowanie liniowe zapewnia, że przeciętny osobnik otrzymuje przeciętnego potomka, a najlepszy tylu ile wynosi założona krotność, | Skalowanie liniowe daje dobre rezultaty oprócz przypadków pojawiania się ujemnej wartości funkcji przystosowania, gdy nie może być stosowane, najczęściej ta cecha pojawia się w końcowych fazach działania algorytmu, gdy większość ma wysoką wartość funkcji przystosowania ale jest kilku osobników z mała wartością. | | | Obcinanie typu sigma F ' = F + (F − cσ ) F - średnia wartość funkcji przystosowania c σ - mała liczba naturalna (1-5) - odchylenie standardowe w populacji Wszystkie wartości ujemne F’ zamienia się na 0. 7 2010‐03‐11 SKALOWANIE FUNKCJI PRZYSTOSOWANIA | Skalowanie potęgą k – bliskie 1, 1 np. np k=1.005 k 1 005 Może ulegać jednak zmianie w trakcie przebiegu i jest zależny od problemu. REPRODUKCJA RANKINGOWA Istnieją różne funkcje pozwalające określić prawdopodobieństwo wylosowania osobnika. Dla liniowej metody rankingowej prawdopodobieństwo przeżycia danego osobnika może zostać wyznaczone w następujący sposób r rmax ) gdzie parametry a i k dobiera się tak, by spełnione były warunki: ∑p s Każdemu osobnikowi nadawana jest pewna wartość zależna od jego położenia na liście posortowanej względem funkcji przystosowania, tzw. ranga (r), | Cechy: zmniejsza przewagę najlepszych rozwiązań, gdy jest zbyt duża i zwiększa przewagę jeśli jest zbyt mała, może być stosowana do żądań poszukiwania minimum i maksimum. | F’=Fk ps = a + k (1 − REPRODUKCJA RANKINGOWA PORÓWNANIE RULETKA KONTRA RANKING F(x) Przystosowanie względne Ruletka Ranking (a=0.1,k=0.7) 1 1/21 4.76% 3 0.1 13 13/21 61.9% 1 0.566 56.6% 10% 7 7/21 33.3% 2 0.333 33.3% W przypadku metody rankingowej wzrasta „szansa na przeżycie” osobnika o najmniejszej wartości funkcji przystosowania. =1 , 0 ≤ ps ≤ 1 . 8 2010‐03‐11 REPRODUKCJA TURNIEJOWA NAPÓR SELEKTYWNY | Losowy wybór kilku osobników (grupa turniejowa), grupa turniejowa jest k-elementowa, zwykle 2,3-osobowa, | Wybieramy najlepszego osobnika z grupy na podstawie d t i funkcji f k ji przystosowania t i i wstawiamy t i go d do nowej populacji, | Powtarzamy czynność tyle razy ile osobników w całej populacji, | Wyróżniamy losowanie osobników ze zwracaniem i bez zwracania. | NAPÓR SELEKTYWNY - RULETKA NAPÓR SELEKTYWNY - RANKING Intensywność nacisku selektywnego zmniejsza się wraz z kolejnymi generacjami, gdyż coraz więcej osobników potomnych uzyskuje zbliżone wartości przystosowania, co utrudnia zbieżność takiego algorytmu. g y | Z kolei na początku działania, przy dużym zróżnicowaniu wartości przystosowania, należy oczekiwać silnego nacisk selektywnego, mogącego powodować tendencję do przedwczesnej zbieżności. | | Tendencję algorytmu do poprawiania średniej wartości przystosowania populacji bazowej nazywa się naciskiem (naporem) selektywnym; | Algorytm ma tym większy nacisk selektywny, im większa jest wartość oczekiwana liczby kopii lepszego osobnika w porównaniu z wartością oczekiwaną liczby kopii gorszego osobnika; Napór selektywny określają parametry a i k ze wzoru na prawdopodobieństwo przeżycia danego osobnika, | W porównaniu z innymi metodami, selekcja rangowa stwarza dużą szansę na przetrwanie osobników o małej, w stosunku do najlepszych osobników, wartości funkcji przystosowania. | Istotnym jest, aby w procesie selekcji zachować różnorodność osobników populacji. Metoda ta nie napotyka na konieczność skalowania w związku z problemem przedwczesnej zbieżności, co może wystąpić przy stosowaniu metody ruletki. 9 2010‐03‐11 NAPÓR SELEKTYWNY - TURNIEJ WYKŁAD PRZYGOTOWANO NA PODSTAWIE Parametrem sterującym intensywnością nacisku selektywnego jest liczność turnieju q. Im liczba ta jest większa, tym większy jest napór selekcyjny metody. | Warianty bez zwracania i ze zwracaniem dają różny nacisk selektywny: | drugi z nich jest mniej restrykcyjny, gdyż pozwala na reprodukcję dowolnego osobnika z niezerowym prawdopodobieństwem, | z kolei w pierwszym, q-1 najgorszych osobników nie będzie w ogóle reprodukować. | | J. Arabas „Wykłady z algorytmów ewolucyjnych”, WNT, 2001. | Z. Michalewicz „Algorytmy genetyczne + struktury danych = programy ewolucyjne”, WNT, 1992. | D. D E E. Goldberg „ Algorytmy genetyczne i ich zastosowania”, WNT, 1998. 10