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



Podobne dokumenty
Algorytmy genetyczne

Algorytm genetyczny (genetic algorithm)-

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

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

Algorytmy genetyczne

Algorytmy ewolucyjne NAZEWNICTWO

Obliczenia ewolucyjne - plan wykładu

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

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

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

6. Klasyczny algorytm genetyczny. 1

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

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Generowanie i optymalizacja harmonogramu za pomoca

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Równoważność algorytmów optymalizacji

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

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

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

ALGORYTMY GENETYCZNE ćwiczenia

Algorytmy genetyczne

Algorytmy genetyczne w optymalizacji

Algorytmy ewolucyjne 1

Algorytmy ewolucyjne. wprowadzenie

Algorytmy genetyczne (AG)

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

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

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

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

Techniki optymalizacji

Dobór parametrów algorytmu ewolucyjnego

Metody przeszukiwania

Gospodarcze zastosowania algorytmów genetycznych

METODY HEURYSTYCZNE wykład 3

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

Algorytmy genetyczne

Programowanie genetyczne, gra SNAKE

Metody Rozmyte i Algorytmy Ewolucyjne

Wybrane podstawowe rodzaje algorytmów

Automatyczny dobór parametrów algorytmu genetycznego

Wstęp do Sztucznej Inteligencji

Zadania laboratoryjne i projektowe - wersja β

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

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

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

METODY HEURYSTYCZNE wykład 3

Optymalizacja optymalizacji

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

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Ekologia wyk. 1. wiedza z zakresu zarówno matematyki, biologii, fizyki, chemii, rozumienia modeli matematycznych

Strategie ewolucyjne (ang. evolu4on strategies)

Optymalizacja. Wybrane algorytmy

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

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

przetworzonego sygnału

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

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

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

ALGORYTMY GENETYCZNE

Sztuczne sieci neuronowe. Krzysztof A. Cyran POLITECHNIKA ŚLĄSKA Instytut Informatyki, p. 311

Aproksymacja funkcji a regresja symboliczna

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

SZTUCZNA INTELIGENCJA

Algorytmy ewolucyjne Część II

Teoria algorytmów ewolucyjnych

Teoria ewolucji. Podstawowe pojęcia. Wspólne pochodzenie.

ALHE Z11 Jarosław Arabas wykład 11

GENETYKA POPULACJI. Ćwiczenia 1 Biologia I MGR /

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

Algorytmy genetyczne jako metoda wyszukiwania wzorców. Seminarium Metod Inteligencji Obliczeniowej Warszawa 26 X 2005 mgr inż.

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Standardowy algorytm genetyczny

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

SZTUCZNA INTELIGENCJA

Techniki ewolucyjne - algorytm genetyczny i nie tylko

Programowanie genetyczne - gra SNAKE

Program "FLiNN-GA" wersja 2.10.β

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

SZTUCZNA INTELIGENCJA

Metody Optymalizacji: Przeszukiwanie z listą tabu

Obrona rozprawy doktorskiej Neuro-genetyczny system komputerowy do prognozowania zmiany indeksu giełdowego

Obliczenia Naturalne - Algorytmy genetyczne

Teoria ewolucji. Podstawowe pojęcia. Wspólne pochodzenie.

Plan. Zakres badań teorii optymalizacji. Teoria optymalizacji. Teoria optymalizacji a badania operacyjne. Badania operacyjne i teoria optymalizacji

ZARZĄDZANIE POPULACJAMI ZWIERZĄT

OPTYMALIZACJA KSZTAŁTU WYKRESU WÖHLERA Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH W UJĘCIU DIAGNOSTYCZNYM

Algorytmy ewolucyjne (2)

CZYM SĄ OBLICZENIA NAT A URALNE?

Algorytmy metaheurystyczne podsumowanie

Jak powstają nowe gatunki. Katarzyna Gontek

PRZEWODNIK PO PRZEDMIOCIE

Algorytmy ewolucyjne (3)

KARTA MODUŁU KSZTAŁCENIA

Teoria ewolucji. Podstawy wspólne pochodzenie.

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

Algorytmy genetyczne w interpolacji wielomianowej

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

Transkrypt:

Kolejna metoda informatyczna inspirowana przez Naturę - algorytmy genetyczne Struktura molekuły DNA nośnika informacji genetycznej w biologii Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował! Obliczenia ewolucyjne są dziś ważną częścią sztucznej inteligencji Są ich różne rodzaje Algorytmy genetyczne służą głównie do tego, żeby rozwiązywać zadania optymalizacji Optymalizacja, wyznaczenie spośród dopuszczalnych rozwiązań danego problemu rozwiązania najlepszego za względu na przyjęte kryterium (wskaźnik) jakości (np. koszt, zysk, niezawodność). Wiele problemów optymalizacji tym się cechuje, że znalezienie dokładnego rozwiązania może zajmować bardzo dużo czasu Przykład: Problem Komiwojażera Czas potrzebny do rozwiązania problemu komiwojażera w zależności od ilości miast (przy założeniu, że komputer przetwarza milion instrukcji na sekundę) Ilość miast 10 50 100 300 Czas [mikrosekundy] 3,6 * 10 6 10 16 10 31 10 623 Dla porównania liczba mikrosekund od wielkiego wybuchu, w którym narodził się nasz Wszechświat jest rzędu 10 24. 1

