Теория эволюции: как генерируются мутации?
Весь смысл генетических алгоритмов именно в том, что мутации случайны, а не контролируются программистом по каким-то аспектам. Выборка происходит не перед мутацией (с выбором того, что следует изменить), а уже в мутировавшем поколении. Весь смысл в том, что непредсказуемое решение может оказаться более эффективным, чем предсказуемое.
Это как если программист подумает, что для увеличения скорости передвижения нужно наращивать число ног и через N поколений получит 100500 ножку, а случайные мутации "научат" тараканчика сворачивать тело в колесо (это я типа сравнил многоножку с какой-нибудь макрицей).
Т.е. происходят случайные мутации и алгоритм оценивает, привели ли они к какому-то улучшению по заданным признакам. В примере с огородом, можно ожидать рождение ребёнка с конечностями в форме лопат, который будет очень быстро пахать огород, но не один вменяемый программист не будет специально программировать такое создание.
Мутация возможная только для сегмента данных.
Сегмент кода не может мутировать.
Все мутации для сегмент кода разрушительны.