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