Sono stato recentemente introdotto negli algoritmi genetici da questo articolo di MSDN , in cui li chiama evoluzione combinatoria, ma sembra essere la stessa cosa e sto lottando per capire come combinare due potenziali soluzioni produrrà sempre una nuova soluzione che è almeno buono come i suoi genitori.
Perché è così? Sicuramente combinare potrebbe produrre qualcosa di peggio.
Per quanto ho capito, l'algoritmo si basa sul concetto che quando un maschio e una femmina di una specie producono prole, quelle prole avranno le caratteristiche di entrambi i genitori. Alcune combinazioni saranno migliori, altre peggiori e altre altrettanto buone. Quelli che sono migliori (per qualsiasi definizione di "migliore" sia appropriata) hanno maggiori possibilità di sopravvivere e produrre discendenti che hanno le caratteristiche migliorate. Tuttavia, ci saranno combinazioni più deboli. Perché questo non è un problema con GA?
Why isn't this an issue with GA?
Beh, lo è, o più esattamente, potrebbe essere. Uno dei molti (molti) parametri da ottimizzare con GA è la dimensione della popolazione: se è troppo basso, potresti produrre solo individui più deboli, ma se è troppo alto, il tempo di calcolo associato alla funzione di fitness potrebbe essere troppo alto.
However, there will be combinations that are weaker. Why isn't this an issue with GA?
- Perché le combinazioni più deboli vengono scartate.