Algorytmy genetyczne w optymalizacji

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

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

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

Algorytmy genetyczne

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

ALGORYTMY GENETYCZNE ćwiczenia

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

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytm genetyczny (genetic algorithm)-

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

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Algorytmy genetyczne

Obliczenia ewolucyjne - plan wykładu

6. Klasyczny algorytm genetyczny. 1

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytmy genetyczne

METODY HEURYSTYCZNE wykład 3

Strategie ewolucyjne (ang. evolu4on strategies)

Algorytmy ewolucyjne. wprowadzenie

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

Równoważność algorytmów optymalizacji

Algorytmy ewolucyjne NAZEWNICTWO

METODY HEURYSTYCZNE wykład 3

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

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

Generowanie i optymalizacja harmonogramu za pomoca

Standardowy algorytm genetyczny

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Techniki optymalizacji

Algorytmy ewolucyjne 1

Metody przeszukiwania

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

Algorytmy genetyczne (AG)

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

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

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

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Dobór parametrów algorytmu ewolucyjnego

Algorytmy genetyczne

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

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

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

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

Algorytmy ewolucyjne (2)

ALGORYTMY GENETYCZNE

SZTUCZNA INTELIGENCJA

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

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna)

Systemy Inteligentnego Przetwarzania wykład 4: algorytmy genetyczne, logika rozmyta

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

Program "FLiNN-GA" wersja 2.10.β

Techniki ewolucyjne - algorytm genetyczny i nie tylko

Podejście memetyczne do problemu DCVRP - wstępne wyniki. Adam Żychowski

ALHE Z11 Jarosław Arabas wykład 11

METODY HEURYSTYCZNE 3

5. Algorytm genetyczny przykład zastosowania

Aproksymacja funkcji a regresja symboliczna

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

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

Algorytmy ewolucyjne Część II

Wstęp do Sztucznej Inteligencji

SZTUCZNA INTELIGENCJA

Algorytmy ewolucyjne

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

Algorytmy genetyczne w interpolacji wielomianowej

Strategie ewolucyjne (ang. evolution strategies)

Optymalizacja parametryczna (punkt kartezjańskim jest niewypukła).

ALGORYTMY GENETYCZNE I EWOLUCYJNE

PLAN WYKŁADU OPTYMALIZACJA GLOBALNA ZADANIE KOMIWOJAŻERA METODY ROZWIĄZYWANIA. Specyfika zadania komiwojażera Reprezentacje Operatory

