Pobierz

Transkrypt

Pobierz
17.01.2016
Techniki optymalizacji
Ewolucja biologiczna

Algorytmy ewolucyjne
Związki między ewolucją
biologiczną a optymalizacją
Ewolucja biologiczna
Optymalizacja
Osobnik
Rozwiązanie
Populacja
Zbiór rozwiązań
Genotyp
Reprezentacja rozwiązania
Fenotyp
Wartość funkcji celu
Mutacja
Konstrukcja nowego rozwiązania
poprzez niewielką modyfikację innego
rozwiązania
Krzyżowanie
Rekombinacja – konstrukcja nowego
rozwiązania poprzez połączenie cech
dwóch rozwiązań
Dobór naturalny
Selekcja dobrych rozwiązań
Przystosowanie (fitness)
Funkcja celu
Poprawa przystosowania
Optymalizacja funkcji celu
Rzeczywiste kodowanie
genów


DNA
Alfabet czteroliterowy – cztery
zasady A, G, T, C
Dobór naturalny powoduje ewolucję
populacji osobników
Przekazywanie cech
 Przeżywanie najlepiej przystosowanych
 Mutacje
 Krzyżowanie

Algorytm ewolucyjny
wygeneruj początkową populację X
powtarzaj
X1 := Krzyżowanie (X)
X1 := Mutacja (X1)
X := Selekcja (X, X1)
dopóki warunek stopu
Zwróć najlepsze wygenerowane rozwiązanie
Binarne kodowanie rozwiązań
– algorytmy genetyczne
Rozwiązanie reprezentowane jako
ciąg zer i jedynek
 Zawsze możliwe (z pewną
dokładnością), ale nie zawsze
naturalne

1
17.01.2016
Kodowanie binarne
zmiennych liczbowych
Kodowanie binarne –
problem plecakowy
Np.:
0
Np.:
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
Pozycja dla każdego elementu
 0 – element nie został wybrany
 1 – element został wybrany

x1
x2
x3
x4
Kodowanie binarne –
problem komiwojażera
Klasyczne krzyżowanie
jednopunktowe
Np.:
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
Pozycja dla każdego łuku
 0 łuk nie znajduje się w rozwiązaniu
 1 łuk znajduje się w rozwiązaniu
 Mówiąc inaczej – macierz
koincydencji rozwinięta w wektor

Krzyżowanie wielopunktowe
0
1
0
1
0
1
1
0
1
0
0
0
0
0
0
1
1
1
0
0
0
1
0
0
1
1
1
1
1
1
0
1
0
1
1
1
0
0
0
0
1
0
0
1
0
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
1
0
0
0
0
1
0
0
1
1
0
1
0
0
0
0
0
0
0
Krzyżowanie równomierne –
uniform crossover

Każda pozycja niezależnie losowa z
jednego z rodziców
0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
1
0
0
0
0
1
0
0
1
1
1
1
0
1
1
0
0
0
1
0
0
1
0
1
1
1
1
1
0
0
0
0
0
2
17.01.2016
Mutacja – losowa zmiana
rozwiązania

0
Selekcja ruletkowa
Mutacja jednego bitu
1
1
0
0
1
0
1
1
1

0
1
0
0
0
0
Oblicz wartość dopasowania dla
każdego rozwiązania eval xi 

Skalowanie funkcji celu do [0, Max]
pop _ size
0

1
1
0
0
1
0
1
0
1
0
1
0
0
0
0
Prawdopodobieństwo mutacji –
prawdopodobieństwo zmiany jednego bitu

Np. 0,01 – zmiana jednego bitu na 100
Algorytm selekcji
p
i 1
i
i j
 r   pi
i 1
pi 
F
Przykład selekcji ruletkowej
Powtarzaj pop_size razy
wygeneruj liczbę losową r z
przedziału [0,1) – rozkład
równomierny
wybierz rozwiązanie j dla którego
i  j 1
Oblicz całkowite F   eval xi 
i 1
dopasowanie
 Oblicz prawdopodobieństwo wyboru
każdego rozwiązania
eval xi 

Ocena
rozwiązania
Rozwiązanie
1
2
3
4
5
6
Całkowite
dopasowanie
2
4
1
5
8
3
Pi
0,087
0,174
0,043
0,217
0,348
0,130
23
Dopuszczalne
powtórzenia
dopóki warunek stopu
Selekcja turniejowa
Przykład
Powtarzaj pop_size razy
wybierz losowo K rozwiązań do
turnieju– rozkład równomierny
wybierz najlepsze rozwiązanie z
grupy turniejowej
dopóki warunek stopu
Dopuszczalne
powtórzenia
3
17.01.2016
Schematy
Rząd schematu

