В генетических алгоритмах наследование — это способность моделируемых объектов спариваться , мутировать (аналогично биологической мутации ) и передавать свои гены решения проблем следующему поколению , чтобы создать развитое решение конкретной проблемы. Выбор объектов, которые будут унаследованы в каждом последующем поколении, определяется функцией приспособленности , которая меняется в зависимости от решаемой проблемы. [1]
Черты этих объектов передаются через хромосомы способом, аналогичным биологическому воспроизводству . Эти хромосомы обычно представлены серией генов , которые в свою очередь обычно представлены с использованием двоичных чисел . Это распространение черт между поколениями похоже на наследование черт между поколениями биологических организмов . Этот процесс также можно рассматривать как форму обучения с подкреплением , поскольку эволюция объектов обусловлена передачей черт от успешных объектов, что можно рассматривать как награду за их успех, тем самым способствуя развитию полезных черт. [1]
Как только новое поколение готово к созданию, все особи, которые были успешны и были выбраны для воспроизводства, случайным образом объединяются в пары. Затем черты этих особей передаются через комбинацию кроссинговера и мутации. [1] Этот процесс следует следующим основным этапам:
После выполнения этих шагов для каждой пары используемых родительских объектов будут созданы два дочерних объекта. Затем, после определения успешности объектов в новом поколении, этот процесс можно повторить, используя те новые объекты, которые оказались наиболее успешными. Обычно это повторяется до тех пор, пока не будет достигнуто желаемое поколение или не будет найден объект, который соответствует минимальному желаемому результату от функции пригодности.
Хотя кроссинговер и мутация являются распространенными генетическими операторами, используемыми при наследовании, существуют также другие операторы, такие как перегруппировка и колонизация-вымирание. [ необходима цитата ]
Предположим, что эти две строки битов представляют признаки, передаваемые двумя родительскими объектами:
Теперь учтите, что точка кроссовера случайным образом расположена после пятого бита:
Во время кроссинговера два объекта поменяют местами все биты после точки кроссинговера, что приведет к:
Наконец, мутация имитируется на объектах, где ноль или более битов переворачиваются случайным образом. Предполагая, что десятый бит для объекта 1 мутирует, а второй и седьмой биты мутируют для объекта 2, конечные потомки, произведенные этим наследованием, будут: