Адаптивный алгоритм для решения задач оптимизации на основе стратегии элитизма

УДК 681.31

А.Ю. Полуян

АДАПТИВНЫЙ АЛГОРИТМ ДЛЯ РЕШЕНИЯ ЗАДАЧ ОПТИМИЗАЦИИ НА ОСНОВЕ СТРАТЕГИИ ЭЛИТИЗМА

При решении оптимизационных задач успешно используют стратегии, концепции, методы и механизмы эволюционного моделирования на основе бионического поиска. Бионический поиск - это последовательное преобразование одного конечного нечеткого множества альтернативных решений в другое. Само преобразование называется генетическим алгоритмом (ГА). Цель ГА состоит в том, чтобы [1]:

♦ обьяснить абстрактно и формально адаптацию процессов в естественной среде и интеллектуальной информационной системе;

♦

решения оптимизационных задач науки и техники.

Задача о минимальном пути как одна из важнейших оптимизационных задач была выбрана объектом исследования, потому, что техника ее решения хорошо известна и изучение нового метода на данной задаче позволит в дальнейшем с его помощью решать другие, более сложные задачи, которые в данный момент решать затруднительно. Отметим, что задача о минимальном пути относится к классу № полных проблем [2]. Основной трудностью решения данных задач, является предварительная сходимость алгоритмов, т.е. попадание решения в локальный оптимум. Поэтому целесообразно использовать ГА для решения указанной задачи. В последнее время в области исследований, направленных на повышение эффективности генетических алгоритмов, большое значение приобрели идеи создания адаптивных генетических алгоритмов, которые могут изменять свои параметры в про. , которые в процессе работы изменяют размер популяции. Идея адаптивных генетических алгоритмов получила свое воплощение в концепции пОЛ, представляющей многоуровневые генетические алгоритмы. Нижний уровень такого алгоритма непосредственно выполняет задачу улучшения популяции решений. Верхние уровни представляют собой генетические алгоритмы, решающие оптимизационную задачу по улучшению параметров алгоритма нижнего уровня. При этом в качестве целевой функции используется обычно скорость работы алгоритма нижнего уровня и скорость улучшения им популяции от поколения к поколению.

Основная особенность генетического алгоритма состоит в том, что анализируется не одно решение, а некоторое подмножество квазиоптимальных решений, называемых хромосомами и состоящих из генов. Это подмножество носит название "популяция". В данной реализации начальная популяция формируется случай.

включается хромосома, описывающая маршрут по "жадному" алгоритму. Для рассматриваемой задачи хромосома описывает последовательность номеров вершин

.

Для хромосомы вычисляется целевая функция ¥(к), где к - маршрут, описы-. -

.

.

В рассматриваемом генетическом алгоритме реализована стратегия элитизма, при которой несколько лучших индивидуумов переходят в следующее поколение без изменений. Количество элитных индивидуумов К1 определяется по формуле:

К1 = (1 - 80) * ЯР,

где 80 - степень обновления популяции, ЯР - размер популяции.

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

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

Адаптивный генетический алгоритм поддерживает такую архитектуру гене,

вновь созданным хромосомам.

После скрещивания и мутации размер популяции увеличивается. Однако для последующих преобразований необходимо сократить число хромосом текущей популяции. Такая процедура носит название селекции. В текущей популяции, состоящей из родителей и потомков, производится отбор лучших решений, т.е. хромосом с наилучшим значением ШпеББ-функции (целевой функции).

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

ШпеББ-функции. Таким образом, для адаптивного генетического алгоритма выделяется четыре основных этапа:

1) ;

2) ( );

3) ( -

);

4) селекция текущей популяции.

,

, -

лении. Поэтому оно меняется от попытки к попытке. Для получения наилучшего результата работы генетического алгоритма рекомендуется сделать несколько попыток (3-5).

Общую схему генетического алгоритма можно представить следующим об:

1. .

2. " " .

3. .

Шаг 4. Порядковый номер попытки 1=1 (/ = 1, КР ). (КР - количество попыток) Шаг 5. Формирование начальной популяции /-ой поп ытки.

Шаг 6. Целенаправленное изменение хромосом начальной популяции.

Шаг 7. Порядковый номер генерации /'-ой поп ытки }=1 (} = 1, ТО).

Шаг 8. Выделение элиты и формирование текущей /'-ой популяции.

Шаг 9. Скрещивание хромосом в /'-ой популяции.

Шаг 10. Мутация х ромосом в /'-ой популяции.

11. .

Шаг 12. Добавление но вых хромосом к /'-ой популяции.

Шаг 13. Селек ция в /'-ой популяции.

14. / - .

Шаг 15. Переход к следующей популяции:/=/+1.

16. / ТО, 8, -

маршрута /'-ой попытки.

Шаг 17. Переход к следующей попытке: 1=1+1.

Шаг 18. Если 1<КР, то переход к шагу 5, иначе определение наилучшего маршрута за время работы алгоритма.

Шаг 19. Вывод результирующего маршрута.

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

, , , -.

В данном алгоритме реализованы модифицированные операторы кроссинго-вера и мутации. Оператор кроссинговера является модифицированным, так как в нём предусмотрен механизм, исключающий возникновение "нелегальных" решений. Такими решениями считаются хромосомы, не отвечающие условию задачи.

