ОПТИМИЗАЦИЯ АЛГОРИТМА ГЕНЕТИЧЕСКОГО КОДИРОВАНИЯ ДЛЯ ПРОСТРАНСТВ ПРОИЗВОЛЬНЫХ
РАЗМЕРНОСТЕЙ
Исследуются возможные методы оптимизации алгоритма генетического кодирования (ГА) для пространств источника с произвольным конечным числом исходных сообщений. Рассматриваемая задача предполагает, что все сообщения, передаваемые по каналу связи, представляют собой кодовые комбинации некоторого множества точек многомерного метрического пространства. Использование ГА позволяет минимизировать эффект наиболее вероятных типов ошибок при их появлении, причём без введения дополнительной избыточности, а именно: кодовая комбинация, принятая с ошибкой, будет декодирована в близкую ей не только по кодовому расстоянию (относительно типа ошибки), но и в исходном пространстве источника сообщений.
В предыдущих работах авторов рассматривались методы, позволяющие выполнить безызбыточное равномерное генетическое кодирование N = 2" точек. Но в случае использования ГА на пространствах произвольной размерности необходимо произвести его оптимизацию, сохранив основные свойства генетических кодовых комбинаций без дополнительной избыточности. Предлагаются три подхода к решению этой задачи.
Одним из возможных методов решения поставленной задачи является введение дублирующих или фиктивных состояний, которым будут присвоены оставшиеся неиспользованные кодовые комбинации. Это направление представлено генетическим алгоритмом, на заключительном шаге которого осуществляется анализ точек с "неполными связями", и впоследствии одной из них присваиваются все свободные кодовые комбинации. Второе исследуемое направление заключается в разбиении множества всех N = 2" + т, т е(():2 ), точек на подмножества, содержащие по 2к, к е|0:п] , точек в каждом. В результате образуются кластеры кодовых комбинаций различной длины, что влечёт за собой добавление служебной информации. Необходимо отметить, что при использовании этого метода допускается возможность неравномерного кодирования, при котором наиболее вероятным сообщениям будут присвоены более короткие кодовые последовательности.
Третье направление, рассматриваемое в данной работе, заключается в совместном использовании двух вышеописанных методов. Множество всех N = 2" + т, т е(0:2") , точек разбивается на два подмножества по 2" и т точек в каждом, а затем последнее дополняется за счёт введения дублирующих или фиктивных состояний.
Проводится сравнение преимуществ описанных подходов в зависимости от структуры пространства источника.
Для цитирования:
Фенчук М.М., Синева И.С. Оптимизация алгоритма генетического кодирования для пространств произвольных размерностей // T-Comm: Телекоммуникации и транспорт. - 2015. - Том 9. - №7. - С. 74-79.
For citation:
Fenchuk M.M., Sineva I.S. Genetic algorithm optimization for space of arbitrary dimension. T-Comm. 2015. Vol 9. No.7, рр. 74-79.
(in Russian).
Фенчук Михаил Михайлович,
Аспирант МТУСИ, Москва, Россия, mikhail.fenchuk@gmail.com
Синева Ирина Сергеевна,
Профессор МТУСИ, Москва, Россия, iss@mtuci.ru
Ключевые слова: генетический алгоритм, кодирование, равномерное кодирование, неравномерное кодирование, исправление ошибок.
Введение
Использование алгоритмов генетического кодирования (ГА) в задачах обнаружения и исправления ошибок позволяет без введения дополнительной избыточности значительным образом минимизировать эффект мешающих влияний, возникающих при передаче информации по каналу связи. В предыдущих работах авторов были предложены и исследованы как различные модификации ГА [1; 2], так и совместное использование ГА и некоторых существующих на сегодняшний день методов помехоустойчивого кодирования [3-5]. Статистические испытания показывают, что предварительное генетическое кодирование пространства источника сообщений обладает большим преимуществом по сравнению со случайным кодированием вне зависимости от конфигурации самого пространства [6].
В рамках поставленной задачи все сообщения, передаваемые по каналу связи, представляют собой кодовые комбинации некоторого множества точек многомерного метрического пространства. Таким образом, появление ошибки в кодовой комбинации влечёт за собой «переход» из одной точки в другую (отклонение), если, конечно же, эта ошибка не была исправлена на этапе декодирования. Предварительное генетическое кодирование снижает эффект наиболее вероятных типов ошибок при их появлении, а именно; кодовая комбинация, принятая с ошибкой, будет декодирована в близкую ей не только по кодовому расстоянию (относительно типа ошибки), но и в исходном пространстве источника сообщений.
ГА, предложенный авторами в предыдущих работах, позволяет выполнить безызбыточное равномерное двоичное кодирование для случая N = 2" исходных сообщений. В данной работе рассматриваются методы оптимизации ГА для пространств источника с произвольным конечным числом исходных сообщений: Ы = Т+т, теф;2").
Генетический алгоритм
Перейдём к описанию основных этапов процедуры генетического кодирования для случая N = 2" исходных сообщений, тип ошибки: одиночная.
На первом шаге осуществляется выбор начальной точки алгоритма, при этом возможны различные подходы к ее нахождению. Наиболее обоснованными являются следующие два подхода: выбор точки наибольшего сгущения массива по некоторому критерию и выбор центра тяжести всего массива. Первый подход оправдан только для плохо локализующихся массивов (например, при равномерном распределении точек исходного пространства источника или для источников, состоящих из нескольких кластеров). Во всех остальных случаях в качестве начальной точки целесообразно выбирать наиболее близкую к центру масс всего массива, который в свою очередь оценивается по ус-
редненным значениям отдельных координат. Эта точка является точкой нулевой категории, и ей будет присвоена кодовая комбинация соответствующей разрядности, состоящая из нулей (ООО...00),
На втором шаге осуществляется поиск точек, наиболее близких к начальной. Они образуют точки первой категории и кодируются комбинациями, наиболее близкими к (ООО...00). При разрядности кода п это будут все кодовые комбинации с одной единицей: (100. .00), (010...00), (001...00),..., (000...10) и (000...01). Причем эти кодовые комбинации могут быть присвоены отобранным точкам первой категории (они являются «потомками» начальной точки) произвольно. Следует отметить, что произвольность расстановки кодовых комбинаций на этом заканчивается: дальнейшие категории точек кодируются однозначно, и для каждой из точек-потомков последующих категорий кодовые комбинации генерируются на основе кодовых комбинаций точек-прародителей.
На третьем шаге определяются точки второй категории, являющиеся «потомками» точек первой категории. У каждой пары «родителей» (точек первой категории) будет один «потомок», который является близким к ним обоим. Точки второй категории представляют собой массив из с\ точек, в совокупности наименее
удаленных от массива из п точек первой категории, и, соответственно, от начальной точки. Их кодовые комбинации получаются сложением по модулю 2 кодовых комбинаций «родителей». Например, точка второй категории, близкая к точкам первой категории с кодовыми комбинациями {100...00) и (000...01) будет иметь кодовую комбинацию (100...01). В целом точки второй категории имеют кодовые комбинации с двумя единицами. Верно и обратное: по количеству единиц в кодовой комбинации можно однозначно сказать, в какой категории находится исходная точка пространства источника.
Поиск точек третьей и последующих категорий осуществляется по той же схеме до тех пор, пока на последнем шаге работы алгоритма не останется одна свободная точка, которой будет присвоена кодовая комбинация, состоящая из одних единиц (111...1). Развернутое математическое описание процедуры генетического кодирования для различного вида ошибок и анализ эффективности см. [7-10].
Для случая N = 2" + т, т е (0;2"), исходных сообщений необходимо произвести оптимизацию основного алгоритма, сохранив при этом полезные свойства генетических кодовых комбинаций без введения дополнительной избыточности. Сложность, которая здесь возникает, связана не с этапом кодирования (его можно было бы завершить по мере того, как будут исчерпаны все «свободные» точки очередного поколения «потомков»), а с этапом декодирования, поскольку в результате воздействия импульсной ошибки могут появиться кодовые комбинации, не имеющие «родственных» связей.
Поясним этот эффект на простом примере. Пусть исходный ансамбль из 5 сообщений был закодирован в соответствии с вышеизложенными принципами; полученные кодовые комбинации: (ООО), (001), (010), (100), (011). Из-за воздействия импульсной ошибки возможно появление кодовой комбинации, не имеющей прообраза, например, (101). Именно поэтому необходима корректная и эффективная модификация алгоритма-прототипа для пространств произвольных размерностей.
Предлагаются три подхода к решению этой задачи.
Введение фиктивных состояний
Одним из возможных методов решения поставленной задачи является введение дублирующих, или фиктивных, состояний (ВФС), которым будут присвоены оставшиеся неиспользованные кодовые комбинации. Это направление представлено генетическим алгоритмом, на заключительном шаге которого осуществляется анализ точек с неполными связями, и впоследствии одной из них присваиваются все свободные кодовые комбинации.
Аналогично первому шагу работы ГА, на заключительном этапе производится поиск центра тяжести массива всех оставшихся точек с неполными связями, т.е. тех, которые не обладают необходимым числом «родственных» точек (по критерию минимального кодового расстояния) для сохранения свойств генетических кодовых комбинаций. Искаженные кодовые комбинации, не имеющие «прототипа», будут декодироваться в эту точку.
Формализация описанного алгоритма сводится к следующему. В соответствии с алгоритмом-прототипом проводится кодирование исходного пространства источника а до того момента, пока не будут закодированы все исходные точки (сообщения). При этом для кодирования необходимо использовать Г]о^лЛ = н + 1 бит
(символ ] означает округление вверх до целого числа). Все пространство А разбивается на подпространство В, точек с полными связями (на графе они имеют
и + ] соседа) и подпространство В, точек с неполными связями
А = В, + В,
(1)
Обозначим результат генетического кодирования кодовой комбинации Д. как Са4(А1.). Для декодирования в соответствии с ГА используется обозначение са1А Тогда для А1 е В, имеем при отсутствии искажений:
Сол(СвлШ) = 4
поскольку кодовые комбинации Свл(А1) в этом случае
являются допустимыми и декодируются однозначно. Если ОСIV означает искажение кодового символа
вследствие воздействия импульсной ошибки (от английского distortion codeword), то для Д е В, получаем
С£(Ж1Г(СвАЦ)))е В,, причем Д и C~lA (DCW(CGA (4))) являются соседними на графе ГА.
В пространстве В,, состоящем из к7 = #(В2) точек, вводим фиктивное (дублирующее) состояние Аг Для
его нахождения для каждой точки Д е В2 вычисляем
к
сумму о расстояний до остальных. Находим
н
ifbtoi =argmin{£>.; \<i<k}> соответственно А, = А .
J 'final
Эта точка наименее удалена от всех остальных точек с неполными связями.
Процедура декодирования в общем виде для метода ВФС выглядит следующим образом:
Если искажения отсутствуют, то всегда
Qi(Q,(4)) = А'
- Если искажения приводят к появлению допустимой кодовой комбинации, то Д =C^]l(DCW(CGA(Ai))\
принимается в качестве исходного сообщения. Возникающая при этом ошибка соответствует тому, что декодированное сообщение д. близко к исходному д.
(соседнее на графе ГА);
- Если искажения приводят к появлению недопустимой кодовой комбинации, то в качестве результата декодирования берется А, - А - При этом исходная
J 'final
комбинация д. е в, и в этом множестве декодируется в «точку сгущения» В,.
Двоичное разбиение пространства и гибридный подход
Второе исследуемое направление заключается в разбиении множества исходных N = 2"+m, 0;2"), сообщений на подмножества, содержащие по 2\ сообщений в каждом (двоичное разбие-
ние пространства, ДРП). В результате образуются кластеры кодовых комбинаций различной длины, что влечёт за собой добавление служебной информации для их идентификации на этапе декодирования. На рис. 1 изображена зависимость средней длины кодовой комбинации от числа исходных сообщений источника в случае равномерного кодирования.
Сплошные синие линии соответствуют ДРП-методу с добавлением идентификатора кластера к кодовой комбинации сообщения, штриховые синие линии - без добавления. Из рисунка видно, что использование этого метода вносит высокую избыточность в передаваемые данные уже на этапе предварительного кодирования, так как количество бит, выделяемых под идентификатор кластера в кодовой комбинации, напрямую зависит
■
от числа образованных подмножеств исходных сообщений.
Формализация метода ДРП состоит в следующем. Прежде всего представим число N исходных сообще-
п
ний в виде двоичного разложения N = ^ак2к, где
к-О
ак е {0,1}, ап -1. Тогда число кластеров равно
п
К = ^ак ■ Для равномерного кодирования номера кластера требуется [logjpOl символов. Разбиение исходного пространства А для метода ДРП представляется в виде
A = S,+S2+^+Sk, (2)
причем число элементов в каждом множестве представляет собой степень числа 2, a #(sr)>#(S.) при
i < j. На каждом подмножестве выполняется кодирование ГА. Процедура кодирования номера двоичного кластера обозначается im (identification of the binary
cluster), соответственно rB[ обозначает декодирование этого номера. Тогда в отсутствии искажений всегда
Алгоритм декодирования для метода ДРП сводится к следующему:
Если искажения отсутствуют, то всегда
Если искажен символ кода сообщения А,е S , то кодовая комбинация является допустимой, 4 = 4 И А, со-
седние. То есть свойство наименьшего искажения структуры сохраняется;
Если искажен код символа префикса (кода кластера) S;, то декодирование производится в пространство
S±l, имеющее другую размерность, что либо недопустимо, либо приводит к слишком большим искажениям за счет добавления или отбрасывания половины символов. При большом числе кластеров К относительно разрядности кода N этот метод использовать не стоит.
Необходимо отметить, что при использовании ДРП-метода допускается возможность неравномерного кодирования, при котором наиболее вероятным сообщениям будут присвоены более короткие кодовые последовательности. Это позволит достичь меньшей средней длины кодовой комбинации.
И, наконец, третье направление, рассматриваемое в данной работе, заключается в совместном использовании двух вышеописанных методов: гибридный подход (ГП). Множество всех N = 2" +т, т е (0;2"), точек
разбивается на два подмножества по 2" и т точек в
каждом, а затем последнее дополняется за счёт введения дублирующих или фиктивных состояний.
Формализация, по аналогии с обозначениями разбиений (1) и (2), состоит в разложении пространства источника на три непересекающиеся компоненты
А = 8, + В,, + В23 (3)
Где 8, - множество из 2" точек, попадающий в начальные категории ГА, #(В21 +Ви) = ю. Процедура 1ВС в этом случае состоит в присвоении однобитового
бинарного идентификатора 0 для элементов множества в, и 1 в противном случае. Как и а (1), в, состоит из
множества точек с полными связями, в, - с неполными. По сравнению с ДРП избыточность ГП минимальна - добавляется только один символ, что при высокой разрядности кода некритично. Как и в методе ВФС, на пространстве в вводится дублирующее (фиктивное)
состояние А(, в которое производится декодирование
недопустимых кодовых комбинация. Алгоритм декодирования для ГП: Если искажения отсутствуют, то всегда
СсЛСсЛЛ.)) = А,-'
Если искажен символ кода сообщения ^ е8,, то кодовая комбинация является допустимой, Я = С1\ (/;> (ООУ (/«. {СОА (4))))) е А| и Д соседние. Свойство наименьшего искажения структуры сохраняется;
Если искажения попадают на кодовые комбинации, прообразы которых А.е В3|, то
4=С^(г;с\0СК([вг(Сса{А,))))) принимается в качестве исходного сообщения. Возникающая при этом ошибка соответствует тому, что декодированное сообщение А. близко к исходному А: (соседнее на графе ГА);
Если искажения приводят к появлению недопустимой кодовой комбинации, то в качестве результата декодирования берется Л, = Л . . При этом исходная
комбинация Д е В2г ив этом множестве декодируется в «точку сгущения» в:г;
Наиболее чувствительным является искажение идентификатора ]вс. Декодирование возможно в любом случае, но именно при таком результате помехи ошибка будет значимой. С другой стороны, как уже отмечалось выше, при высокой разрядности кода искажение одного конкретного символа является событием маловероятным.
Il
рштгг^ггН^
J ¡Y'i .__flKV4ir»
ft 32 M 128
Чкгв мы&м cao&uetM)
Рис. 1. Зависимость средней длины кодовых комбинаций от числа исходных сообщений
На рисунке 1 сплошные красные линии соответствуют гибридному подходу с добавлением идентификатора кластера к кодовой комбинации сообщения, штриховые красные линии - без добавления. Анализ представленной зависимости (рис. 1, сплошные линии) показал, что гибридный подход позволяет достичь наименьшей средней длины кодовой комбинации по сравнению С ДРП-методом, при условии, что все сообщения источника равновероятны. Полученный результат обусловлен тем, что в отличие двоичного разбиения пространства источника, при использовании гибридного подхода всегда образуются два кластера кодовых комбинаций, в которых один бит выделяется под префикс кластера Iис .
Рис. 2. Зависимость средней длины кодовых комбинаций от числа исходных сообщений, гибридный подход
При условии, что все N = 2" + ™, те(0;2"), сообщений источника равновероятны, гибридный подход позволяет достичь наименьшей средней длины кодовой комбинации (4), когда число точек т = 0,25 п (рис. 2),
MeanLenglh(N) = + + <ГЬьС>1+»-
(4)
где МеапЬеп^И - средняя длина кодовой комбинации, N =2" + т, ие( 0;2").
Также из рисунка 2 видно, что при т>0,5 п средняя длина кодовой комбинации будет составлять « + 1 бит, что соответствует ВФС-методу. Эта зависимость сохраняется при любом числе исходных сообщений.
Выводы
Для пространств источника с произвольным конечным числом равновероятных исходных сообщений jV-2 "+т, m е (0; 2" ), явным преимуществом обладают методы, основанные на введении фиктивных состояний, и гибридный подход за счёт меньшей средней длины кодовой комбинации по сравнению со ДРП-методом. Причём использование гибридного подхода при m < 0,5 ■ п даёт наилучший результат по этому критерию, а ВФС-метод, в свою очередь, обладает наибольшей простотой реализации.
Литература
1. Фенчук М.М., Синева И.С. Анализ помехоустойчивости генетического кодирования с применением циклического избыточного кода // T-Comm: Телекоммуникации и транспорт. -2014. -№11. -С. 108-112.
2. Баталов A3., Синева И.С. Оптимизация алгоритма генетического кодирования источника сообщений // T-Comm -Телекоммуникации и транспорт. - 2014. - №12. - С. 6-9.
3. Фенчук М.М., Синева И.С. Анализ помехоустойчивости БЧХ-кодов при предварительном генетическом кодировании метризированного источника сообщений // T-Comm - Телекоммуникации и транспорт. - 2015. - №2. - С. 30-33.
4. Синева И.С., Баталов А.Э. Повышение устойчивости совершенного кода Хэмминга к воздействию импульсных помех с использованием генетического кодирования источника // Фундаментальные проблемы радиоэлектронного приборостроения. - М.: Энергоатомиздат, 2013, часть 4, - С. 150-154.
5. Фенчук М.М, Баталов A3., Синева И.С. Повышение помехоустойчивости кодов CRC при помощи предварительного генетического кодирования метризованного источника сообщений // Фундаментальные проблемы радиоэлектронного приборостроения. - М.: Энергоатомиздат, 2013, часть 4. -С. 65-70.
6. Баталов A3., Синева И.С. Сравнительный анализ помехоустойчивых свойств генетических алгоритмов безызбыточного кодирования для кластеризующихся пространств источника // T-Comm: Телекоммуникации и транспорт. - 2015, -№1. - С. 68-74.
1. Фенчук М.М., Баталов A3., Синева И.С. Сравнительная помехоустойчивость кодов Грея и алгоритмов генетического типа // Фундаментальные проблемы радиоэлектронного приборостроения. - М.: Энергоатомиздат, 2014, часть 5, - С. 44-47.
8. Яковлев Д.А., Синева И.С. Применение параллельных вычислений в генетических алгоритмах поиска // Фундаментальные проблемы радиоэлектронного приборостроения. -М.: Энергоатомиздат, 2014, часть 5. - С. 214-219.
9. Аджемов A.C., Горбунов Н.В., Синева И.С. Оценка эффективности генетического алгоритма кодирования сообщений при различных распределениях источников и их разнообразных метризациях // В кн.: Научная конференция профессорско-преподавательского, научного и инженерно-технического состава, - М.: МТУСИ, 2002. - С. 106-107,
10. Синева И.С. Улучшение качества передачи кодами, опирающимися на топологию источника сообщений // В кн.: Технологии информационного общества: Тезисы докладов московской отраслевой научно-технической конференции, -М.: Инсвязьиздат, 2007. - С. 169-170.
■
GENETIC ALGORITHM OPTIMIZATION FOR SPACE OF ARBITRARY DIMENSION
Mikhail Fenchuk, Postgraduate student, Moscow Technical University of Communications and Informatics,
mikhail.fenchuk@gmail.com Irina Sineva, Professor, Moscow Technical University of Communications and Informatics, iss@mtuci.ru
Abstract
This paper examines the possible methods of genetic algorithm (GA) optimization for an arbitrary finite number of initial messages of the message source. It is assumed that all messages transmitted over the communication channel are codewords of a set of points of a multidimensional metric space. GA allows to minimize the effect of the most probable types of errors when they occur, without introducing additional redundancy: genetic-codeword received with an error will be decoded in close message, not only by code distance but also by the metric distance of a message source. In previous work, the authors examined methods to perform a break-even uniform genetic coding of a message source with N = 2n possible messages. But in the case of arbitrary dimension space it is necessary to make GA optimization in order to retain the basic properties of the genetic code combinations without additional redundancy. This paper examines three approaches to solve this problem. One of the possible methods is to introduce duplicate or fictitious states, which will be assigned to the remaining unused code combinations. This direction is represented by the genetic algorithm, which final step includes analysis of points with "partial connections", and then one of them are assigned to all unused codewords.
The second method is to partition the set of all N = 2" + m, m e(0, 2" ), points into subsets, each containing 2k, ke [0;n] , points. As a result of it there's a formation of clusters of codewords with different lengths, which entails the addition of proprietary information.
Finally, the third method, examined in this paper, is the hybrid approach based on previous two methods. The set of all N = 2" + m, me (0;2n) points is divided into two subsets 2n and m points for each, and then the latter is supplemented by introducing duplicate or fictitious states.
This paper includes a description of the advantages for presented methods.
Keywords: genetic algorithm, noise immunity, uniform coding, non-uniform coding, error correction.
References
1. Fenchuk M.M, Sineva I.S. (2014) 'Noise immunity analysis of genetic code using cyclic redundancy check method', T-Comm, (11), pp. 108-112. [in Russian]
2. Batalov A.E., Sineva I.S. (2014) 'Optimization of genetic algorithms of message source coding', T-Comm, (12), pp. 6-9. [in Russian]
3. Fenchuk M.M., Sineva I.S. (2015) 'Noise immunity analysis of BCH codes through using preliminary genetic-coded message source', T-Comm, (2), pp. 30-33. [in Russian]
4. Sineva I.S., Batalov A.E. (2013) 'Enhancing the stability of the perfect Hamming code to the effects of impulse noise using a genetic source coding', Fundamental problems of radio-electronic instrument; Proceedings of the International Scientific and Technical Conference INTERMATIC-2013; Energoatomizdat, (4), pp. 150-154. [in Russian]
5. Fenchuk M.M., Batalov A.E., Sineva I.S. (2013) 'Increase noise immunity of CRC codes using preliminary genetic coding of a metrized messages source', Fundamental problems of radio-electronic instrument; Proceedings of the International Scientific and Technical Conference INTERMATIC-2013; Energoatomizdat, (4), pp. 65-70. [in Russian]
6. Batalov A.E., Sineva I.S. (2015) 'Comparative analysis of error-correcting properties of genetic noise immunity coding algorithms for clustered source spaces', T-Comm, (1), pp. 68-74. [in Russian]
7. Fenchuk M.M., Batalov A.E., Sineva I.S. (2014) 'Comparative noise immunity analysis of gray codes and genetic algorithms', Fundamental problems of radio-electronic instrument; Energoatomizdat, (5), pp. 44-47. [in Russian]
8. Yakovlev D.A., Sineva I.S. (2014) 'Parallel computing in genetic search algorithms', Fundamental problems of radio-electronic instrument; Energoatomizdat, (5), pp. 214-219. [in Russian]
9. Adzhemov A.S., Gorbunov N.V., Sineva I.S. (2002) 'Evaluating the effectiveness of the genetic encoding algorithm for different distributions of sources and a variety of metrization', Scientific Conference of faculty, scientific and technical staff, materials; MTUCI, pp. 106-107. [in Russian]
10. Sineva I.S. (2007) 'Improving the quality of the transmission codes, based on the topology of the message source', Proceedings of the Moscow branch scientific and technical conference; Insvyazizdat, pp. 169-170. [in Russian]