Obliczenia inspirowane Natura - Wykład 08 - Ewolucja i

March 20, 2018 | Author: Anonymous | Category: Nauka, Biologia, Ekologia, Population Ecology
Share Embed


Short Description

Download Obliczenia inspirowane Natura - Wykład 08 - Ewolucja i...

Description

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Obliczenia inspirowane Naturą Wykład 08 - Ewolucja i optymalizacja

Jarosław Miszczak IITiS PAN Gliwice

21/04/2016

1 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Na poprzednim wykładzie

1

Zasady działania algorytmów genetycznych

2

Operatory genetyczne

3

Zastosowanie w programowaniu

2 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

1

Algorytmy ewolucyjne Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

2

Strategie ewolucyjne Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

3

Ewolucja programów 3 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Metaheurystyka

Metaheurystyka Schemat tworzenia heurystycznych algorytmów wyszukiwania. Algorytmy heurystyczne to algorytmy które dają metodę wyszukiwania rozwiązania, ale nie gwarantują, iż znalezione rozwiązanie będzie najlepsze. Algorytm metaheurystyczny opisuje sposób przechodzenia między możliwymi rozwiązaniami w celu rozwiązania problemu; nie rozwiązuje bezpośrednio żadnego problemu, a jedynie podaje sposób postępowania prowadzący do konstrukcji algorytmu; dają algorytmy przybliżone i probailistyczne. 4 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Metaheurystyka

Przykłady algorytmów metaheurystycznych (metaheurystyk) to algorytmy ewolucyjne – analogia do procesów doboru naturalnego w populacjach organizmów żywych; algorytmy genetyczne – naśladowanie mechanizmów doboru naturalnego i reprodukcji na poziomie genomu;

algorytmy mrówkowe – naśladowanie zachowania owadów; inteligencja roju – naśladowanie zachowań stadnych w dużych grupach organizmów żywych; symulowane wyżarzanie – analogia do procesu wyżarzania; algorytmy kulturowe i memetyczne – analogia do zmian przekonań w grupach społecznych. 5 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Motywacja biologiczna

Karol Darwin, 1859 – On the Origin of Species, selekcja naturalna Herbert Spencer, 1864 – Principles of Biology, survival of the fittest Algorytmy ewolucyjne to klasa algorytmów metaheurystycznych opartych na zasadzie doboru naturalnego w populacji.

6 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

Wszystkie rodzaje algorytmów ewolucyjnych są budowane poprzez dobór

7 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

Wszystkie rodzaje algorytmów ewolucyjnych są budowane poprzez dobór 1

reprezentacji osobników;

7 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

Wszystkie rodzaje algorytmów ewolucyjnych są budowane poprzez dobór 1

reprezentacji osobników;

2

funkcji celu (dopasowania, przystosowania)

7 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

Wszystkie rodzaje algorytmów ewolucyjnych są budowane poprzez dobór 1

reprezentacji osobników;

2

funkcji celu (dopasowania, przystosowania)

3

sposobu budowania populacji;

7 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

Wszystkie rodzaje algorytmów ewolucyjnych są budowane poprzez dobór 1

reprezentacji osobników;

2

funkcji celu (dopasowania, przystosowania)

3

sposobu budowania populacji;

4

mechanizmu doboru rodziców;

7 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

Wszystkie rodzaje algorytmów ewolucyjnych są budowane poprzez dobór 1

reprezentacji osobników;

2

funkcji celu (dopasowania, przystosowania)

3

sposobu budowania populacji;

4

mechanizmu doboru rodziców;

5

operatorów zmienności (genetycznych);

7 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

Wszystkie rodzaje algorytmów ewolucyjnych są budowane poprzez dobór 1

reprezentacji osobników;

2

funkcji celu (dopasowania, przystosowania)

3

sposobu budowania populacji;

4

mechanizmu doboru rodziców;

5

operatorów zmienności (genetycznych);

6

mechanizmu selekcji;

7 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

Wszystkie rodzaje algorytmów ewolucyjnych są budowane poprzez dobór 1

reprezentacji osobników;

2

funkcji celu (dopasowania, przystosowania)

3

sposobu budowania populacji;

4

