WYŻSZA SZKOŁA TECHNOLOGII INFORMATYCZNYCH
Warszawa
Laboratorium sztucznej inteligencji
SPRAWOZDANIE
Zadanie nr 10
Studia zaoczne, grupa IZ-7/VI
Marcin Matusik 1789
Daniel Wójcik 1751
Termin oddania: 30.05.2010
Zadanie 10
Znaleźć, wykorzystując algorytm genetyczny, wartość maksymalną funkcji dwóch zmiennych
f(x,y)=g(x)+h(y)
gdzie
g(x)=sin(x*ex) h(y)=cos(π*e2*y)
Rozwiązaniem będzie punkt (x0, y0 ), dla którego funkcja f(x,y) osiąga globalne ekstremum.
Rozwiązania poszukiwać w przedziałach x∈[2.500, 2.600] y∈[2.500, 2.600]
z dokładnością 0,001.
Chromosom zbudować według schematu
(ustawiając wartość y za wartością x)
gdzie: A - jest binarną reprezentacją wartości x,
B - jest binarną reprezentacją wartości y.
Reprezentacje binarne zbudować w sposób w opisany w zadaniu przykładowym.
Przygotować sprawozdanie, prezentujące osiągnięte wyniki. Wykresy sporządzić korzystając z Excela. Do sprawozdania dołączyć kod źródłowy programu.
Rozwiązanie
Dane wejściowe są reprezentowane w postaci tablicy chromosomów. Jeden chromosom składa się z dwóch elementów: bity od 1 do 10 reprezentują zmienną x, bity od 11do 20 reprezentują zmienną y. Ponieważ na każdą ze zmiennych przypada 10 bitów to mogą one reprezentować 512 punkty kontrolne.
Pozostałe parametry sterujące programem:
● Liczba pokoleń w eksperymencie - LP
● Prawdopodobieństwo mutacji - PM
● Prawdopodobieństwo krzyżowania - P_KRZYZ
● Ilość osobników w danej populacji - PULA.
W badaniach zostały wykorzystane trzy sposoby selekcji najlepszych chromosomów: selekcja
za pomocą koła ruletki, selekcja turniejowa, selekcja elitarna. Program generuje wyniki po
przeliczeniu określonej liczby pokoleń.
Program badań.
W celu zbadania działania algorytmu genetycznego badanie zostało przeprowadzone dla
następujących parametrów programu.
1. Selekcja za pomocą koła ruletki
a) LP = 400, PM = 0.1, P_KRZYZ = 0.75, PULA = 10
A B