ТСМ-1 (1088236), страница 2
Текст из файла (страница 2)
Шаг 3. k=k-1; d’=d.
Если k
1, то перейти к шагу 2. Иначе завершить вычисления.
В алгоритме операция a mod b означает остаток от деления a на b.
Пример 1.
Пример 2.
Рассмотрим пересчет
, представленного в таблице. Пусть
.
Шаг 1. d’=14; k=n=2.
Z2=(3 mod 2)
(3-2
(14 mod (3+1)))+14 mod (3+1)=1
(3-2
2)+2=1;
Z2=1.
Шаг 3. k=k-1=1
1; d’=3. Переходим к шагу 2.
Z1=(0 mod 2)
(3-2
(3 mod (3+1)))+3 mod (3+1)=3 mod 4=3;
Z1=3.
Пример 3.
Построим таблицу МКГ для случая: n=4; m1=1; m2=2; m3=1; m4=2.
Построим в координатном пространстве гиперкуб (точнее его проекцию на подмножество
)
Таблица 2.
На рисунке изображена последовательность обхода вершин гиперкуба в пространстве
при z1=0.
Данная последовательность обхода охватывает точки: 0
xi
17.
Для того, чтобы закодировать оставшиеся точки: 18
xi
35, можно использовать алгоритм пересчета.
Другой геометрический способ состоит в следующем. Необходимо изменить координату z1 на 1, т.е. положить z1=1. Это означает, что мы переходим в следующее сечение гиперкуба: при z1=1. После этого необходимо осуществить обход следующего сечения в обратном порядке. Это означает, что в таблице устанавливаем z1=1 для всех 18
xi
35, а остальные коды перезаписывать зеркально в ячейки, расположенные после xi=17.
Пример 4. Рассмотрим пересчет xi → МКГ(xi).
Шаг 1. d’=22; k=4; m4=2.
Шаг 2. d=[22/(2+1)]=[7
]=7;
z4=(7 mod 2)
(2-2
(22 mod (2+1)))+22 mod (2+1)=1
(2-2
1)+1=1;
z4=1.
Шаг 3. k=4-1=3
1; d’=7.
Шаг 4. d=[7/(1+1)]=[3
]=3; m3=1;
z3=(3 mod 2)
(1-2
(7 mod (1+1)))+7 mod (1+1)=1
(1-2
1)+1=0;
z3=0.
Шаг 5. k=3-1=2
1; d’=3; m2=2.
Шаг 6. d=[3/(2+1)]=1;
z2=(1 mod 2)
(2-2
(3 mod (2+1)))+3 mod (2+1)=1
(2-2
0)+0=2;
z2=2;
Шаг 7. k=2-1=1
1; d’=1; m1=1;
Шаг 8. d=[1/(1+1)]=[
]=0.
z1=(0 mod 2)
(1-2
(1 mod (1+0)))+1 mod (1+1)=1 mod 2=1;
z1=1;
В итоге получаем: Xi=22
z=[1201]
Что соответствует таблице.
Для обратного пересчета их z в xi можно использовать следующее соотношение:
SⅠ
SⅡ
SⅢ
SⅣ
Обозначим слагаемые через SⅠ, SⅡ, SⅢ, SⅣ.
Пример 5. Выполним пересчет:
z1 z2 z3 z4
z=[1 2 0 1]
xi=22;
m1=1; m2=2; m3=1; m4=2;
xi=SⅠ+SⅡ+SⅢ+SⅣ.
SⅠ=1(2+1)(1+1)(2+1)=1*3*2*3=18;
SⅠ=18;
SⅡ= ((z1 mod 2)(m2-2z2)+z2)(m3+1)(m4+1) + при j=2
+ (((z1+z2) mod 2)(m3-2z3)+z3)(m4+1) = при j=3
= ((1 mod 2)(2-2*2)+2)(1+1)(2+1) +
+ (((1+2) mod 2)(1-2*0)+0)(2+1) =
= (1*(-2)+2)*2*3 + (1*1+0)*3 = 0*2*3 + 1*3 = 0 + 3 = 3;
SⅡ=3;
SⅢ=((z1+z2+z3) mod 2)(m4-2z4)=((1+2+0) mod 2)(2-2*1)=1*0=0;
SⅢ=0;
SⅣ=z4=1;
SⅣ=1;
xi=18+3+0+1=22;
xi=22.
Таким образом, имеем:
xi
z – оператор кодирования
z
xi – оператор декодирования
Будем считать что, если есть вектор переменных
, то каждая переменная кодируется определенным фрагментом хромосомы, состоящая из фиксированного числа генов. Рядом стоящие фрагменты не отделяются друг от друга какими-либо маркерами. Тем не менее, при декодировании хромосомы в вектор переменных на протяжении всего моделируемого периода эволюции используется одна и та же маска мутирования хромосомы, определяющая план распределения наследственной информации на длине хромосомы.
xi= [
]
| Q(t) |
|
|
|
|
|
|
|
|
|
|
|
|
Хромосомы генерируются случайным образом путем последовательного заполнения разрядов (генов) в соответствии с равномерным законом распределения.
Всякие изменения в популяции
затрагивают сначала генетический уровень, а только потом анализируются фенотипические последствия этих изменений.















