Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne)

Podobne dokumenty
Dobór parametrów algorytmu ewolucyjnego

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

Techniki optymalizacji

Wybrane podstawowe rodzaje algorytmów

Algorytmy ewolucyjne 1

Optymalizacja. Wybrane algorytmy

Strategie ewolucyjne (ang. evolu4on strategies)

Metody przeszukiwania

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

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

Algorytm genetyczny (genetic algorithm)-

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

Strategie ewolucyjne (ang. evolution strategies)

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

Teoria algorytmów ewolucyjnych

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

Problemy z ograniczeniami

Obliczenia ewolucyjne - plan wykładu

Modyfikacje i ulepszenia standardowego algorytmu genetycznego

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

Optymalizacja. Przeszukiwanie lokalne

Algorytmy metaheurystyczne podsumowanie

Algorytmy genetyczne w optymalizacji

Algorytmy genetyczne

Zadanie 5 - Algorytmy genetyczne (optymalizacja)

Algorytm memetyczny dla rzeczywistego problemu planowania tras pojazdów

Algorytmy genetyczne

Standardowy algorytm genetyczny

Generowanie i optymalizacja harmonogramu za pomoca

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

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

Metody Optymalizacji: Przeszukiwanie z listą tabu

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

6. Klasyczny algorytm genetyczny. 1

Algorytmy ewolucyjne NAZEWNICTWO

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

ALGORYTMY GENETYCZNE ćwiczenia

SZTUCZNA INTELIGENCJA

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

Algorytmy genetyczne

