Algorytmy koewolucyjne

Podobne dokumenty
ZASTOSOWANIE ALGORYTMU KOEWOLUCYJNEGO DO STEROWANIA PALNIKIEM ENERGETYCZNYM CONTROLLING POWER BURNER USING COEVOLUTIONARY ALGORITHM

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytm genetyczny (genetic algorithm)-

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

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

Algorytmy genetyczne

Rekurencje. Jeśli algorytm zawiera wywołanie samego siebie, jego czas działania moŝe być określony rekurencją. Przykład: sortowanie przez scalanie:

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

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

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Algorytmy ewolucyjne 1

Rachunek prawdopodobieństwa projekt Ilustracja metody Monte Carlo obliczania całek oznaczonych

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

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

Efektywna metoda sortowania sortowanie przez scalanie

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

Algorytmy genetyczne

Strategie ewolucyjne (ang. evolu4on strategies)

6. Klasyczny algorytm genetyczny. 1

Dobór parametrów algorytmu ewolucyjnego

Programowanie genetyczne, gra SNAKE

ALGORYTMY GENETYCZNE ćwiczenia

A B. Modelowanie reakcji chemicznych: numeryczne rozwiązywanie równań na szybkość reakcji chemicznych B: 1. da dt. A v. v t

Obliczenia ewolucyjne - plan wykładu

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

Instrukcja warunkowa i złoŝona.

Aproksymacja funkcji a regresja symboliczna

PSO Rój cząsteczek - Particle Swarm Optimization. Michał Szopiak

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

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

Równoważność algorytmów optymalizacji

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

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

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

Sortowanie. Kolejki priorytetowe i algorytm Heapsort Dynamiczny problem sortowania:

Algorytm memetyczny w grach wielokryterialnych z odroczoną preferencją celów. Adam Żychowski

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

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Teoria algorytmów ewolucyjnych

Algorytmy ewolucyjne NAZEWNICTWO

Metody Rozmyte i Algorytmy Ewolucyjne

Jak rozgrywać turnieje tenisowe?

Runda 5: zmiana planszy: < < i 6 rzutów.

Optymalizacja ciągła

Automatyczny dobór parametrów algorytmu genetycznego

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Techniki Optymalizacji: Stochastyczny spadek wzdłuż gradientu I

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

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Problem Komiwojażera - algorytmy metaheurystyczne

Laboratorium Programowanie Obrabiarek CNC. Nr H04

DOBÓR PRÓBY. Czyli kogo badać?

Krzysztof Jakubczyk. Zadanie 2

Stochastyczne dynamiki z opóźnieniami czasowymi w grach ewolucyjnych

przetworzonego sygnału

Algorytmy ewolucyjne Część II

Algorytmy ewolucyjne. wprowadzenie

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

Edukacja informatyczna w gimnazjum i w liceum w Nowej Podstawie Programowej

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

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

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

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

Wpływ drapieżników na populacje zwierzyny. Henryk Okarma Instytut Ochrony Przyrody PAN Kraków fot. Zenon Wojtas

ALGORYTM HYBRYDOWY W PROJEKTOWANIU FILTRÓW CYFROWYCH

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

Teoria i metody optymalizacji

Wymagania edukacyjne

Jak powstają nowe gatunki. Katarzyna Gontek

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

Algorytmy i struktury danych Matematyka III sem.

Ćwiczenie 14. Maria Bełtowska-Brzezinska KINETYKA REAKCJI ENZYMATYCZNYCH

KARTA MODUŁU KSZTAŁCENIA

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

Generowanie i optymalizacja harmonogramu za pomoca

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

Wstęp do Sztucznej Inteligencji

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

