Algorytm ewolucyjny
Algorytm ewolucyjny |
---|
Polecane artykuły |
Algorytm ewolucyjny zgodnie z definicją naukową polega na próbie wykorzystywania mechanizmów selekcji, reprodukcji i mutacji procesów ewolucyjnych w celu rozwiązywania problemów optymalizacyjnych [1], a więc jest to technika polegająca na przepatrywaniu przestrzeni rozwiązań[2].
Wady i zalety zastosowania algorytmów ewolucyjnych Zalety jakie można wymienić to przede wszystkim to, że algorytm ewolucyjny jest rodzajem techniki o dużych możliwościach wykorzystania, charakteryzuje się dużą wiarygodnością oraz elastycznością w projektowaniu, nie są wymagane wstępne informacje o danym problemie. Algorytmy te są dobrze dostosowane do wyszukiwania wielowymiarowej, złożonej przestrzeni rozwiązań [3].
Algorytmy ewolucyjne posiadają również wady m.in. nie dają zdecydowanej pewności uzyskania optimum w danym czasie, ponadto nie jest łatwe zdefiniowanie właściwych wartości parametrów. Algorytmy ewolucyjne charakteryzują się również czasochłonnością obliczeń [4] .
Najpopularniejszymi technikami wymienianymi w literaturze są:
- algorytm genetyczny
- programowanie genetyczne
- programowanie ewolucyjne
- strategie ewolucyjne [5]
Algorytm genetyczny
Algorytm genetyczny jest jednym z częściej wykorzystywanych sposobów w celu rozwiązywania problemów optymalizacyjnych [6]. Twórcą tej techniki był John Henry Holland. Działanie tego algorytmy przypomina proces ewolucji biologicznej, gdyż pomysłodawca opierał się na wykorzystywaniu dziedziny nauki jaka jest biologia [7] . Jest to proces przekazywania kolejnym pokoleniom informacji genetycznej. Rozwiązywanie problemów optymalizacyjnych w tym przypadku opiera się na przeistaczaniu pierwotnej populacji osobników, aby dążyć do uzyskania kolejnej populacji, która będzie się rozwijać w kierunku jak najlepszego przystosowania (coraz bliżej optimum) [8] . Ogólnie rzecz ujmując algorytm genetyczny jest procedurą skapującą się na poprawianiu i nieustannym doskonaleniu najlepszych rozwiązań określonego zagadnienia, realizowane przez zbiór genetycznych operatorów.
Programowanie genetyczne
Po raz pierwszy zostało zaprezentowane przez Nichaela L. Cramera, później rozwijał je John Koz. Programowanie to jest rodzajem metody przetwarzania ewolucyjnego. W literaturze opisywana jako sposób zapisu i rozstrzygania zadań optymalnych oraz zadań adaptacyjnych z użyciem mechanizmów ewolucyjnych [9]. Programowanie genetyczne opiera się na używaniu zasad genetyki orz darwinowskiej selekcji naturalnej do pisania programów komputerowych[10].
Programowanie ewolucyjne i strategie ewolucyjne
Programowanie ewolucyjne zostało opracowane przez Lawrence Fogel, zgodnie z definicją naukową każda jednostka rodzicielska generuje potomstwo w drodze mutacji. Jest to rodzaj programowania wykorzystującym jedynie mechanizmy mutacji i selekcji[11].
Strategie ewolucyjne, ich opracowaniem zajmowali się INGO Rechenberg i Hans-Poul Schwefel, strategie te opierają się na działaniu krzyżowania i mutacji, pojawia się mechanizm auto-adaptacji, który powoduje dostosowanie parametrów operatorów ewolucyjnych, dążąc do stanu pożądanego .
Bibliografia
- Figielska E. (2006) Algorytmy ewolucyjne i ich zastosowania Zeszyty naukowe 81-92, Warszawska Wyższa Szkoła Informatyki, Warszawa
- Gawenda T., Niedoba T., Przybycień K., Tumidajski T. (2009) „Zastosowanie algorytmów genetycznych do modelowania procesów przeróbki surowców mineralnych” Wydział Górnictwa i Geoinżynierii, Akademia Górniczo-Hutnicza, Kraków
- Kotowski S. (2008) Analiza algorytmów genetycznych jako układów dynamicznych Instytut Podstawowych Problemów Techniki Polskiej Akademii Nauk, Warszawa
- Lewczuk K. (2014) Programowanie genetyczne w zastosowani udo harmonogramowania procesu magazynowego Wydział Transportu Polityki Warszawskiej, Warszawa
- Sieja M., Wach. K (2008) "Implementacja algorytmów ewolucyjnych w gospodarce opartej na wiedzy" Politechnika Krakowska, Kraków
- Świderski K. (2009) Wykorzystanie algorytmu genetycznego w procesie optymalizacji masowej rakiety trójstopniowej Praca naukowa nr 198, Instytut lotnictwa, Warszawa
- Woźniak M. (2006) Przegląd algorytmów ewolucyjnych i ich zastosowanie Oficyna Wydawnicza, Kraków
Przypisy
- ↑ Figielska E. (2006) Algorytmy ewolucyjne i ich zastosowania, Zeszyty naukowe nr 81-92 Str. 81
- ↑ Woźniak M. (2006) Przegląd algorytmów ewolucyjnych i ich zastosowanie Oficyna Wydawnicza, Str. 10
- ↑ Sieja M., Wach K. (2008)„Implementacja algorytmów ewolucyjnych w gospodarce opartej na wiedzy” Politechnika Krakowska, Kraków, Str.85
- ↑ Sieja M., Wach K. (2008)„Implementacja algorytmów ewolucyjnych w gospodarce opartej na wiedzy” Politechnika Krakowska, Kraków, Str.85
- ↑ Woźniak M. (2006) Przegląd algorytmów ewolucyjnych i ich zastosowanie Oficyna Wydawnicza, Str. 10
- ↑ Kotowski S.(2018). Analiza algorytmów genetycznych jako układów dynamicznych Instytut Podstawowych Problemów Techniki Polskiej Akademii Nauk, Str. 9
- ↑ Świderski K. (2009) Wykorzystanie algorytmu genetycznego w procesie optymalizacji masowej rakiety trójstopniowej Prace instytutu lotnictwa nr 198, Str. 58
- ↑ Gawenda T. Niedoba T., Przybycień K., Tumidajski T. (2009) „Zastosowanie algorytmów genetycznych do modelowania procesów przeróbki surowców mineralnych” Wydział Górnictwa i Geoinżynierii, Akademia Górniczo-Hutnicza, Str. 103
- ↑ Lewczuk K. (2014) Programowanie genetyczne w zastosowani udo harmonogramowania procesu magazynowego Wydział Transportu Polityki Warszawskiej, Str. 2088
- ↑ Figielska E. (2006) Algorytmy ewolucyjne i ich zastosowania Zeszyty naukowe nr 81-92, Str. 89
- ↑ Figielska E. (2006) [http://zeszyty-naukowe.wwsi.edu.pl/zeszyty/zeszyt1/Algorytmy_Ewolucyjne_I_Ich_Zastosowania.pdf Algorytmy ewolucyjne i ich zastosowania] Zeszyty naukowe nr 81-92, Str. 89
Autor: Krzysztof Jamski