Оптимизация алгоритма генетического кодирования источника сообщений

Оптимизация алгоритма генетического кодирования источника сообщений

Ключевые слова: генетические алгоритмы, оптимизация, кодирование, сообщения, ускорение.

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

Баталов А.Э.,

аспирант МТУСИ, i.alexey.batalov@gmail.com Синева И.С.,

профессор МТУСИ, irina_sineva@mail.ru

Введение

В данной статье будет рассматриваться алгоритм генетического кодирования источника сообщений» где источник сообщений представляет собой случайное поле точек. Для

удобства используются поля точек размера 2'' . Основной идеей алгоритма является копирование процессов живой природы, в том плане, что новые значения получаются путем «скрещивания» старых значений [1,2], При этом происходит образование нового качества («мутация») с его последующим «наследованием». Для новых значений выбираются только наилучшие значения исходя из заданного критерия. В данном случае точки кодируются таким образом, что близкие точки в пространстве источника также будут близкими в пространстве кодовых сообщений, то есть на единичном расстоянии, которое является минимальным расстоянием между различными кодовыми комбинациями. Важно отметить, что указанное свойство оптимальности выполняется не локально, а для всего ансамбля в целом. Тем самым при Ошибке в одном символе кодовой комбинации получаем комби наци ¡о, которая находится близко к исходной в пространстве источника [3]. Соответственно, если необходимо уменьшить влияние других типов ошибок (двукратные, пакетные), то меняется критерий для выбора наилучших значений. При реализации алгоритма возникла проблема высокой сложности и энергозатратности |4,5]. Дтя сокращения влияния этих факторов алгоритм был оптимизирован. Далее

будет представлено более подробное описание алгоритма генетического кодирования источника сообщений, после проведенной оптимизации.

Описание алгоритма

Как упоминалось ранее, источник сообщений представляет собой поле точек размера 2Л . После операции кодирования каждой точке будет присвоена уникальная двоичная комбинация длины N. В самом простом виде алгоритм сводится к последовательному присвоению двоичных комбинаций точкам. При этом на единичном расстоянии в кодовом пространстве будут те точки, которые близки в пространстве источника сообщений.

Разобьем множество всех возможных кодовых комбинаций на категории, в зависимости от количества единиц в самой комбинации. То есть (ООО...О) — точка нулевой категории, (100...О, 010...0, .,., ООО... 1) — точки первой категории и т.д. Ускорение работы алгоритма достигается специальной процедурой, которая представляет собой создание дополнительных матриц со всеми кодовыми комбинациями каждой конкретной категории. Сформируем матрицы для точек соответствующих категорий и отсортируем их строки по возрастанию, как массив двоичных чисел. Например, полученная матрица для первой категории А:

"0 . . 0 0 Г

0 . . 0 I 0

Я- 0 . . 1 0 0

. 0 0 0,

Размерность каждой следующей матрицы В, будет (Су,АГ), где А - номер категории. В зависимости от близости

в пространстве кодовых слов, необходимо определить какие комбинации будут являться наиболее близкими. [5 данном случае близкими будут считаться те точки, расстояние Хэм-минга между которыми равно единице, что соответствует рассмотрению импульсных битовых ошибок. Соответственно в зависимости от критерия меняется способ определения близких точек. Например, если необходимо сократить влияние двукратных ошибок, то у близких точек кодовое расстояние равно двум, хотя не обязательно комбинации с Кодовым расстоянием 2 получаются непосредственно друг из друга при воздействии пакетной ошибки длины 2 (например, 000000 переходит в 000101 при появлении двух пакетных ошибок вида 000011 и 000110) Выявление близких точек равносильно тому, что к каждой комбинации будут последовательно прибавляться комбинации длины Л', состоящие из всех нулей и единицы в одном разряде. Тем самым, количество близких точек для каждой комбинации равно N. Очевидно, что для точки нулевой категории (000...0) соседними являются все точки первой категории (100.. .0,010.. .0). Соответственно, у каждой точки первой категории будет одна соседняя точка нулевой категории и Л' - 1 соседних точек второй категории {100,..0, 010...0, .... 000..1). И так далее до точки категории N с кодовой комбинацией (1 11... I I), у которой соседними будут все точки N - 1 категории вида (1 11..,!0, 111,, ,01, .,., 01 I... 11). Получается, что определение близких точек категорий от 1 до N - 1 является нетривиальным. Для определения соседних точек будем последовательно брать нары матриц д. и д где /=|.Л'-2 и искать

расстояние Хэмминга между каждой возможной парой комбинаций, которые являю гея строками в матрицах. Результатом будет формирование матриц С, которые содержат сведения о близких комбинациях в соседних категориях, что позволяет существенно ускорить работу алгоритма генетического кодирования. Перебирая строки матриц ц и В) ,,