Общую схему реализованного оператора скрещивания можно представить :

Шаг 1. Выбрать хромосому с лучшим значением целевой функции Е(к) в те, .

Шаг 2. Порядковый номер итерации 1=1.

Шаг 3. Сгенерировать случайное число гпё, причём 0<тё<1.

Шаг 4. Если гпё < РБ, то выбрать /'-ую хромосому в текущей популяции в качестве второго родителя, применить операцию скрещивания к выбранным хромосомам и запомнить получившихся потомков.

Шаг 5. Переход к следующей итерации: 1=1+1.

Шаг 6. Если / < ЯР (р^мер популяции), то перейти к шагу 3.

7. .

Оператор мутации (ОМ) реализуется на основе простых чисел, вычислительная сложность алгоритма такого оператора линейна в одной итерации. Упрощенным видом ОМ является использование нечетных и четных чисел в качестве места точек разрыва, а также различные комбинации последовательности выбора четных и нечетных позиций генов в качестве точек разрыва.

Оператор селекции формирует новое поколение из хромосом с лучшими значениями целевой функции ¥(к). Он уничтожает большую часть популяции и освежает генетический материал, пополняя популяцию большим количеством новых .

ЯР.

Оператор инверсии изменяет характер связей между компонентами хромосомы. Он берёт хромосому, случайным образом выбирает в ней две точки разрыва и

, [3].

Оператор разнообразия также вносит изменения в отдельного индивидуума, но это очень небольшие изменения в каждой хромосоме, а не сильное изменение

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

Критерий остановки алгоритма может быть разным. Можно задать фиксированное число генераций. Можно на каждой итерации полученное решение сравнивать с оптимальным, пока не будет достигнута желаемая точность.

Для повышения скорости работы алгоритма предлагается параллельная обработка информации. Существует гипотеза, что в параллельной системе с п процессорами, производительность каждого из которых равна единице, общая производительность растет как log2n [1].

Для данного алгоритма разработан программный комплекс решения задачи коммивояжера. На рис. 1 изображен результат работы генетического алгоритма к , -полнения алгоритма. Менее жирная полоска - самое лучшее решение, найденное на данном шаге, а более жирная - общее качество популяции, т.е. среднеарифметическое всех решений на данном шаге, посредине отображается диаграмма. Если навести курсор на любой из столбцов, то появиться подсказка о шаге, к которому . ,

.

Анализ полученных данных говорит о том, что предложенная в работе стратегия использования генетического алгоритма позволяет: получать набор оптимальных решений, является гибкой, обладает высоким быстродействием (15%-30%) на одних и тех же входных данных, по сравнению с другими алгоритмами. ВСА=Ю(п2).

Рис. 1. Столбчатая диаграмма значений ЦФ на последовательных итерациях

БИБЛИОГРАФИЧЕСКИМ СПИСОК

1. Гладков Л.А., Курейчик В.М, Курейчик В.В. Генетические алгоритмы. - Ростов-на-Дону: Ростиздат, 2004.

2. Ахо А., Хопкрофт Дж., Ульман Д. Построение и анализ вычислительных алгоритмов. -М.: Мир, 1979.

3. ГладкоеЛ.А. Генетические операторы. - Таганрог Изд-во: ТРТУ, 2005

4. ., . . .

- М.: Мир, 1985.

УДК 687.06

..

РАЗРАБОТКА ГЕНЕТИЧЕСКОМ МОДЕЛИ ПОИСКА ПРОСТЫХ ЧИСЕЛ

ДЛЯ КРИПТОАНАЛИЗА RSA НА ОСНОВЕ КЛИЕНТ-СЕРВЕРНОЙ

СТРУКТУРЫ

Введение. Современные протоколы передачи данных, такие как SSL, TLS, PGP, обеспечивающие защиту передаваемой информации, используют криптосистему RSA для установления защищенного соединения и распределения ключей шифрования. Надежность криптосистемы RSA обуславливает защищенность пере.

В современном мире наблюдается тенденция перехода от использования классических детерминированных алгоритмов к интеллектуальным поисковым системам, системам автоматизированного управления и проектирования. Основными направлениями в разработках интеллектуальных систем в настоящее время являются эволюционные вероятностно-направленные методы. Ярким примером таких методов являются генетические алгоритмы (ГА), ориентированные на поиск глобального оптимума в пространстве возможных решений с многоэкстремальным .

Сегодня генетические алгоритмы успешно применяются для решения классических NP-полных задач, задач оптимизации в пространствах с большим количест-, .

Постановка задачи. Все асимметричные криптосистемы характеризуются тем, что используют два ключа: один для шифрования, другой для дешифрования, которые имеют определенную зависимость. В асимметричных криптосистемах

RSA. , RSA,

представлена формулой (1):

f : х—> xe

Для дешифрования сообщения a=f(x) достаточно решить уравнение (2):

xe=a mod m.

При некоторых условиях, налагаемых на m и е, это сравнение имеет единственное решение х [1]. Если показатель степени е в сравнении с (2) взаимно прост с

(m) ( ), (2) .

найти, необходимо определить число d, удовлетворяющее условию (3):

de = 1