ВУЗ:
Составители:
Рубрика:
Кроме того, используется еще и так называемый оператор инверсии, который
заключается в том, что хромосома делится на две части, и затем они меняются
местами. Схематически это можно представить следующим образом:
000 1111111 >> 1111111 000
В принципе для функционирования генетического алгоритма достаточно этих
двух генетических операторов, но на практике применяют еще и некоторые
дополнительные операторы или модификации этих двух операторов. Например,
кроссовер может быть не одноточечный (как было описано выше), а
многоточечный, когда формируется несколько точек разрыва (чаще всего две).
Кроме того, в некоторых реализациях
алгоритма оператор мутации представляет
собой инверсию только одного случайно выбранного бита хромосомы.
3.1.7. Схема функционирования генетического алгоритма
Теперь, зная как интерпретировать значения генов, перейдем к описанию
функционирования генетического алгоритма. Рассмотрим схему
функционирования генетического алгоритма в его классическом варианте.
1. Инициировать начальный момент времени t=0. Случайным образом
сформировать начальную популяцию, состоящую из k особей. B
0
=
{A
1
,A
2
,…,A
k
)
2. Вычислить приспособленность каждой особи F
Ai
= fit(A
i
) , i=1…k и
популяции в целом F
t
= fit(B
t
) (также иногда называемую термином
фиттнес). Значение этой функции определяет насколько хорошо подходит
особь, описанная данной хромосомой, для решения задачи.
3. Выбрать особь A
c
из популяции. A
c
= Get(B
t
)
4. С определенной вероятностью (вероятностью кроссовера P
c
) выбрать вторую
особь из популяции А
c1
= Get(B
t
) и произвести оператор кроссовера A
c
=
Crossing(A
c
,A
c1
).
5. С определенной вероятностью (вероятностью мутации P
m
) выполнить
оператор мутации. A
c
= mutation(A
c
).
6. С определенной вероятностью (вероятностью инверсии P
i
) выполнить
оператор инверсии A
c
= inversion(A
c
).
7. Поместить полученную хромосому в новую популяцию insert(B
t+1
,A
c
).
8. Выполнить операции, начиная с пункта 3, k раз.
9. Увеличить номер текущей эпохи t=t+1.
Кроме того, используется еще и так называемый оператор инверсии, который заключается в том, что хромосома делится на две части, и затем они меняются местами. Схематически это можно представить следующим образом: 000 1111111 >> 1111111 000 В принципе для функционирования генетического алгоритма достаточно этих двух генетических операторов, но на практике применяют еще и некоторые дополнительные операторы или модификации этих двух операторов. Например, кроссовер может быть не одноточечный (как было описано выше), а многоточечный, когда формируется несколько точек разрыва (чаще всего две). Кроме того, в некоторых реализациях алгоритма оператор мутации представляет собой инверсию только одного случайно выбранного бита хромосомы. 3.1.7. Схема функционирования генетического алгоритма Теперь, зная как интерпретировать значения генов, перейдем к описанию функционирования генетического алгоритма. Рассмотрим схему функционирования генетического алгоритма в его классическом варианте. 1. Инициировать начальный момент времени t=0. Случайным образом сформировать начальную популяцию, состоящую из k особей. B0 = {A1,A2,…,Ak) 2. Вычислить приспособленность каждой особи FAi = fit(Ai) , i=1…k и популяции в целом Ft = fit(Bt) (также иногда называемую термином фиттнес). Значение этой функции определяет насколько хорошо подходит особь, описанная данной хромосомой, для решения задачи. 3. Выбрать особь Ac из популяции. Ac = Get(Bt) 4. С определенной вероятностью (вероятностью кроссовера Pc) выбрать вторую особь из популяции Аc1 = Get(Bt) и произвести оператор кроссовера Ac = Crossing(Ac,Ac1). 5. С определенной вероятностью (вероятностью мутации Pm) выполнить оператор мутации. Ac = mutation(Ac). 6. С определенной вероятностью (вероятностью инверсии Pi) выполнить оператор инверсии Ac = inversion(Ac). 7. Поместить полученную хромосому в новую популяцию insert(Bt+1,Ac). 8. Выполнить операции, начиная с пункта 3, k раз. 9. Увеличить номер текущей эпохи t=t+1.
Страницы
- « первая
- ‹ предыдущая
- …
- 20
- 21
- 22
- 23
- 24
- …
- следующая ›
- последняя »