mechanizmu doboru rodziców;

5

operatorów zmienności (genetycznych);

6

mechanizmu selekcji;

7

sposobu inicjalizacji;

7 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

Wszystkie rodzaje algorytmów ewolucyjnych są budowane poprzez dobór 1

reprezentacji osobników;

2

funkcji celu (dopasowania, przystosowania)

3

sposobu budowania populacji;

4

mechanizmu doboru rodziców;

5

operatorów zmienności (genetycznych);

6

mechanizmu selekcji;

7

sposobu inicjalizacji;

8

warynków zakończenia. 7 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Zasada działania

1

Wygeneruj losowo początkową populację.

2

Określ stopień przystosowania każdego osobnika. Dopóki nie jest znalezione rozwiązanie, powtarzaj:

3

Wybierz najlepiej dostosowane osobniki. Wygeneruj nowe osobniki (stosując mutacje i krzyżowanie) Określ stopień przystosowania nowych osobników. Zastąp najgorzej dostosowaną część populacji nowymi osobnikami.

8 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Metaheurystyka Motywacja biologiczna Zasada działania Klasyfikacja metod

Algorytmy ewolucyjne Klasyfikacja metod

Rodzaje algorytmów ewolucyjnych: algorytmy genetyczne programowanie genetyczne strategie ewolucyjne programowanie ewolucyjne ...

9 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne

Ingo Rechenberg, Hans-Paul Schwefel, 1968 – optymalizacja numeryczna modeli komputerowych. Podstawową zasadą jest przetrwanie najlepiej dostosowanych osobników z populacji dostępnych rozwiązań.

10 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Reprezentacja

W porównaniu z algorytmami genetycznymi w strategii ewolucyjnej reprezentacja rozwiązań w postaci wektorów zmiennoprzecinkowych; deterministyczna selekcja; parametry krzyżowania i mutacji są zmienne; selekcja jest po rekombinacji.

11 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (1+1)

Najprostsza strategia ewolucyjna polega na tworzeniu populacji złożonej z jednego rodzica i jednego potomka. Kluczowy jest tutaj sposób mutowania.

12 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (1+1)

Startegia (1 + 1) jest realizowana następująco: Zainicjalizuj X (0) (początkowe rozwiązanie) i t = 0. Oceń X (0) . Dopóki nie jest spełniony warunek stopu (czyli rozwiązanie jest niewystaczająco dobre) powtarzaj: Zaincjalizuj Y (t) jako mutację X (t) . Jeżeli Y (t) jest lepszy od X (t) , to X (t+1) = Y (t) . W przeciwnym wypadku X (t+1) = X (t) . Uaktualni numer pokolenia t = t + 1.

13 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (1+1)

Mutacja polega na dodaniu do xit liczby z N (0, σi ), xt+1 = xt + σξi , gdzie ξi ma rozkład N (0, 1), a σ to zasięg mutacji. Mutacje na poszczególnych składowych są niezależne.

14 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (1+1)

Zbieżność Jeżeli σ nie zmienia się w czasie, to P

n

o

lim f (x (t) ) = fopt = 1,

t7→∞

czyli algorytm zawsze znajdzie najlepsze rozwiązanie nie wiadomo natomiast jak długo mu to zajmie.

15 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (1+1)

Reguła 1/5 sukcesu pozwala na poprawę szybkości zbiegania procedury: Reguła ta modyfikuje parametr mutacji. Jeżeli w poprzednich k krokach mutacja prowadziła do poprawy w więcej niż 1/5 przypadków, nowy wektor wariancji powinien być zwiększony.

16 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (1+1)

σ

(t+1)

=

 (t)   cd σ

σ (t)

ci   σ (t)

dla φ(k) > 1/5 dla φ(k) < 1/5 dla φ(k) = 1/5

Eksperymentalnie dobrane współczynniki: cd = 0.82, ci = c1d = 1.22.

17 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Notacja

Typ strategii ewolucyjnej specyfikuje się podając (µ/ρ+ , λ), gdzie µ – liczność populacji macierzystej; ρ – ilość członków populacji biorących udział w rekombinacji (ρ = 1 oznacza kopiowanie); λ – ilość potomków generowanych w iteracji; + , określa operator selekcji: ’+’ – wiek osobnika nie ma znaczenia; ’,’ – wiek jest brany pod uwagę;

