Проектирование общих операционных технологий в редакторе технологических процессов РТП2000. Белашов В.А - 18 стр.

UptoLike

3.1.2. Кодирование признаков, представленных целыми числами
Для кодирования таких признаков можно использовать самый простой
вариант битовое значение этого признака. Тогда нам будет весьма просто
использовать ген определенной длины, достаточной для представления всех
возможных значений такого признака. Но, к сожалению, такое кодирование не
лишено недостатков. Основной недостаток заключается в том, что соседние числа
отличаются в значениях нескольких битов
, так например числа 7 и 8 в битовом
представлении различаются в 4-х позициях, что затрудняет функционирование
генетического алгоритма и увеличивает время, необходимое для его сходимости.
Для того, чтобы избежать эту проблему лучше использовать кодирование, при
котором соседние числа отличаются меньшим количеством позиций, в идеале
значением одного бита. Таким кодом является код Грея,
который целесообразно
использовать в реализации генетического алгоритма. Значения кодов Грея
рассмотрены в таблице ниже:
Двоичное кодирование Кодирование по коду Грея
Десятичный
код
Двоичное
значение
Шестнадцатеричное
значение
Десятичный
код
Двоичное
значение
Шестнадцатеричное
значение
0 0 0h 0 0 0h
1 1 1h 1 1 1h
2 10 2h 3 11 3h
3 11 3h 2 10 2h
4 100 4h 6 110 6h
5 101 5h 7 111 7h
6 110 6h 5 101 5h
7 111 7h 4 100 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
Таблица 1. Соответствие десятичных кодов и кодов Грея.
     3.1.2. Кодирование признаков, представленных целыми числами

     Для кодирования таких признаков можно использовать самый простой
вариант – битовое значение этого признака. Тогда нам будет весьма просто
использовать ген определенной длины, достаточной для представления всех
возможных значений такого признака. Но, к сожалению, такое кодирование не
лишено недостатков. Основной недостаток заключается в том, что соседние числа
отличаются в значениях нескольких битов, так например числа 7 и 8 в битовом
представлении различаются в 4-х позициях, что затрудняет функционирование
генетического алгоритма и увеличивает время, необходимое для его сходимости.
Для того, чтобы избежать эту проблему лучше использовать кодирование, при
котором соседние числа отличаются меньшим количеством позиций, в идеале
значением одного бита. Таким кодом является код Грея, который целесообразно
использовать в реализации генетического алгоритма. Значения кодов Грея
рассмотрены в таблице ниже:



Двоичное кодирование                        Кодирование по коду Грея
Десятичный   Двоичное   Шестнадцатеричное   Десятичный   Двоичное   Шестнадцатеричное
код          значение   значение            код          значение   значение



0            0          0h                  0            0          0h
1            1          1h                  1            1          1h
2            10         2h                  3            11         3h
3            11         3h                  2            10         2h
4            100        4h                  6            110        6h
5            101        5h                  7            111        7h
6            110        6h                  5            101        5h
7            111        7h                  4            100        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



                Таблица 1. Соответствие десятичных кодов и кодов Грея.