Гибридный оптимизационный алгоритм грифов на основе механизмов роевого интеллекта

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

Рубрика Программирование, компьютеры и кибернетика
Вид статья
Язык русский
Дата добавления 14.05.2017
Размер файла 273,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Кубанский государственный технологический университет

ГИБРИДНЫЙ ОПТИМИЗАЦИОННЫЙ АЛГОРИТМ ГРИФОВ НА ОСНОВЕ МЕХАНИЗМОВ РОЕВОГО ИНТЕЛЛЕКТА

Частикова Вера Аркадьевна к.т.н., доцент

Остапов Дмитрий Сергеевич аспирант

Краснодар, Россия

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

Ключевые слова: ГИБРИДНЫЙ ОПТИМИЗАЦИОННЫЙ АЛГОРИТМ ГРИФОВ НА ОСНОВЕ МЕХАНИЗМОВ РОЕВОГО ИНТЕЛЛЕКТА, РОЕВОЙ ИНТЕЛЛЕКТ, АЛГОРИТМ РОЯ ЧАСТИЦ, АЛГОРИТМ ПЧЕЛИНОЙ КОЛОНИИ, АЛГОРИТМ ДВИЖЕНИЯ КОСЯКОВ РЫБ, ГЛОБАЛЬНАЯ ОПТИМИЗАЦИЯ

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

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

vi,t+1 = w•vi,t + цp•rp• (pi - xi, t) + цg•rg• (gi - xi, t) (1)

Коэффициентыw, цp, цg подбираются для каждой конкретной задачи, rpи rg - случайные числа в диапазоне (0;1), xi, t - координата t-ой частицы на i-ой итерации, pi - координата лучшего решения, найденного частицей,gi - координата лучшего решения, найденного роем частиц.Если значения параметров будут подобраны неверно, результат работы метода может оказаться абсолютно непредсказуемым. Данное утверждение можно проверить с использованием поиска минимума функции Растригина двух переменных (f(x,y) = 20 + x2 + y2- 10(cos(2рx) + cos(2рy))), поверхность которой изображена на рисунке 1.

Рисунок 1 Поверхность функции Растригина

Как известно, данная функция имеет глобальный минимум в начале координат. В таблице 1 представлен результат работы метода роя частиц, направленного на поиск минимума функции Растригина двух переменных после 100 итераций. Параметры w, цp, цg были выбраны случайным образом.

Таблица 1

Результат работы алгоритма роя частиц

W

цp

цg

Наилучший результат

0,749

1,49

1,49

6,27512335427127E-08

0,749

2

5

2,62744870708719

0,749

1

1

9,84783810054068E-10

0,749

5

2

22,349890810727

2,749

1

1

24,0612774040452

Как видно из таблицы 1, в ряде случаев был найден глобальный минимум функции ? 0. В случае некорректного подбора параметров, метод роя частиц не смог обнаружить оптимум. Таким образом, подобные алгоритмы при определенных условиях не подходят для поиска глобального экстремума функций(например, функций, меняющихся с течением времени) в связи с необходимостью постоянной настройки параметров. Целью данного исследования является разработка наиболее эффективного алгоритма для проблем поиска оптимума функций, меняющихся со временем.

Предложенный гибридный алгоритм поиска «грифов»имеет много общего с известными ранее алгоритмами роя частиц, движения косяков рыб, Монте-Карло и алгоритмом пчелиной колонии.

В методе роя частиц новая координата определяется по следующей формуле

xt+1 = xt + vt+1 (2)

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

xt+1 = xt + Random(0;1) • step (3)

В алгоритме Монте-Карло случайным образом генерируются точки в пространстве до тех пор, пока не будет найдена точка с учетом допустимой погрешности, или не сработает критерий останова.

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