представляющих собой комбинации текущей катег ории I п следующей категории /+1, отмечаем те, кодовое расстояние между которыми равно !. Если это соответствуету-ой ароке д и А-оЙ строке В , то в матрице С, в /-ом столбце первый

свободный элемент будет равен к, Данный принцип формирования матрицы С, ~ принцип формирования стека. Например, кодовое расстояние между комбинациями (0001 1) и (001II)- единица. Тогда в матрицу С, в столбец ! запишем

индекс 1, так как обе комбинации являются первыми в евоей категории. Матрица С. в данном случае будет выглядеть

следующим образом:

(1 112 2 3 5 6

С. =

!

2 3 5 6

3

4 10

6 7 10

Это является подготовительным этапом для кодирования. Пусть источник сообщений представляет собой поле точек размерности 2Л . Составим матрицу расстояний О размера (2Л,2Л ), где каждый элемент Ы, Л соответствует евклидо-

вому расстоянию между ¿-ой и у-ой точками. Точка нулевой категории (000...0) будет кодовой комбинацией такой точки, которая наименее удалена от всех прочих, т.е. точки сгущения. Для того, чтобы найти её, произведем суммирование всех строк или всех столбцов матрицы расстояний О и найдем минимальный элемент в полученном векторе. Индекс минимального элемента будет индексом точки, которая наименее удалена от всех остальных точек:

= ПНИ ¡V 0(1.У)|

Точки первой категории (100...0, 010...0) будут соответствовать наиболее близким к точке пулевой категории g .

Дчя этого возьмем строку или столбец матрицы D е индексом ga и найдем индекс наименьшего ненулевого элемента.

Это будет первая точка первой категории g 1. Затем ищем

индекс следующего наименьшего элемента, это будет вторая точка первой категории ,. И гак далее до точки .

g,, = arg min [D(g„,,./), I < J <2J * g0)}

Su = ar§ mirtiZ>(gn , i j ¿2я,j * go l, j Ф gu}

#.m = arg mrn^g,,,, j), IS j S * gLN. , I

Точкам второй категории (110...0, 101...0) будут соответствовать такие точки, которые наименее удалены от конкретных пар точек первой категории, т.к. у каждой точки второй категории ровно две близких точки первой категории. Например, у точки второй категории (10001) есть две соседних из первой категории (10000 и 00001, соответствен-но g и g ), таким образом комбинацию (10001) необходимо присвоить такой точке, которая наименее удалена от точек с индексами и g . Аналогичные рассуждения

проводятся для точек третьей и последующих категорий. Соответственно для точек третьей категории нужно будет использовать тройки комбинаций второй категории, для четвертой - четверки комбинаций третьей и т.д. Для нахождения точек второй и последующих категорий введем матрицу промежуточных расстояний pp. t. Размер матрицы будет (C'j',2ff)- Номера строк матрицы будут соответствовать

номерам точек категории j+1, а номера столбцов номерам всех точек источника. Далее все операции для матриц DI] , и

D будут проводиться только со строками матриц, потому индексы столбцов будет опущены. То есть, DP2(3) - третья

строка матрицы DP-,  Теперь используем матрицу С, в которой в каждом столбце указаны номера комбинаций категории /+1, которые являются близкими к комбинации с номером текущего столбца. Обозначим с - столбец/ матрицы

Сг Следовательно, сп(2) соответствует второму элементу второго столбца матрицы С3  Процесс формирования матрицы DPt , итерационен, потому введем матрицу «нулевого» шага = 0. то есть матрица, состоящая из нулей, размера (С"',21)' Затем, на первом шаге, к строкам матрицы DP'"\ которые соответствуют значениям вектора ея прибавим строки матриц D, которые соответствуют строке с индексом g !

DP^(clt(k))^ ÜP^(cll(k)) + D(g,t)A<k <. N-i

Соответственно, продолжаем для второго столбца матриц С, , который будет иметь следующее обозначение са и

который соответствует точке gn второй точке категории /.

= DP^(ci2(k)) + Dig,.,), I < к < N -i