Istnieje mnóstwo metod optymalizacji, wśród których wyróżnić można metody ukierunkowanego poszukiwania optimum oraz metody poszukiwania przypadkowego. Poszukiwanie ukierunkowane zwykle oparte jest na jakiejś odmianie metody najszybszego spadku Źródłem problemów przy ukierunkowanej optymalizacji są głównie ekstrema lokalne Tu widać, jak trudne może być trafienie globalnego minimum Przedstawiony na rysunku wykres tzw. funkcji Rastrigina obrazuje trudności jakie napotkać można przy poszukiwaniu optimum. Funkcja ta posiada wartość najmniejszą w punkcie (0,0,0), jednak zanim algorytm przeszukiwania znajdzie to minimum globalne, może napotkać wiele minimów lokalnych. Od problemu minimów lokalnych wolne są probabilistyczne metody optymalizacji Wyniki optymalizacji metodą Monte Carlo 2

Stochastyczne poszukiwanie rozwiązań nie gwarantuje sukcesu Porównanie efektywności (performance) metody ogólnej (general-purpose algorithm), zachowującej stale sprawność w pobliżu średniej efektywności (average) oraz metody wyspecjalizowanej (highly specialized algorithm) uwzględniającej specyficzne cechy zadania. Na bazie tych obserwacji powstała koncepcja, żeby poszukiwaniami optymalnego rozwiązania (uzyskiwanego za pomocą komputera) kierował proces ewolucji. Bardzo szybko okazało się, że rozwiązania uzyskane metodami ewolucyjnymi są z reguły lepsze od tych wymyślanych przez ludzi. Przeloty samolotu nad uzbrojonym terytorium jako przykład optymalizacji genetycznej Metody ewolucyjne powstały i zostały rozwinięte w tym celu, żeby znajdować przybliżone rozwiązania problemów optymalizacyjnych w taki sposób, by znajdować wynik w miarę szybko oraz uniknąć pułapek minimów lokalnych 3

Obliczenia ewolucyjne powstały w wyniku kombinacji kilku elementów: Najpopularniejsze są Algorytmy Genetyczne Rozwoju technik obliczeniowych Postępu wiedzy o ewolucji biologicznej Osiągnięć nowych teorii optymalizacji Najbardziej ogólny schemat algorytmu genetycznego Zadanie Algorytm genetyczny Zadanie zmodyfikowane a) Zadanie Algorytm genetyczny b) Program ewolucyjny Pojęcia- osobnik Przegląd podstawowych pojęć Potencjalne rozwiązanie (punkt w przestrzeni rozwiązań) organizm, pojedyncza niezależna jednostka zdolna do zdobywania pożywienia. Informatyka: X 1 = [0.34, 2, 3, 212] Biologia: 4

Pojęcia- populacja Pojęcia- chromosom Zbiór osobników o określonej liczebności zespół organizmów jednego gatunku żyjących równocześnie w określonym środowisku i wzajemnie na siebie wpływających, zdolnych do wydawania płodnego potomstwa. X 1 = [0.34, 2, 3, 212] X 2 = [1.22, 3, 4, 55] X 3 = [0.22, 3.14, 4, 55] W biologii Łańcuch, ciąg uporządkowanych genów, zakodowana postać potencjalnego rozwiązania forma organizacji materiału genetycznego wewnątrz komórki. X = [0.123, 22, 3, 4] Pojęcia- gen Pojęcia- genotyp Pojedynczy element chromosomu (allel wartość genu) podstawowa jednostka dziedziczenia, zlokalizowana w chromosomach, decydująca o przekazywaniu cech potomstwu. X = [0.123, 22, 3, 4] Zespół chromosomów danego osobnika zakodowana informacja o osobniku Zespół genów danego osobnika X 1,1 = [ 1.22, 23, 3, 44 ] X 1,2 = [ 0.6, 5, 0.3, 4.4] Pojęcia- fenotyp Pojęcia- krzyżowanie Odkodowany genotyp zespół cech podlegających ocenie środowiska to najogólniej mówiąc zespół cech organizmu, włączając w to nie tylko morfologię, lecz również np. właściwości fizjologiczne, płodność, zachowanie się, ekologię, cykl życiowy, zmiany biologiczne, wpływ organizmu na środowisko Proces wymiany fragmentów chromosomów i w efekcie powstanie nowych chromosomów potomnych Proces pęknięcia, a następnie połączenia odcinków niesiostrzanych chromatyd chromosomów homologicznych, powodujący wymianę DNA 5

