LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

Podobne dokumenty
LABORATORIUM 3: Wpływ operatorów krzyżowania na skuteczność poszukiwań AE

LABORATORIUM 4: Algorytmy ewolucyjne cz. 2 wpływ operatorów krzyżowania i mutacji na skuteczność poszukiwań AE

LABORATORIUM 2: Wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE. opracował: dr inż. Witold Beluch

LABORATORIUM 4: Wpływ operatorów mutacji na skuteczność poszukiwań AE

ALGORYTMY EWOLUCYJNE. INTELIGENTNE TECHNIKI KOMPUTEROWE wykład 011. Napór selekcyjny (selektywny nacisk. Superosobniki: SELEKCJA

METODY HEURYSTYCZNE wykład 3

ĆWICZENIE 2: Algorytmy ewolucyjne cz. 1 wpływ wielkości populacji i liczby pokoleń na skuteczność poszukiwań AE

METODY HEURYSTYCZNE wykład 3

LABORATORIUM 1: Program Evolutionary Algorithms

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Algorytmy ewolucyjne - algorytmy genetyczne. I. Karcz-Dulęba

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA HISTORIA NA CZYM BAZUJĄ AG

ALGORYTMY GENETYCZNE ćwiczenia

SZTUCZNA INTELIGENCJA

Równoważność algorytmów optymalizacji

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Algorytm genetyczny (genetic algorithm)-

Algorytmy genetyczne

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy genetyczne w optymalizacji

METODY HEURYSTYCZNE 3

SZTUCZNA INTELIGENCJA

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA OPERATOR KRZYŻOWANIA ETAPY KRZYŻOWANIA

ALHE Z11 Jarosław Arabas wykład 11

Dobór parametrów algorytmu ewolucyjnego

Algorytmy genetyczne

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia niestacjonarne

LICZEBNOŚĆ POPULACJI OBLICZENIA EWOLUCYJNE. wykład 3. Istotny parametr AG...

Algorytmy ewolucyjne. Łukasz Przybyłek Studenckie Koło Naukowe BRAINS

Algorytmy ewolucyjne NAZEWNICTWO

OBLICZENIA EWOLUCYJNE

Algorytmy genetyczne

Algorytmy genetyczne (AG)

Standardowy algorytm genetyczny

Algorytmy genetyczne. Dariusz Banasiak. Katedra Informatyki Technicznej Wydział Elektroniki

Algorytmy ewolucyjne 1

Algorytmy genetyczne. Paweł Cieśla. 8 stycznia 2009

Zadania laboratoryjne i projektowe - wersja β

Wstęp do Sztucznej Inteligencji

Algorytmy genetyczne. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

Techniki optymalizacji

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Obliczenia ewolucyjne - plan wykładu

POZNAN UNIVE RSITY OF TE CHNOLOGY ACADE MIC JOURNALS No 72 Electrical Engineering 2012

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Obliczenia Naturalne - Algorytmy genetyczne

Strategie ewolucyjne (ang. evolution strategies)

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Strefa pokrycia radiowego wokół stacji bazowych. Zasięg stacji bazowych Zazębianie się komórek

Algorytmy ewolucyjne Część II

Algorytmy genetyczne

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Metody Rozmyte i Algorytmy Ewolucyjne

OBLICZENIA EWOLUCYJNE

KARTA MODUŁU KSZTAŁCENIA

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

OBLICZENIA EWOLUCYJNE

Generowanie i optymalizacja harmonogramu za pomoca

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

6. Klasyczny algorytm genetyczny. 1

BIOCYBERNETYKA ALGORYTMY GENETYCZNE I METODY EWOLUCYJNE. Adrian Horzyk. Akademia Górniczo-Hutnicza

Program "FLiNN-GA" wersja 2.10.β

Algorytm indukcji klasyfikatora za pomocą EA z automatycznym przełączaniem ukierunkowań

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2011, Oeconomica 285 (62), 45 50

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Algorytmy ewolucyjne. wprowadzenie

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

WAE Jarosław Arabas Adaptacja i samoczynna adaptacja parametrów AE Algorytm CMA-ES

ALGORYTMY EWOLUCYJNE W ZASTOSOWANIU DO ROZWIĄZYWANIA WYBRANYCH ZADAŃ OPTYMALIZACJI1

Testy De Jonga. Problemy. 1 Optymalizacja dyskretna i ciągła

Inspiracje soft computing. Soft computing. Terminy genetyczne i ich odpowiedniki w algorytmach genetycznych. Elementarny algorytm genetyczny

ALGORYTMY GENETYCZNE I EWOLUCYJNE

Rok akademicki: 2013/2014 Kod: JIS AD-s Punkty ECTS: 4. Kierunek: Informatyka Stosowana Specjalność: Modelowanie i analiza danych

Strategie ewolucyjne. Gnypowicz Damian Staniszczak Łukasz Woźniak Marek

Automatyczny dobór parametrów algorytmu genetycznego

Zaawansowane programowanie

ROZWÓJ ALGORYTMU EWOLUCJI RÓŻNICOWEJ. Konrad Wypchło

Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji

PRZEWODNIK PO PRZEDMIOCIE

STATYSTYKA MATEMATYCZNA

Teoria algorytmów ewolucyjnych

Problem Komiwojażera - algorytmy metaheurystyczne

Programowanie genetyczne

Gospodarcze zastosowania algorytmów genetycznych

ĆWICZENIE 5: Sztuczne sieci neuronowe

SZTUCZNA INTELIGENCJA

Algorytmy ewolucyjne `

ALGORYTMY GENETYCZNE

Programowanie genetyczne, gra SNAKE

Techniki ewolucyjne - algorytm genetyczny i nie tylko

ALHE Jarosław Arabas Metaheurystyki w Rn Ewolucja różnicowa EDA CMAES Rój cząstek

Implementation of Evolutionary Algorithms in the Knowledge-Based Economy

Obliczenia Naturalne - Algorytmy genetyczne

Aproksymacja funkcji a regresja symboliczna

OBLICZENIA EWOLUCYJNE

Obliczenia Naturalne - Strategie ewolucyjne

SZTUCZNA INTELIGENCJA

LABORATORIUM 2: Przeszukiwanie grafów cz. 2 strategie heurystyczne

Transkrypt:

OBLICZENIA EWOLUCYJNE LABORATORIUM 5: Wpływ reprodukcji na skuteczność poszukiwań AE opracował: dr inż. Witold Beluch witold.beluch@polsl.pl Gliwice 2012

OBLICZENIA EWOLUCYJNE LABORATORIUM 5 2 Cel ćwiczenia Wykonując ćwiczenia laboratoryjne przeprowadzisz badania, w wyniku których określisz wpływ różnych wariantów reprodukcji na skuteczność poszukiwań optimum za pomocą algorytmu ewolucyjnego (AE). Sprawdzisz działanie algorytmu dla wybranej funkcji celu i różnych ograniczeń oraz różnych ustawień związanych z poszczególnymi rodzajami reprodukcji. Trochę teorii Reprodukcja (preselekcja) jest jednym z dwóch etapów selekcji 1, którego celem jest ukierunkowanie działania algorytmu ewolucyjnego (AE) w stronę lepszych rozwiązań. procedure Algorytm_Ewolucyjny begin t:=0 wybierz populację początkową P(t) oceń P(t) while (not warunek_zakończenia) do begin wybierz T(t) z P(t) (reprodukcja) utwórz O(t) z T(t) (działanie operatorów ewolucyjnych) oceń O(t) utwórz P(t+1) z O(t) i P(t) (sukcesja) t:=t+1 end end Rys. 1 Schemat działania AE Reprodukcja powoduje, że osobniki o wyższym przystosowaniu maję większą szansę na wybór do populacji pomocniczej T(t) (patrz: Rys. 1), w której to populacji działają następnie operatory genetyczne (typowo są to operatory krzyżowania i mutacji; niektóre z nich poznałeś na wykładzie i sprawdziłeś ich działanie na wcześniejszych zajęciach laboratoryjnych). W wyniku działania operatorów genetycznych powstaje populacja potomna O(t). Reprodukcja proporcjonalna (ruletkowa) Reprodukcja proporcjonalna jest najstarszym historycznie wariantem (pre)selekcji, który został zaproponowany jeszcze przez Hollanda [4]. W wariancie tym prawdopodobieństwo wylosowania do populacji pomocniczej T(t) jest proporcjonalne do wartości funkcji przystosowania osobnika. Każdemu osobnikowi przyporządkowuje się pole koła ruletki o polu proporcjonalnym do jego przystosowania: p f i i = (1) Σ fi 1 Jak zapewne pamiętasz z wykładu, w algorytmach ewolucyjnych wyróżnia się dwa etapy selekcji: reprodukcję (preselekcję) i sukcesję (postselekcję). Zadaniem sukcesji jest tworzenie nowej populacji bazowej z osobników ze starej populacji bazowej P(t) oraz z populacji potomnej O(t).

OBLICZENIA EWOLUCYJNE LABORATORIUM 5 3 gdzie: p i prawdopodobieństwo wylosowania i-tego osobnika; f i wartość funkcji przystosowania i- tego osobnika, Σf i suma przystosowań wszystkich osobników w populacji. Zastosowanie reprodukcji tego typu rodzi wymaganie, by funkcja przystosowania była dodatnia w całej swojej dziedzinie (czy pamiętasz / domyślasz się, dlaczego?). Jeśli tak nie jest, to często (jeśli funkcja przystosowania jest ograniczona z dołu) do funkcji przystosowania można dodać wartość pewnej stałej C, by po przeprowadzeniu optymalizacji odjąć C od wartości funkcji przystosowania znalezionego rozwiązania. Trzeba jednakże uważać, by wartość C była możliwie jak najmniejsza dodanie do funkcji zbyt dużej wartości stałej powoduje, że osobniki niewiele się różnią przystosowaniem, a więc reprodukcja w zasadzie przestaje działać (prawdopodobieństwo wylosowania każdego osobnika staje się podobne)... Ponadto reprodukcja ta jest nieodporna na występowanie tzw. superosobników, czyli osobników o znacznie wyższej niż średnia wartości funkcji przystosowania. Takie osobniki są niepożądane szczególnie w początkowej fazie działania AE, gdyż szybko dominują populację, powodując jej utknięcie w ekstremum, które często jest lokalne. Reprodukcja turniejowa Reprodukcja turniejowa jest wariantem reprodukcji, w którym w pierwszym etapie losuje się (ze zwracaniem lub bez) pewną liczbę q osobników (q jest zwane wielkością turnieju). Następnie z tej grupy wybiera się ( przeprowadza turniej ) osobnika o największej wartości funkcji przystosowania. Powyższą procedurę powtarza się pop_size 1 razy, a zatem aż do zapełnienia populacji tymczasowej. Jeśli w ramach grupy turniejowej więcej niż jeden osobnik ma najwyższe przystosowanie, to zwycięzca jest wyłaniany w drodze losowania. Zazwyczaj przyjmuje się, że wielkość turnieju q wynosi 2. Wartość q steruje intensywnością selektywnego nacisku (im q jest mniejsze, tym mniejszy jest selektywny nacisk). Reprodukcja rangowa Reprodukcja rangowa, zwana również rankingową, jest wariantem reprodukcji, który pozwala na lepsze zarządzanie populacją (poprzez regulowanie selektywnego nacisku 2 ), niż reprodukcja proporcjonalna. Zwykle realizuje się ją w ten sposób, że osobniki są szeregowanie w kolejności nierosnącej. Następnie każdemu osobnikowi przypisywana jest ranga związana z kolejnym numerem na liście (należy zauważyć, że takie postępowanie może powodować, że osobniki o jednakowym przystosowaniu będą miały różne rangi). Po określeniu rang definiuje się zmienną losową, która na podstawie rangi przypisuje każdemu osobnikowi prawdopodobieństwo reprodukcji p i. Często przyjmuje się, że funkcja ta jest funkcją liniową: ri pi = a + k 1 r gdzie: r i wartość rangi i-tego osobnika, r max wartość rangi najlepszego osobnika; a, k parametry. Graficznie przypisywanie rang osobnikom (ranga liniowa) zostało przedstawione na Rys. 2. max (2) 1 pop_size to wartość równa liczebności populacji bazowej. 2 Selektywny nacisk, zwany też naporem selekcyjnym określa, jaka jest oczekiwana liczba kopii osobnika lepszego w porównaniu do oczekiwanej liczby kopii osobnika gorszego. Wyższa wartość selektywnego nacisku powoduje szybszą zbieżność algorytmu, choć niekoniecznie do ekstremum globalnego. Właściwa wartość selektywnego nacisku zależy od samego problemu optymalizacji, implementacji algorytmu oraz fazy działania algorytmu (początkowa, końcowa).

OBLICZENIA EWOLUCYJNE LABORATORIUM 5 4 25 25 20 20 15 15 10 10 5 5 0 1 2 3 4 5 6 7 8 9 10 0 1 2 3 4 5 6 7 8 9 10 a) b) Rys. 2 Reprodukcja rangowa wartości funkcji celu osobników: a) oryginalne; b) z uwzględnieniem linii rangi Nachylenie linii rangi steruje selektywnym naciskiem. Spotykane są oprócz liniowej również inne rodzaje rang, jak np. potęgowa, dla której prawdopodobieństwo reprodukcji jest liczone jako: i ( r ) max i b p = a + k r (3) gdzie: a, b, k parametry dobierane tak, by były spełnione pewne warunki [1]. Dużą zaletą tego rodzaju reprodukcji jest odporność na powstawanie superosobników. Z kolei do wad można zaliczyć fakt, iż pomijana jest tu informacja o względnych ocenach osobników (osobnik nieco lepszy od następnego na liście w wyniku przypisania rangi zachowuje się z punktu widzenia reprodukcji tak samo, jak osobnik dużo lepszy od następnego w kolejności...). Program Evolutionary Algorithms Program Evolutionary Algorithms został opisany (w zakresie algorytmów ewolucyjnych) w instrukcji do laboratorium numer 1. W razie potrzeby sięgnij do tej instrukcji. Pamiętaj o ważnych elementach związanych z funkcjonowaniem programu są one przypomniane poniżej: Zawsze rozpoczynając pracę z programem należy sprawdzić, czy: liczba zmiennych projektowych wynosi 2 (Data->Number of variables); nie ma przypadkowo wprowadzonych ograniczeń liniowych oraz nieliniowych (Data -> Linear/Nonlinear constraints).

OBLICZENIA EWOLUCYJNE LABORATORIUM 5 5 Do wykonania Przeprowadź obliczenia dla następującej funkcji: Funkcja: (( ( ) ( )) ( ( ))) ( ) ( ) (( ) ( ( ))) f1( x, y ) = 25 x 5 x 5 cos 2 x 5 + 25 y 5 y 5 cos 2 y 5 + 50 Zadanie 1: Ograniczenia na zmienne: 0 x 10, 0 y 10; Zadanie 2: Ograniczenia na zmienne: 0 x 5, 0 y 5; Wpisz powyższą funkcję i dla obydwu zadań: Przyjmij liczebność populacji (population size) równą 30 i liczbę pokoleń (Last generation) równą 30. Wprowadź następujące operatory i parametry: krzyżowanie proste (simple crossover), p sc =0.1 krzyżowanie arytmetyczne (arithmetic crossover), p ac =0.1; krzyżowanie (heuristic crossover), p hc =0.1; mutacja równomierna (uniform mutation), p um =0.01; mutacja nierównomierna (non-uniform mutation), p nm =0.01; mutacja brzegowa (boundary mutation), p bm =0.01; funkcja kary: kara śmierci (death penalty); Przeprowadź pięciokrotnie obliczenia dla następujących wariantów reprodukcji: reprodukcja proporcjonalna (metoda koła ruletki) (roulette wheel method); reprodukcja rangowa (rank selection) dla różnych wartości współczynnika naporu selekcyjnego; reprodukcja turniejowa (tournament selection) dla różnych wartości prawdopodobieństw. W drugim zadaniu obliczenia powtórz (ostatnie 10 wierszy tabeli 2) dla selekcji rangowej wyłączając mutację brzegową i zwiększając p um do 0.02. Wypełnij tabelę 1 dla zadania 1 i tabelę 2 dla zadania 2. Tym razem (ze względu na ilość danych) nie musisz kopiować żadnych plików...

OBLICZENIA EWOLUCYJNE LABORATORIUM 5 6 Sprawozdanie Sprawozdanie ma być dostarczone wyłącznie w formie elektronicznej. Nazwa pliku wg wzorca: OE_lab5_Jan_Iksinski.doc/pdf. Strona pierwsza to strona tytułowa. W sprawozdaniu należy zamieścić: 1. Cel ćwiczenia. 2. Optymalizowane funkcje (w tym ich postaci graficzne) oraz ograniczenia na zmienne. 3. Parametry AE. 4. Skan/fotografię protokołu. 5. Opracowanie statystyczne wyników (wartości średnie i odchylenia standardowe dla 5 przebiegów. 6. Wnioski z ćwiczenia z podziałem na wnioski dotyczące zadania 1, zadania 2 oraz wnioski wspólne dla obu zadań. Literatura i źródła [1] J. Arabas: Wykłady z algorytmów ewolucyjnych. WNT, Warszawa, 2003. [2] Z. Michalewicz: Algorytmy genetyczne + struktury danych = programy ewolucyjne. WNT, Warszawa, 1996. [3] L. Rutkowski: Metody i techniki sztucznej inteligencji. PWN, Warszawa, 2006. [4] J. H. Holland: Adaptation in Natural and Artificial Systems: An Introductory Analysis with Applications to Biology, Control and Artificial Intelligence, MIT Press, Cambridge, 1992 (1975).

OBLICZENIA EWOLUCYJNE Protokół do laboratorium 5: Wpływ reprodukcji na skuteczność poszukiwań AE Imię i nazwisko Rok ak. Gr. Sem. Komp. Data Podpis prowadzącego 20 / AB3 I Tabela 1. Wyniki dla zadania 1 L.p. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Rodzaj reprodukcji ruletkowa turniejowa rangowa Parametry prawdop. = 0.2 prawdop. = 0.6 = 0.1 = 0.7 Wartość f. celu najlepszego osobnika x[1] x[2] Znaleziono w pokoleniu: Notatki : 1

OBLICZENIA EWOLUCYJNE Protokół do laboratorium 5: Wpływ reprodukcji na skuteczność poszukiwań AE Tabela 2. Wyniki dla zadania 2 L.p. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 35 35 Rodzaj reprodukcji ruletkowa turniejowa rangowa rangowa bez mutacji brzegowej Parametry prawdop. = 0.2 prawdop. = 0.6 = 0.1 = 0.7 = 0.1 = 0.7 Wartość f. celu najlepszego osobnika x[1] x[2] Znaleziono w pokoleniu: 2