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

УДК 519.245

Д.О. Бондаренко, О.О. Евсютин, А.В. Ращупкина

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

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

Ключевые слова: непрерывная оптимизация, клеточный автомат, клеточный автомат с целевой функцией, методы Монте-Карло.

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

В связи с тем, что клеточно-автоматные модели могут обладать достаточно сложной динамикой при использовании простых в общем случае локальных правил взаимодействия, математический аппарат клеточных автоматов предлагается использовать для синтеза стохастических алгоритмов оптимизации по аналогии с такими алгоритмами, как алгоритм роящихся частиц, дифференциальная эволюция, генетические алгоритмы и т.п. [4, 5].

Ранее авторами статьи было введено новое расширение классической модели клеточного автомата - клеточный автомат с целевой функцией [6, 7]. В настоящей работе предлагается новый подход к управлению динамикой такого клеточного автомата за счет адаптивного выбора правила перехода в процессе развития клеточного автомата.

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

В рамках данной модели введено два правила развития КА: правило, основанное на использовании набора клеточных автоматов, и правило, основанное на изменении аргументов на определенную величину отклонения А [6].

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

. 1 к . _

Хи,у =7тЕ<!и,у-X 1 2,к'<к,1 = 1,т,уе{-1,0,1} ,

где к - количество клеток окрестности; к' - количество клеток окрестности с ненулевыми метками; ё - метка; х - значение аргумента функции; и,у - координаты клетки решетки КА; т - количество переменных функции.

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

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

Изменение конфигурации клеточного автомата по второму правилу осуществляется следующим образом: каждому элементу варианта решения клетки задается приращение на соответствующую величину отклонения А, при этом знак приращения определяется случайным образом, а величина рассчитывается по формуле

п 2 Х

А=-,

п

где Ушт - лучшее решение текущей конфигурации КА; у - значение целевой функции клетки автомата; п - количество клеток окрестности.

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

На основе совместного применения описанных правил развития клеточного автомата с целевой функцией был создан и исследован алгоритм непрерывной оптимизации [7]. Композиция правил, используемая в данном алгоритме, включает трехкратное применение первого правила и однократное - второго.

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

.Ушт г—1 — ушш г <а

ушт г —2 — ушт г —1