Pojęcia- mutacja Pojęcia- przystosowanie Proces zmiany wartości genu w chromosomie Każda zmiana DNA, która może się dziedziczyć, a nie jest skutkiem procesów rekombinacyjnych Wartość funkcji przystosowania, której parametrem jest fenotyp osobnika Zdolność organizmu przystosowania się do środowiska; ewolucyjne modyfikacje zwiększające szanse przeżycia i reprodukcji Schemat działania - inicjacja Schemat działania - selekcja Losowana jest populacja bazowa Niewielka, czy duża różnorodność? Liczność populacji Im więcej tym lepiej ale wolniej. Im więcej tym lepiej ale do pewnych granic Reprodukcja Proporcjonalna (ruletkowa) Rangowa Turniejowa progowa Sukcesja Z całkowitym zastępowaniem Z częściowym zastępowaniem Elitarna Schemat działania operacje gen. Schemat działania - ocena Krzyżowanie Wymieniające Jednopunktowe Dwupunktowe Równomierne Uśredniające Mutacja Kryteria stopu Maksymalnego kosztu Zadowalającego wyniku Szybkości poprawy Zaniku różnorodności 6

Operatory genetyczne 2013-06-12 Biblioteki programistyczne Dla języka Java: Dla języka C++ Start Utwórz populację początkową Kolejność czynności w trakcie symulowanej ewolucji http://jgap.sourceforge. net/ http://www.aridolan.co m/ga/gaa/gaa.html http://www.jaga.org/ http://lancet.mit.edu/g a/ http://geneura.ugr.es/ GAGS/ http://gaul.sourceforge. net/ Oceń każdego osobnika populacji Zastąp Nowe pokolenie Stop Tak Warunek stopu Nie Wybierz Rodziców Sposób działania algorytmu genetycznego można przedstawić następująco: - określenie sposobu kodowania rzeczywistych parametrów problemu w postaci chromosomu, - przyjęcie postaci funkcji przystosowania oceniającej analizowany zestaw parametrów pod względem jakości poszukiwanego rozwiązania, - losowy dobór punktów startowego zestawu parametrów, - selekcja najlepiej przystosowanych chromosomów do nowej populacji, - zastosowanie na nowej populacji operatorów genetycznych w postaci krzyżowania i mutacji, - sprawdzenie wartości funkcji przystosowania. Miejsce kodowania pierwszej cechy rozwiązania Punktem wyjścia jest opisanie rozważanego zadania w kategoriach wektora (najczęściej binarnego) zwanego chromosomem. Miejsce kodowania drugiej cechy rozwiązania Miejsce kodowania ostatniej cechy rozwiązania Punktem wyjścia jest opisanie rozważanego zadania w kategoriach wektora (najczęściej binarnego) zwanego chromosomem. Chromosom z kodowaniem binarnym można interpretować skupiając uwagę na ich poszczególnych częściach Interpretacja znana Cecha kodowana na tej pozycji nie występuje w rozwiązaniu Cecha kodowana na tej pozycji występuje w rozwiązaniu Jeśli danego zadania nie da się dobrze przedstawić w postaci chromosomu i funkcji oceny to można próbować do jego rozwiązania użyć innych metod, ale nie ewolucyjnych 7

Ważne jest, żeby chromosom dobrze opisywał osobnika! Ogólny schemat działania metody Osobnicy reprezentowani przez chromosomy każdej populacji są oceniani przez funkcję oceny. Znaczenie doboru funkcji oceniającej Osobnicy wybrani przez mechanizm selekcji dają początek nowej generacji 8

Schemat tworzenia kolejnych populacji Dobór osobników do reprodukcji odbywa się na zasadzie ruletki Wielkość sektora ruletki przypisanego do danego osobnika zależy od wartości jego funkcji przystosowania Nawet osobniki mające bardzo słabe wyniki mają niezerowe prawdopodobieństwo wydania potomstwa! Chromosom Wartość funkcji przystosowania Udział na kole ruletki Populacja rozwiązań rozwija się poprzez mutacje, krzyżowania oraz wymieranie mniej udanych osobników Operator krzyżowania 9

Rola krzyżowania Przykładowy sposób zastosowania operatora krzyżowania: Operator krzyżowania działający w drzewach opisujących formuły matematyczne Warianty operatora krzyżowania: a) krzyżowanie jednopunktowe (one-point crossover), b) krzyżowanie dwupunktowe (two-point crossover). Działanie operatora mutacji Rola mutacji 10

