Algorytmy ewolucyjne (3)



Podobne dokumenty
Algorytmy ewolucyjne NAZEWNICTWO

Algorytmy genetyczne

Metody przeszukiwania

Algorytm genetyczny (genetic algorithm)-

Algorytmy genetyczne

ALGORYTMY GENETYCZNE ćwiczenia

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

Algorytmy genetyczne

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

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

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

Metody Rozmyte i Algorytmy Ewolucyjne

6. Klasyczny algorytm genetyczny. 1

Znajdowanie wyjścia z labiryntu

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Wybrane podstawowe rodzaje algorytmów

Programowanie genetyczne, gra SNAKE

Algorytmy genetyczne

Techniki optymalizacji

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

Algorytmy ewolucyjne Część II

MODELOWANIE RZECZYWISTOŚCI

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

Dobór parametrów algorytmu ewolucyjnego

MODELOWANIE RZECZYWISTOŚCI

Algorytmy ewolucyjne. wprowadzenie

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

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

Def. Kod jednoznacznie definiowalny Def. Kod przedrostkowy Def. Kod optymalny. Przykłady kodów. Kody optymalne

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

Programowanie genetyczne - gra SNAKE

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

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

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

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

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Teoria gier. Teoria gier. Odróżniać losowość od wiedzy graczy o stanie!

Algorytmy genetyczne dla problemu komiwojażera (ang. traveling salesperson)

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytmy metaheurystyczne podsumowanie

5. Algorytm genetyczny przykład zastosowania

Algorytmy ewolucyjne (2)

Teoria gier. Wykład7,31III2010,str.1. Gry dzielimy

Optymalizacja. Wybrane algorytmy

Algorytmy stochastyczne laboratorium 03

Strategie ewolucyjne (ang. evolu4on strategies)

ANALIZA ALGORYTMÓW. Analiza algorytmów polega między innymi na odpowiedzi na pytania:

Obliczenia ewolucyjne - plan wykładu

Metody Programowania

Algorytmy ewolucyjne 1

Algorytmy genetyczne (AG)

Sortowanie. Bartman Jacek Algorytmy i struktury

OSTASZEWSKI Paweł (55566) PAWLICKI Piotr (55567) Algorytmy i Struktury Danych PIŁA

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

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

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

Projekty zaliczeniowe Podstawy Programowania 2012/2013

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

Kody splotowe. Zastosowanie

Programowanie genetyczne

Wyznaczanie optymalnej trasy problem komiwojażera

2 Arytmetyka. d r 2 r + d r 1 2 r 1...d d 0 2 0,

Algorytmy genetyczne w optymalizacji

Teoria grafów - Teoria rewersali - Teoria śladów

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

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.

Generowanie i optymalizacja harmonogramu za pomoca

Bazy danych wykład dwunasty. dwunasty Wykonywanie i optymalizacja zapytań SQL 1 / 36

Lista 4. Kamil Matuszewski 22 marca 2016

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

