Algorytmy genetyczne



Podobne dokumenty
Algorytm genetyczny (genetic algorithm)-

Algorytmy genetyczne

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

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

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

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

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. Materiały do laboratorium PSI. Studia stacjonarne i niestacjonarne

ALGORYTMY GENETYCZNE ćwiczenia

Metody przeszukiwania

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

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

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Wyznaczanie optymalnej trasy problem komiwojażera

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

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

Algorytmy ewolucyjne NAZEWNICTWO

Obliczenia ewolucyjne - plan wykładu

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

6. Klasyczny algorytm genetyczny. 1

Programowanie genetyczne, gra SNAKE

Algorytmy ewolucyjne 1

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Wybrane podstawowe rodzaje algorytmów

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

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

Techniki optymalizacji

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Strategie ewolucyjne (ang. evolu4on strategies)

Algorytmy genetyczne

Problem Komiwojażera - algorytmy metaheurystyczne

Algorytmy ewolucyjne. wprowadzenie

Generowanie i optymalizacja harmonogramu za pomoca

Zadania laboratoryjne i projektowe - wersja β

Równoważność algorytmów optymalizacji

Algorytmy ewolucyjne (3)

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

Algorytmy genetyczne (AG)

Algorytmy ewolucyjne Część II

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

Metody Rozmyte i Algorytmy Ewolucyjne

Algorytmy genetyczne w optymalizacji

MIO - LABORATORIUM. Imię i nazwisko Rok ak. Gr. Sem. Komputer Data / EC3 VIII LAB...

Algorytmy genetyczne

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

Modele i narzędzia optymalizacji w systemach informatycznych zarządzania

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Automatyczny dobór parametrów algorytmu genetycznego

Programowanie genetyczne - gra SNAKE

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Wstęp do Sztucznej Inteligencji

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

Dobór parametrów algorytmu ewolucyjnego

SZTUCZNA INTELIGENCJA

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

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

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

Aproksymacja funkcji a regresja symboliczna