Algorytmy ewolucyjne `

Zadania laboratoryjne i projektowe - wersja β

SCHEMAT ROZWIĄZANIA ZADANIA OPTYMALIZACJI PRZY POMOCY ALGORYTMU GENETYCZNEGO

Odkrywanie algorytmów kwantowych za pomocą programowania genetycznego

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

Metody Rozmyte i Algorytmy Ewolucyjne

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

Algorytmy ewolucyjne. wprowadzenie

METODY HEURYSTYCZNE wykład 3

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

Problem Komiwojażera - algorytmy metaheurystyczne

Techniki optymalizacji

Wstęp do Sztucznej Inteligencji

WAE Jarosław Arabas Pełny schemat algorytmu ewolucyjnego

Algorytmy genetyczne

METODY HEURYSTYCZNE wykład 3

METODY SZTUCZNEJ INTELIGENCJI algorytmy ewolucyjne

Równoważność algorytmów optymalizacji

ALHE Z11 Jarosław Arabas wykład 11

Algorytmy ewolucyjne Część II

Metody Programowania

Algorytmy genetyczne (AG)

Optymalizacja optymalizacji

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

Algorytmy metaheurystyczne Wykład 6. Piotr Syga

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

SZTUCZNA INTELIGENCJA

Algorytm dyskretnego PSO z przeszukiwaniem lokalnym w problemie dynamicznej wersji TSP

Algorytmy genetyczne w interpolacji wielomianowej

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

WAE Jarosław Arabas Adaptacja i samoczynna adaptacja parametrów AE Algorytm CMA-ES

Algorytmy ewolucyjne (3)

Wstęp do Sztucznej Inteligencji

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

Optymalizacja ciągła

Uczenie sieci typu MLP

Algorytmy stochastyczne, wykład 02 Algorytmy genetyczne

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

ALGORYTMY GENETYCZNE (wykład + ćwiczenia)

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

Fizyka w symulacji komputerowej i modelowaniu komputerowym Metody Monte Carlo Algorytmy Genetyczne. Łukasz Pepłowski

Automatyczny dobór parametrów algorytmu genetycznego

Mrówka Pachycondyla apicalis

Techniki ewolucyjne - algorytm genetyczny i nie tylko

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

Algorytmy stochastyczne, wykład 01 Podstawowy algorytm genetyczny

Techniki optymalizacji

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

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

Optymalizacja. Symulowane wyżarzanie

Zaawansowane programowanie

Optymalizacja ciągła

Przykłady problemów optymalizacyjnych

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

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

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

Optymalizacja systemów

Programowanie genetyczne, gra SNAKE

1 Metody rozwiązywania równań nieliniowych. Postawienie problemu

Algorytmy genetyczne Michał Bereta Paweł Jarosz (część teoretyczna)

Transkrypt:

Algorytmy memetyczne (hybrydowe algorytmy ewolucyjne) 1

2 Wstęp Termin zaproponowany przez Pablo Moscato (1989). Kombinacja algorytmu ewolucyjnego z algorytmem poszukiwań lokalnych, tak że algorytm poszukiwań lokalnych jest zintegrowany w pętli algorytmu ewolucyjnego. Nazywane również hybrydowymi algorytmami ewolucyjnymi. Termin stosuje się również do algorytmów używających wiedzy specyficznej dla problemu w operatorach rekombinacji. (krzyżowanie i mutacja). Algorytmy memetyczne są często o rząd wielkości szybsze od algorytmów ewolucyjnych i w wielu dziedzinach są najlepszymi znanymi algorytmami heurystycznymi. Praktyka wykazuje, że klasyczne algorytmy ewolucyjne są dobre w odnajdywaniu obszaru, w którym znajduje się optimum, ale kiepsko radzą sobie w odnalezieniu optimum lokalnego wewnątrz tego obszaru. Co łatwo sprawdzić na Standardowym Algorytmie Genetycznym, z reprezentacja binarną i funkcją dopasowania=liczbą jedynek w łańcuchu binarnym.

3 Dlaczego algorytm hybrydowy algorytm hybrydowy osiągi metody algorytm ewolucyjny przeszukiwanie losowe spektrum problemów Intepretacja prof. Zbigniewa Michalewicza

4 Optymalizacja lokalna - pseudokod /* dane jest rozwiązanie początkowe x i funkcja sąsiedztwa N*/ i=0; best=x while(!depth_condition()) { count=0 while(!pivot_rule()) { } x=best i=i+1 return best count=count+1 generate next neighbour if f(y)>f(best) best=y y N x

5 Algorytmy optymalizacji lokalnej - klasyfikacja pivot rule może to być reguła największego wzrostu (ang. steepest ascent) w której pętle wewnętrzną kończymy po przeszukaniu całego sąsiedztwa (i wybieramy rozwiązanie, które najlepiej zwiększa dopasowanie) albo reguła zachłannego wzrostu, w której pętle wewnętrzną kończymy po znalezieniu w sąsiedztwie pierwszego rozwiązania o większym dopasowaniu, dept_condition warunek maksymalnej głębokości przeszukiwania lokalnego. Może zmieniać się od wykonania jednej iteracji, aż do przeszukiwania aż do odnalezienia punktu lokalnie optymalnego, którego nie możemy ulepszyć przeszukując sąsiedztwo. Funkcja sąsiedztwa N(x) ma kluczowe znaczenie dla osiągów algorytmu. Często jest definiowana jako zbiór punktów w przestrzeni rozwiązań, które możemy osiągnąć z punktu x stosując pewien operator zmiany. Przykładem są 2-sąsiedztwo i 3-sąsiedztwo w problemie komiwojażera. Metoda jest rzędu zerowego gdy używa wyłącznie wartości dopasowania, rzędu pierwszego gdy używa pierwszej pochodnej (wektora gradientu), rzędu drugiego gdy używa również drugiej pochodnej (macierzy hesjanu).

Możliwe miejsca hybrydyzacji w pętli algorytm (Eiben & Smith, 2003) 6

7 Inteligentna inicjalizacja Wielokrotne przeszukiwanie lokalne (multi-start local search). Osobnik w populacji początkowej jest otrzymany poprzez zastosowanie algorytmu optymalizacji lokalnej do losowo wygenerowanego rozwiązania. Selektywna inicjalizacja stwórz b. duża populację n*s rozwiązań początkowych i wykorzystaj z niej S najlepszych. Zalecany sposób to organizacja S turniejów, w każdym z nich udział bierze n losowo wybranych osobników. Najlepszy w turnieju przechodzi do populacji początkowej. Wprowadź do populacji kilka znanych rozwiązań uzyskanych klasycznymi heurystykami. Zastosuj losowe zachłanne algorytmy konstrukcyjne (np. dla TSP zacznij od losowego wierzchołka i włączaj kolejno losowo wierzchołki tak, aby długość cyklu cząstkowego była za każdym razem minimalna). Użyj jednej z powyższych metod do zidentyfikowania kilku obiecujących rozwiązań, a następnie sklonuj je w populacji, stosując do każdego klona operator mutacji z dużym prawdopodobieństwem (masowa mutacja). Uwaga na różnorodność w populacji początkowej!

8 Inteligentne operatory krzyżowania i mutacji Operatory starające się stworzyć potomka o jak największym dopasowania. Operator DPX dla problemu komiwojażera, który kopiuje do potomka krawędzie występujące u obydwu rodziców, a następnie łączy je używając heurystyki najbliższego sąsiada. Operator krzyżowania jednopunktowego wybierający punkt przecięcia, tak aby potomek miał możliwie wysokie dopasowanie. Operator mutacji wybierający losowo kilka bitów, a następnie zmieniający bit który powoduje najkorzystniejszą zmianę dopasowania. Mnóstwo tego typu przykładów w literaturze.

Dodatkowy krok optymalizacji lokalnej na osobnikach uzyskanych w wyniku krzyżowania i mutacji 9 Dodatkowy powoduje uruchomienie metody optymalizacji lokalnej na potomku otrzymanym w wyniku krzyżowania i mutacji. (potomek służy do zainicjalizowania algorytmu optymalizacji lokalnej). Może być interpretowany jako uczenie się podczas trwania życia osobnika. Istnieją dwa tryby pracy: ewolucja Lamarckowska wynik optymalizacji lokalnej zastępuje w populacji osobnika który służył do zainicjalizowania algorytmu lokalnego. Odpowiada to sytuacji, w której osobnik jest w stanie przekazać do genotypu swoich potomków wiedzę nabytą podczas życia. Czy jest to zgodne z realiami biologicznymi? ewolucja Baldwinowska, osobnik otrzymuje dopasowanie, ale nie genotyp rozwiązania wyznaczonego w wyniku optymalizacji lokalnej.

10 Wariacje na temat optymalizacji lokalnej potomków Których potomków optymalizować? Wszystkich Najlepszych Najgorszych Losowo wybranych Ile kroków optymalizacji? Odpowiedź na powyższe dwa pytania staje się istotna, szczególnie w sytuacji gdy dysponujemy ograniczonym budżetem mocy obliczeniowej. Zbyt mało optymalizacji lokalnej nie uzyskamy zbieżności do optimum. Zbyt mało ewolucji utkniemy w optimum lokalnym. Czy przeszukiwanie lokalne wykonywane jest w przestrzeni genotypu czy w przestrzeni fenotypu?

11 Funkcja sąsiedztwa Udowodniono teoretycznie (Krasnogor 2002), że funkcja sąsiedztwa użyta przez algorytm przeszukiwania lokalnego powinna być istotnie różna od funkcji sąsiedztwa stosowanej w operatorze mutacji. Czy w kontekście projektu TSP (jedynego projektu obejmującego algorytm memetyczny) zastosowanie lokalnej optymalizacji opartej na algorytmie 2-opt oraz mutacji w postaci inwersji to dobry pomysł?

12 Ochrona różnorodności w populacji Jeżeli przeszukiwanie lokalne prowadzimy do momentu odnalezienie rozwiązania lokalnie optymalnego, znacznie wzrasta ryzyko przedwczesnej zbieżności, zwłaszcza przy ewolucji lamarkowskiej. Wynik optymalizacji lokalnej wykonanej na dwóch osobnikach ulokowanych w obszarze przyciągania tego samego minimum lokalnego będzie identyczny. Wiele różnych podejść w celu walki z tym problemem. Stosuj regułę lamarkowską tylko dla 5% populacji. Jeżeli inicjalizujesz populację kilkoma dobrymi rozwiązaniami, to pozostałą część inicjuj losowo. Użyj operatorów krzyżowania, takich jak DPX zaprojektowanych aby zachowywać różnorodność. Zmodyfikuj kryterium akceptacji rozwiązania podczas optymalizacji lokalnej (Krasnogor & Smith, 2002).

13 Zmodyfikowane kryterium akceptacji sąsiada Niech E =F sąsiad F x (zakładamy zadanie maksymalizacji) Prawdopodobieństwo akceptacji p dane jest wzorem: p={ exp 1 jeżeli E 0 k E F max F avg w przeciwnym wypadku gdzie k jest stałym parametrem, F max i F avg to największe i przeciętne dopasowanie w populacji. prawdopodobieństwo akceptacji tym większe im mniejsza różnorodność w populacji (mierzona różnicą F max i F avg ) prawdopodobieństwo akceptacji tym mniejsze im gorszy jest sąsiad od aktualnego rozwiązania.

14 Algorytmy memetyczne kolejnych generacji Opisana przeze metoda, w której przeszukiwanie lokalne działało na potomku otrzymanym w wyniku krzyżowania i mutacji jest kwalifikowana jako prosty algorytm memetyczny albo algorytm memetyczny pierwszej generacji. Algorytmy memetyczne drugiej generacji. Stosuj kilka różnych metod przeszukiwań lokalnych. Wybieraj je adaptacyjnie na podstawie pewnych reguł (np. gdy populacja jest różnorodna stosuj algorytm o niewielkim rozmiarze sąsiedztwa, w przeciwnym wypadku algorytm o dużym rozmiarze sąsiedztwa). Wybieraj je samo-aptacyjnie, zakodowując w chromosomie numer algorytmu. Algorytmy memetyczne 3 generacji: samodzielnie konstruuj algorytm przeszukiwań lokalnych i koduj go w chromosomie.

15 Memetic Overkill? Craenen i Eiben (2005) zastosowali algorytmy memetyczne do rozwiązania problemów CSP (constraint satisfaction problem). 3 z 4 algorytmów memetycznych stały się istotnie lepsze po wyłączniu komponentu ewolucyjnego. selekcja rodziców i sukcesja losowa niezależnie od wartości dopasowania. Ironia losu: heurystyki dodano do algorytmów ewolucyjnych w celu ich ulepszenia, usunięcie ewolucji ulepsza je jeszcze bardziej.