Zadanie transportowe i problem komiwojażera. Tadeusz Trzaskalik

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytmy i struktury danych

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Algorytmy ewolucyjne `

Wykorzystanie metod ewolucyjnych w projektowaniu algorytmów kwantowych

Równoważność algorytmów optymalizacji

Tworzenie gier na urządzenia mobilne

Złożoność informacyjna Kołmogorowa. Paweł Parys

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

6. Algorytm genetyczny przykłady zastosowań.

Zaawansowane programowanie

O badaniach nad SZTUCZNĄ INTELIGENCJĄ

10. Wstęp do Teorii Gier

Materiały dla finalistów

Algorytmy Mrówkowe. Daniel Błaszkiewicz. 11 maja Instytut Informatyki Uniwersytetu Wrocławskiego

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

SZTUCZNA INTELIGENCJA

Metoda eliminacji Gaussa

Problem Komiwojażera - algorytmy metaheurystyczne

SZTUCZNA INTELIGENCJA

Programowanie Genetyczne

PORADNIK ILUSTROWANY EGZAMINU PSA TOWARZYSZĄCEGO I stopnia PT-1

Gra Labirynt Zajęcia 5

SYSTEMY UCZĄCE SIĘ WYKŁAD 4. DRZEWA REGRESYJNE, INDUKCJA REGUŁ. Dr hab. inż. Grzegorz Dudek Wydział Elektryczny Politechnika Częstochowska

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2014/2015. Drzewa BST c.d., równoważenie drzew, kopce.

Luty 2001 Algorytmy (7) 2000/2001

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

Transkrypt:

Algorytmy ewolucyjne (3) http://zajecia.jakubw.pl/nai KODOWANIE PERMUTACJI W pewnych zastosowaniach kodowanie binarne jest mniej naturalne, niż inne sposoby kodowania. Na przykład, w problemie komiwojażera wygodniej jest trasy przedstawiać jako permutacje. 1 7 2 Osobnik: { 1 6 5 4 3 7 2 } 6 4 3 5 Algorytm genetyczny może działać na osobnikach złożonych z permutacji. Jedyny problem stanowią operatory genetyczne (mutacja i krzyżowanie): należy je tak zaprojektować, by zawsze w wyniku dawały legalną permutację. 1

KODOWANIE PERMUTACJI OPERATORY Mutacja: transpozycja (zamiana miejscami) dwóch losowych pozycji. { 1 4 2 6 3 0 7 } { 1 4 7 6 3 0 2 } Algorytm krzyżowania OX (order crossover): losujemy punkt przecięcia chromosomów. Odcinki przed punktem przecięcia zostawiamy bez zmian, natomiast wartości za punktem przecięcia sortujemy w takiej kolejności, w jakiej występują one w drugim osobniku. { 1 4 0 5 7 3 2 6 } { 4 0 7 6 2 3 5 1 } { 1 4 0 5 7 6 2 3 } { 4 0 7 6 1 5 3 2 } Jest to tylko przykład: używa się wielu różnych operatorów krzyżowania (OX jest jednym z najprostszych). PROJEKTOWANIE OPERATORÓW Jeżeli stosujemy nieklasyczne metody reprezentacji, powinniśmy ustalić operatory genetyczne tak, żeby miały pewne pożyteczne własności: Mutacja powinna pozwalać przekształcić dowolnego osobnika w dowolnego innego. Ustalamy pojęcie schematu - układu genów mających (potencjalnie) znaczenie z punktu widzenia zadania. Krzyżowanie osobników pasujących do tego samego schematu nie powinno go niszczyć. Krzyżowanie osobników pasujących do dwóch różnych schematów powinno (przynajmniej czasem) doprowadzić do powstania osobnika pasującego do obu. 2

PRZYKŁAD - ROZWIĄZANIA HYBRYDOWE Algorytm heurystyczny poszukujący pokrycia krawędziowego w grafie: rozpoczynamy działanie od wylosowania kolejności badania wierzchołków, a potem dołączamy je kolejno do pokrycia (o ile nowy wierzchołek pokrywa którąkolwiek niepokrytą krawędź). Modyfikacja: zamiast losować kolejność, użyjmy algorytmu genetycznego generującego permutację. 2 3 Osobnik: { 1 5 6 4 3 7 2 } 1 7 4 5 6 kolejność alg. genetyczny heurystyka pokrycie wierzchołków ITEROWANY DYLEMAT WIĘŹNIA W więzieniu siedzi (w osobnych celach) dwóch uczestników napadu na bank. Każdy z nich ma podczas przesłuchania do wyboru dwie strategie: wyprzeć się wszystkiego lub obciążyć całą winą towarzysza. Jeśli jeden z więźniów zdradzi drugiego, ten drugi dostanie 10 lat, a pierwszy wyjdzie na wolność jako świadek koronny. Jeśli obaj będą milczeć, dostaną po 2 lata za pomniejsze przestępstwa. Jeśli obaj zdradzą (przyznając się przy tym do winy), dostaną po 6 lat. Jak ma się zachować więzień? Wersja iterowana: zakładamy, że z tym samym towarzyszem siedzimy w więzieniu po raz kolejny i pamiętamy, jak zachowywał się on (i my) podczas poprzednich odsiadek. 3

STRATEGIA Strategia: przepis (algorytm) mówiący, jak się zachować w dowolnej sytuacji, jaka może się zdarzyć w grze. W praktyce: funkcja, która na wejściu dostaje historię poprzednich przypadków, a na wyjściu daje odpowiedź zdrada / współpraca, oznaczającą zalecane zachowanie. Z zasady minimaksowej: On Nasza decyzja w z On w z w z 2 10 0 6 Postępujemy tak, by maksymalna strata, jaką może nam zadać przeciwnik, była jak najmniejsza KODOWANIE STRATEGII Załóżmy, że pamiętamy ostatnie dwie gry w postaci dwóch par zw (tzn. ja zdradziłem, partner milczał). Wszystkich możliwych historii typu zw zz jest 16. Do tego dochodzą 4 możliwości w przypadku, gdy gra toczy się dopiero jedną rundę, oraz dodatkowy przypadek mówiący, że właśnie zaczynamy grę. Strategia: 21 reguł postaci zw zz => z, ww ww => w itp. Da się ją zakodować na 21 bitach (same prawe strony reguł). Wystarczy więc znaleźć optymalny łańcuch 21 bitów. Funkcja celu: turniej w ramach populacji ( każdy z każdym ), jako wartość osobnika bierzemy sumę punktów zdobytych w turnieju. 4

PROGRAMOWANIE GENETYCZNE Przykładowe zadanie: Napisać program działania automatu wyposażonego w czujniki i urządzenia wyjściowe, którego zadaniem będzie przejście labiryntu. Automat może dodatkowo mieć pewne rejestry wewnętrzne zapamiętujące informacje pomocnicze. Wejście: stan rejestrów i czujników - czy na następnym polu jest ściana? Czy po lewej/prawej stronie jest ściana? Wyjście: stan urządzeń wyjściowych - wykonaj krok do przodu, obróć się w lewo, obróć się w prawo, zmień stan rejestrów. KODOWANIE ALGORYTMÓW Język programowania robota składa się z: operacji logicznej IF(warunek, akcja1, akcja2), operacji grupującej inne operacje GRUPA2(akcja, akcja), GRUPA3(akcja, akcja, akcja), operacji wyjściowych KROK, LEWO, PRAWO, USTAW(rejestr, wartość), predykatów oznaczających stan wejść (ŚCIANA, ŚCIANA_L, ŚCIANA_P) i rejestrów. Zadaniem algorytmu genetycznego jest stworzenie programu - kombinacji (w postaci drzewa) dozwolonych operacji i warunków. Ocena osobnika (programu) polegała będzie na symulacji jego działania w danym środowisku testowym. 5

KODOWANIE ALGORYTMÓW Osobnik: program zapisany w strukturze drzewiastej. Liśćmi są komendy nie mające argumentów. Mutacje: losowe zmiany treści węzła, zamiana liścia na węzeł z dalszymi odgałęzieniami, skasowanie fragmentu drzewa lub dodanie losowego... Krzyżowanie: zamieniamy miejscami losowe węzły z rodziców, razem z odpowiednimi poddrzewami. IF(ŚCIANA) GRUPA2 LEWO Osobnik KROK IF(ŚCIANA_L)...... Krzyżowanie: zamiana poddrzew Należy uważać na niekontrolowany rozrost drzewa. KODOWANIE ALGORYTMÓW Programowanie genetyczne zwykle wiąże się z symulacją wygenerowanego programu i oceną skutków jego działania. Jest to proces czasochłonny. Typowa wielkość populacji to kilka tysięcy osobników. Liczenie funkcji celu: generujemy labirynt, wpuszczamy do niego automat. Symulujemy np. 1000 kroków programu, tzn. 1000-krotne wykonanie instrukcji z drzewa. Liczymy, jak blisko wyjścia znalazł się automat. LEWO IF(ŚCIANA) GRUPA2 Osobnik KROK IF(ŚCIANA_L)...... 6

ZASTOSOWANIA METOD EWOLUCYJNYCH Przykłady z roku 2000 - różne rodzaje algorytmów genetycznych: Optymalizacja konstrukcji silników B777. Programy optymalizujące plany prac rolniczych. Analizatory giełdowe (dzienna wartość transakcji przeprowadzanych na podstawie analiz opartych na GA wynosiła średnio 28 mld USD). Programy policyjne dopasowujące twarze na zdjęciach do konkretnych osób. 7