{( ) ( ) ( ) ( )( ) ( )( ) ( RRR)

lekcja 8a Gry komputerowe MasterMind

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Mrówka Pachycondyla apicalis

Algorytmy i struktury danych

Algorytmy genetyczne

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

METODY STATYSTYCZNE W BIOLOGII

Regulamin Trzeciego Ogólnopolskiego Konkursu Informatycznego dla uczniów szkół podstawowych, gimnazjalnych i ponadgimnazjalnych T.I.K? TAK!

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA.

IP Instytucje Pośredniczące. Z uwagi na złoŝoność procesu realizacji PI i PWP, wymagającego zaangaŝowania takŝe innych podmiotów w szczególności ROEFS

KARTA PRZEDMIOTU. zaliczenie na ocenę WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI

Monitoring poinwestycyjny wnioski w zakresie metodyki prowadzenia prac. Dariusz Wysocki Katedra Anatomii i Zoologii Kręgowców Uniwersytet Szczeciński

Selekcja, dobór hodowlany. ESPZiWP

DOBÓR ŚRODKÓW TRANSPORTOWYCH DLA GOSPODARSTWA PRZY POMOCY PROGRAMU AGREGAT - 2

Problemy z ograniczeniami

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

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

Algorytmy i struktury danych

P r a w d o p o d o b i eństwo Lekcja 1 Temat: Lekcja organizacyjna. Program. Kontrakt.

Transkrypt:

Wydział Elektroniki Politechniki Wrocławskiej Wrocław, 18.05.2007 Kierunek: Informatyka Algorytmy koewolucyjne Praca zaliczeniowa z kursu: INE 3802 Informatyka systemów autonomicznych Autor: Michał Buraczyński Prowadzący: Dr inŝ. Marek Piasecki 1. Koewolucja w biologii W biologii koewolucja oznacza współzaleŝną ewolucję dwóch lub większej liczby gatunków. KaŜdy z tych gatunków w pewien sposób wywiera nacisk na pozostałe, przyczyniając się do ich ewolucji. Ewolucja będąca wynikiem oddziaływania takiego jak np. klimat, nie jest koewolucja, poniewaŝ klimat nie jest Ŝywy i nie podlega ewolucji biologicznej. Koewolucją jest ewolucja będąca wynikiem oddziaływania jeden na jednego, takiego jakie zachodzi np. między owadami a roślinami przez nie zapylanymi, między drapieŝnikiem a ofiarą (z jednej strony następowały przystosowania drapieŝników do zdobywania ofiar, z drugiej przystosowania ofiar do uniknięcia drapieŝnika). Przykładami koewolucji w układzie drapieŝnik ofiara są [6]: a) mimikra przystosowanie ochronne występujące u zwierząt (zwłaszcza owadów), polegające na tym, Ŝe zwierzęta bezbronne upodabniają się do zwierząt zdolnych do obrony przybierając ich kształt lub barwy. Mogą teŝ przybierać kształty i barwy otoczenia tak, Ŝeby być trudnym do wykrycia przez naturalnych wrogów; b) mimikra agresywna przybieranie z przez drapieŝcę formy atrakcyjnej dla ofiary; c) mimetyzm naśladownictwo upodabnianie się do otoczenia w celu ukrycia się przed wrogiem lub przed potencjalna ofiarą. W nauce funkcjonuje równieŝ pojęcie: mimikra kulturowa. W memetyce polega na tym, iŝ pewne socjotypy ewoluują w ten sposób, aby upodabniać się do innych, podobnie jak 1

w biologii na zasadzie mimikry cechy fenotypowe pewnych organizmów upodabniają się do innych, dając tym organizmom lepsze moŝliwości dostosowawcze. Efektem mimikry kulturowej jest pojawianie się np. nowych idei mających wywoływać odpowiednie reakcje poprzez włączenie w nie memów utrwalonych w kulturze ideologii. 2. Algorytmy genetyczne Algorytmy genetyczne (GA) opierają się na modelu ewolucji Darwina oraz genetyce. Ewolucja następuje dzięki selekcji osobników na podstawie ich funkcji oceny oraz stosowaniu prostych operatorów krzyŝowania oraz mutacji. Algorytmy genetyczne znajdują zastosowanie tam, gdzie nie jest dobrze określony lub poznany sposób rozwiązania problemu, ale znany jest sposób oceny jakości rozwiązania. GA są z powodzeniem stosowane w problemach optymalizacji czy uczeniu maszynowym. Nie kaŝdy problem, moŝe by jednak w łatwy sposób przekształcony na problem rozwiązywalny przez GA. Podejście oparte na koewolucji jest rozwinięciem tradycyjnych GA i wydaje się mieć większe zastosowanie w rozwiązywaniu złoŝonych problemów. 3. Model koewolucyjny W podejściu koewolucyjny modelowane jest środowisko składające się z dwóch lub więcej gatunków, których ewolucja częściowo zaleŝy od ich wzajemnych związków. Podobnie jak w naturze, gatunki są genetycznie izolowane, tj. osobniki z dwóch róŝnych gatunków nie mogą się krzyŝować. WyróŜnia się dwa rodzaje algorytmów koewolucyjnych (CEA): a) konkurujące (ang. competitive coevolutionary algorithms) Prawdopodobieństwo przeŝycia gatunku zaleŝy od zachowania innych gatunków. W najprostszym scenariuszu istnieją tylko dwa gatunki, np. drapieŝnik i ofiara, Ŝywiciel i pasoŝyt. Klasycznym przykładem jest eksperyment zaproponowany przez Hillis a [3], w którym rozróŝniane były dwie populacje: algorytmów sortujących oraz zbiorów liczb do posortowania. Funkcja oceny algorytmu sortującego zaleŝała od ilości zbiorów, które potrafił poprawnie posortować. Funkcja oceny problemu zaleŝała od liczby algorytmów, które sobie z nim nie poradziły. b) współpracujące (ang. cooperative coevolutionary algorithms - CCEA) Gatunki są zachęcane do kooperacji przez nagradzanie za wspólne rozwiązywanie problemów. Karze się je natomiast, za duŝą samodzielność. 2