И так далее. В общем виде будет записано следующем образом

Dp'X(cjk)) = dp;:, u(cjk)) + ü(gr n}, I < к < д' -/,i £ « < с;.

Далее, матрицу, полученную на финальном шаге, для удобства будем обозначать без дополнительного индекса

DPM- Затем вычеркиваем все столбцы, которые соответствуют точкам, которые уже имеют нулевую, первую, i-1 категорию. То есть все точки, которые уже «заняты». Математически это означает, что

Теперь ищем минимальный элемент матрицы DPM• Номер строки минимального элемента будет соответствовать номеру кодовой комбинации второй категории, которую подучит новая точка. Номер столбца соответствует номеру точки, которой необходимо будет присвоить соответствующую кодовую комбинацию. Затем, вычеркиваем столбец и строку, которые содержат минимальный элемент.

= arg min {DPM(k, Д l<i<C»M<_/< 2V}

DP2(k,j) = v,k = k^>\<j<2}'

Повторяем поиск минимального элемента до тех пор, пока все строки и столбць[ не будут вычеркнуты. После этого получим набор точек, которым были присвоены соответствующие комбинации категории j' + l. Это позволяет сформировать матрицу ОР, , и получить точки категории i + 2. Повторяем до точек категории N-1. Так как точка категории N -одна, то остающаяся неиспользованная точка является точкой категории N и ей присваивается комбинация (111...1). Остальным точкам приписываются комбинации исходя из их порядка в матрицах ß Например, точке g приписывается первая комбинация из матрицы в,, то есть (ООО. ..011),

Оценка времени работы

Для оценки времени работы было выполнено кодирование для полей точек размера от 24 до 2". Полученные данные представлены на рис. 1, где N соответствует двоичному логарифму от количества точек. Также представлена экспоненциальная регрессия, которая была построена по имеющимся даным.

N

Рис. 1. Оценка времени работы

Уравнение регрессии 1=1,623ТО"9 где время из-

меряется в секундах. Стоит отметить, что коэффициент детерминации Д2 равен единице, то есть данная модель описывает все данные. Таким образом, факториальную вычислительную сложность прямого перебора, предложенная оптимизация превращает в экспоненциальную. При больших вычислительных мощностях, время соответственно сокращается.

Основой оптимизации алгоритма генетического кодирования источника сообщений является введение дополнительных матриц. Матрицы являются одинаковыми для каждого отдельного # и не зависят от характеристик поля точек. Тем самым, выполнив предварительный этап один раз, можно быстро и эффективно проводить генетическое кодирование, анализировать сетевой трафик и оптимизировать топологию сети [6,71.

1. Аджемов A.C., Горбунов Н.В., Синева И.С. Оценка эффективности генетического алгоритма кодирования сообщений при различных распределениях источников и их разнообразных метри-зациях. В кн: Научная конференция профессорско-преподавательского, научного и инженерно-технического состава, Москва, 2002: материалы. - М.: МТУСИ, 2002. - С. 106-107.

2. Синева И.С. Улучшение качества передачи кодами, опирающимися на топологию источника сообщений. В кн.; Технологии информационного общества: Тезисы докладов московской отраслевой научно-технической конференции. - М.; Инсвязьиздат, 2007. -С. 169-170.

3. Баталов А.Э. Морфизмы пространств кодов и источников с согласованными топологиями. В кн.: Сборник тезисов участников VI Международного молодежного форума и IX Международной научно-технической конференции студентов и молодых специалистов из стран участников Регионального содружества в области связи «Информационные технологии в мире коммуникаций», Москва, 13-18 мая 2013. - С.10-11.

4. Синева И.С., Баталов А.Э. Повышение устойчивости совершенного кода Хэмминга к воздействию импульсных помех с использованием генетического кодирования источника. Фундаментальные проблемы радиоэлектронного приборостроения / Материалы Международной научно-технической конференции «1NTERMATIC-2013», 2-6 декабря 2013 г„ Москва / Под ред академика РАН АС. Сигова. - М.: Энергоатомиздат, 2013, часть 4. -С. 150-154.

5. Синева И.С., Батаюв А.Э.. Фен чу к М.М. Повышение помехоустойчивости кодов CRC при помощи предварительного генетического кодирования метризованного источника сообщений. Фундаментальные проблемы радиоэлектронного приборостроения / Материалы Международной научно-технической конференции «1NTERMAT1C-20Í3», 2-6 декабря 2013 г., Москва / Под ред академика РАН АС. Сигова. - М.: Энергоатом издат, 2013, часть 4. -С, 65-70.

6. Синева И.С. Методика анализа сложности топологии сети, основанная на статистическом анализе обслуживаемого ею трафика. В кн: Научная конференция профессорско-преподавательского, научного и инженерно-технического состава, Москва, 2006: материалы. - М.: МТУСИ, 2006. - С.67-68.

7. Синева И.С. Будущий Интернет: сетевой подход // Фундаментальные проблемы радиоэлектронного приборостроения, 2010, -Т. 10, № 1-3.-С. 237-240.

Заключение

Литература

Optimization of genetic algorithms of message source coding

Alexey Batalov, post-graduate student of MTUCI, i.alexey.batalov@gmail.com Irina Sineva, associate professor of MTUCI, irina_sineva@mail.ru

Abstract

The main principle of error-correcting coding is to introduce redundancy. But in some cases it may be ineffective or undesirable. Therefore a specific class of algorithms was developed, which allow coding the source without introducing additional redundancy, while improving the decoding result if an error occurs. The basis of this algorithm is the key principles of genetics, so we will call them genetic algorithms. To improve noise immunity the message source encoded using genetic algorithms. The basic idea of the algorithm is to encode the source so as to close to each other messages in the original space and were close in code space. Thereby, the distortion of the codeword in a communication channel results to the fact that the codeword becomes different codeword close to the first, and hence it is also close in the source space. Ideas genetic algorithms implemented as follows. At each step there is a set of points already received codewords. These points are considered to be parent points. Further points are the least distant from the parents are descendant points. In the next step descendants are parents now and offspring are the new descendant points. And so long as each point receives a codeword. This coding principle, although it has much lower computational complexity compared to the brute-force coding options, is still a time-consuming and energy-intensive, and to reduce the impact of these factors was the optimization algorithm. A key feature of the optimization is to calculate all possible combinations of points and points-parent-offspring at a preliminary stage. This has reduced the processing time, reduced the amount of resources required for the method's operation and provided an opportunity to examine the message sources of higher dimensions. In addition, the time-consuming analysis was conducted for sources with a very large number of possible initial messages. Faster and more efficient algorithm will be the basis for the further research.

Keywords: genetic algorithms, optimization, coding, messages, acceleration. References

1. AdzhemovAS., Gorbunov N.V., Sineva I.S., 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, Moscow, 2002: materials. Moscow: MTUCI, 2002. Pp. 106-107.

2. Sineva I.S., Improving the quality of the transmission codes, based on the topology of the message source. In the book: Information Society Technologies: Proceedings of the Moscow branch scientific and technical conference. Moscow: Insvyazizdat, 2007. Pp. 169-170.

3. Batalov A.E., Morphisms of code spaces and sources with concordant topologies. In the book: Abstracts of the VI International Youth Forum and IX International scientific and technical conference of students and young professionals from the countries of the Regional Commonwealth in the field of communication, "Information technology in the world of communications", Moscow, May 13-18, 2013. Pp.10- 11.

4. Sineva I.S., Batalov A.E., Enhancing the stability of the perfect Hamming code to the effects of impulse noise using a genetic source coding. Fundamental problems of radioelectronics / Proceedings of the International Scientific and Technical Conference "INTERMATIC-2013", 2-6 December 2013, Moscow / Ed Academician AS. Sigova. Moscow: Energoatomizdat, Part 4, 2013 Pp. 150-154.

5. Sineva I.S., Batalov A.E., Fenchuk M.M. Increase noise immunity of CRC codes using preliminary genetic coding of a metrized messages source. Fundamental problems of radioelectronics / Proceedings of the International Scientific and Technical Conference "INTERMATIC-2013", 2-6 December 2013, Moscow / Ed Academician AS. Sigova. Moscow: Energoatomizdat, Part 4, 2013. Pp. 65-70.

6. Sineva I.S. Method of analysis of the network topology complexity based on a statistical analysis of traffic served by it / Scientific Conference of faculty, scientific and technical staff, Moscow, 2006: materials. Moscow: MTUCI, 2006. Pp. 67-68.

7. Sineva I.S. Future Internet: a network approach / Fundamental problems of radioelectronics. Vol.10, No1-3, 2010. Pp. 237-240.