0
1
1
0
0
1
0
1
1
1
0
1
0
0
0
0
0
1
1
0
1
1
1
1
1
0
0
1
1
0
0
0
1
*
1
1
*
0
1
*
0
0
0
Liczbę ustalonych pozycji - 0 lub 1
Rząd 12
1
1
0
*
1
1
0
*
1
*
1
1
*
0
1
*
0
0
0
*
*
*
1
*
1
1
*
0
1
*
0
0
0
Rząd 8
Wspólny schemat
0
0
*
*
Do ciągu o długości n pasuje 2n schematów
Długość definiująca
schematu

Wpływ operatorów
ewolucyjnych na schematy
Odległość pomiędzy pierwszą a
ostatnią pozycją ustaloną schematu

Selekcja

Długość definiująca 14
*
1
1
0
*
1
*
1
1
*
0
1
*
0
0
*

Długość definiująca 9
*
*
*
*
*
1
*
1
1
*
0
1
*
0
*
Krzyżowanie

*

Krzyżowanie i mutacja może
prowadzić do powstania rozwiązań
niedopuszczalnych
 Np. dla problemu plecakowego –
przekroczenie pojemności plecaka
 Np. dla problemu komiwojażera –
zbiór łuków nie tworzący cyklu
hamiltona

Większe szanse „przeżycia” mają krótsze
schematy
Mutacja

Ograniczenia w algorytmach
genetycznych
Dla selekcji ruletkowej średnia liczba
rozwiązań pasujących do schematu S zmienia
się w populacji tak, jak stosunek dopasowania
schematu do średniego dopasowania populacji
Większe szanse „przeżycia” maję schematy o
mniejszym rzędzie
Ograniczenia - Funkcja kary

Rozwiązania niedopuszczalne są traktowane jak
dopuszczalne, ale wartość funkcji celu zostaje
pogorszona o wartość kary

Kara jest w ogólności zależna od wielkości
złamania ograniczeń, np. od przekroczenia
pojemności plecaka

Problemy


Zbyt mała kara może spowodować ewolucję w kierunku
rozwiązań niedopuszczalnych
Zbyt duża kara może utrudniać dojście do dobrych
rozwiązań
4
17.01.2016
Ograniczenia - Procedury
naprawy



Niedopuszczalne rozwiązanie powstałe w
wyniku krzyżowania/mutacji jest
naprawiane przez dedykowaną
heurystykę
Procedura naprawy nie powinna zbyt
mocno zmieniać rozwiązania
Procedura naprawy może być kierowana
funkcją celu
Przykłady procedur
naprawy

Problem plecakowy
Usuwanie elementów aż do osiągnięcia
dopuszczalności
 Opcja – usuwanie elementów o
najgorszym stosunku wartości do wagi


Problem komiwojażera

Odbudowa cyklu hamiltona przy
zachowaniu jak największej liczby
łuków
Naturalne kodowanie algorytmy ewolucyjne
Zalety kodowania
naturalnego

Liczby naturalne i rzeczywiste
 Listy
 Macierze
 Drzewa
…

Rekombinacja
Rekombinacja porządkowa
dla list - OX
Utworzenie nowego (lub kilku)
nowego rozwiązania (potomka) na
podstawie dwóch rodziców
 Potomek powinien łączyć
(rekombinować) cechy rodziców

Łatwiejsze krzyżowanie rekombinacja
 Bardziej „sensowne” krzyżowanie –
zachowywanie ważnych cech
rozwiązań
 Łatwiejsze zachowywanie ograniczeń