Algorytmy ewolucyjne `

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytmy genetyczne w interpolacji wielomianowej

Algorytmy ewolucyjne (2)

Optymalizacja. Wybrane algorytmy

KARTA MODUŁU KSZTAŁCENIA

METODY HEURYSTYCZNE wykład 3

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

MODELE SIECIOWE 1. Drzewo rozpinające 2. Najkrótsza droga 3. Zagadnienie maksymalnego przepływu źródłem ujściem

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

Programowanie sieciowe. Tadeusz Trzaskalik

METODY HEURYSTYCZNE wykład 3

LABORATORIUM 7: Problem komiwojażera (TSP) cz. 2

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

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

Modele całkowitoliczbowe zagadnienia komiwojażera (TSP)

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

przetworzonego sygnału

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

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

Algorytmy stochastyczne laboratorium 03

Działanie algorytmu oparte jest na minimalizacji funkcji celu jako suma funkcji kosztu ( ) oraz funkcji heurystycznej ( ).

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

ZAGADNIENIE TRANSPORTOWE

Algorytmy sztucznej inteligencji

Problemy optymalizacyjne Dana jest przestrzeń X. Znaleźć x X taki, że x spełnia określone warunki. Dana jest przestrzeń X i funkcja celu f: X R.

ALGORYTMY EWOLUCYJNE W OPTYMALIZACJI JEDNOKRYTERIALNEJ

Techniki ewolucyjne - algorytm genetyczny i nie tylko

Gospodarcze zastosowania algorytmów genetycznych

Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.

Obliczenia Naturalne - Algorytmy genetyczne

Programowanie celowe #1

Problemy z ograniczeniami

Algorytmy mrówkowe. P. Oleksyk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie Inteligentne systemy informatyczne

SZTUCZNA INTELIGENCJA

Algorytmy metaheurystyczne podsumowanie

GENETYKA POPULACJI. Ćwiczenia 1 Biologia I MGR /

Podstawą w systemie dwójkowym jest liczba 2 a w systemie dziesiętnym liczba 10.

Matematyka od zaraz zatrudnię

Transkrypt:

Algorytmy genetyczne Motto: Zamiast pracowicie poszukiwać najlepszego rozwiązania problemu informatycznego lepiej pozwolić, żeby komputer sam sobie to rozwiązanie wyhodował!

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 Problem komiwojażera przedstawia się następująco. Komiwojażer wyjeżdża z miasta nr 1, przejeżdża przez pewien zbiór miast, po czym wraca do miasta, z którego wyjechał. Im szybciej pokona tę drogę, tym lepiej. Nasze zadanie polega na znalezieniu najkrótszego cyklu przechodzącego przez wszystkie miasta dokładnie raz. Opiszę, jak znaleźć długość najkrótszej drogi, jednakże posługując się tymi metodami, otrzymuje się także trasę komiwojażera. Problem można oczywiście rozwiązać, przeszukując wszystkie możliwości.

Przykład Na rysunku pokazano graf ważony o wierzchołkach odpowiadających pięciu miastom polskim. Wagami krawędzi są odległości podane w kilometrach. Poszukujemy rozwiazania następującego problemu: Komiwojażer wyrusza z Warszawy i chce odwiedzić wszystkie pozostałe cztery miasta a następnie wrócić do Warszawy. Jak powinien zaplanować podróż, aby przebył możliwie najmniejsza liczbę kilometrów?

Już przy pięciu miastach wszystkich możliwych tras podróży komiwojażera jest 4!. Można zauważyć, że przy większej liczbie miast rozważanie wszystkich możliwości nie jest najlepszym pomysłem, bo np. przy zaledwie 15 miastach liczba ta to 14!

Cechy algorytmów genetycznych: -stosowanie operatorów genetycznych, -dalsze poszukiwania ukierunkowane są, jakością aktualnych rozwiązań, -wprowadzenie elementów losowych.

Skrócony opis działanie algorytmu genetycznego: 1.problem definiuje środowisko, w którym istnieje pewna populacja (rozwiązań), na początku losowanie jest populacja początkowa, 2.następuje selekcja osobników, najlepiej przystosowane ( z najlepszymi cechami) biorą udział w reprodukcji, 3.genotypy osobników poddawane są krzyżowaniu i mutacji, 4.rodzi się kolejne pokolenie osobników i algorytm wraca do kroku drugiego

Schemat blokowy algorytmu genetycznego

Algorytm musi w jakiś sposób ocenić przydatność osobników do dalszego manipulowania. Funkcja oceny jest miara jakości osobnika. Jest ona obliczana dla każdego osobnika na podstawie modelu rozwiązywanego problemu. Przykład: Obwód elektryczny o właściwościach najbliższych modelowemu rozwiązaniu. Metody selekcji W tym kroku definiowana jest nowa populacja na podstawie już istniejącej. W zależności o wyniku funkcji oceny osobnik ma większe lub mniejsze szanse znalezienia sie w kolejnym pokoleniu. Istnieje kilka sposobów selekcji:

Metoda ruletki metoda ruletki - polega na n (n liczba osobników) krotnym losowaniu ze starej populacji, osobników które znajda sie w nowej. Budowane jest wirtualne koło, na którym każdy osobnik reprezentowany jest przez odpowiadający mu wycinek. Im silniejszy osobnik, tym jego wycinek jest większy, tym większe szanse na wylosowanie. zalety stosunkowo proste w programowaniu wady ewolucja zwalnia z każdym krokiem. Algorytm słabiej rozróżnia osobniku silne od słabych

Metoda rankingowa na podstawie funkcji oceny budowany jest szereg (ranking) najlepszy-najgorszy. Ten sposób wyliczania prawdopodobieństw zmniejsza przewagę jaka maja najlepsze rozwiązania, gdy ich przewaga jest bardzo duża i zwiększa przewagę gdy jest ona b. mała.

Turniej diametralnie inna od wcześniej omówionych metod. Przebieg: 1 Z całej populacji wybierane sa losowo osobnik grupa turniejowa. 2 Z wybranej grupy turniejowej wybierany jest najlepiej przystosowany osobnik. trafia on do nowej populacji 3 Losowanie i wybór powtarza sie do utworzenia całej nowej populacji.

Najpopularniejsze są Algorytmy Genetyczne

Chromosom z kodowaniem binarnym 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 ewolucyjnych. Jedynka przedstawia, że dana cecha będzie uwidoczniona w osobniku potomnym, zero natomiast, że nie będzie uwidoczniona.

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.

Krzyżownie Zadaniem kroku krzyżowania jest wymiana materiału genetycznego pomiędzy dwoma rozwiązaniami populacji. W wyniku krzyżowania na podstawie dwóch rozwiązań(rodzice) tworzone są dwa nowe osobniki(dzieci). Po wykonaniu krzyżownia dzieci zastępują w populacji rodziców. O ilości osobników biorących udział w krzyżowaniu decyduje operator krzyżowania.

Przykładowy sposób zastosowania operatora krzyżowania:

Działanie operatora krzyżowania: a) krzyżowanie jednopunktowe (one-point crossover), b) krzyżowanie dwupunktowe (two-point crossover).

Mutacje Mutacja podobnie jak krzyżowanie zapewnia dodawanie do populacji nowych osobników, jednak w odróżnieniu od krzyżowania w przypadku mutacji modyfikowany jest jeden a nie dwa osobniki. O ilości osobników, biorących w mutacji, decyduje operator mutacji.

Działanie operatora mutacji

Przykładowy sposób zastosowania operatora mutacji

Zastosowania algorytmów genetycznych problemy, w których nie jest dobrze określony sposób rozwiązania problemu, ale znany jest sposób oceny jakości rozwiązania klasycznym przykładem jest problem komiwojażera projektowanie obwodów elektrycznych przeszukiwanie/grupowanie stosowane miedzy innymi w wyszukiwarkach internetowych projekt Golem, automatyczne projektowanie i wytwarzanie robotów

Do realizacji obliczeń zgodnie z zasadami algorytmów genetycznych dostępnych jest wiele gotowych programów

Przykład zastosowania algorytmu genetycznego do prognozowania notowań giełdy

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.

W 1968 roku brytyjski matematyk John Conway stworzył Grę w Życie (Game of Life)