Algorytm genetyczny.

Slides:



Advertisements
Podobne prezentacje
PODZIAŁ STATYSTYKI STATYSTYKA STATYSTYKA MATEMATYCZNA STATYSTYKA
Advertisements

Metody losowania próby
Algorytmy genetyczne.
Instrukcje - wprowadzenie
„Wielokryterialna optymalizacja pracy systemu wytwarzania o strukturze przepływowej – algorytm memetyczny” Przygotował: Dominik Żelazny, IIAR.
Grażyna Mirkowska PJWSTK, 10 stycznia 2001
Wprowadzenie do optymalizacji wielokryterialnej.
Algorytmy ewolucyjne Termin EC (Evolutionary Computation) obliczenia ewolucyjne obejmuje wiele technik obliczeniowych kluczowym elementem jest model procesów.
Algorytmy genetyczne Nowak Sławomir
Skuteczna realizacja AG
Programowanie genetyczne (Genetic Programming)
Liczby pierwsze.
Domy Na Wodzie - metoda na wlasne M
Badania operacyjne. Wykład 2
Elementy Modelowania Matematycznego
Materiały pochodzą z Platformy Edukacyjnej Portalu
Materiały pochodzą z Platformy Edukacyjnej Portalu
Algorytmy genetyczne Motto:
Hybrydowe metody optymalizacji geometrii. Prezentacja wyników.
Zmienność organizmów i jej przyczyny
Materiały do zajęć z przedmiotu: Narzędzia i języki programowania Programowanie w języku PASCAL Część 7: Procedury i funkcje © Jan Kaczmarek.
Nieelitystyczne algorytmy ewolucyjnej optymalizacji wielokryterialnej
Algorytm Rochio’a.
Opracował: dr inż. Michał Krzemiński
Algorytmy genetyczne - plan wykładu
Algorytmy genetyczne - plan wykładu
Algorytmy genetyczne - plan wykładu
SZTUCZNA INTELIGENCJA ARTIFICIAL INTELLIGENCE
Wzory ułatwiające obliczenia
Dr Anna Kwiatkowska Instytut Informatyki
Algorytmy genetyczne.
Algorytmy genetyczne.
Średnie i miary zmienności
Strategia skutecznego szukania informacji w Internecie
Ogólnopolski Konkurs Wiedzy Biblijnej Analiza wyników IV i V edycji Michał M. Stępień
Algorytm mini-max.
Hipoteza cegiełek, k-ramienny bandyta, minimalny problem zwodniczy
Algorytmy Genetyczne Wprowadzenie.
Konstrukcja, estymacja parametrów
Funkcje w Pascalu Przypomnienie wiadomości o procedurach Prowadzący: Anna Kaleta Piotr Chojnacki.
Przegląd podstawowych algorytmów
Algorytmy memetyczne i ich zastosowania
ALGORYTMY ROZWIĄZYWANIA GIER C.D.
Systemy wspomagania decyzji
DOŚWIADCZENIA LOSOWE.
Marcin Jaruszewicz Jacek Mańdziuk
Podstawy statystyki, cz. II
Dziedziczenie cech jednogenowych.
Materiały pochodzą z Platformy Edukacyjnej Portalu
Autor: Karol Podsiadło Kierujący pracą: dr inż. Ewa Płuciennik-Psota
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
EcoCondens Kompakt BBK 7-22 E.
EcoCondens BBS 2,9-28 E.
VII EKSPLORACJA DANYCH
IV EKSPLORACJA DANYCH Zadania eksploracji danych: klasyfikacja
SYSTEMY EKSPERTOWE I SZTUCZNA INTELIGENCJA
User experience studio Użyteczna biblioteka Teraźniejszość i przyszłość informacji naukowej.
WYNIKI EGZAMINU MATURALNEGO W ZESPOLE SZKÓŁ TECHNICZNYCH
Do technik tych zalicza się: * sztuczne sieci neuronowe
Testogranie TESTOGRANIE Bogdana Berezy.
Jak Jaś parował skarpetki Andrzej Majkowski 1 informatyka +
Wyszukiwanie maksimum funkcji za pomocą mrówki Pachycondyla Apicalis.
Co to jest dystrybuanta?
STATYSTYKA Pochodzenie nazwy:
FRAKTALE FIGURY LISSAJOUSA Magdalena Szorc
Elementy geometryczne i relacje
Algorytmy Genetyczne Anna Tomkowska Politechnika Koszalińska
SZTUCZNA INTELIGENCJA
Darwinowska teoria doboru naturalnego
1.22. Odczytywanie informacji genetycznej – przepis na białko
Zapis prezentacji:

Algorytm genetyczny