Algorytmy ewolucyjne `

Obliczenia Naturalne - Algorytmy genetyczne

Problemy z ograniczeniami

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

w analizie wyników badań eksperymentalnych, w problemach modelowania zjawisk fizycznych, w analizie obserwacji statystycznych.

Zaawansowane programowanie

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

ZASTOSOWANIE ALGORYTMU GENETYCZNEGO DO WYZNACZANIA OPTYMALNYCH DECYZJI STERUJĄCYCH

Ewolucjonizm NEODARWINIZM. Dr Jacek Francikowski Uniwersyteckie Towarzystwo Naukowe Uniwersytet Śląski w Katowicach

Obliczenia Naturalne - Algorytmy genetyczne

Definicja problemu programowania matematycznego

Problem Komiwojażera - algorytmy metaheurystyczne

Optymalizacja. Wybrane algorytmy

Automatyczny dobór parametrów algorytmu genetycznego

Politechnika Wrocławska Wydział Elektroniki INFORMATYKA SYSTEMÓW AUTONOMICZNYCH. Heurystyka, co to jest, potencjalne zastosowania

GENETYKA POPULACJI. Ćwiczenia 1 Biologia I MGR /

OBLICZENIA EWOLUCYJNE

Optymalizacja ciągła

Obliczenia Naturalne - Strategie ewolucyjne

KARTA MODUŁU KSZTAŁCENIA

Kodowanie i kompresja Streszczenie Studia Licencjackie Wykład 11,

OBLICZENIA EWOLUCYJNE

Algorytmy ewolucyjne

Po zapoznaniu się z funkcją liniową możemy przyjśd do badania funkcji kwadratowej.

OBLICZENIA EWOLUCYJNE

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Algorytmy ewolucyjne (3)

Transkrypt:

Algorytmy genetyczne w optymalizacji Literatura 1. David E. Goldberg, Algorytmy genetyczne i ich zastosowania, WNT, Warszawa 1998; 2. Zbigniew Michalewicz, Algorytmy genetyczne + struktury danych = programy ewolucyjne, WNT, Warszawa 1999

Algorytmy ewolucyjne Definicja algorytmu ewolucyjnego Algorytmy poszukiwania ekstremalnej wartości funkcji przystosowania (funkcji celu) oparte na mechanizmach doboru naturalnego oraz dziedziczności łączące ewolucyjna zasadę przeżycia najlepiej przystosowanych z systematyczna chod przypadkową wymiana informacji [Goldberg] Idea ewolucji Istnieje pewna populacja osobników, Każdy osobnik jest mutacją pary rodziców, Osobniki konkurują ze sobą, Przetrwają osobniki najlepiej dopasowane do wymagao środowiska. Algorytmy genetyczne, oparte na obserwacjach zmian struktury kodu DNA, są podgrupą algorytmów ewolucyjnych

Schemat blokowy algorytmu ewolucyjnego Utwórz populację początkową Oceo wszystkich osobników funkcją przystosowania Odtwórz populację zastępowanie operatory genetyczne Utwórz potomstwo Czy stop? TAK Pokaż optimum NIE selekcja Wybierz rodziców

Pojęcia stosowane w algorytmach genetycznych Biologia Osobnik (genotyp, chromosom) - uporządkowany zbiór genów Gen Pozycja genu w chromosomie (locus) Wartośd genu (allel) Populacja Środowisko, funkcja przystosowania Kod genetyczny Fenotyp osobnik o zmodyfikowanej przez środowisko strukturze genów Optymalizacja Punkt w przestrzeni zmiennych decyzyjnych Składowa wektora zmiennych decyzyjnych Numer składowej wektora zmiennych decyzyjnych Wartośd składowej wektora zmiennych decyzyjnych Zbiór punktów w przestrzeni zmiennych decyzyjnych Funkcja celu Sposób zapisu wartości składowych wektora zmiennych decyzyjnych (np. alfabet, dziesiętny, binarny) Punkt w przestrzeni zmiennych decyzyjnych o innej niż początkowa wartości funkcji celu

Kodowanie genetyczne PRZYKŁAD. Przestrzeo zmiennych decyzyjnych jest dwuwymiarowa, np. wysokośd, szerokośd. Położenie punktu w przestrzeni jest określone dwoma liczbami x 1, x 2. Określamy rozdzielczośd (dokładnośd wyznaczenia) tych liczb na x 1, x 2. Stąd mamy (dla dodatnich x 1, x 2 ) x 1 = m x 1 x 2 = n x 2 gdzie m,n liczby naturalne. Jeśli x 1, x 2 mogą przyjmowad wartości ujemne, to musimy określid kres dolny MIN1, MIN2, wtedy x 1 = MIN1+m x 1 x 2 = MIN2+n x 2 Osobnik Y będzie zapisany jako Kod dziesiętny Kod binarny (MAX1=MAX2=16) Gen wysokość Gen szerokość

Populacja początkowa Utworzenie populacji początkowej (najczęściej od 20 do 50) chromosomów może byd wykonane na kilka sposobów: 1. Losowe wybieranie wartości poszczególnych genów w kolejnych chromosomach, 2. Przy znanym zakresie MIN, MAX równomierne wypełnianie przestrzeni optymalizacji, 3. Subiektywne ustalanie budowy chromosomów na podstawie istniejących przesłanek.

Funkcja przystosowania Funkcja przystosowania f(x), która podlega maksymalizacji bądź minimalizacji, może byd dana w postaci jawnej: np. lub niejawnej Ta ostatnia postad musi byd stosowana gdy składowe geny nie mają wspólnej reprezentacji matematycznej, np. Wyznaczanie funkcji przystosowania jest identyczne jak w deterministycznych metodach optymalizacji nieliniowej

Mechanizmy selekcji przy wyborze rodziców Punktem wyjściowym do selekcji jest zbiór populacja chromosomów {Y} z przypisaną wartością funkcji przystosowania {f(y)}. Wyznaczamy sumaryczną wartośd SUMf oraz udziały każdego chromosomu w tej sumie Podstawowe rodzaje mechanizmów selekcji to: metoda ruletki, metoda turniejowa, metoda rankingowa,

Mechanizmy selekcji przy wyborze rodziców metoda ruletki PRZYKŁAD. Dla N=5 chromosomów wyznaczono ich udziały f k w sumarycznej wartości funkcji przystosowania. Określamy prawdopodobieostwo p k wylosowania do puli rodziców, które odbywa się w dziedzinie całkowitoliczbowej. Maksymalizacja funkcji przystosowania gdzie C - całkowita liczba ( liczba miejsc w ruletce) Minimalizacja funkcji przystosowania Udział f k zastępujemy przez wielkośd g k obliczaną jako Zachodzi wówczas 1 2 3 4 5 Osobnicy o najgorszym przystosowaniu mogą nie wejśd do puli losowania Osobnicy o najlepszym przystosowaniu mogą nie zostad wylosowani

Mechanizmy selekcji przy wyborze rodziców metody turniejowa i rankingowa Metoda turniejowa Dla N chromosomów wyznaczamy losowo K grup po N/K członków, z których wybieramy do puli rodziców (N/K C ) chromosomów o najlepszej funkcji przystosowania, C wybrana liczba całkowita. Metoda rankingowa N chromosomów szeregujemy w zależności od ich funkcji przystosowania od najlepszej do najgorszej. W zależności od rangi wyznaczamy liczbę kopii osobników przeznaczonych do generacji nowej populacji. Niezależnie od kształtu krzywej rankingowej zachowujemy stałą licznośd populacji. Iloraz liczby kopii do liczby populacji określa prawdopodobieostwo wyboru. Liczba kopii Selekcja elitarna Selekcja proporcjonalna Selekcja egalitarna Ranga

Statyczna i dynamiczna selekcja Selekcja statyczna Metoda wyznaczania rozkładu prawdopodobieostwa wyboru w populacji jest taka sama dla wszystkich pokoleo Selekcja dynamiczna Metoda wyznaczania rozkładu prawdopodobieostwa wyboru w populacji jest zmienna dla kolejnych pokoleo Na przykład stopniowe przechodzenie od strategii egalitarnej przez proporcjonalną do elitarnej Liczba kopii Selekcja elitarna Selekcja proporcjonalna Selekcja egalitarna Ranga

Operatory genetyczne Idea krzyżowania kodowanie binarne 1. Z wyselekcjonowanej puli rodziców losuje się kolejno N/2 par rodziców (N licznośd populacji). 2. Ustala się losowo punkt przecięcia chromosomu dla danej pary alternatywnie: - punkt przecięcia może byd tylko na granicy kolejnych genów; - punkt przecięcia może byd w dowolnym miejscu chromosomu 3. Reprodukuje się parę potomną gen1 gen2 gen3

Operatory genetyczne Krzyżowanie wielopunktowe Można wprowadzid krzyżowanie wielopunktowe, tu pokazano zastosowanie dla ciągłej struktury binarnego chromosomu Schemat krzyżowania trójpunktowego

Operatory genetyczne Krzyżowanie arytmetyczne Chromosom potomny x p jest kombinacją liniową chromosomów rodziców x r Algorytm: 1. Losujemy liczbę z przedziału (0,1). 2. Generujemy potomków według wzoru 3. Sprowadzamy wartości alleli do liczb całkowitych za pomocą funkcji floor

Operatory genetyczne Inwersja W chromosomie potomnym częśd jego genomu jest odwrotnie uszeregowana jak w chromosomie rodzica. Inwersja zapobiega zubożeniu populacji Algorytm: 1. Losujemy liczby z przedziału (0,długośd chromosomu) określające punkty przecięcia 2. Odwracamy kolejnośd fragmentu genomu pomiędzy punktami przecięcia

Operatory genetyczne Mutacja Chromosom potomny powstaje przez zmianę w chromosomie rodzica losowo wybranej części jego genomu na wartośd przeciwną lub wybraną losowo. Mutacja zapobiega zubożeniu populacji Algorytm: 1. Losujemy nr chromosomu i liczbę z przedziału (1,długośd chromosomu) określającą punkt mutacji Wartośd przeciwna w alfabecie 2. Zmieniamy wartośd alleli na przeciwną Kodowanie binarne - binarnym 0 1 - czteroznakowym 0 2, 1 3

Operatory genetyczne Prawdopodobieostwo wystąpienia Krzyżowanie każde pokolenie, Inwersja 0.001 MN Mutacja (0.001-0.01) MN M licznośd populacji N długośd chromosomu Wartości orientacyjne, silnie zależne od problemu!

Odtwarzanie pokolenia (sukcesja) Zastępowanie proste Po krzyżowaniu każda para rodziców jest zastępowana przez parę potomków, na których działają operatory inwersji i mutacji Zastępowanie elitarne 1. Po krzyżowaniu tworzona jest przejściowa populacja o liczności 2M składająca się ze wszystkich rodziców oraz potomków, na tych ostatnich działamy operatorami inwersji i mutacji. 2. Populacja przejściowa jest oceniana funkcją przystosowania, wybieramy M najlepszych osobników.

Kryterium zatrzymania algorytmu Monitorowanie liczby pokoleo N Zatrzymanie następuje gdy liczba pokoleo N > Nmax Monitorowanie funkcji przystosowania Zatrzymanie następuje gdy: - Funkcja przystosowania osiągnęła zadany poziom, - Średnia poprawa funkcji przystosowaniu w pokoleniu mniejsza od zadanej - Maksymalna poprawa funkcji przystosowania w pokoleniu mniejsza od zadanej Monitorowanie różnorodności populacji Zatrzymanie następuje gdy odchylenie standardowe populacji mniejsze od zadanej min

Wprowadzenie ograniczeo Uwzględnienie ograniczeo równościowych i nierównościowych w algorytmach ewolucyjnych wprowadza się analogicznie jak w metodach deterministycznych poszukiwania optimum poprzez wprowadzenie funkcji kary modyfikującej wartośd funkcji przystosowania o wielkośd zależną od istotności naruszenia danego zbioru ograniczeo. Dla minimalizacji mamy f(x) funkcja przystosowania r k, q k współczynniki kary g k <0 - ograniczenie nierównościowe h k =0 - ograniczenie równościowe P(z 0)=0, P(z>0)=1

Hybrydowe algorytmy ewolucyjne W hybrydowych algorytmach ewolucyjnych dzielimy strukturę genomu na dwie części {x} = [{x D }, {x P }]. Wektor genów dominujących {x D }, o największym wpływie na wartośd funkcji przystosowania oraz wektor genów pomocniczych {x P }, o niewielkim wpływie na wartośd funkcji przystosowania W algorytmie genetycznym chromosom {x} ma modyfikowaną jedynie częśd {x D }, pozostała częśd {x P } jest zmieniana innym, zewnętrznym algorytmem, zwykle ma to na celu dopasowanie {x} do ograniczeo równościowych h k [{x D }, {x P }]=0