Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra

Transkrypt

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra
Politechnika Gdańska
Wydział Elektrotechniki i Automatyki
Katedra Inżynierii Systemów Sterowania
Metody optymalizacji
Algorytmy genetyczne i ewolucyjne
Materiały pomocnicze do ćwiczeń laboratoryjnych T8
Opracowanie:
Piotr Hirsch, mgr inż.
Kazimierz Duzinkiewicz, dr hab. inż.
Tomasz Rutkowski, dr inż.
Gdańsk, 05.2016
1. Wstęp
Algorytmy genetyczne i ewolucyjne wywodzą się z próby naśladowania odpowiednich mechanizmów
zachodzących w naturze. W szczególności, przekazywania przez organizmy pewnych, charakterystycznych
dla nich cech (nabytych w wyniku wielopokoleniowego życia w pewnym środowisku) zapisanych w genach
kolejnym pokoleniom w wyniku reprodukcji. Cechy te zapisane są w genach, które przechowywane są w
chromosomach, które z kolei tworzą strukturę genotypu. Zestaw wartości odpowiadający danemu
genotypowi nazywamy fenotypem. Podczas przekazywania cech dochodzi do modyfikacji genów za
pomocą mechanizmów:
 Krzyżowania różniących się chromosomów obojga rodziców
 Mutacji pojedynczych genów w chromosomie
Nowy organizm ma cechy swoich rodziców, ale i takie charakterystyczne dla siebie, które decydują o tym,
czy jest dobrze czy źle przystosowane do życia w danym środowisku. Jeśli posiada korzystną kombinację
genów (jest dobrze przystosowany), to prawdopodobnie przekaże swój materiał genetyczny potomstwu.
Jeśli organizm posiada niekorzystną kombinację genów to trudno będzie mu żyć i przekazać swoje geny
potomstwu. Przy tworzeniu koncepcji algorytmów ewolucyjnych skorzystamy z paradygmatu
darwinowskiego:
Środowisku życia osobników definiuje się na podstawie rozwiązywanego problemu. Żyje w nim
populacja, stanowiąca potencjalne rozwiązanie rozpatrywanego problemu. Za pomocą odpowiednio
zdefiniowanych funkcji przystosowania, możliwe jest ocenienie w jakim stopniu każdy z osobników jest
przystosowany do środowiska. Osobniki wymieniają między sobą informacje (za pomocą operatorów
krzyżowania) w celu generacji kolejnych, nowych rozwiązań (nowego pokolenia osobników). Spośród
potencjalnych rozwiązań przeżywają tylko te, które są najlepiej przystosowane. W zależności od sposobu
reprezentacji (kodowania) osobników (chromosomów) wyróżnia się histyorycznie następujące typy
algorytmów ewolucyjnych:
 Wektory binarne – algorytmy genetyczne
 Wektory liczb zmiennoprzecinkowych – strategie ewolucyjne
Algorytmy ewolucyjne/genetyczne nie przetwarzają bezpośrednio parametrów zadania
optymalizacji, lecz ich zakodowaną postać. Przeszukiwanie przestrzeni rozwiązań dopuszczalnych
prowadzone jest nie z jednego punktu, lecz z całej populacji. Przystosowanie osobników oceniane jest na
podstawie jedynie funkcji celu (nie jest potrzebna znajomość jej pochodnej lub innych dodatkowych
informacji). Wreszcie – algorytmy ewolucyjne/genetyczne stosują probabilistyczne, a nie deterministyczne
reguły wyboru.
2. Klasyczny algorytm genetyczny




Inicjalizacja: wybór żądanej liczby chromosomów K, reprezentowanych przez wektory binarne o
długości L
Ocena przystosowania: obliczenie funkcji przystosowania dla każdego chromosomu (osobnika)
Warunek zatrzymania: np. przekroczenie czasu obliczeń, przekroczenie liczby generacji algorytmu,
brak poprawy otrzymanego rozwiązania. Jeśli warunek zatrzymania zostaje spełniony, to algorytm
się kończy i prezentowane jest najlepsze rozwiązanie
Selekcja: na podstawie wyznaczonych wartości funkcji przystosowania dla poszczególnych
chromosomów, wybiera się te, które będą brały udział w tworzeniu potomków w następnym
pokoleniu (wybór populacji rodzicielskiej). Wybór odbywa się zazwyczaj zgodnie z zasadą naturalnej
selekcji, tzn. największe szanse by zostać rodzicami mają chromosomy o największych funkcjach
przystosowania. Jedną z popularnych metod selekcji jest metoda ruletki, w której każdemu
chromosomowi odpowiada pewien wycinek koła, o wielkości zależnej od przystosowania danego
osobnika. Następnie populacja rodzicielska jest tworzona poprzez losowanie, analogicznie do

zasady działania ruletki. W wyniku takiego losowania niektóre osobniki mogą zostać wybrane wiele
razy, a inne ani razu. Mozę się też zdarzyć, że najlepsze osobniki nie zostaną wybrane.
Operatory genetyczne: dwa podstawowe operatory to krzyżowanie i mutacja. Mutacja polega na
zmianie wartości losowego genu w chromosomie na przeciwną, z pewny niewielkim
prawdopodobieństwem mutacji. Krzyżowanie zachodzi z dużym prawdopodobieństwem na parach
z populacji rodzicielskiej. Jedne z możliwych metod krzyżowania to krzyżowanie jedno i
dwupunktowe, polegające na losowaniu miejsca krzyżowania i podmianie materiału genetycznego:
3. Algorytmy ewolucyjne
Algorytmy ewolucyjne posiadają pewne podstawowe podobieństwa do algorytmów genetycznych: oba
algorytmy opierają się na populacjach potencjalnych rozwiązań, korzystają z zasady selekcji, przetwarzają
osobniki najlepiej przystosowane. Jako podstawowe różnice wskazać można: inna reprezentacja
kodowania chromosomów, wielkość tymczasowej populacji w algorytmach ewolucyjnych może się różnić
od populacji początkowej, a selekcja dokonywana jest w sposób deterministyczny, poprzez wybranie
najlepszych chromosomów (osobników) z populacji tymczasowej. Dodatkowo, w algorytmach
ewolucyjnych najpierw następuje proces rekombinacji (działania operatorów genetycznych) a dopiero
później selekcja. Oznacza to, że selekcja redukuje rozmiar populacji tymczasowej do populacji
rodzicielskiej. Przykład strategii ewolucyjnej:
W algorytmach ewolucyjnych krzyżowanie odbywać może się np. poprzez uśrednianie wartości genów
dwóch osobników.

Podobne dokumenty