13.04.2014 Views

Politechnika Poznańska Zastosowanie algorytmów genetycznych do ...

Politechnika Poznańska Zastosowanie algorytmów genetycznych do ...

Politechnika Poznańska Zastosowanie algorytmów genetycznych do ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

manipulowanie wartościami poszczególnych genów przy użyciu standar<strong>do</strong>wych<br />

operacji na bitach. Wektor taki reprezentuje jedno z potencjalnych rozwiązań<br />

w przestrzeni przeszukiwania, a więc koduje po jednej wartości każdej ze<br />

zmiennych decyzyjnych.<br />

Przykła<strong>do</strong>wo, dla k zmiennych decyzyjnych x i , z których każda należy <strong>do</strong><br />

z góry założonej dziedziny D i = [a i , b i ] można określić liczbę N genów (bitów)<br />

potrzebnych <strong>do</strong> zako<strong>do</strong>wania wszystkich możliwych wartości x i z żądaną<br />

<strong>do</strong>kładnością p i . Aby zako<strong>do</strong>wać wszystkie wartości zmiennych należy podzielić<br />

każdą z dziedzin D i na (b i − a i ) ⋅ 10 p i przedziałów, wówczas istnieje taka,<br />

możliwie najmniejsza, liczba m i , która dla każdego przedziału D i spełnia warunek:<br />

(b i − a i ) ⋅ 10 p i ≤ 2 m i − 1. (2.7)<br />

Z powyższego wynika, że <strong>do</strong> zako<strong>do</strong>wania wszystkich zmiennych w postaci<br />

k<br />

jednego chromosomu potrzeba N = ∑i=1 m i bitów, a więc taka też będzie liczba<br />

genów w chromosomie.<br />

2.2.3 Populacja<br />

Populacja początkowa, czyli zbiór rozwiązań będący podstawowym<br />

elementem niezbędnym <strong>do</strong> rozpoczęcia działania algorytmu, może być tworzona<br />

w sposób losowy lub deterministyczny. Oba te podejścia są stosowane w praktyce,<br />

zaś wybór jednego z nich uzależniony jest od konkretnego problemu oraz<br />

<strong>do</strong>stępnych danych.<br />

W przypadku, kiedy stosowana jest metoda losowa, wówczas osobniki<br />

należące <strong>do</strong> populacji początkowej (czyli wszystkie składniki wektora<br />

rozwiązania) wyznaczane są w oparciu o wartość zmiennej losowej (zwykle<br />

o rozkładzie równomiernym). W tym przypadku wykorzystuje się najczęściej<br />

generatory liczb losowych zaimplementowane w danym kompilatorze wybranego<br />

języka programowania. Ze względu na wiarygodność rozkładu zmiennej losowej<br />

korzystniejsze jest jednak wykorzystanie generatorów z ustandaryzowanych<br />

bibliotek o zadanym rozkładzie.<br />

Tworzenie populacji początkowej w sposób deterministyczny może być<br />

prowadzone na różne sposoby, jednak najczęściej jest ona podawana wprost przez<br />

22

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!