• Nie Znaleziono Wyników

Algorytmy genetyczne

W dokumencie Index of /rozprawy2/11256 (Stron 62-66)

6. Podstawy teorii i struktury wybranych regulatorów rozmytych

6.5. Podstawy teoretyczne strojenia regulatora rozmytego

6.5.1. Algorytmy genetyczne

Strategie ewolucyjne są algorytmami, które naśladują zasady ewolucji naturalnej oraz dziedziczności w metodach rozwiązywania zadań optymalizacji parametrycznej [92]. Algorytmy genetyczne łączą w sobie zdolność do przeżycia najlepiej przystosowanych osobników, z systematyczną, ale losową wymianą informacji, tworząc metodę poszukiwania przypisaną pomysłowości właściwej umysłowi ludzkiemu. Pomimo elementu losowości, algorytmy genetyczne nie sprowadzają się do zwykłego błądzenia przypadkowego [52].

W 1990 roku Koza zaproponował system oparty na zasadach ewolucji, zwany programowaniem genetycznym, w którym program komputerowy poszukuje najlepiej dopasowanego rozwiązania do danego zadania [92].

Na wstępie warto podać kilka zwięzłych definicji nazw, które można spotkać w teorii i praktyce stosowania algorytmów genetycznych [92]:

6. Podstawy teorii i struktury wybranych regulatorów rozmytych 63 Populacja – zbiór osobników o określonej liczebności, żyjących w danym środowisku

i oddziałujących między sobą,

Gen – znak, pojedynczy element chromosomu, Genotyp – zespół chromosomów danego osobnika,

Chromosom – ciąg (łańcuch) genów zakodowany najczęściej w sposób binarny, Osobnik – pojedynczy organizmem, zakodowany w postaci chromosomu, zbiór

określonych parametrów danego zadania,

Selekcja – mechanizm powodujący wybór (selekcję) danych osobników z populacji, Pokolenie – nowo powstała populacja osobników

Algorytm genetyczny, jest algorytmem probabilistycznym, różniącym się znacząco od algorytmu czysto losowego, gdyż łączy elementy przeszukiwania bezpośredniego i stochastycznego. Polega on na generowaniu populacji osobników P(t) = { } w każdej iteracji t. Każdy osobnik przedstawia możliwe rozwiązanie rozpatrywanego zadania i w programie ewolucyjnym, realizującym ten algorytm, jest reprezentowany przez strukturę danych S. Każde rozwiązanie ocenia się na podstawie pewnej miary jego dopasowania. Tak więc nową populację (w iteracji t + 1) tworzy się przez selekcję osobników najlepiej dopasowanych. Pewne osobniki nowej populacji podlegają dodatkowo transformacji za pomocą operatorów genetycznych, dając w ten sposób nowe rozwiązanie [92].

Jak podaje Michalewicz [92]: „Algorytmy genetyczne były z powodzeniem stosowane w zadaniach optymalizacji, takich jak wytyczanie trasy połączeń kablowych, harmonogramowanie, sterowanie adaptacyjne, rozgrywanie gier, modelowanie poznawcze, zadania transportowe, zadanie komiwojażera, sterowanie optymalne, optymalizacja obsługi pytań w bazach danych…”.

Algorytm genetyczny wykonuje wielokierunkowe przeszukiwanie przez przekształcanie populacji potencjalnych rozwiązań, prowadzi do zbierania informacji genetycznej i jej wymiany między tymi kierunkami. Populacja podlega symulowanej ewolucji. Każde następne pokolenia, posiadające dobre rozwiązania podlega „rozmnażaniu”, a rozwiązania złe wymierają. Do rozróżnienia rozwiązania używa się funkcji celu (oceny), która naśladuje rolę środowiska [92].

Prosty algorytm genetyczny posiada taką samą strukturę, jak dowolny program ewolucyjny. W iteracji t algorytm genetyczny zachowuje populacje potencjalnych rozwiązań (chromosomów, wektorów) P(t) = { }. Każde rozwiązanie ocenia się pod kątem dopasowania, a następnie iteracja t + 1 generuje nową populację poprzez wybór osobników

najlepiej dopasowanych. Część osobników tej populacji może podlegać zmianom przez krzyżowanie i mutację [92].

Krzyżowanie prowadzi do połączenia dwóch cech chromosomów pochodzących od rodziców w dwa chromosomy potomków, przez wymianę odcinków chromosomów rodzicielskich. Przykład takiego krzyżowania przedstawia rysunek 6.16.

Rys. 6.16. Ilustracja jednopunktowego krzyżowania chromosomów [159]

Rysunek 6.16 przedstawia przykładowe jednopunktowe krzyżowanie chromosomów. Operacja krzyżowania polega na losowym wybraniu miejsca przecięcia (punkt krzyżowania) chromosomów rodziców i zamianie odciętej części. W wyniku takiego działania powstają dwa nowe chromosomy (dzieci), które mają po części genów pochodzących od rodziców. Po wykonaniu krzyżowania dzieci zastępują w populacji rodziców.

