Słownik AI

Obliczenia ewolucyjne – ang. Evolutionary Computation, EC

Obliczenia ewolucyjne – definicja i zastosowania

Czym jest Obliczenia ewolucyjne (Evolutionary Computation)?

Obliczenia ewolucyjne to rodzina metod obliczeniowych inspirowanych procesami dziedziczenia, selekcji naturalnej i zmienności występującej w biologii. Algorytmy tego typu operują na całych populacjach potencjalnych rozwiązań, które z pokolenia na pokolenie ulegają modyfikacjom i są poddawane ocenie według przyjętej funkcji jakości. Koncepcja wywodzi się z prac prowadzonych w latach sześćdziesiątych XX w. równolegle na kilku kontynentach. Ingo Rechenberg i Hans-Paul Schwefel rozwijali strategie ewolucyjne w Berlinie, Lawrence J. Fogel zaproponował evolutionary programming w Stanach Zjednoczonych, a John Holland wprowadził termin genetic algorithm na Uniwersytecie Michigan. Wspólnym mianownikiem był pomysł, aby trudne zagadnienia optymalizacyjne rozwiązywać poprzez symulację darwinowskiej konkurencji między kandydatami.

Jak dokładnie działa Obliczenia ewolucyjne (Evolutionary Computation)

Proces zaczyna się od losowego lub heurystycznego wygenerowania populacji osobników, z których każdy koduje potencjalne rozwiązanie problemu – na przykład ciąg liczb reprezentujący parametry modelu albo kolejność zadań w harmonogramie. Dalej następuje ocena kondycji, zwana funkcją fitness, która kwantyfikuje, jak dobrze dany osobnik spełnia kryteria zadania. Najlepiej ocenione osobniki mają większą szansę zostać wybrane do rozmnażania poprzez krzyżowanie i mutację. Krzyżowanie łączy fragmenty informacji od dwojga rodziców, natomiast mutacja wprowadza niewielkie, losowe zmiany. Powstałe potomstwo tworzy nowe pokolenie i cykl selekcji powtarza się, aż spełnione zostaną warunki stopu, takie jak osiągnięcie satysfakcjonującej jakości lub przekroczenie limitu iteracji.

Rys historyczny

Początkowo badacze skupiali się na problemach inżynierskich, takich jak optymalizacja skrzydeł samolotów czy anten mikrofalowych. W 1975 r. John Holland opublikował przełomową monografię Adaptation in Natural and Artificial Systems, która ujednoliciła teorię genetycznego poszukiwania i zainspirowała liczne zastosowania w grafice komputerowej, ekonomii i robotyce. Rozwój mocy obliczeniowej w latach dziewięćdziesiątych umożliwił z kolei badania nad algorytmami wielokryterialnymi oraz sieciowaniem populacji, co zwiększyło różnorodność i stabilność wyników.

Zastosowania w praktyce

Dzięki zdolności do eksplorowania złożonych przestrzeni rozwiązań obliczenia ewolucyjne wspierają projektowanie kompozytowych materiałów, automatyczne strojenie hiperparametrów w sieciach neuronowych oraz planowanie tras logistycznych. Przykładowo firma General Electric wykorzystała algorytmy genetyczne do optymalizacji geometrii turbin gazowych, uzyskując oszczędności paliwa bez konieczności kosztownych testów fizycznych. W zastosowaniach medycznych ewolucyjna optymalizacja kształtu protez ortopedycznych pozwala dopasować konstrukcję do indywidualnej anatomii pacjenta, co skraca okres rehabilitacji.

Zalety i ograniczenia

Najważniejszą korzyścią jest odporność na złożone, krzywoliniowe krajobrazy funkcji celu, w których klasyczne metody gradientowe łatwo grzęzną w minimach lokalnych. Obliczenia ewolucyjne nie wymagają też jawnych pochodnych, dlatego radzą sobie z problemami dyskretnymi i funkcjami niedyferencjowalnymi. Z drugiej strony koszty czasowe bywają znaczące, gdyż ocena dużej populacji w wielu pokoleniach pochłania zasoby. Ponadto rezultaty są zależne od parametrów algorytmu, takich jak wielkość populacji czy prawdopodobieństwo mutacji, co wymaga dodatkowego strojenia.

Na co uważać?

Podczas projektowania eksperymentu warto zadbać o prawidłowe zdefiniowanie funkcji fitness, aby uniknąć sytuacji, w której algorytm optymalizuje efekt uboczny zamiast zamierzonego celu. Warto też monitorować różnorodność genetyczną populacji; jeżeli spadnie zbyt szybko, algorytm może przedwcześnie zatrzymać się w rozwiązaniu suboptymalnym. Powszechną praktyką jest wprowadzenie archiwum elity lub adaptacyjnych operatorów mutacji, które przeciwdziałają utracie różnorodności.

Dodatkowe źródła

Szerszy kontekst historyczny można znaleźć w artykule „Forty Years of Evolutionary Algorithms” dostępnym na arXiv. Wszechstronną definicję hasła prezentuje także Wikipedia, a szczegółowe podstawy teoretyczne omawia podręcznik Genetic Algorithms in Search, Optimization and Machine Learning Johna Hollanda.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *