www.eprace.edu.pl » algorytmy-genetyczne » Wstęp » Wprowadzenie do Algorytmów Ewolucyjnych

Wprowadzenie do Algorytmów Ewolucyjnych

Przez algorytmy ewolucyjne rozumiemy wszelkie programy czerpiące inspirację z zasad ewolucji i dziedziczności. Jest to rozległa dziedzina, w której można wyróżnić wiele obszarów. W środowisku naukowców nie ma jednak zgodności co do nazewnictwa poszczególnych poddziedzin. Wynika to z faktu, iż granice między nimi są płynne.

Najbardziej rozpowszechnioną poddziedziną są Algorytmy Genetyczne (Genetic Algorithms), rozwinięte przez Johna Hollanda [17], opierające się na ewolucji zbioru rozwiązań. Niniejsza praca będzie dotyczyła właśnie tej poddziedziny. Istnieją także Strategie Ewolucyjne (Schwefel) oraz Programowanie Ewolucyjne (Fogl). Ciekawą metodą, zyskującą ostatnio na popularności wraz ze zwiększaniem mocy obliczeniowych komputerów, jest tzw. Programowanie Genetyczne (Genetic Programming) [23]. Służy ono do automatycznego tworzenia kodu komputerowego. Innym obszarem jest Uczenie Maszynowe bazujce na metodach genetycznych (Genetic-Based Machine Learning).

Ilość różnych wariantów, nowych pomysłów i parametrów czyni Algorytmy Ewolucyjne skomplikowanym, lecz potężnym narzędziem znajdującym zastosowanie w wielu dziedzinach inżynierskich: w przemyśle samochodowym [46], technologiach kosmicznych [49] [21] [45], akustyce [33] [38], elektronice [7], ekonometrii [27], inżynierii materiałowej [12], biologii molekularnej [24], robotyce [1], inżynierii wojskowej [22] i innych [28]. Użycie algorytmów ewolucyjnych często przyczynia się do uzyskania olbrzymich oszczędności czasowych i finansowych [18], [3]. Powodem, dla którego te metody cieszą się dużą popularnością w zaawansowanych technologiach, jest odmienna niż w tradycyjnych metodach optymalizacji zasada działania - nie jest konieczna wiedza na temat zawiłych współzależności występujących między elementami rozwiązania. Wystarczy znajomość wpływu poszczególnych składowych rozwiązania (genów) na jakość rozwiązania (fenotyp). Dlatego istnieje możliwość efektywnego stosowania algorytmów ewolucyjnych do rozwiązywania NP-trudnych zagadnień o dużej liczbie ograniczeń. Algorytmy genetyczne także dobrze sobie radzą z zaburzonymi danymi wejściowymi. Fitzpatrick, Greffenstette oraz Van Gucht w swojej pracy na temat obróbki medycznych obrazów rentgenowskich za pomocą algorytmów genetycznych [10] napisali:

(...) Badania te wydają się wskazywać, że algorytmy genentyczne w pewnym sensie "wolą' korzystać z niedokładnych i zakłóconych wartości funkcji przystosowania, jeśli tylko w zamian mogą dokonywać eksploracji (nawet przybliżonej) większej liczby punktów przestrzeni rozwiązań.

Szerokie spektrum możliwości zmusza jednak użytkownika do wyboru odpowiedniego narzędzia oraz dobrania do niego parametrów. Będą one zależały od rodzaju i złożoności zagadnienia, reprezentacji rozwiązania oraz narzuconych ograniczeń.



komentarze

Copyright © 2008-2010 EPrace oraz autorzy prac.