Wybierz podciąg z rodzica 1
Skopiuj wybrany podciąg do potomka
Usuń umieszczone już w potomku
elementy z rodzica 2
Dodawaj kolejne elementy z rodzica 2
do potomka w kolejności
występowania w rodzicu 2
5
17.01.2016
Rekombinacja porządkowa
dla list - OX
Rodzic 1
2
1
7
powtarzaj dla każdej pozycji
Rodzic 2
8
3
5
4
3
5
4
6
5
2
7
6
2
7
3
5
4
1
2
7
5
6
3
1
4
8
4
8
Proto-potomek
8
2
7
6
8
6
1
Przykład
2
1
7
8
3
5
Inny przykład rekombinacji
porządkowej dla list
wylosuj rodzica 1 lub 2
wybierz z wylosowanego rodzica
pierwszy element
usuń wybrany element z obu rodziców
dodaj wybrany element na koniec
potomka
Przykład c.d.
4
6
3
1
8
2
1
7
8
3
1
8
3
1
8
3
2
2
2
2
5
4
6
4
6
7
5
6
3
1
4
8
5
6
3
1
4
8
7
6
3
1
4
8
2
7
5
6

5
4
7
5
6
1
3
4
6
3
4
8
8
6
1
6
8
3
6
6
2
7
5
1
8
3
4
2
7
5
1
8
3
4
4
6
1
Kodowanie pośrednie
Prostsze kodowanie i bardziej
złożona rekombinacja

7
4
5
4
4
3
7
5
Kodowanie a
rekombinacja…

3
lub
Bardziej złożone kodowanie i
prostsza rekombinacja
Dekodowanie rozwiązania
Heurystyczna lub dokładna
transformacja
Kodowanie
pośrednie –
operatory
ewolucyjne
Dokładna i
naturalna
reprezentacja
rozwiązania
Funkcja celu
6
17.01.2016
Zalety kodowania
pośredniego
Łatwiejsze operatory
rekombinacji/mutacji
 Łatwiejsze zapewnienie
dopuszczalności rozwiązań
Przykład harmonogramowanie

Kodowanie pośrednie –
lista priorytetowa zadań
2
7
5
1
8
3
4
Heurystyka
priorytetowa
Harmonogram
6
Przykład problem
plecakowy
Parametry algorytmów
ewolucyjnych
Kodowanie pośrednie – lista
elementów
 Dekodowanie – dodawaj po kolei
elementy do momentu wypełnienia
plecaka
 Wynik dopuszczalne rozwiązanie

Hybrydowe algorytmy
ewolucyjne
Hybrydowe algorytmy
ewolucyjne


Inne nazwy
Liczba generacji – czas obliczeń
 Wielkość populacji
Mniejsza populacja – szybsza zbieżność
 Większa populacja – lepsza jakość w
dłuższym czasie


Algorytmy memetyczne
 Genetyczne przeszukiwanie lokalne
…

Hybrydyzacja algorytmów
ewolucyjnych i lokalnego
przeszukiwania


lub ogólniej heurystyk lokalnych
Cel - połączenie zalet
Szybkość i możliwość lokalnej poprawy
rozwiązań przez przeszukiwanie lokalne
 Globalność algorytmów ewolucyjnych

7
17.01.2016
Rożnie sposoby
hybrydyzacji

Najpierw PL potem AE


Najpierw AE potem PL


AE startuje z bardzo dobrą populacją
AE znajduje globalnie dobry region
eksplorowany dokładniej przez PL
PL w trakcie AE

Np. PL po każdej rekombinacji i
mutacji
Algorytmy hybrydowe z punktu
widzenia przeszukiwania
lokalnego

Algorytmy hybrydowe z punktu
widzenia algorytmów
ewolucyjnych
Algorytm ewolucyjny pracujący na
ograniczonym zbiorze rozwiązań –
tylko optima lokalne
 Mniejsza przestrzeń przeszukiwań –
bardziej efektywne działanie
 Przeszukiwanie lokalne zapewnia
efektywne ograniczanie przestrzenie
przeszukiwań AE do bardzo dobrych
rozwiązań

Lokalne przeszukiwanie w trakcie
pracy algorytmu memetycznego
Rekombinacja zapewnia dobry punkt
startowy dla przeszukiwania
lokalnego
Szybsza zbieżność do lokalnego
optimum
 Zbieżność do lepszych rozwiązań

Selekcja elitarna

Wybór P najlepszych rozwiązań

Możliwe unikanie powtarzających się rozwiązań –
kopii

Możliwość hybrydyzacji z innymi mechanizmami
(ruletkowa, turniejowa) – częściowa elitarność


Wybór L < P najlepszych rozwiązań. Pozostałe w inny
sposób
W przypadku zwykłych AE selekcja elitarna
prowadzi do (zbyt) szybkiej zbieżności. Dodanie
przeszukiwania lokalnego często eliminuje ten
problem.
8

Podobne dokumenty