[4]: W ogólności działanie algorytmów kooperacyjnych moŝna opisać następującym kodem t = 0 FOR EACH gatunek S Zainicjalizuj P t losowymi osobnikami FOR EACH gatunek S Oblicz funkcję oceny dla kaŝdego osobnika w P t WHILE warunek zakończenia == FALSE BEGIN FOR EACH gatunek S BEGIN Wybierz osobniki do reprodukcji z populacji P t END END t = t +1 Zastosuj operatory genetyczne Oblicz funkcję oceny Zastąp osobniki z P t potomkami w celu otrzymania populacji P t+ 1 Rysunek 1 ogólna postać działania algorytmów koewolucyjnych. Początkowo tworzona jest określona liczba populacji, kaŝda odpowiada jednemu gatunkowi. Populację wypełnia się osobnikami. Oblicz się wartość funkcji celu dla kaŝdego osobnika w kaŝdej populacji. Jeśli zadowalające rozwiązanie nie zostało znalezione, kontynuuje się ewolucję osobników. NaleŜy wybrać osobniki do reprodukcji, bazując na ich funkcji oceny - moŝna stosować metody znane z GA, tj. ruletka, wybór proporcjonalny. Dla wybranych osobników stosuje się operatory takie jak krzyŝowanie i mutacja, w wyniku czego powstają potomkowie. Stara populacja zastępowana jest nowymi osobnikami. PowyŜszy algorytm praktycznie nie róŝni się od klasycznych algorytmów ewolucyjnych. Istotnym elementem jest sposób oceniania osobników. Nie są one oceniane w odosobnieniu. Przed dokonaniem oceny danego osobnika, łączy się go z osobnikami (reprezentantami) pozostałych gatunków. Dla takiego związku ostatecznie oblicza się funkcję celu, jej wartość zostaje przypisana do osobnika dla którego była liczona (nie do reprezentantów) rys. 3. Sposób w jaki dobiera się reprezentantów zaleŝy od dziedziny problemu. Jedną z metod jest wybieranie najlepszych osobników w populacji. Stosowane jest równieŝ wybieranie losowe. 3

Wybierz reprezentantów z pozostałych populacji FOR EACH osobnik i w P t BEGIN Stwórz związek i z reprezentantami pozostałych gatunków Oblicz funkcję oceny dla związku Przypisz wartość funkcji do i END Rysunek 2 metoda oceniania osobników. Rysunek 3 [4] funkcja oceny kaŝdego osobnika (fitness) w danym gatunku, obliczana jest przy wykorzystaniu reprezentantów (representative) z pozostałych gatunków. 4

4. Zastosowanie Wydaje się, Ŝe algorytmy koewolucyjne mogą znaleźć zastosowanie w obszarach, w których klasyczne algorytmy ewolucyjne byłyby skazane na niepowodzenie. Pierwszą grupę takich problemów, stanowią te o duŝej złoŝoności i wyraźnej strukturalizacji. Zakładając, Ŝe podział problemu na części zostanie przeprowadzony prawidłowo, zastosowanie CCEA w takich przypadkach jest bardzo intuicyjne. Poszczególne gatunki mogą koewoluować, kaŝdy zajmując się własną częścią problemu. Takie podejście jest bardziej efektywne niŝ tradycyjne EA, które traktowałyby problem jako całość. Ponadto dzięki stosowaniu izolacji genetycznej, obliczenia wykonywane przez CCEA mogą być w prosty sposób rozpraszane na wiele maszyn (np. kaŝdy gatunek na innej maszynie). Nie istnieje problem współdzielenia zasobów, poniewaŝ kaŝdy gatunek szuka rozwiązania w lokalnej przestrzeni rozwiązań. Kolejny obszar zastosowań, to problemy optymalizacyjne, których przestrzeń argumentów jest bardzo duŝa, a w szczególności nieskończona. W literaturze często spotyka się przykład sortowania ciągów liczb: naleŝy znaleźć taki algorytm, który potrafi posortować kaŝdy (skończony) ciąg liczb. Oczywistym jest, Ŝe testowanie algorytmów dla wszystkich moŝliwych ciągów jest niewykonalne. W klasycznych EA prawdopodobnie wybrano by klika ciągów (zadań) i dla nich przeprowadzano testy. Istnieje jednak prawdopodobieństwo, Ŝe algorytm otrzymany w ten sposób byłby zoptymalizowany dla konkretnych ciągów. MoŜna równieŝ losować zadania. Takie podejście utrudnia jednak proces uczenia się. Zastosowanie konkurującego algorytmu koewolucyjnego (zaproponowane przez Hillis a [3]) pozwala na stopniowe ewoluowanie zadań i rozwiązań, eliminując wady EA. Istnieją dziedziny, dla których koewolucja jest wręcz stworzona. Są to problemy z natury interaktywne, np. gry. ZałóŜmy, Ŝe naszym zadaniem jest znalezienie strategii gry w warcaby. W jaki sposób dokonać pomiaru jakości strategii? MoŜna wyobrazić sobie statyczne metody pomiaru: uŝyć wszystkich moŝliwych strategii dla przeciwnika; uŝyć losowych strategii; uŝyć najlepszych strategii. Wszystkie te metody mają te same wady, które wykazano w poprzednim przykładzie. MoŜna równieŝ zastosować koewolucję, czyli testy adaptacyjne. Zakładając, Ŝe strategia testująca i testowana, rozwijają się w dwóch róŝnych populacjach, naszym celem jest doskonalenie obu z nich. 5

