OPTYMALIZACJA GLOBALNA PLAN WYKŁADU Historia Zadania

Transkrypt

OPTYMALIZACJA GLOBALNA PLAN WYKŁADU Historia Zadania
2010‐03‐11
PLAN WYKŁADU
Historia
Zadania
| Co odróżnia od klasycznych algorytmów
| Nazewnictwo
| Etapy
| Kodowanie, inicjalizacja, transformacja funkcji celu
| Selekcja
| Skalowanie funkcji przystosowania
|
|
OPTYMALIZACJA GLOBALNA
Wykład 2
dr inż. Agnieszka Bołtuć
HISTORIA
NA CZYM BAZUJĄ AG
Lata 50 – prace biologów (Barricelli, Fraser) nad
symulacją procesów biologicznych,
| 1962 – zastosowanie AG do zagadnień sztucznej
adapatacji (J. Holland)
| 1967 – AG grający w prostą grę (Bagley)
| 1970 – systemy rozpoznające np. twarze ludzkie,
| 1971 – J. Holland wydaje pierwszą pracę o
zastosowaniu AG do optymalizacji funkcji
| 1975 – Adaptation in Natural and Artificial
Systems, John Holland (profesor z Uniwersytetu
Michigan, Stany Zjednoczone)
|
|
Naśladują procesy zachodzące w przyrodzie,
Naśladują procesy ewolucji biologicznej,
| Odzwierciedlają dobór naturalny oraz
dziedziczność,
| Łączą
Ł
w sobie
bi ewolucyjna
l
j zasadę
d przeżycia
ż i
najlepiej przystosowanych z systematyczną, choć
zrandomizowaną wymianą informacji tworząc
metodę obdarzoną dozą ludzkiej pomysłowości,
|
1
2010‐03‐11
AG KONTRA KLASYCZNE METODY
HISTORIA O KRÓLICZKACH WG. MICHALEWICZA
AG nie przetwarza bezpośrednio parametrów
zadania, ale ich zakodowana postać
| AG prowadzą poszukiwania nie z pojedynczego
punktu, lecz pewnej populacji,
| AG korzystają jedynie z funkcji celu – bez
pochodnych i innych informacji,
| AG stosują probabilistyczne, a nie deterministyczne
reguły wyboru.
|
|
|
|
|
|
NAZEWNICTWO
|
|
|
|
|
Populacja – zbiór osobników o pewnej liczebności
(rozwiązań)
Osobniki – zakodowane w postaci chromosomów
zbiory parametrów zadania, czyli rozwiązania
zadania, czy też punkty przestrzeni poszukiwań,
Chromosom - łańcuchy, czy też ciągi kodowe, to
uporządkowane ciągi genów,
Gen - pojedynczy element genotypu, w szczególności
chromosomu,
Genotyp - zespół chromosomów danego osobnika.
Czyli osobnikami mogą być genotypy lub pojedyncze
chromosomy, najczęściej genotyp składa się z jednego
chromosomu – osobnik haploidalny.
W każdej chwil mamy jakąś populację królików.
Niektóre z nich są szybsze i sprytniejsze od innych. Szybsze i
sprytniejsze króliki mają większą szansę umknięcia przed
lisem. Wobec tego więcej ich przeżywa, aby zrobić to, co
króliki robią najlepiej, a mianowicie nowe króliki.
Oczywiście,
y
niektóre z wolniejszych
j y ig
głupszych
p y królików też
przeżyją, bo mają szczęście. Ta ocalała populacja królików
wydaje potomstwo. Jest ono dobrą mieszaniną materiału
genetycznego.
Niektóre wolne króliki krzyżują się z szybkimi, niektóre szybkie
z szybkimi, nie które sprytne z głupimi itd. A do tego natura
dorzuca od czasu do czas „dziką kartę", wprowadzając
mutację do genetycznego materiału królików.
Urodzone w wyniku takiego procesu króliki będą (średnio)
szybsze i sprytniejsze niż te z początkowej
populacji, ponieważ szybsi i sprytniejsi rodzice umknęli przed
lisami.
NAZEWNICTWO
Fenotyp - to zestaw wartości odpowiadający
danemu genotypowi,
| Allel – wartość danego genu,
| Locus – pozycja wskazująca miejsce położenia
danego genu w chromosomie
chromosomie,
| Generacja – kolejna iteracja w AG,
| Pokolenie – nowa populacja (wynik generacji),
| Funkcja przystosowania – miara dostosowania
osobnika do populacji.
|
2
2010‐03‐11
NAZEWNICTWO KONTRA KRÓLICZKI
SCHEMAT KLASYCZNEGO AG
Króliczek – osobnik
Populacja króliczków – populacja
| Funkcja przystosowania – określenie czy szybki czy
wolny
| Selekcja
S l k j – słabe
ł b osobniki
b iki giną
i
| Krzyżowanie – tworzenie nowych, wydawanie
potomstwa
| Mutacja – dzika karta
|
|
|
ETAPY SGA
|
Kodowanie i Inicjalizacja – utworzenie populacji
początkowej przez losowy wybór ustalonej liczby
chromosomów w odpowiednim kodzie,
|
Ocena przystosowania – obliczenie funkcji
przystosowania, im większa wartość tym lepiej
przystosowany,
|
Simple Genetic Algorithm (SGA) by Holland
Start
Stop
Kodowanie
Inicjalizacja
Ocena
przystosowania
Czy
stop?
Reprodukcja
Operatory
genetyczne
Nowa populacja
Ocena
przystosowania
Sukcesja
KRYTERIUM STOPU
|
Otrzymano wartość żądaną lub z żądaną
dokładnością,
|
Założona z góry liczba iteracji lub czas,
|
Gdy kolejne iteracje nie wpływają na wyniki.
Reprodukcja – wybór chromosomów, które będą
brały udział w tworzeniu nowej
populacji, największe szanse mają te najlepiej
przystosowane.
3
2010‐03‐11
KODOWANIE W SGA
|
|
Kodowanie wpływa na sposób przeszukiwania
przestrzeni rozwiązań,
Sposób zakodowania w chromosomie informacji o
proponowanym
p
p
y rozwiązaniu
ą
wydatnie
y
wpływa
py
na
szybkość i jakość znajdowanych wyników,
KODOWANIE BINARNE
Polega na zastąpieniu zmiennej decyzyjnej zadania
poprzez jej reprezentację binarną:
Zakres
Z
k
zmienności
i
ś i [[a,b],
b]
Rozdzielczość (liczba genów),
| Sposób rozkładu zmiennych w przedziale.
|
|
|
Każde możliwe rozwiązanie optymalizowanego
problemu przedstawiamy w postaci chromosomu,
|
W SGA będzie to kodowanie binarne – ciągi zerojedynkowe zapisane na dowolnej liczbie bitów.
xp = a +
d *D
2n −1
D – długość przedziału (b-a)
n- liczba bitów
d – wartość dziesiętna z łańcucha binarnego
KODOWANIE BINARNE - PRZYKŁADY
KODOWANIE BINARNE - PRZYKŁADY
Zad. 1
Mamy funkcję F(x). Należy zakodować liniowo
zmienną decyzyjną tej funkcji w przedziale <0,31> na
5 bitach.
F(x)=x2-1, <60,150>, kodowanie liniowe na 5 bitach
Zad. 2
Mamy funkcję F(x). Należy zakodować liniowo
zmienną decyzyjną tej funkcji w przedziale <-5,7> na
5 bitach.
Plik .xls
przystosowanie względne=
f
∑f
*100 lub
f
∑f
4
2010‐03‐11
KODOWANIE - DOKŁADNOŚĆ
|
|
można założyć dokładność wartości dziesiętnych
otrzymywanych po przekształceniu z systemu
binarnego, jest ona zależna od dziedziny
zmienności x
INICJALIZACJA
|
Losowanie populacji początkowej zakodowanej w
wybrany sposób,
|
Dobór odpowiedniej liczby osobników:
| jeśli
j śli zbyt
b t mało
ł utkniemy
tk i
w minimach
i i
h llokalnych
k l
h
| jeśli zbyt dużo duży koszt działania programy
np. 6 miejsc po przecinku dla przedziału <-1,2>
obliczamy dl*106 = 3*1000000=3000000
2x<=3000000<2x+1
221=2097152<3000000<222=4194304
Odp. Rozdzielczość dla żądanej dokładności
wynosi 22
OCENA PRZYSTOSOWANIA
|
|
|
Ocena przystosowania polega na obliczeniu wartości
funkcji przystosowania dla każdego chromosomu. Im
większa wartość funkcji, tym lepszy chromosom.
W zadaniach optymalizacyjnych funkcją przystosowania
jest zwykle optymalizowana funkcja. W teorii sterowania
funkcją przystosowania może być funkcja błędu, w teorii
gier funkcja kosztu, etc.
Zakłada się, że problem optymalizacji jest problemem
poszukiwania maksimum funkcji i że funkcja
przystosowania jest funkcją przyjmującą wartości
nieujemne. Jeżeli pierwotna funkcja nie spełnia tych
założeń, trzeba ją poddać odpowiedniej transformacji.
TRANSFORMACJA FUNKCJI CELU
|
g(x)=f(x)+|Cmin|
|
g(x)=|Cmax|-f(x)
5
2010‐03‐11
REPRODUKCJA
METODA RULETKI
Zadaniem jest wybór osobników, które wezmą
udział w tworzeniu następnego pokolenia,
| Tak jak w naturalnej selekcji – im lepiej
przystosowany (większa wartość funkcji
przystosowania) tym większe szanse
szanse,
| Rodzaje:
| losowa – gdy wszyscy mają jednakowe
prawdopodobieństwo przejścia,
| proporcjonalna – gdy prawdopodobieństwo
przejścia zależy od wartości funkcji
przystosowania.
|
METODA RULETKI - IMPELMENTACJA
WADY REPRODUKCJI RULETKOWEJ
|
|
Dla każdego chromosomu obliczamy tzw.
dystrybuantę
Symulacja odpowiednio wykalibrowanej tarczy
obrotowej ruletki,
| Każdy chromosom ma swój odpowiednik na ruletce
– o wielkości takiej jak wartość funkcji
przystosowania tzn.
przystosowania,
tzn
f
f
ps =
*100 lub ps =
∑f
∑f
Proces selekcji oparty jest na n-krotnym
uruchomieniu ruletki (n-liczba osobników) i wyborze
za każdym razem jednego osobnika,
| Niektóre będą wybrane częściej, inne raz, jeszcze
inne wcale.
|
|
W bezpośredni sposób może być stosowana
jedynie do szukania maksimum funkcji,
|
Osobniki o zbyt małej funkcji przystosowania mogą
być zbyt szybko zostać usunięte co doprowadzi do
przedwczesnej zbieżności,
i
qi = ∑ ps j
j =1
|
L
Losujemy
j
liliczbę
b r z przedziału
d i ł <0,1>
0 1 llub
b <0,100>
0 100
|
Wybieramy chromosom i-ty dla którego
qi −1 < r ≤ qi
Skalowanie funkcji przystosowania
6
2010‐03‐11
SKALOWANIE FUNKCJI PRZYSTOSOWANIA CELE
SKALOWANIE FUNKCJI PRZYSTOSOWANIA
|
Zapewnienie odpowiedniego poziomu konkurencji
podczas wykonywania algorytmu,
| Zapobieganie przed dominowaniem w selekcji
niewielkiej liczby superosobników poprzez
„zmniejszenie” wartości funkcji celu –
zapobieganie
bi
i przedwczesnej
d
j zbieżności,
bi ż ś i
| W fazach późniejszych gdy skład populacji jest
bardziej jednorodny, poziom konkurencji między
osobnikami spada i mamy do czynienia z
błądzeniem algorytmu, wówczas należy
„powiększyć” wartości funkcji celu, aby uwydatnić
różnice pomiędzy członkami populacji –
zapobieganie błądzeniu.
Skalowanie liniowe
F’=aF+b
ƒ a,b – dobieramy tak aby średnia wartość funkcji F’
była równa średniej wartości F, a maksymalna
wartość F’
F była wielokrotnością średniej wartości
funkcji przystosowania
ƒ Współczynnik wielokrotności przyjmuje się często
pomiędzy 1.2 a 2
ƒ Należy uważać aby skalowanie nie doprowadziło
do powstania ujemnych wartości funkcji
przystosowania
SKALOWANIE FUNKCJI PRZYSTOSOWANIA
SKALOWANIE FUNKCJI PRZYSTOSOWANIA
Skalowanie liniowe zapewnia, że przeciętny
osobnik otrzymuje przeciętnego potomka, a
najlepszy tylu ile wynosi założona krotność,
| Skalowanie liniowe daje dobre rezultaty oprócz
przypadków pojawiania się ujemnej wartości funkcji
przystosowania, gdy nie może być
stosowane, najczęściej ta cecha pojawia się w
końcowych fazach działania algorytmu, gdy
większość ma wysoką wartość funkcji
przystosowania ale jest kilku osobników z mała
wartością.
|
|
|
Obcinanie typu sigma
F ' = F + (F − cσ )
F - średnia wartość funkcji przystosowania
c
σ
- mała liczba naturalna (1-5)
- odchylenie standardowe w populacji
Wszystkie wartości ujemne F’ zamienia się na 0.
7
2010‐03‐11
SKALOWANIE FUNKCJI PRZYSTOSOWANIA
|
Skalowanie potęgą
k – bliskie 1,
1 np.
np k=1.005
k 1 005
Może ulegać jednak zmianie w trakcie przebiegu i jest
zależny od problemu.
REPRODUKCJA RANKINGOWA
Istnieją różne funkcje pozwalające określić
prawdopodobieństwo wylosowania osobnika.
Dla liniowej metody rankingowej prawdopodobieństwo
przeżycia danego osobnika może zostać wyznaczone w
następujący sposób
r
rmax
)
gdzie parametry a i k dobiera się tak, by spełnione były
warunki:
∑p
s
Każdemu osobnikowi nadawana jest pewna
wartość zależna od jego położenia na liście
posortowanej względem funkcji
przystosowania, tzw. ranga (r),
| Cechy: zmniejsza przewagę najlepszych
rozwiązań, gdy jest zbyt duża i zwiększa przewagę
jeśli jest zbyt mała, może być stosowana do żądań
poszukiwania minimum i maksimum.
|
F’=Fk
ps = a + k (1 −
REPRODUKCJA RANKINGOWA
PORÓWNANIE RULETKA KONTRA RANKING
F(x)
Przystosowanie względne
Ruletka
Ranking (a=0.1,k=0.7)
1
1/21
4.76%
3
0.1
13
13/21
61.9%
1
0.566
56.6%
10%
7
7/21
33.3%
2
0.333
33.3%
W przypadku metody rankingowej wzrasta „szansa na przeżycie” osobnika o
najmniejszej wartości funkcji przystosowania.
=1 , 0 ≤ ps ≤ 1 .
8
2010‐03‐11
REPRODUKCJA TURNIEJOWA
NAPÓR SELEKTYWNY
|
Losowy wybór kilku osobników (grupa turniejowa),
grupa turniejowa jest k-elementowa, zwykle
2,3-osobowa,
| Wybieramy najlepszego osobnika z grupy na
podstawie
d t i funkcji
f k ji przystosowania
t
i i wstawiamy
t i
go d
do
nowej populacji,
| Powtarzamy czynność tyle razy ile osobników w całej
populacji,
| Wyróżniamy losowanie osobników ze zwracaniem i
bez zwracania.
|
NAPÓR SELEKTYWNY - RULETKA
NAPÓR SELEKTYWNY - RANKING
Intensywność nacisku selektywnego zmniejsza się
wraz z kolejnymi generacjami, gdyż coraz więcej
osobników potomnych uzyskuje zbliżone wartości
przystosowania, co utrudnia zbieżność takiego
algorytmu.
g y
| Z kolei na początku działania, przy dużym
zróżnicowaniu wartości przystosowania, należy
oczekiwać silnego nacisk selektywnego, mogącego
powodować tendencję do przedwczesnej
zbieżności.
|
|
Tendencję algorytmu do poprawiania średniej
wartości przystosowania populacji bazowej nazywa
się naciskiem (naporem) selektywnym;
| Algorytm ma tym większy nacisk selektywny, im
większa jest wartość oczekiwana liczby kopii
lepszego osobnika w porównaniu z wartością
oczekiwaną liczby kopii gorszego osobnika;
Napór selektywny określają parametry a i k ze
wzoru na prawdopodobieństwo przeżycia danego
osobnika,
| W porównaniu z innymi metodami, selekcja
rangowa stwarza dużą szansę na przetrwanie
osobników o małej, w stosunku do najlepszych
osobników, wartości funkcji przystosowania.
| Istotnym jest, aby w procesie selekcji zachować
różnorodność osobników populacji. Metoda ta nie
napotyka na konieczność skalowania w związku z
problemem przedwczesnej zbieżności, co może
wystąpić przy stosowaniu metody ruletki.
9
2010‐03‐11
NAPÓR SELEKTYWNY - TURNIEJ
WYKŁAD PRZYGOTOWANO NA PODSTAWIE
Parametrem sterującym intensywnością nacisku
selektywnego jest liczność turnieju q. Im liczba ta
jest większa, tym większy jest napór selekcyjny
metody.
| Warianty bez zwracania i ze zwracaniem dają różny
nacisk selektywny:
| drugi z nich jest mniej restrykcyjny, gdyż
pozwala na reprodukcję dowolnego osobnika z
niezerowym prawdopodobieństwem,
| z kolei w pierwszym, q-1 najgorszych osobników
nie będzie w ogóle reprodukować.
|
|
J. Arabas „Wykłady z algorytmów
ewolucyjnych”, WNT, 2001.
| Z. Michalewicz „Algorytmy genetyczne + struktury
danych = programy ewolucyjne”, WNT, 1992.
| D.
D E
E. Goldberg „ Algorytmy genetyczne i ich
zastosowania”, WNT, 1998.
10