Przykładowy sposób zastosowania operatora mutacji Porównanie skutków krzyżowania i mutacji W przypadku algorytmów genetycznych można mówić o dwóch typach interpretacji populacji: podejście Michigan i Pittsburg. W podejściu Michigan wszystkie osobniki są traktowane jako jednostki (oceniane są poszczególne osobniki). Poszczególne osobniki w populacji rywalizują ze sobą, chcąc przetrwać. Natomiast w podejściu Pittsburg całą populację traktuje się jako jednostkę, która podlega działaniu operatorów genetycznych (oceniana jest cała populacja). W tym przypadku można dopatrzyć się wzajemnej współpracy osobników w celu wykształcenia jak najlepszej społeczności. Obie interpretacje mają swoje uzasadnienie i można pokazać problemy, w których warto zastosować albo jedno, albo drugie podejście. 11

Jednak zamiast dyskutować zagadnienia teoretyczne rozważymy inspirujący przykład Przykład ilustrujący główne idee sztucznej ewolucji Sposób kodowania właściwości ryby w chromosomie Mieszanie materiału genetycznego rodziców w celu stworzenia potomka Mieszanie właściwości ryb w chromosomach Mutacja pozwala wytworzyć osobnika o cechach nieobecnych w populacji 12

Wynik mutacji w chromosomie i w zakresie właściwości ryby Wyniki selekcji Wyniki selekcji Mutacje mogą także przyjmować bardziej skomplikowane formy: Szczegółowszy schemat algorytmu genetycznego Istotą algorytmu genetycznego jest losowe przeszukiwanie przestrzeni możliwych rozwiązań 13

Kolektywne polepszanie jakości dopasowania do zadania (fit function) w kolejnych generacjach podczas realizacji optymalizacji genetycznej Zaletą algorytmów genetycznych jest to, że jeśli rozważany problem ma kilka rozwiązań to zostaną one wszystkie znalezione fit function generations Ewolucja nigdy nie stara się znaleźć rozwiązania optymalnego. Ona głównie szerzy udoskonalenia wśród populacji. W trakcie tego procesu, ewolucja przechodzi tajemniczą, krętą ścieżką poprzez przestrzeń poszukiwania. Czasami ścieżka ta prowadzi do ślepego zaułka (przedwczesna zbieżność). Czasami kręci się w kółko. Zdarza się, że ścieżka zaprowadzi do globalnego optimum - ale nie ma takiej gwarancji. Do realizacji obliczeń zgodnie z zasadami algorytmów genetycznych dostępnych jest wiele gotowych programów Szczegółowy przebieg rozwiązywania problemu przez algorytm genetyczny nie jest możliwy do przewidzenia Możliwe jest jednak przewidzenie najlepszego, najgorszego oraz przeciętnego przebiegu Przykład zastosowania algorytmu genetycznego do prognozowania notowań giełdy 14

Dopasowanie do zadania w algorytmie genetycznym Efekt działania algorytmu genetycznego jest taki, że jakość rozwiązania w kolejnych pokoleniach jest coraz lepsza Proces doskonalenia nie przebiega w sposób ciągły, gdyż zmiany genetyczne muszą często podlegać kumulacji zanim dadzą zauważalny efekt Generalnie rozwiązanie jest tym lepsze, im więcej generacji przejdzie przez proces ewolucji Przykładowe rozwiązania dostarczone przez algorytmy genetyczne Prezentowane będą wyniki zastosowania metodyki programowania ewolucyjnego w zastosowaniu do szkolnego przykładu predykcji zachowania multipleksera n - wejściowego, traktowanego jako generator złożonych, ale powtarzalnych zachowań. Często także lepsze wyniki uzyskuje się stosując większe populacje ale nie zawsze Przykład działania operatora krzyżowania (crossing over) Przykład mutacji Geny rodziców : Tworzenie genów potomstwa : 15

Rozwiązywanie problemu predykcji zachowania multipleksera o różnej liczbie wejść przy pomocy algorytmu genetycznego Zachowanie małej populacji (500) przy niewielkiej złożoności rozwiązywanego zadania (multiplekser 6 wejściowy) Zachowanie dużej populacji (2000) przy niewielkiej złożoności rozwiązywanego zadania (multiplekser 6 wejściowy) Zachowanie małej populacji (500) przy dużej złożoności rozwiązywanego zadania (multiplekser 11 wejściowy) Zachowanie dużej populacji (2000) przy dużej złożoności rozwiązywanego zadania (multiplekser 11 wejściowy) Sztuczne życie (AL- Artificial Life) to dziedzina nauki, która zajmuje się badaniem zjawisk życia, symulowaniem procesów biologicznych oraz tworzeniem systemów opartych na zachowaniach charakterystycznych dla naturalnych żywych organizmów. 16

W 1968 roku brytyjski matematyk John Conway stworzył Grę w Życie (Game of Life) Ale to temat na osobny wykład 17