Lukasz_Krok_Tobiasz_..

Transkrypt

Lukasz_Krok_Tobiasz_..
Łukasz Krok
Tobiasz Siemiński
230 349
230 370
18 kwietnia 2012 r.
Laboratorium Podstaw Sztucznej Inteligencji
- Sprawozdanie z wykonania ćwiczenia 7-8
18 kwietnia 2012 r.
Łukasz Krok
Tobiasz Siemiński
230349
230370
Funkcja testowa:
Sposoby skalowania: liniowe, logarytmiczne
Sposoby selekcji: wybór losowy z powtórzeniami, wybór deterministyczny
1
Łukasz Krok
Tobiasz Siemiński
230 349
230 370
18 kwietnia 2012 r.
1. Wstęp
Naszym zadaniem w ćwiczeniu była symulacja algorytmu ewolucyjnego przy użyciu arkusza
kalkulacyjnego.
Funkcja celu która była przez nas symulowana to :
Zakres zmienności argumentów funkcji:
Dla potrzeb ćwiczenia wyznaczyliśmy 40 osobników, przeskalowując posiadane przez nas
losowe liczby z przedziału
na zakresy odpowiednie dla każdego z argumentów.
Następnie, na każdym osobniku zastosowaliśmy najpierw skalowanie liniowe, a w drugim
przypadku skalowanie logarytmiczne.
Dla każdego przypadku stosowaliśmy zarówno selekcję przy pomocy wyboru losowego z
powtórzeniami i wyboru losowego wg reszt z powtórzeniami. Sprawdziliśmy też sytuacje
gdzie nie zostało wykonane wcześniejsze skalowanie.
2. Przebieg ćwiczenia
2.1.
Wyznaczenie wartości funkcji przystosowania
Funkcja przystosowania musi być dodatnio określona, nie przyjmować wartości równej 0.
Aby spełnić powyższe założenie zdecydowaliśmy się przesunąć wartości funkcji celu o 700.
Otrzymane wartości przedstawia wykres:
900
800
700
600
500
400
300
200
100
0
1 2 3 4 5 6 7 8 9 10111213141516171819202122232425262728293031323334353637383940
2
Łukasz Krok
Tobiasz Siemiński
2.2.
230 349
230 370
18 kwietnia 2012 r.
Skalowanie funkcji przystosowania
2.2.1. Skalowanie liniowe
Skalowanie liniowe odbywa się wg. wzoru
,
gdzie:
jest wartością funkcji przystosowania,
jest jej przeskalowaną wartością,
a i b są stałymi dobranymi tak, aby średnia wartość funkcji przystosowania była równa
średniej wartości przed skalowaniem, natomiast wartość maksymalna po skalowaniu była
kilkakrotnie większa od wartości średniej i aby funkcja
nie przyjmowała wartości
ujemnych.
Wyznaczając współczynniki
przyjęliśmy 1.5
oraz , za
Uzyskane przez nas współczynniki:
Wykres wartości funkcji po skalowaniu liniowym:
Skalowanie liniowe
800
700
600
500
400
300
200
100
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 1819 2021 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
3
Łukasz Krok
Tobiasz Siemiński
230 349
230 370
18 kwietnia 2012 r.
2.2.2. Skalowanie logarytmiczne
Skalowanie logarytmiczne polega na wykonaniu następującego przekształcenia:
(
Parametr
)
(
(
))
musi być większy od dowolnej wartości
(
Największy logarytm dla każdego z osobników wyniósł:
przyjęliśmy na poziomie:
(
)).
,
zatem współczynnik
Następnie przystąpiliśmy do skalowania. Wykres przedstawia otrzymane wartości funkcji:
Skalowanie logarytmiczne
1,8
1,6
1,4
1,2
1
0,8
0,6
0,4
0,2
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Jak można zauważyć, szczególnie dla osobnika 12go w tej metodzie im mniejsza wartość
przystosowania pierwotnego osobnika, tym większa jest wartość jego przystosowania po
skalowaniu.
4
Łukasz Krok
Tobiasz Siemiński
2.3.
230 349
230 370
18 kwietnia 2012 r.
Wykorzystanie metod selekcji
Przy wykorzystaniu metody selekcji decydujemy, które osobniki zostaną wzięte do
następnego pokolenia algorytmu.
Dobór odpowiedniej metody selekcji ma istotny wpływ na funkcjonowanie algorytmu
ewolucyjnego.
W każdej z metod selekcji należy najpierw wykonać kilka czynności wstępnych (wspólnych
dla metod), a następnie przeprowadzić obliczenia dla nich charakterystyczne.
Do czynności wstępnych należą:
1.
2.
3.
4.
5.
6.
Wyznaczyć wartość funkcji przystosowania dla każdego osobnika w populacji
Obliczyć przystosowanie całej populacji osobników
Obliczyć prawdopodobieństwo wyboru każdego osobnika w populacji
Wyznaczyć oczekiwaną liczbę kopii każdego osobnika w populacji
Obliczyć część całkowitą oczekiwanej liczby kopii
Obliczyć część ułamkową oczekiwanej liczby kopii
5
Łukasz Krok
Tobiasz Siemiński
230 349
230 370
18 kwietnia 2012 r.
2.3.1. Selekcja metodą: Wybór losowy z powtórzeniami
Ze względu na podobieństwo metoda ta często nazywana jest metodą koła rulety.
Wybór przeprowadziliśmy zarówno dla wartości funkcji przed skalowaniem jak i dla obu funkcji skalowania. Poniższy wykres pozwala
porównać liczbę osobników wziętych do kolejnego pokolenia przy użyciu wyboru losowego z powtórzeniami w zależności od stosowanej
metody skalowania:
Wybór losowy z powtórzeniami
6
5
4
3
2
1
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Bez skalowania
Skalowanie liniowe
6
Skalowanie logarytmiczne
Łukasz Krok
Tobiasz Siemiński
230 349
230 370
18 kwietnia 2012 r.
2.3.2. Selekcja metodą: Wybór losowy wg reszt z powtórzeniami
W metodzie wyboru wg reszt z powtórzeniami najpierw wykonaliśmy wszystkie 6 z opisanych powyżej czynności wstępnych.
Następnie każdemu osobnikowi w populacji przypisaliśmy tyle kopii do następnego pokolenia ile wynosi część całkowita odpowiadającej mu
liczby
, gdzie oznacza ilość osobników w populacji, a
, prawdopodobieństwo jego wyboru.
Brakującą liczbę osobników wyłoniliśmy metodą ruletki (wybór losowy z powtórzeniami), biorąc pod uwagę części niecałkowite pozostałe z
liczby , wg których uprzednio posortowaliśmy osobników malejąco.
Powyższe czynności przeprowadziliśmy dla każdej z metod skalowania (bez skalowania + 2 metody). Rezultaty obliczeń prezentuje wykres:
Wybór losowy wg reszt z powtórzeniami
9
8
7
6
5
4
3
2
1
0
1
2
3
4
5
6
7
8
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Bez skalowania
Skalowanie liniowe
7
Skalowanie logarytmiczne
Łukasz Krok
Tobiasz Siemiński
230 349
230 370
18 kwietnia 2012 r.
3. Wnioski
Zarówno skalowanie liniowe jak i logarytmiczne znacząco poprawiły jakość danych, jednak
w obu metodach da się zauważyć wyraźne odstępstwo osobnika 12 od pozostałych.
Warto zapamiętać, że w przypadku skalowania logarytmicznego im mniejsza wartość
przystosowania pierwotnego osobnika, tym większa jest wartość jego przystosowania po
skalowaniu.
Porównując selekcje: metodą wyboru losowego z powtórzeniami i metodą wyboru losowego
wg reszt z powtórzeniami, mniej zróżnicowane wyniki wydaje się dawać ta druga, gdyby nie
osobnik 12., który zdecydowanie częściej zostaje wybrany.
Metoda wyboru losowego z powtórzeniami okazała się pominąć większą liczbę osobników
niż metoda wyboru losowego wg reszt z powtórzeniami..
Warto w tym momencie zauważyć, że pierwsza z metod selekcji jest zdecydowanie mniej
zaawansowana i mniej czasochłonna niż metoda druga.
8