Niedawno zapoznałem się z algorytmami genetycznymi w tym artykule MSDN , w którym nazywa je ewolucją kombinatoryczną, ale wydaje się, że jest to samo i staram się zrozumieć, w jaki sposób połączenie dwóch potencjalnych rozwiązań zawsze da nowe rozwiązanie, które jest przynajmniej tak samo dobry jak jego rodzice.
Dlaczego tak jest? Z pewnością łączenie może przynieść coś gorszego.
O ile rozumiem, algorytm opiera się na koncepcji, że gdy samiec i samica gatunku rodzą potomstwo, potomstwo to będzie miało cechy obojga rodziców. Niektóre kombinacje będą lepsze, niektóre gorsze, a niektóre równie dobre. Te, które są lepsze (bez względu na to, co jest właściwe zdefiniowanie „lepszego”), mają większą szansę na przeżycie i wytworzenie potomstwa, które ma ulepszone cechy. Jednak nie będzie mieć kombinacje, które są słabsze. Dlaczego nie jest to problem z GA?
Why isn't this an issue with GA?
Cóż, a właściwie może być. Jednym z wielu (wielu) parametrów optymalizacji przy użyciu GA jest wielkość populacji: jeśli jest zbyt mała, możesz produkować tylko słabsze osobniki, ale jeśli jest zbyt wysoka, czas obliczeń związany z funkcją fitness może być zbyt długi.
However, there will be combinations that are weaker. Why isn't this an issue with GA?
- Ponieważ słabsze kombinacje są odrzucane.