5. Patologie W idealnym środowisku, w kaŝdej iteracji powinno powstawać coraz lepsze rozwiązanie. Wyścig zbrojeń między zadaniem a rozwiązaniem, powinien kierować algorytm po przestrzeni rozwiązań, unikając przy tym ekstremów lokalnych. Badania nad CEA wykazały jednak, Ŝe czasem pojawiają się niepoŝądane zachowania. W literaturze określa się je mianem patologii. NajwaŜniejsze z nich to [2][4][6]: a) Utrata gradientu zachodzi w algorytmach konkurujących, gdy jedna z populacji uzyskuje nagle tak wysoki poziom rozwoju, Ŝe pozostałe nie są w stanie się od niej niczego nauczyć. Klasycznym przykładem jest gra w szachy między arcymistrzem, a początkującym graczem. Jeśli początkujący gracz nie uzyskuje Ŝadnych informacji poza tymi, które wynikają bezpośrednio z gry, jest mało prawdopodobne, Ŝe poprawi swoje umiejętności. b) Zapętlenie występuje gdy struktura związki między strategiami są nieprzechodnie, tzn. strategia A wygrywa z B, strategia B z C, C z D, a D z A. Powstaje obieg zamknięty w którym przemieszczają się kolejne populacje gatunków. c) Stabilizacja wartość funkcji oceny nie zmienia się pomimo postępującej koewolucji d) Red Queen poniewaŝ pomiaru przystosowania populacji często dokonuje się na podstawie innej populacji (algorytmy konkurujące), otrzymywany wynik jest względny. Nie zawsze więc moŝna ocenić, czy między populacjami dokonuje się wyścig zbrojeń, czy nastąpiła stagnacja. 6. Podsumowanie Pomimo wielu zalet algorytmów koewolucyjnych i ich częstej przewagi nad algorytmami ewolucyjnymi, są one wciąŝ rzadko stosowane. DuŜe nadzieje pokładane w CEA zostały szybko rozwiane, przez pierwsze eksperymenty. WciąŜ uboga wiedza teoretyczna na temat CEA często mija się z praktyką. To co w przyrodzie sprawdza się doskonale, nie zawsze działa tak samo w informatyce. Wydaje się, Ŝe w przypadku CCEA sposób dekompozycji problemu jest kluczowy dla jego działania. Dlatego poznanie i udokumentowanie poprawnych praktyk dekomponowania zadań jest istotne dla rozwoju CCEA. Prace nad tym zagadnieniem przyniosły pierwsze rozwiązania automatyzujące dekompozycję [5]. Część patologicznych zachowań CEA nie została jeszcze wyjaśniona. Znalezienie mechanizmów ich rozwiązania moŝe przyczynić się do zwiększenia obszaru zastosowań. 6

Literatura [1] Konrad Falkowski, Paweł Wnuk-Lipiński, Marcin śybura, Niszowanie i koewolucja, [2] Sevan Gregory Ficici, Solution Concepts in Coevolutionary Algorithms, 2004 [3] D. Hillis. Co-evolving parasites improves simulated evolution as an optimization Procedure, 1990. [4] Mitchell A. Potter, The Design and Analysis of a Computational Model of Cooperative Coevolution, 1997 [5] Risto Miikkulainen, Kenneth O. Stanley, Competitive Coevolution through Evolutionary Complexification, 2004 [6] R. Paul Wiegand, An Analysis of Cooperative Coevolutionary Algorithms, 2003 [7] http://pl.wikipedia.org/ 7