Наследование (генетический алгоритм) - Inheritance (genetic algorithm)
В генетические алгоритмы, наследование способность моделируемых объектов к приятель, мутировать (похожий на биологический мутация ) и пропагандируют решение своих проблем гены к следующему поколение, чтобы выработать развернутое решение конкретной проблемы. В отбор объектов, которые будут унаследованы в каждом последующем поколении, определяется фитнес-функция, который зависит от решаемой проблемы.[1]
Черты этих объектов передаются через хромосомы средствами, аналогичными биологическим воспроизведение. Эти хромосомы обычно представлены серией гены, которые, в свою очередь, обычно представлены с помощью двоичные числа. Это распространение черт от поколения к поколению похоже на наследование черты между поколениями биологических организмы. Этот процесс также можно рассматривать как форму обучение с подкреплением, поскольку эволюция объектов обусловлено передачей черт от успешных объектов, которые можно рассматривать как награда за их успех, тем самым способствуя развитию полезных качеств.[1]
Процесс
Когда новое поколение готово к созданию, все успешные особи, выбранные для воспроизводства, случайным образом объединяются в пары. Затем черты этих людей передаются через комбинацию кроссовер и мутации.[1] Этот процесс состоит из следующих основных шагов:
- Соедините удачные объекты для спаривания.
- Определите случайным образом точку пересечения для каждой пары.
- Переключите гены после точки кроссовера в каждой паре.
- Определите случайным образом, мутировали ли какие-либо гены в дочерних объектах.
После выполнения этих шагов для каждой пары используемых родительских объектов будут созданы два дочерних объекта. Затем, после определения успешности объектов в новом поколении, этот процесс можно повторить, используя те новые объекты, которые были наиболее успешными. Обычно это повторяется до тех пор, пока не будет достигнуто желаемое поколение или пока не будет найден объект, который соответствует минимальному желаемому результату функции приспособленности.
Хотя кроссовер и мутация являются общими генетические операторы используются в наследовании, есть также другие операторы, такие как перегруппировка и колонизация-вымирание.[нужна цитата ]
Пример
Предположим, что эти две строки битов представляют черты, передаваемые двумя родительскими объектами:
- Объект 1: 1100011010110001
- Объект 2: 1001100110011001
Теперь предположим, что точка кроссовера случайным образом расположена после пятого бита:
- Объект 1: 11000 | 11010110001
- Объект 2: 10011 | 00110011001
Во время кроссовера два объекта поменяют местами все биты после точки кроссовера, что приведет к:
- Объект 1: 11000 | 00110011001
- Объект 2: 10011 | 11010110001
Наконец, на объектах имитируется мутация путем случайного переворота нуля или более битов. Предполагая, что десятый бит для объекта 1 изменен, а второй и седьмой биты изменены для объекта 2, последними дочерними элементами, созданными этим наследованием, будут:
- Объект 1: 1100000111011001
- Объект 2: 1101110010110001
Смотрите также
Рекомендации
- ^ а б c Рассел, Стюарт Дж .; Норвиг, Питер (1995). Искусственный интеллект: современный подход. Энглвуд-Хайтс, Нью-Джерси: Прентис-Холл.
внешняя ссылка
- BoxCar 2D Интерактивный пример использования генетического алгоритма для построения двухмерных автомобилей.