Рефераты. Генетические алгоритмы

0h

0

0000

0h

1

0001

1h

1

0001

1h

2

0010

2h

3

0011

3h

3

0011

3h

2

0010

2h

4

0100

4h

6

0110

6h

5

0101

5h

7

0111

7h

6

0110

6h

5

0101

5h

7

0111

7h

4

0100

4h

8

1000

8h

12

1100

Ch

9

1001

9h

13

1101

Dh

10

1010

Ah

15

1111

Fh

11

1011

Bh

14

1110

Eh

12

1100

Ch

10

1010

Ah

13

1101

Dh

11

1011

Bh

14

1110

Eh

9

1001

9h

15

1111

Fh

8

1000

8h


Таким образом, для того, чтобы определить фенотип объекта (то есть значения признаков, описывающих объект) нам необходимо только знать значения генов, соответствующим этим признакам, то есть генотип объекта. При этом совокупность генов, описывающих генотип объекта, представляет собой хромосому. В некоторых реализациях ее также называют особью. Таким образом, в реализации генетического алгоритма хромосома представляет собой битовую строку фиксированной длины. При этом каждому участку строки соответствует ген. Длина генов внутри хромосомы может быть одинаковой или различной. Чаще всего применяют гены одинаковой длины [10]. Рассмотрим пример хромосомы и интерпретации ее значения. Допустим, что у объекта имеется 5 признаков, каждый закодирован геном длинной в 4 элемента. Тогда длина хромосомы будет 5*4=20 бит


0010

1010

1001

0100

1101

теперь мы можем определить значения признаков

Признак

Значение гена

Двоичное значение признака

Десятичное значение признака

 

Признак 1

0010

0011

3

 

Признак 2

1010

1100

12

Признак 3

1001

1110

14

 

Признак 4

0100

0111

7

 

Признак 5

1101

1001

9

 









1.3 Основные генетические операторы


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

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

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

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

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

Хромосома_1:

0000000000

Хромосома_2:

1111111111

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


Хромосома_1:

0000000000

>>

000

1111111

Результирующая хромосома 1

Хромосома_2:

1111111111

>>

111

0000000

Результирующая хромосома 2


Итак, рассмотрим все же операторы по порядку:

1) кроссинговер - создание структуры, основанной на двух структурах - заменой одной части первой структуры на ту же область во второй.

Пример: из (A, B, C, D, E) и (a, b, c, d, e) получится (A, B, c, d, E).

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

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

000

1111111

>>

1111111

000


2) инверсия - перестановка в структуре некоторой ее части наоборот

Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.