где Уштг—1 - лучшее решение (г — 1)-го шага развития клеточного автомата; уЩщг - лучшее решение г-го шага развития клеточного автомата; уш[пг—2 - лучшее решение (г — 2)-го шага развития клеточного автомата; г - номер шага развития клеточного автомата; а - значение, определяющее максимально допустимое уменьшение скорости сходимости.

Результаты экспериментов на тестовых функциях

Тестовая функция Минимум функции, найденный при использовании комбинации правил Минимум функции, найденный при использовании адаптивного выбора правил Глобальный минимум функции

N , . / = Ц( — 10СО8(2Ях ) + 10) г=1 13,736 2,86Е-05 0

1 N п N (Х \ /2 = 1 XX2 Псо*| * 1+1 4000 ;=1г |={ иJ 2,62Е-09 6,46Е-12 0

N—1г 2 2 -| /з =Х 100(( — *у+1) +( —1) у=11 -1 3,583 23,486 0

N N /4=Ц х\+П1А г=1 г=1 3,08Е-06 8,70Е-06 0

Результаты вычислительных экспериментов по сравнению двух алгоритмов для некоторых тестовых функций представлены в таблице. Развитие клеточного автомата продолжалось в течение 500

шагов. Установлено, что в большинстве случаев за наименьшее количество итераций алгоритм с адаптивным изменением правил достигает лучших результатов по сравнению с алгоритмом, основанным на комбинации данных правил. Таким образом, введенная адаптивность позволяет увеличить эффективность исходного алгоритма за счет увеличения его скорости сходимости при меньшем числе итераций.

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

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

Если минимум функции на данном шаге развития КА совпадает со значением, найденным на предыдущем шаге, то отображение значения функции в цвет клетки определяется формулой (4). Если все клетки автомата содержат вариант решения, соответствующий лучшему значению целевой функции по сравнению с минимумом предыдущей конфигурации клеточного автомата, перевод значения в цветовое представление происходит по формуле (5). Когда не все клетки на текущем шаге стали лучше по сравнению с предыдущим оптимальным значением, применяется формула (6):

у — ушт.

color = 255 -

color = 255 -

-• 255 + 0,5

ymax i ymin i У — ymin i

-• 255 + 0,5

ymin i —1 ymin i

color =

255 -

127 -

y ymin i

•127+0,5

ymin i—1 ymin i

У — ymin i—1

-127+0,5

, если У < ymin i—h

иначе,

_ ymax i ymin i—1

где color - значение компоненты цвета; y - текущее значение целевой функции клетки автомата; ymaxi - худшее решение i-го шага развития клеточного автомата.

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

Щ} да

Рис. 1. Пример визуализации состояний решетки КА

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

Работа выполнена при поддержке Министерства образования и науки Российской Федерации в рамках базовой части Государственного задания ТУСУР на 2015 г. (проект № 3657).

Литература

1. Тоффоли Т. Машины клеточных автоматов / Т. Тоффоли, Н. Марголус. - М.: Мир, 1991. - 280 с.

2. Бандман О.Л. Клеточно-автоматное моделирование диффузионно-реакционных процессов // Автометрия. - 2003. - Т. 39, № 3. - С. 5-18.

3. Евсютин О.О. Приложения клеточных автоматов в области информационной безопасности и обработки данных / О.О. Евсютин, А.А. Шелупанов // Доклады Том. гос. ун-та систем управления и радиоэлектроники. - 2012. - № 1(25), ч. 2. - С. 119-125.

4. Kennedy J. Particle Swarm Optimization / J. Kennedy, R. Ebenhart // Proceedings of the 1995 IEEE International Conference on Neural Networks. - 1995. - P. 1942-1948.

5. Storn R. Differential Evolution - A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces / R. Storn, K. Price // Journal of Global Optimization. - 1997. - Vol. 11. - P. 341-359.

6. Бондаренко Д.О. Непрерывная оптимизация на основе клеточного автомата с целевой функцией / Д.О. Бондаренко, А.В. Ращупкина // Матер. 53-й Междунар. науч. студ. конф. МНСК-2015: Математика. - Новосибирск: Новосиб. гос. ун-т., 2015. - 179 с.

7. Бондаренко Д.О. Алгоритм непрерывной оптимизации с использованием клеточного автомата с модифицированным алфавитом внутренних состояний / Д.О. Бондаренко, А.В. Ращупкина // Матер. Всерос. науч.-техн. конф. студентов, аспирантов и молодых ученых «Научная сессия ТУСУР-2015». - Томск: ТУСУР, 2015. - С. 35-38.

Бондаренко Дмитрий Олегович

Студент каф. комплексной информационной безопасности электронно-вычислительных систем (КИБЭВС) ТУСУРа Тел.: 8 (382-2) 70-15-29 Эл. почта: dima030793@gmail.com

Евсютин Олег Олегович

Канд. техн. наук, доцент каф. безопасности информационных систем ТУСУРа Тел.: 8 (382-2) 70-15-29 Эл. почта: eoo@keva.tusur.ru

Ращупкина Анжелика Владимировна

Студентка каф. КИБЭВС ТУСУРа

Тел.: 8 (382-2) 70-15-29

Эл. почта: angelinara@mail.ru

Bondarenko D.O., Evsutin O.O., Rashchupkina A.V.

Continuous optimization using cellular automata by choosing the evolution rule

This article develops previous works made by authors about synthesis of continuous optimization algorithms using modification of cellular automata model: the cellular automata with goal function. The main difference is an adaptive choosing of cellular automata evolution rule by comparing their convergence speed. It was shown, that this method allows better convergence indexes of cellular automata dynamic to goal function optimum, rather than using fixed evolution rule composition.

Keywords: continuous optimization, cellular automata, cellular automata dynamic with goal function, Monte-Carlo methods.