УДК 519.872
ИССЛЕДОВАНИЕ ЭФФЕКТИВНОСТИ РАБОТЫ ГЕНЕТИЧЕСКОГО АЛГОРИТМА ОПТИМИЗАЦИИ С АЛЬТЕРНАТИВНЫМ ПРЕДСТАВЛЕНИЕМ РЕШЕНИЙ*
И. А. Панфилов, Е. П. Базанова, Е. А. Сопов
Сибирский государственный аэрокосмический университет имени академика М. Ф. Решетнева Российская Федерация, 660014, Красноярск, просп. им. газ. «Красноярский рабочий», 31 Е-шаіі; [email protected], [email protected]
Описывается исследование различных вариантов представления решений в генетическом алгоритме. Помимо традиционных бинарного кодирования и кода Грея, используемых для представления вещественных переменных, в исследовании рассмотрены: гамма- и дельта-коды Элиаса, гамма-коды Левенштейна, коды Го-ломба, коды Райса и другие. Для апробации данных представлений использовался модифицированный генетический алгоритм с переменной длиной строк. Проводится статистическая значимость данных параметров для работы алгоритма. Приводятся результаты численных исследований на представительном множестве тестовых задач. Показана целесообразность использования некоторых альтернативных видов кодирования для отдельных задач.
Ключевые слова: генетический алгоритм, бинарное кодирование, оптимизация.
INVESTIGATION OF THE GENETIC ALGORITHM WITH AN ALTERNATIVE REPRESENTATION OF SOLUTIONS
I. A. Panfilov, E. P. Bazanova, E. A. Sopov
Siberian State Aerospace University named after academician M. F. Reshetnev 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660014, Russian Federation E-mail: [email protected], [email protected]
This paper describes the reaserch of the various options of representation of solutions in the genetic algorithm. Besides traditional binary coding and Gray code used to represent the real variables, Elias Gamma-codes and Delta-codes, Levenstein Gamma-codes, Golomb codes, Rice codes and others are examined. To test the data representations, a modified genetic algorithm with variable-length strings is used. This paper deals with the statistical significance of these parameters for the algorithm. The results of numerical studies are presented. The expediency of the use of some alternative coding for the individual tasks is shown.
Keywords: genetic algorithm, binary coding, optimization.
Огромное число работ посвящено исследованию ]
генетических алгоритмов. Традиционно исследовате- ]
ли рассматривают влияние вероятности мутации, раз- ]
мера популяции, способов селекции и др., легко на- ]
страиваемые параметры алгоритма. Представление решений же, как правило, осуществляется кодирова- ]
нием в бинарную строку вещественных переменных с помощью традиционного бинарного кодирования или <
грей-кода. Целью данной работы было исследовать 1
возможность применения в генетическом алгоритме альтернативных способов бинарного кодирования вещественных чисел.
При проектировании генетического алгоритма выбор способа представления решений является определяющим. В зависимости от решаемой задачи состав- i
ляют хромосомы решений из вещественных чисел,
целых чисел, специальные алфавиты, используют порядковое представление, представление в виде «деревьев» и др. Стандартный генетический алгоритм использует в качестве хромосомы бинарный вектор.
Представление хромосом определяется способом кодирования. Как правило, в генетическом алгоритме применяется двоичное представление хромосом. Оно основано на известном способе записи десятичных чисел в двоичной системе, где каждый бит двоичного кода соответствует очередной степени цифры 2. Например, двоичная последовательность [10011] представляет собой код числа 19, поскольку 1*24+0*23+0*22+1*21+1*21=19. Данный способ кодирования решений будем называть прямым бинарным кодом. Существует много способов бинарного кодирования решений, рассмотрим некоторые из них.
* Данное исследование проводится при поддержке гранта Президента РФ молодым кандидатам наук на 2012-2013 гг. (МК-2835.2012.9).
Код Грея - это бинарный код целого числа, такой, что для смежных целых чисел расстояние между их кодами в метрике Хемминга равно 1.
Стандартное рефлексивное грей-кодирование целого числа получается применением оператора исключающего ИЛИ, к стандартному бинарному кодированию целого числа и к тому же бинарному коду, смещенному на одну позицию вправо, последний бит отсекается.
Для многих практических задач код Грея оказывается более эффективным, чем бинарное кодирование [1]. Код Грея частично сохраняет структуру окрестностей пространства поиска в бинаризованном пространстве. В результате, грей-код не может образовать оптимумов больше, чем у исходной целевой функции. Более того, так как у текущей точки в коде Грея соседних точек больше, чем в дискретной целевой функции, то в пространстве поиска грей-кода число оптимумов обычно меньше. В противоположность, прямой бинарный код часто создает новые оп-тимумы, которых у исходной целевой функции не было [2].
Практически не встречается в научной литературе использование для генетического алгоритма бинарных кодов с переменной длиной. Значащие цифры начинаются со старшей ненулевой цифры, например, в числе 0000011012=1*2°+0*21+1*22+1*23+0*24+0*...=13 это последние 4 цифры. Порядок числа определяется позицией старшей ненулевой цифры в записи числа. Как и при обычной записи в десятичной системе, он равен числу цифр в записи числа без предшествующих незначащих нулей. В данном примере порядок равен четырем. Методы этой группы являются трансформирующими и поточечными (т. е. могут применяться даже в том случае, когда длина блока с данными не задана).
Унарный код - это запись числа N, последовательность из N нулевых бит и одного единичного.
Гамма-коды Элиаса (Elias y-codes). Данные коды формируются в зависимости от диапазона числа. Допустим, кодируется число n, тогда гамма-кодом Элиаса для числа n будет его обыкновенное бинарное представление без старшей единицы, дополненное слева унарным представлением числа (табл. 1).
Дельта-коды Элиаса (Elias д-codes). Дельтакодами Элиаса называются гамма-коды, в которых унарная часть также закодирована гамма-кодами. То
есть для получения дельта-кода нужно закодировать L (количество значащих битов в двоичном представлении числа п) с помощью гамма-кода Элиаса и дописать двоичное представление числа без старшей единицы (табл. 2).
Таблица 2
Дельта-коды Элиаса
Диапазон Дельта-коды Элиаса* Длина кода, бит
1 1 1
2...3 010x 4
4...7 011xx 5
5 8 00100xxx 8
16...31 00101xxxx 9
32...63 00110xxxxx 10
Единственное отличие между у- и 5-кодами состоит в том, что в у-кодах экспоненты записываются в унарном виде, а в 5-кодах к ним еще раз применяется у-кодирование. Видно, что у-коды первых 15 чисел короче 5-кодов, а у-коды первых 31 числа не длиннее 5-кодов. То есть чем неравномернее распределение вероятностей, чем круче возрастает вероятность чисел при приближении их значения к нулю, тем выгоднее у - коды по сравнению с 5-кодами [3].
Гамма-коды Левенштейна (Levenstein y-codes). Данный код для числа n получается путем обращения последовательности битов в двоичной записи этого числа и добавления перед каждым битом, кроме последнего, флагового (flag bit) бита 0. Последним флаговым битом является бит 1, который совпадает с самым старшим битом в исходной двоичной записи числа n (табл. 3).
Таблица 3
Гамма-коды Левенштейна
n Гамма-коды Левенштейна
1 1
5 01001
13 0100011
63 01010101011
129 010000000000001
Коды Голомба (Golomb codes). Код Голомба для n с заданным параметром m, дает соединение двух кодов: унарная запись числа q = n/m и кодированный остаток r от деления n/m:
Если m является степенью числа 2, то код остатка представляет собой двоичную запись числа r, размещённую в log2m битах;
Если m не является степенью 2, вычисляется число b = log2m.
Если r < 2b-m, код остатка представляет собой двоичную запись числа r, размещённую в b-1 битах, иначе остаток r кодируется двоичной записью числа r < 2b-m, размещённой в b битах (табл. 4).
Коды Райса (Rice codes). Код Райса для n с заданным параметром k дает соединение двух кодов: унарная запись числа q = n/2k и кодированный остаток r от деления n/2k, представляющий собой двоичную запись числа r, размещённую в k битах (табл. 5).
Таблица 1
Гамма-коды Элиаса
Диапазон Гамма-коды Элиаса* Длина кода, бит
1 1 1
3 2 01x 3
4...7 001xx 5
5 8 0001xxx 7
31 6 00001xxxx 9
32...63 000001xxxxx 11
* Символами «х» обозначены биты мантиссы без старшей единицы.
Таблица 4
Коды Голомба
n/m 1 2 3 4 5
0 0 00 00 000 000
1 10 01 010 001 001
2 110 100 011 010 010
3 1110 101 100 011 0110
Таблица 5
Коды Райса
n/m 1 2 3 4 5
0 0 000 0000 00000 000000
1 10 001 0001 00001 000001
2 110 010 0010 00010 000010
3 1110 011 0011 00011 000011
Стандартный генетический алгоритм работает с бинарными хромосомами с фиксированной длиной. В данной работе использовался модифицированный генетический алгоритм, в котором были реализованы операторы процентного скрещивания для хромосом с переменной длиной [4].
Исследование эффективности генетического алгоритма проводилось на задаче минимизации следующих тестовых функций: функция Розенброка, функция Шекеля, функция Растригина, функция Катнико-ва, функция Гриванка, функция Де Йонга. Количество независимых переменных изменялось от 2 до 4. Длина каждой переменной для генетического алгоритма с прямым бинарным и грей-кодированием была взята
Результаты
равной 10. Для генетического алгоритма с кодированием гамма- и дельта-кодами Элиасса, гамма-кодами Левенштейна, кодами Голомба и Райса длина каждой переменной из меняется от 1 до 15. Статистика набралась по 100 запускам алгоритма. Размер популяции -50 индивидов. Число поколений - 50. Для оценки эффективности алгоритмов использовалась надежность. Надежность - процент успешных запусков (решение найдено) алгоритма от общего числа запусков. Результаты решения тестовых задач приведены в табл. 6.
Из табл. 6 видно, что наилучший результат показал алгоритм с кодированием решений с помощью кода Райса. Генетический алгоритм с прямым бинарным кодированием хорошо работает на простых задачах, когда допустимая область обладает удобными для оптимизации свойствами (большой размер, выпуклая и т. д.). Однако из полученных результатов можно сделать вывод, что для сложных задач безусловной оптимизации генетический алгоритм с кодом Райса дает более высокую эффективность.
Для оценки статистической значимости полученных результатов использовался критерий ANOVA. Критерий ANOVA представляет собой непараметрическую оценку Манна-Уитни при значимости а =
0,05. Сравнения проводились попарно для каждого алгоритма со всеми остальными, представленными в табл. 6. Метод ANONA позволил определить, что различия результатов сравнения алгоритмов статистически достоверны.
Таблица 6
тестовых задач
Функция Растригина
Способ кодирования Прямой бинарный код Код Грея Гамма-коды Элиаса Дельта-коды Элиаса Гамма-коды Левенштейна Коды Райса
Надежность 25 67 50 17 17 84
Функция Гриванка
Способ кодирования Прямой бинарный код Код Грея Гамма-коды Элиаса Дельта-коды Элиаса Гамма-коды Левенштейна Коды Райса
Надежность 25 75 50 17 17 84
Функция Катникова
Способ кодирования Прямой бинарный код Код Грея Гамма-коды Элиаса Дельта-коды Элиаса Гамма-коды Левенштейна Коды Райса
Надежность 75 84 67 17 84 100
Функция Шекеля
Способ кодирования Прямой бинарный код Код Грея Гамма-коды Элиаса Дельта-коды Элиаса Гамма-коды Левенштейна Коды Райса
Надежность 50 75 67 20 84 100
Функция Де Йонга
Способ кодирования Прямой бинарный код Код Грея Гамма-коды Элиаса Дельта-коды Элиаса Гамма-коды Левенштейна Коды Райса
Надежность 75 75 100 100 67 100
Функция Розенброка
Способ кодирования Прямой бинарный код Код Грея Гамма-коды Элиаса Дельта-коды Элиаса Гамма-коды Левенштейна Коды Райса
Надежность 59 84 50 34 50 84
Функция «Сомбреро»
Способ кодирования Прямой бинарный код Код Грея Гамма-коды Элиаса Дельта-коды Элиаса Гамма-коды Левенштейна Коды Райса
Надежность 75 84 50 17 50 100
Таким образом, показана эффективность использования в генетическом алгоритме для решения задач оптимизации не только хорошо известных методов бинарного кодирования (прямой метод и грей-код), но и альтернативных способов. Особый интерес альтернативные способы кодирования представляют для гибридных генетических алгоритмов с локальным спуском. В данный момент проводятся исследования таких алгоритмов.
Библиографические ссылки
1. Caruana R., Schaffer J., Representation and Hidden Bias: Gray vs. Binary Coding for Genetic Algorithms. Proc. 5 th International Conference of Machine Learning, 1988.
2. Whitley L. D. A Free Lunch Proof for Gray versus Binary Encoding. Proc. Genetic and Evolutionary Computation Conference, 1999.
3. Ватолин Д., Ратушняк А., Смирнов М., Юкин
В. Методы сжатия данных. Устройство Архиваторов, сжатие изображений и видео. М. : Диалог - МИФИ, 2003. 384 с.
4. Ефимов С. Н., Панфилов И. А. Разработка метода выбора структуры многопроцессорных вычислительных систем // Вестник СибГАУ. 2006. Вып. 1(8).
С. 22-26.
References
1. Caruana R., Schaffer J., Representation and Hidden Bias: Gray vs. Binary Coding for Genetic Algorithms. -Proc. 5th International Conference of Machine Learning, 1988.
2. Whitley L.D. A Free Lunch Proof for Gray versus Binary Encoding. Proc. Genetic and Evolutionary Computation Conference, 1999.
3. Vatolin D., Ratushnjak A., Smirnov M., Jukin V. Metody szhatiya dannykh. Ustroystvo Arkhivatorov, szhatiye izobrazheniy i video (Data compression methods. The device archiver, compress images and videos). Мoscow, DIALOG - MIFI, 2003, 384 p.
4. Efimov S. N., Panfilov I. A. Vestnik SibGAU. 2006, no. 1(8), p. 22-26.
© Панфилов И. А., Базанова Е. П., Сопов Е. А. 2013
УДК 004.021
МОДУЛЯРНЫЕ ВЫСОКОТОЧНЫЕ ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ С ИСПОЛЬЗОВАНИЕМ НЕЙРОСЕТЕВЫХ ТЕХНОЛОГИЙ*
В. С. Ростовцев, Е. И. Зорин, Е. А. Грачёв
Вятский государственный университет Российская Федерация, 610000, Киров, ул. Московская, 36. Е-mail: [email protected]
Моделируются высокоточные параллельные вычисления с повышенной разрядностью, основанные на модулярной арифметике с преобразованием чисел из позиционной системы счисления в систему остаточных классов и обратно с помощью нейронных сетей. Применение нейронных технологий позволяет распараллелить вычисления на уровне алгоритма решения задачи, а применение модулярной арифметики дает возможность повысить быстродействие высокоточных вычислений за счёт перехода к обработке малоразрядных данных и применения параллельной обработки на уровне выполнения элементарных арифметических операций. Построены нейронные сети для перевода из позиционной системы счисления в систему остаточных классов и обратно. Получены зависимости времени перевода от изменения разрядности. Получены зависимости времени выполнения операций сложения, вычитания и умножения для чисел с фиксированной запятой от изменения разрядности.
Ключевые слова: нейросетевые технологии, система остаточных классов, высокоточные вычисления, параллельные вычисления.
RESIDUAL HIGH-PRECISION PARALLEL COMPUTING WITH USING OF NEURAL NETWORKS
V. S. Rostovtcev, E. I. Zorin, E. A. Grachev
Vyatskiy State University 36, Moskovskaya str., Kirov, 610000, Russian Federation. E-mail: [email protected]
*
Работа выполнена в рамках гранта по реализации федеральной целевой программы «Научные и научно-педагогические кадры инновационной России» на 2009-2013 гг., утвержденной постановлением Правительства Российской Федерации. Соглашение № 14.B37.21.0590.