Definicja Algorytm genetyczny- przeszukuje przestrzeń alternatywnych rozwiązań problemu w celu odnalezienia rozwiązań najlepszych lub potencjalnie najlepszych. Zalicza się go do klasy algorytmów heurystycznych. Przeszukiwanie odbywa się za pomocą mechanizmów ewolucji oraz doboru naturalnego ( praktyce te słowa oznaczają, że wykorzystuje się ewolucję, aby poprzez krzyżowanie i mutacje stworzyć z grupy losowych zestawów danych to, co nas będzie satysfakcjonować).

Nazewnictwo Osobnik - pojedyncza propozycja rozwiązania problemu Populacja - zbiór osobników, na których operuje algorytm Genotyp - pewna dziedziczna informacja, w którą wyposażony jest osobnik Fenotyp - zestaw cech generowanych na podstawie genotypu, które podlegają ocenie środowiska

Nazewnictwo c.d. Kodowanie - proces tworzenia fenotypu z genotypu Funkcja przystosowania - funkcja oceniająca jakość danego osobnika na podstawie jego fenotypu Chromosom - część genomu osobnika Geny - najmniejsze elementy genotypu reprezentujące elementarne informacje. Możliwymi wartościami danego genu są allele

Zasada działania algorytmu genetycznego inicjujemy (najczęściej w sposób losowy) pewną początkową populację osobników poddajemy każdego z nich ocenie z populacji wybieramy osobniki najlepiej do tego przystosowane za pomocą operacji genetycznych (krzyżowanie oraz mutacja) tworzymy nowe pokolenie powrót do 2)

Schemat działania algorytmu genetycznego

Algorytm działania algorytmu genetycznego procedure AG; begin t : = 0; inicjacja(p[0]); ocena(p[0]); while(not warunek_stopu) do T := selekcja(p[t]); W := krzyzowanie(T); ocena(W); t := t + 1; p[t] := W; end; t- numer pokolenia. p[t] - populacja w pokoleniu numer t. T - grupa najlepiej przystosowanych osobników wybrana do rozrodu. W - nowe pokolenie utworzone w wyniku rozmnożenia grupy osobników T. inicjacja() - inicjuje populację startową. ocena() - przypisuje każdemu osobnikowi pewną liczbę określającą jakość jego fenotypu. selekcja() - wybiera z populacji osobniki o najlepszej jakości. krzyzowanie() - za pomocą operacji krzyżowania i mutacji tworzy nowe pokolenie, które zastąpi stare.

Warianty ułożenia genów Klasyczny - geny na różnych pozycjach przechowują różne informacje. W wyniku krzyżowania geny nie zmieniają pozycji, lecz wartości. Wykorzystywany w problemach, gdzie chcemy dobrać optymalne cechy osobnika. Permutacyjny - geny przechowują podobne informacje. W wyniku krzyżowania nie zmieniają wartości, lecz miejsce w chromosomie. Wykorzystywany w problemach kombinatorycznych, np. problemie komiwojażera. Drzewiasty - chromosom tworzy złożoną strukturę drzewiastą. W czasie krzyżowania przesunięciom ulegają całe gałęzie genów. Często geny mogą zmieniać także wartości. Wykorzystywany w programowaniu genetycznym oraz tam, gdzie ewolucji podlegają reguły matematyczne.

Warianty ułożenia genów c.d.

Funkcja oceny Na podstawie fenotypu danego osobnika generuje jedną liczbę opisującą jego jakość przystosowania. Np. dla algorytmu genetycznego poszukującego ekstremum funkcji, gdzie genotyp reprezentuje jej argument x, wartością funkcji przystosowania może być po prostu obliczona wartość wyrażenia matematycznego, dla którego poszukujemy ekstremum.

Selekcja Selekcja wybiera z aktualnej populacji grupę najlepiej przystosowanych osobników do dalszego rozrodu. Istotne jest, aby właściwie dobrać stosunek wielkości tworzonej grupy do rozmiaru populacji. Zbyt małe stosunki (np. 1/1000) mogą doprowadzić do zaniku różnorodności genetycznej i defektów fenotypów, natomiast zbyt duże (np. 1/2) powodują wprowadzenie do rozrodu zbyt dużej liczby słabych genów, co również obniża jakość najlepszych osobników.

Metody selekcji Metoda koła ruletki - wyobraźmy sobie koło ruletki, którego tarcza podzielona jest na pewną liczbę wycinków o różnych rozmiarach. Każdy osobnik otrzymuje obszar o rozmiarze wprost proporcjonalnym do jego jakości. Puszczamy koło ruletki w ruch, a po jego zatrzymaniu wskaźnik zatrzyma się na jakimś osobniku, który wchodzi do grupy rozrodczej. Im większy obszar dostał dany osobnik, tym większe prawdopodobieństwo jego wylosowania, dlatego też wielkość obszaru przydziela się przeważnie funkcją prawdopodobieństwa (ZW = <0, 1>). Jeśli przez F(i) oznaczymy wartość funkcji przystosowania osobnika i, to prawdopodobieństwo jego przystosowania wyliczymy ze wzoru:

Metody selekcji Selekcja rankingowa - osobniki w populacji są sortowane według ich jakości od najlepszego do najgorszego. Do dalszego rozrodu przechodzi tylko n najlepiej przystosowanych osobników. Metoda ta charakteryzuje się lepszym uwarunkowaniem, niż metoda ruletki.

Metody selekcji Selekcja turniejowa - populację dzieli się na szereg dowolnie licznych grup. Następnie z każdej z nich wybieramy osobnika o najlepszym przystosowaniu. Ten rodzaj selekcji także sprawdza się lepiej, niż metoda ruletki.

Krzyżowanie (Crossing-over) Generowanie nowej populacji z najlepiej przystosowanych osobników przeprowadzamy metodą crossing-over Do jej wykonania potrzebne są dwa osobniki, które rozcinamy w losowo wybranym punkcie i łączymy na krzyż, tj. fragment osobnika 1 przypinamy osobnikowi 2, a fragment osobnika 2 - do osobnika 1:

Mutacja Mutacja to samoistna, losowa zmiana w genotypie. W przyrodzie powstaje w wyniku błędów reprodukcji lub uszkodzeń fizycznych i zwiększa różnorodność materiału genetycznego. Algorytm genetyczny symuluje zachodzenie mutacji. Prawdopodobieństwo jej zajścia to sprawa indywidualna każdego programu, lecz jego wartość powinna być bardzo niska, gdyż inaczej w wynikach pojawi się dużo losowości, a ewentualne korzystne zmiany nie będą miały szans na utrwalenie się w populacji.

Przykład Dana jest funkcja: f(x) = 2(x*x+1) x = {1…127} Cel: Przeszukać przestrzeń, znaleźć taki x, dla którego wartość funkcji jest największa

Elementy algorytmu 1. Wybór (losowy) populacji początkowej 2. Ocena przystosowania 3. Selekcja chromosomów 4. Krzyżowanie 5. Mutacja

Wybór (losowy) populacji początkowej Populacja składa się z n punktów przestrzeni poszukiwań X Punkty są zakodowane w postaci ciągów binarnych (nazywamy je chromosomami) Chromosomy oznaczamy: ch1…..chn Populację początkową oznaczamy P(0) = {ch1…..chn} 0100110 (38) 1010001 (81) 0111100 (60) 0101100 (44) 0100101 (37) 0101011 (43) 1011110 (94) 0010111 (23)

Ocena przystosowania 0000110 (66) 74 1011000 (88) 15490 W podanym przykładzie, ocena jest dokonywana za pomocą funkcji przystosowania ( f(x) = 2(x*x+1) ) Ocenia się nie bezpośrednio chromosomy, lecz fenotypy (osobnik w formie niezakodowanej – punkt przestrzeni) Ocenę (wartość przystosowania) przypisuje się następnie odpowiadającym im chromosomom chromosom fenotyp wartość przystosowania 0000110 (66) 74 1011000 (88) 15490 0100001 (33) 2180 1001000 (72) 10370 0001000 (8) 130 1000111 (71) 10084 0001111 (15) 452 0110101 (53) 5620

Selekcja chromosomów. Metoda koła ruletki Selekcja dokonuje się, poprzez wybór chromosomów, którym na kole (koło ruletki) przydzielono sektory proporcjonalne do wartości przystosowania Większa wartość przystosowania = częstszy wybór do populacji rodzicielskiej Lepiej przystosowane chromosomy mogą być wybierane wielokrotnie Skutek: miejsce „słabszych” zajmują „mocniejsi”

Selekcja chromosomów. Metoda koła ruletki Wielkość sektorów na kole ruletki przydzielane są według następujących wzorów: Wielkość procentowa sektorów: Prawdopodobieństwo selekcji chromosomu: Średnie przystosowanie populacji:

Selekcja chromosomów. Metoda koła ruletki 1111110 (126) 31754 25,61% 1110100 (116) 26914 21,70% 1001110 (78) 12170 9,81 % 1001111 (79) 12484 10,6 % 1101000 (104) 21634 17,44 % 1011011 (91) 16564 13,35 % 0100001 (33) 2180 1,75 % 0001100 (12) 290 0,23 %

Operator genetyczny: krzyżowanie

Operator genetyczny: mutacja Zmienia wartość wybranego losowo genu w chromosomie na przeciwny (1 na 0, 0 na 1) Mutacja zachodzi bardzo rzadko- prawdopodobieństwo mutacji jest zwykle dużo mniejsze niż krzyżowania Celem mutacji jest wprowadzenie różnorodności populacji

Koniec SGA.exe