1. Создаётся рой птиц внутри заданного пространства. Значение функции вычисляется для каждого агента. Рой состоит из 2 типов птиц: Attack Grif, которые увидев добычу, сразу летят к ней, и разведчиков, кружащих в небе в поисках пищи. Пусть в рое находится M Attack Grif и N разведчиков (подобно алгоритму пчелиной колонии[2]).Чем больше значение M, тем более точное решение находит метод за определённое число итераций в рассматриваемой области. Увеличение значения N влияет на успешность поиска более точных решений функции внутри или вне первоначальной области пространства.

2. Происходит сортировка стаи птиц по ухудшению найденных значений целевой функции. Первые M агентов в рое становятся Attack Grif, а последние N - разведчиками, вне зависимости от того, к какому типу они принадлежали ранее. Далее происходят перемещения M птиц. В зависимости от того какое значение функции было найдено каждой птицей, её перемещение будет происходить по разным алгоритмам. M грифов следует разделить на 2 части с учётом успешности найденного значения функции. Алгоритм перемещения M грифов описан в таблице 2.

Разделение птиц на 2 части было выполнено с определенной целью. Посредством работы лучшей половины грифов согласно формуле (6) достигается сужение пространства поиска. С помощью худшей половины согласно формулам (4,5) происходит как сужение, так и расширение (в зависимости от знака числа, возвращаемого функцией Random(-1,1)) области поиска решений. Подобно алгоритму движения косяков рыб перемещение агентов происходит только в случае, если значение функции в новой точке лучше, чем в предыдущей.

Таблица 2

Алгоритм перемещения M грифов

Худшая половина птиц

Лучшая половина птиц

Подобно (3) из алгоритма движения косяков рыб:

xi = xi + Random(-1;1)(xi - xi+1) (4)

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

Последний гриф из худшей половины будет перемещаться

по следующему алгоритму:

x`i += Random(-1;1)(x`i + xr), (5)

где xr - птица, выбранная случайным образом из M-1 первых птиц.

Для первой птицы из лучшей половины новая координата

Для второй:

Для n-ой:

(6)

