Ta odpowiedź wymaga praktycznego przykładu, w jaki sposób można użyć jednego, który spróbuję podać oprócz innych odpowiedzi. Wydaje się, że dzięki bardzo dobrej pracy wyjaśniają, czym jest algorytm genetyczny. To da przykład.
Załóżmy, że masz sieć neuronową (chociaż nie są to jedyne jej zastosowania), która z niektórych danych wejściowych da pewne wyniki. Algorytm genetyczny może stworzyć ich populację, a sprawdzając, który wynik jest najlepszy, rozmnażaj i zabijaj członków populacji. Ostatecznie powinno to zoptymalizować sieć neuronową, jeśli jest wystarczająco skomplikowana.
Oto demonstracja, którą wykonałem, która pomimo złego kodowania może pomóc ci zrozumieć. http://khrabanas.github.io/projects/evo/evo.html
Naciśnij przycisk ewolucji i zadzieraj z celami.
Wykorzystuje prosty algorytm genetyczny do rozmnażania, mutacji i decydowania, która z populacji przeżyje. W zależności od sposobu ustawienia zmiennych wejściowych sieć będzie w stanie zbliżyć się do nich na pewnym poziomie. W ten sposób populacja prawdopodobnie ostatecznie stanie się jednorodną grupą, której wyniki przypominają cele.
Algorytm genetyczny próbuje stworzyć swego rodzaju „sieć neuronową”, która poprzez przyjęcie RGB daje kolor wyjściowy. Najpierw generuje losową populację. Następnie bierze 3 losowych członków z populacji, wybiera tego o najniższej sprawności i usuwa go z populacji. Sprawność jest równa różnicy w kwadracie z górnej bramki + różnicy w dolnej bramce do kwadratu. Następnie rozmnaża pozostałe dwa razem i dodaje dziecko do tego samego miejsca w populacji, co martwy członek. Kiedy nastąpi kojarzenie, istnieje szansa, że nastąpi mutacja. Ta mutacja zmieni losowo jedną z wartości.
Na marginesie, ze względu na to, jak jest skonfigurowany, w wielu przypadkach nie jest całkowicie poprawny, chociaż osiągnie względną bliskość.