Баннер
Баннер

Генетические алгоритмы - Основные генетические операторы

Оглавление
Генетические алгоритмы
Основные генетические операторы
Схема функционирования генетического алгоритма
Пример
Применение генетических алгоритмов
Примеры программного обеспечения
Все страницы
Как известно в теории эволюции важную роль играет то, каким образом признаки родителей передаются потомкам. В генетических алгоритмах за передачу признаков родителей потомкам отвечает оператор, который называется скрещивание (его также называют кроссовер или кроссинговер). Этот оператор определяет передачу признаков родителей потомкам. Действует он следующим образом:

1) из популяции выбираются две особи, которые будут родителями;

2) определяется (обычно случайным образом) точка разрыва;

3) потомок определяется как конкатенация части первого и второго родителя.

Рассмотрим функционирование этого оператора:

 

Хромосома_1:  0000000000

Хромосома_2: 1111111111

 

Допустим, разрыв происходит после 3-го бита хромосомы, тогда

 

Хромосома_1: 0000000000 >>  000 1111111  Результирующая_хромосома_1

Хромосома_2: 1111111111 >>  111 0000000  Результирующая_хромосома_2

 

Затем с вероятностью 0,5 определяется одна из результирующих хромосом в качестве потомка.

Следующий генетический оператор предназначен для того, чтобы поддерживать разнообразие особей с популяции. Он называется оператором мутации. При использовании данного оператора каждый бит в хромосоме с определенной вероятностью инвертируется.

Кроме того, используется еще и так называемый оператор инверсии, который заключается в том, что хромосома делится на две части, и затем они меняются местами. Схематически это можно представить следующим образом:

 

000 1111111  >>  1111111  000

 

В принципе для функционирования генетического алгоритма достаточно этих двух генетических операторов, но на практике применяют еще и некоторые дополнительные операторы или модификации этих двух операторов. Например, кроссовер может быть не одноточечный (как было описано выше), а многоточечный, когда формируется несколько точек разрыва (чаще всего две). Кроме того, в некоторых реализациях алгоритма оператор мутации представляет собой инверсию только одного случайно выбранного бита хромосомы.

 





Читайте также:

Добавить комментарий


Защитный код
Обновить




Разделы



Главная Представление знаний Генетические алгоритмы - Основные генетические операторы