x`n - новая координата n-ой птицы из лучшей половины.

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

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

3.1. Если заранее известно, что глобальный экстремум располагается внутри области, в которой находились грифы на 1 шаге, то разведчики также будут посылаться в эту же область.

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

Пусть по координате x начальная область поиска находится от -5 до 5, и одна из сторон части пространства, представленной в виде n-мерного прямоугольного параллелепипеда, имеет длину a1 = 10. Область поиска необходимо равномерно расширить до величины a2, то есть следует к максимальной координате отрезка прибавить положительное число и такое

же значение вычесть из минимальной координаты. Схематично процесс расширения представлен на рисунке 2.

Рисунок 2 Расширение области поиска

Для получения максимальной координаты a2 необходимо к максимальной координате a1 прибавить a1• k, где a1 - длина стороны a1, k - коэффициент расширения. Например, если k = 0.25, то сторона увеличится на 50%. Коэффициент k может быть подобран самостоятельно в рамках конкретной задачи; он влияет только на скорость поиска.На рисунке 3 представлены области до и после расширения.

Рисунок 3 Области до и после расширения

На рисунке 3 красным цветом представлена область, в которой изначально создавались птицы; она закрашена красным цветом. Далее на следующей итерации было проведено расширение, и разведчики производят поиск решений уже внутри области, которая закрашена синим цветом. Увеличение области поиска происходит до тех пор, пока оно не достигнет максимальных значений, заданных при создании роя птиц, после чего её необходимо сузить до первоначального значения и продолжить работу алгоритма расширений сначала. Схема алгоритма поиска грифов приведена на рисунке 4.

Для исследования эффективности предложенного алгоритма поиска грифов был проведен сравнительный анализ работы двух его модификаций (с расширением и без расширения), метода роя частиц, алгоритма движения косяков рыб и алгоритма Монте-Карло на примере задачи глобальной оптимизации: поиска минимума функции Растригина, функции f(xn) = Уx2nи функции Розенброкаf(x,y) = (1-x)2 + 100(y-x2)2, поверхности которых представлены соответственно на рисунках 1, 5 и 6. Область определения функций: . Для первых двух функций в алгоритме поиска грифов исследование осуществлялось при наличии 180 AttackGrif и 20 разведчиков.

Рисунок 4 Схема алгоритма поиска грифов

В рое частиц находилось 200 агентов. Начальные значения скоростей в рое частиц:, цp= цg = 1.49, w = 0.749.

В зависимости от точности решения, которое необходимо найти с использованием алгоритма косяков рыб и анализируемой функции, использовалось число рыб в аквариуме от 100 до 15000, максимальное число итераций от 100 до 7000, начальный шаг от 0,5 до 0,01, конечный шаг от 0,1 до 0,000000001.

Для всех трёх исследуемых алгоритмов агенты создавались в области .

Рисунок 5 Поверхность функции f(x,y) = x2 + y2

Рисунок 6 Поверхность функции Розенброка

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

Рисунок 7 Соотношение времени поиска глобального экстремума функции Растригина 2 переменных

Как видно из рисунка 7, обе модификации алгоритма поиска грифов работают эффективнее, чем алгоритм роя частиц. Тем не менее, использование механизма расширения замедляет работу алгоритма примерно на 3%.Гибридный алгоритм поиска грифов работает на ? 56,61% и 11920,53% быстрее метода роя частиц и алгоритма движения косяков рыб соответственно при поиске экстремума функции Растригина двух переменных.

На рисунке 8 представлено время поиска глобального минимума функции f(x,y) = x2 + y2.

Рисунок 8 Соотношение времени поиска глобального экстремума функции f(x,y) = x2 + y2

Скорость поиска гибридного алгоритма грифов на ?297,84% и 20303,41%большескорости поиска метода роя частиц и алгоритма движения косяков рыб соответственно.

На рисунке 9 представлено время поиска минимума функции Розенброка. Данная функция является достаточно сложной, поэтому в алгоритме поиска грифов для большей точности число Attack Grif следует увеличить до 800 и число разведчиков до 300.

Рисунок 9 Соотношение времени поиска глобального экстремума функции Розенброка

Как видно из рисунка 9, гибридный алгоритм поиска грифов работает на?425,16% медленнее роя частиц и на71979,43%быстрее алгоритма движения косяков рыб соответственно.

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

Рисунок 10 Время поиска глобального экстремума функции Растригина двух переменных

Метод Монте-Карло относится к классическим алгоритмам оптимизации. Эффективность поиска с использованием метода Монте-Карло сильно зависит от точности решения, которое необходимо найти, и имеет слабую зависимость от вида анализируемой функции. Среднее время, затраченное на поиск глобального минимума с точностью до 1E-3 и 1E-6 рассмотренных выше функций, в ?175 и 810493раз соответственно больше времени, затраченного алгоритмом поиска грифов. Время поиска решений с точностью до 1E-9 и 1E-12 для всех рассмотренных функций превысило несколько часов.

Исходя из проведённых экспериментов, можно сделать следующие выводы:

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

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

Одним из возможных способов применения гибридного алгоритма поиска грифов является минимизация ошибки, которая возникает при настройке нейронной сети [5]. Благодаря отсутствию параметров, влияющих на успешность нахождения решения, предложенный алгоритм может применяться для анализа данных, меняющихся с течением времени, например, для анализа сетевого трафика на наличие DDoS-атак, которые являются серьёзной угрозой для сетевой безопасности [7].

Литература

1. Ильичев В.Д., Михеев А.В. Жизнь животных. Том шестой. Птицы. М.: 1986, Вып. 2,с. 120-123.

2. А.П. Карпенко. Популяционные алгоритмы глобальной поисковой оптимизации. Обзор новых и малоизвестных алгоритмов // Информационные технологии. 2012. № 7,с. 1-32.

3. A Novel Search Algorithm based on Fish School Behavior / Carmelo J. A. BastosFilho, Fernando B. de Lima Neto and other //International Conference on Systems, Man and Cybernetics. 2008. P. 2646-2651.

4. Курейчик В.М., Кажаров А.А. Использование роевого интеллекта в решении NP-трудных задач // Известия Южного федерального университета. Технические науки. 2011. №7, с. 30-36.

5. Малыхина М.П. Оценка эффективности гибридизации интеллектуальных методов на примере нейросетевой экспертной системы на основе прецедентов / Малыхина М.П., Бегман Ю.В. //Научный журнал КубГАУ [Электронный ресурс]. Краснодар: КубГАУ, 2013. № 86(02). Режим доступа: http://ej.kubagro.ru/2013/02/pdf/24.pdf.

6. Частиков А.П., Дедкова Т.Г., Алешин А.В. Системы искусственного интеллекта. От теории к практике. Учебное пособие. Краснодар, 1998. 166 c.

7. Частикова В.А.Комплексная кольцевая система защиты программного обеспечения от нелицензионного использования / Частикова В.А., Остапов Д.С. //Научный журнал КубГАУ [Электронный ресурс]. Краснодар: КубГАУ, 2012. № 82(08). Режим доступа: http://ej.kubagro.ru/2012/08/pdf/47.pdf.

Размещено на Allbest.ru


Подобные документы

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

    дипломная работа [4,5 M], добавлен 02.06.2011

  • Сравнение результатов работы генетического алгоритма по решению "несимметричной незамкнутой задачи коммивояжера" с результатами работы алгоритма динамического программирования по параметрам - время работы, точность результата и объем используемой памяти.

    курсовая работа [65,3 K], добавлен 16.04.2014

  • Описание принципа работы генетического алгоритма, проверка его работы на функции согласно варианту на основе готовой программы. Основные параметры генетического алгоритма, его структура и содержание. Способы реализации алгоритма и его компонентов.

    лабораторная работа [20,2 K], добавлен 03.12.2014

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

    курсовая работа [684,8 K], добавлен 05.04.2015

  • Описание формальной модели алгоритма на основе рекурсивных функций. Разработка аналитической и программной модели алгоритма для распознающей машины Тьюринга. Разработка аналитической модели алгоритма с использованием нормальных алгоритмов Маркова.

    курсовая работа [1,5 M], добавлен 07.07.2013

  • Анализ алгоритмов, оценка параметров алгоритма (эффективности, сложности, правильности). Комплексный анализ эффективности алгоритма на основе комплексной оценки ресурсов формальной системы. Верификация при коллективной разработке программных систем.

    презентация [234,9 K], добавлен 22.10.2013

  • Принцип работы алгоритма бинарного поиска в массиве. Способы исследования алгоритма "прямое включение". Формулы зависимости числа сравнений от элементов в массиве. Графики среднего числа сравнений и перемещений практических и теоретических измерений.

    курсовая работа [646,1 K], добавлен 07.01.2014

  • Обзор существующих методов межпроцедурного анализа. Получение входных и выходных данных подпрограмм с помощью графа алгоритма. Описание входных и выходных данных подпрограммы в терминах фактических параметров. Определение параллелизма по графу алгоритма.

    учебное пособие [77,5 K], добавлен 28.06.2009

  • Применения языка логического программирования Пролог и языка программирования Haskell для реализации алгоритма поиска оптимального каркаса графа. Алгоритм Прима, преимущество перед другими алгоритмами нахождения оптимального каркаса, близких к полным.

    курсовая работа [230,2 K], добавлен 13.06.2012

  • Состав и принцип работы аппаратуры. Выбор параметров корреляционного анализа и Фурье-анализа. Разработка и применение алгоритма корреляционного анализа. Реализация алгоритма Фурье-анализа на языке С++ и алгоритма корреляционного анализа на языке С#.

    дипломная работа [4,6 M], добавлен 30.11.2016

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.