УДК 004.021
МЕТОДЫ РЕШЕНИЯ ОПТИМИЗАЦИОННЫХ ЗАДАЧ С ИСПОЛЬЗОВАНИЕМ БИОИНСПИРИРОВАННЫХ АЛГОРИТМОВ
А. В. Требухин
Донской государственный технический университет, Ростов-на-Дону, Российская Федерация [email protected]
Рассмотрены особенности
биоинспирированных алгоритмов на примере генетического и иммунного алгоритмов. Рассмотрены основные недостатки и преимущества биоинспирированных
алгоритмов.
Ключевые слова: биоинспирированные алгоритмы, иммунная система, генетические алгоритмы.
UDC 004.021
METHODS FOR SOLVING OPTIMIZATION PROBLEMS USING BIOINSPIRED ALGORITHMS
A. V. Trebukhin
Don State Technical University, Rostov-on-Don, Russian Federation
The article describes the features of bioinspired algorithms on the example of genetic and immune algorithms. The main disadvantages and advantages of bioinspired algorithms are examined and analyzed.
Keywords: bioinspired algorithms, immune system, genetic algorithms.
Введение. Понятие «биоинспирированные алгоритмы» можно более подробно описать, как алгоритмы, вдохновленные процессами живой природы. Иначе говоря, это использование алгоритмов методов оптимизации, основанных на элементах живой природы для моделирования каких-либо явлений и поиска наиболее эффективных решений.
Генетические алгоритмы. Существует такой подкласс биоинспирированных алгоритмов, как генетические алгоритмы. Они имитируют некоторые фундаментальные аспекты эволюционного процесса неодарвинистской теории. Алгоритм проводит одновременно поиск с набором популяций (решений) кандидатов и связывает с ними объективную оценку, как определяющее значение для каждого из них. Затем алгоритм выбирает из полученных значений среди популяций те решения, которые являются наиболее подходящими. Следующее поколение (т.е. новая популяция) состоит из повторов подходящих значений, которые были генетически мутированы и перешли в следующую биологическую фазу: значения переменных были получены таким образом, что они наследовали характеры своих родителей, а также изменялись случайным образом. Размер этой промежуточной популяции в ходе работы алгоритма уменьшается до размера популяции родителей за счет исключения наименее подходящих под определяющее значение решений [1].
Данный метод нахождения оптимального значения, основанный на генетическом алгоритме, имеет свои достоинства и недостатки. К достоинствам можно отнести высокую точность нахождения лучшего решения, которая находится в прямой зависимости от начального размера популяции. К недостаткам следует отнести низкую скорость выполнения эволюционного алгоритма из-за большого размера начальной популяции особей, поскольку в ходе алгоритма выполняется целенаправленный перебор значений, который, в свою очередь, позволяет избежать
ухудшения результата, полученного на предыдущих этапах выполнения алгоритма, что уже можно отнести к плюсам этого алгоритма.
Блок-схема генетического алгоритма, описывающая один из способов биологической эволюции естественным языком программирования представлена на рис. 1.
Рис. 1. Блок-схема генетического алгоритма
Таким образом, основываясь на этом примере можно запрограммировать в общем виде почти любую задачу, решаемую с помощью генетических алгоритмов оптимизации.
Иммунные алгоритмы. Следующим этапом в развитии такого рода алгоритмов стали иммунные алгоритмы. Они основаны на особенностях функционирования иммунной системы. Иммунная система является одной из самых сложных систем организма человека, а также биологической системой способной к «интеллектуальной» обработке информации, подразумевая использование таких понятий как обучение, память, возможность распознавания и принятия решения в заранее незнакомых системе ситуациях [2]. В различных теориях об иммунной системе чужеродные организмы называют антигенами, для уничтожения которых иммунитет вырабатывает специальные клетки — антитела. Способ обнаружения антител заключается в сравнении свойств различных агентов. Сравнение основано на принципе негативной селекции, который заключается в том, что свойства иммунитета отсутствуют в организме, если у агента
обнаружены эти свойства, то он «чужой». Следующим этапом является клональная селекция. На этом шаге организм начинает вырабатывать антитела максимально похожие на антигены, что представляет собой процесс клонирования и мутации копий антитела в случайных позициях в ходе работы алгоритма иммунной системы [3].
Блок-схема работы иммунного алгоритма представлена на рис. 2.
Рис. 2. Блок-схема иммунного алгоритма
Критерием остановки алгоритма обычно является либо достижение лимита по времени, либо достижение лимита по итерациям.
Рассмотренный вид иммунных алгоритмов имеет ряд особенностей, таких как воспроизводство кандидатов методом клональной селекции; разнообразие экземпляров, основанное на принципе мутации; возможность реализации метода параллельного поиска, что можно отнести к плюсам иммунных методов алгоритмизации.
Заключение. Таким образом, биоинспирированные алгоритмы являются относительно молодой областью научных интересов в теории оптимизации. У рассмотренных алгоритмов есть свои достоинства и недостатки, но у них, определенно, есть перспективы для поиска более совершенных решений в теории оптимизации.
Библиографический список.
1. Гладков, Л. А. Генетические алгоритмы / Л. А. Гладков, В. В. Курейчик, В. М. Курейчик. — Москва : Физматлит, 2006. — 320 с.
2. Кушнир, Н. В. Искусственные иммунные системы: обзор и современное состояние [Электронный ресурс] / Н. В. Кушнир [и др.] // Кубанский государственный технологический университет. — Режим доступа : http://ntk.kubstu.ru/file/714 (дата обращения: 20.05.17).
3. Блюм, В. С. Иммунная система и иммунокомпьютинг [Электронный ресурс] / В. С. Блюм, В. П. Заболотский // Санкт-Петербургский институт информатики и автоматизации РАН. — Режим доступа: www.smolensk.ru/user/sgma/MMORPH/N-16-html/blum/blum.pdf (дата обращения: 20.05.17).