18 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (µ + λ)

Uogólnienie strategii (1 + 1). Dodany jest mechanizm modyfikacji zasięgu mutacji – zastępuje regułę 1/5 sukcesów.

19 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (µ + λ)

Startegia (µ + λ) jest realizowana następująco: Zainicjalizuj t = 0 i X (t) (początkowe rozwiązanie) Oceń X (t) . Dopóki rozwiązanie nie jest wystaczająco powtarzaj: Zaincjalizuj Y (t) jako kopię X (t) . Zaincjalizuj Z (t) jako wynik mutacji (i krzyżowania) Y (t) . Wybież X (t+1) jako najlepszych µ osobników wśród X (t) ∪ Z (t) . Uaktualni numer pokolenia t = t + 1.

20 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (µ + λ)

Osobniki kodują dwa chromosomy, czyli mają informację o: zmiennych niezaleznych; zasięgu mutacji;

Pozwala to dostrajanie zmienności cech osobników.

21 / 29

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Strategie ewolucyjne Strategia (µ + λ)

W (µ + λ) mutacja osobnika przebiega w następujący sposób: Wylosuj ξ oraz ξi o rozkładzie N (0, 1). Zmodyfikuj wektor zasięgów według reguły: (t)

σi

(t−1)

= σi

exp (τ0 ξ + τ1 ξi )

Wylosuj ξi o rozkładzie N (0, 1). Zmodyfikuj wektor cech według reguły: (t+1)

xi

(t)

= xi

(t)

+ σi ξi

Mutacaj dwuetapowa Pierwszy etap dotyczy mutacji zasięgów zmienności, natomiast w drugim mutowane są wartości zmiennych. 22 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (µ + λ)

Jak wykonywać mutacje? Wartości τ0 i τ1 są parametrami metody. Zalecane wartości to K τ0 = √ 2n

K τ1 = q √ 2 n

23 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (µ + λ)

Dodatkowo wprowadzić można operator rekombinacji (czyli krzyżowania) Uśredninie (i wymiana) wartości wektorów zmiennych i zasięgów. Osobniki potomne zastępują swoich rodziców.

24 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (µ + λ)

Przykładowo – zastąp wartość wektora wartością uśrednioną: X 0 = αX + (1 − α)Y Y 0 = αY + (1 − α)X σX0

= ασX + (1 − α)σY

σY0

= ασY + (1 − α)σX

25 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Strategia (µ, λ)

W strategii (µ, λ) kolejne generacje są tworzone z pominięciem rodziców. W ten sposób każdy osobnik żyje dokładnie przez jeden cykl. Nie ma dowodu zbieżności dla (µ, λ). Nie ma gwarancji, że najlepsze rozwiązanie nie zostanie zastąpione przez gorsze.

26 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Reprezentacja Strategia (1+1) Notacja Strategia (µ + λ) Strategia (µ, λ) Zalecenia

Strategie ewolucyjne Zalecenia

Strategia (µ + λ) jest zalecana do wykorzystanie przy problemach optymalizacji kombinatorycznej – problemy dyskretne. Strategi (µ, λ) lepiej sprawdzają się dla problemów optymalizacji w Rn .

27 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Ewolucja programów

1964, Lawrence J. Fogel – modelowanie gramatyki poprzez automaty skończone. 1981, David Fogel – wykorzystanie metod strategii ewolucyjnych do optymalizacji programów.

28 / 29

Na poprzednim wykładzie Algorytmy ewolucyjne Strategie ewolucyjne Ewolucja programów

Ewolucja programów

W programowaniu ewolucyjnym nie ma ograniczeń na strukturę osobników, reprezentacja wynika z problemu – np. sieci neuronowe (o ustalonej topologii) mogą być reprezentowane przez wektor wag; struktura programu jest ustalona, a zmieniają się jego parametry; programy są oceniane według rangi – liczba gorszych osobników z losowej populacji; nie stosuje się krzyżowania.

29 / 29

View more...

Comments

Copyright © 2017 DOCUMEN Inc.