Może także wystąpić krzyżowanie wielopunktowe, co przedstawia rysunek 6.17.

6. Podstawy teorii i struktury wybranych regulatorów rozmytych 65 Krzyżowanie może nastąpić nie w jednym, a w kilku miejscach (krzyżowanie wielopunktowe). Liczba krzyżowań jest określana przez współczynnik krzyżowania (od 0 do 1), który mówi, jaka liczba osobników powinna być w jednej iteracji skrzyżowana lub określa prawdopodobieństwo, z jakim każde z rozwiązań może wziąć udział w procesie krzyżowania. Rysunek 6.17 przedstawia wielopunktowe krzyżowanie chromosomów, ponieważ ciecie zostało wykonane w dwóch miejscach, ale ilość cięć może być znacznie większa.

Mutacja polega na losowej zmianie jednego lub kilku genów wybranego chromosomu (przypadkowa zmiana ciągu kodowego), z prawdopodobieństwem równym częstości mutacji i jest wykonywana najczęściej po krzyżowaniu. Prawdopodobieństwo mutacji jest bardzo małe. Operator mutacji można interpretować jako wprowadzenie pewnej dodatkowej zmienności w populacji [92]. W algorytmach genetycznych mutacja odgrywa drugorzędną rolę (na pierwszoplanowym miejscu jest krzyżowanie).

Rys. 6.18. Przykład mutacji jednoelementowej[159]

W klasycznym algorytmie genetycznym, który jest zakodowany binarnie (zero jedynkowo), mutacja polega na zmianie znaku binarnego (rodzica) na przeciwny (rys. 6.18), i w wyniku czego powstaje nowy osobnik (potomek).

Inaczej jest w przypadku, kiedy chromoson jest zakodowany w postaci liczby całkowitej lub liczby rzeczywistej, wówczas proces mutacji jest o wiele trudniejszy. Dla liczb całkowitych stosuje się permutacje, natomiast dla rzeczywistych wprowadza się losowe zmiany o danym rozkładzie. Wykorzystuje się wtedy różne metody operacji mutacji jak mutacja: równomierna, nierównomierna, brzegowa.

Mutacja jest niezbędna, ponieważ reprodukcja i krzyżowanie, które skutecznie sondują i zestawiają zachowane poglądy, mogą czasem wykazać brak umiaru i wykluczyć potencjalnie dobrze rokujący materiał genetyczny. W algorytmach genetycznych mutacja zapobiega takim działaniom [52, 110].

Reprodukcja (rozmnażanie) polega na kopiowaniu wybranych osobników z populacji bazowej do populacji tymczasowej, która zostanie powiększona o liczbę nowych i lepiej przystosowanych osobników. Największą szansę na reprodukcję mają osobniki o większej wartości funkcji przystosowania.

Selekcja, jest to wybór najlepiej przystosowanych osobników (rodziców) przeznaczonych do krzyżowania i mutacji. Spośród wielu technik przeprowadzania selekcji, najczęściej metodą jest tzw. metoda koła ruletki. Największe prawdopodobieństwo wylosowania maja osobniki o największej wartości funkcji przystosowania.

Autor [92] proponuje wiele modyfikacji, najczęściej stosowanych operacji krzyżowania i mutacji oraz nowych operacji. Nie jest to zakresem tej pracy, a zainteresowanego czytelnika odsyłam do literatury [52, 92].

Algorytm genetyczny (każdy program ewolucyjny) dla każdego dowolnego zadania musi posiadać następujące elementy [92].

 podstawową reprezentację potencjalnych rozwiązań zadania,

 sposób tworzenia początkowej populacji potencjalnych rozwiązań,

 funkcje oceniającą, która naśladuje rolę środowiska i ocenia rozwiązania według ich dopasowania,

 podstawowe operatory, które wpływają na skład populacji dzieci,

 wartości różnych parametrów używanych w algorytmie genetycznym, czyli rozmiar populacji, prawdopodobieństwa użycia operatorów genetycznych.

Uogólniony schemat działania algorytmu genetycznego, który może posłużyć do optymalizacji (minimalizacji lub maksymalizacji) zdefiniowanej funkcji celu pokazano na rysunku 6.19.

Kluczowym zagadnieniem w stosowaniu algorytmów genetycznych jest określenie właściwego momentu zakończenia jego działania. Należy zwrócić uwagę, że algorytm genetyczny jest procesem losowym i nie można zagwarantować osiągnięcia wyniku w skończonej liczbie generacji, a przez to w ściśle określonym, rozsądnie krótkim, czasie.

W dokumencie Index of /rozprawy2/11256 (Stron 62-66)