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

Исследование конструктивных и итеративных алгоритмов разбиения. Характеристика механизмов разделения на основе муравьиной колонии. Формирование шагов муравьями узлов. Сущность реализации системы адаптации. Определение потенциальной стоимости связей.

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

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

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

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

Технологический Институт Южного Федерального Университета

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

Лебедев О.Б.

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

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

Среди итеративных алгоритмов можно выделить детерминированные и вероятностные. В детерминированных алгоритмах изменение разбиения (решения) реализуется на основе четкой, детерминированной зависимости от изменяемого решения. Недостатком является частое попадание в локальный оптимум («локальную яму»).

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

В последние годы интенсивно разрабатывается научное направление с названием «Природные вычисления» (Natural Computing), объединяющее математические методы, в которых заложены принципы природных механизмов принятия решений [2,3,4]. К таким методам можно отнести, прежде всего, методы моделирования отжига [5], метод эволюционного моделирования [6], генетические алгоритмы [7,8,9], эволюционной адаптации [10], алгоритмы роевого интеллекта [11,12] и муравьиные алгоритмы (Ant Colony Optimization - ACO) [13,14]. Идея муравьиного алгоритма моделирование поведения муравьёв, связанного с их способностью быстро находить кратчайший путь от муравейника к источнику пищи. Основу поведения муравьиной колонии составляет самоорганизация, обеспечивающая достижения общих целей колонии на основе низкоуровневого взаимодействия благодаря которому, в целом, колония представляет собой разумную многоагентную систему. Особенностями являются наличие непрямого обмена, который и используется в муравьиных алгоритмах. Непрямой обмен - стигмержи (stigmergy), представляет собой разнесённое во времени взаимодействие, при котором одна особь изменяет некоторую область окружающей среды, а другие используют эту информацию позже, когда в неё попадают. Такое отложенное взаимодействие происходит через специальное химическое вещество - феромон (pheromone). Концентрация феромона на пути определяет предпочтительность движения по нему. При своём движении муравей метит путь феромоном, и эта информация используется другими муравьями для выбора пути. Концентрация феромонов определяет желание особи выбрать тот или иной путь. Однако, при таком подходе неизбежно попадание в локальный оптимум. Эта проблема решается благодаря испарению феромонов, которое является отрицательной обратной связью.

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

МЕХАНИЗМЫ РАЗБИЕНИЯ НА ОСНОВЕ МУРАВЬИНОЙ КОЛОНИИ

Пусть дан граф G(X, U), где Х - множество вершин, |X| = n, U - множество ребер. Необходимо разбить множество X на два непустых и непересекающихся подмножества X1 и X2, X1X2 =X, X1 X2=, Xi . На формируемые узлы (блоки, компоненты) накладываются ограничения: |X1| = n1, |X2| = n2, n1 + n2= n. Критерий оптимизации число связей - F между X1 и X2. Цель оптимизации минимизация критерия F.

Для поиска решения задачи используется полный граф решений R(X, E), где E - множество всех ребер полного графа, связывающих множество вершин X. На множестве ребер E будем откладывать феромон. На начальном этапе на всех ребрах графа R откладывается одинаковое (небольшое) количество феромона Q/m, где m=|E|. Каждый из агентов формирует множество X1k, где k - номер агента. Формирование множества X1k осуществляется последовательно (пошагово). На каждом шаге t у k-ого агента есть список вершин, уже включенных в формируемое множество - X1k(t) и список оставшихся (свободных) вершин Xсk(t), X1k(t)Xсk(t)=X. На первом шаге в каждое формируемое множество X1k(t), где t = 1, включается вершина графа G, причем вершины графа G распределяются по узлам равномерно, то есть в каждом узле своя вершина, ( i,j) [X1i(1)X1j(1)=].Такое распределение необходимо, чтобы все вершины графа G имели одинаковые шансы быть отправной точкой при формировании узла X1. В модификациях алгоритма использовались также ln муравьев, причем каждая группа из l муравьев используют в качестве начального одно и то же X1i(1).На конечном шаге t=n1 k-м агентом будет сформирован узел X1k(n1)=X1k. |X1(n1)| = n1.

Моделирование поведения муравьёв в задаче разбиения связано с распределением феромона на ребрах графа R. При этом вероятность включения вершины xjG в формируемое отдельным муравьем множество X1k(t), пропорциональна суммарному количеству феромона на ребрах, связывающих вершину xj с X1k(t). Количество откладываемого феромона пропорционально числу связей между сформированными узлами. Чем меньше число связей между X1k и X2k, тем больше феромона будет отложено на рёбрах полного подграфа R R, построенного на вершинах узла X1k следовательно, большее количество муравьёв будет включать вершины узла X1k в синтез собственных узлов. Для избегания преждевременной сходимости используется отрицательная обратная связь в виде испарения феромона. Процесс поиска решений итерационный. Каждая итерация t включает три этапа. На первом этапе муравей находит решение, на втором этапе откладывает феромон, на третьем этапе осуществляется испарения феромона. В работе используется циклический (ant-cycle) метод муравьиных систем. В этом случае ферромоны откладываются агентом на ребрах после полного формирования решения.

На первом этапе каждой итерации каждый k-ый муравей формирует свое собственное множество X1k. Процесс построения множество X1k пошаговый. На каждом шаге агент применяет вероятностное правило выбора следующей вершины для включения ее формируемое множество X1k(t).

Первый этап осуществляется следующим образом. Агент просматривает все свободные на данном шаге вершины Xсk(t). Для каждой вершины xi Xсk(t) рассчитываются два параметра:

fik - суммарный уровень феромона на ребрах графа R, связывающих xi с вершинами узла X1k(t);

sik - число связей на графе G между xi и X1k(t).

По формуле (1) - при мультипликативной свертке, либо по формуле (2) - при аддитивной свертке определяется потенциальная стоимость Fik связей xi с Xсk(t). итеративный разбиение муравьиный связь

Fik=(fik)б·(sik+1)в

Fik=(fik)б+(sik)в

где б, в - управляющие параметры, которые подбираются экспериментально.

Вероятность Pik включения вершины xi Xсk(t) в формируемый узел X1k(t) определяется следующим соотношением

Pik=Fik/

Агент с вероятностью Pik выбирает одну из вершин, которая включается в множество X1k(t) и исключается из множества Xсk(t).

При б = 0 наиболее вероятен выбор вершины xi максимально связанной с вершинами узла X1k(t), то есть алгоритм становится жадным.

При в = 0 выбор происходит только на основании феромона, что приводит к субоптимальным решениям.

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

После формирования за n1 шагов муравьями узлов (каждый муравей - свой узел X1k), на втором этапе итерации, каждый муравей откладывает феромон на рёбрах полного подграфа RR, построенного на вершинах узла X1k.

Количество феромона фk(l), откладываемое k-ым муравьем на каждом ребре подграфа R R, построенного на l-ой итерации, определяется следующим образом:

фk(l)= Q /Dk(l),

где l-номер итерации, Q - общее количество феромона, откладываемое k-ым муравьем на ребрах подграфа R R, Dk(l) - число связей на графе G между множествами X1k и X2k, сформированными k-ым муравьем на l-ой итерации. (Другими словами, целевая функция для данного решения.)

После того, как каждый агент сформировал решение и отложил феромон, на третьем этапе происходит общее испарение феромона на ребрах полного графа R в соответствии с формулой (5).

fik = fik(1- с),

где с-коэффициент обновления (0.93-0.99).

После выполнения всех действий на итерации находится агент с лучшим решением, которое запоминается. Далее осуществляется переход на следующую итерацию. Временная сложность этого алгоритма зависит от времени жизни колонии l (число итераций), количества вершин графа n и числа муравьев m, и определяется как O(l*n2*m).

МЕХАНИЗМЫ АДАПТАЦИИ ПРИ РАЗБИЕНИИ

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

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

Общая схема многошагового процесса перераспределения вершин между узлами заключается в следующем. На каждом шаге в узлах X1 и X2 выделяется для перераспределения подмножества вершин X*1 X1 и X*2 X2. Остаточное множество вершин объединяется в одну вершину x01 =X1 \ X*1, x02 =X2 \ X*2. В новой постановке исходная задача разбиения множества X рассматривается как задача распределения множества X*=X*1X*2 между узлами X1 и X2, причем изначально в узел X1 включена вершина x01, а в узел X2 включена вершина x02. Задача в новой постановке решается с помощью рассмотренного выше муравьиного алгоритма разбиения. Поскольку X*, как правило, значительно меньше X использование муравьиного алгоритма для формирования узла X1 будет гораздо дешевле. Выделение на каждом шаге в узлах X1 и X2 для перераспределения подмножества вершин X*1 и X*2 осуществляется с помощью адаптивной системы, основанной на идеях коллективного поведения объектов адаптации. В качестве элементарного объекта адаптации рассматривается вершина xiX. Коллектив объектов адаптации (их совокупность) соответствует объекту оптимизации (ОО).

Пусть сi+ - число ребер, связывающих xi Xv с вершинами xj Xv, xi xj, а сi- - число ребер, связывающих xi Xv с вершинами xj Xv.. i = сi+ + сi-, где i - локальная степень вершины xi.

Локальная цель объекта адаптации xi - достижение такого состояния (т.е. такого распределения xi), при котором его оценка сi- =0. Глобальная цель коллектива объектов адаптации заключается в достижении такого состояния S (т.е. такого распределения вершин по узлам), при котором F(S) min.

Для реализации механизма адаптации каждому объекту xiX сопоставляется автомат адаптации ai, моделирующий поведение объекта адаптации в среде [10]. Автомат адаптации имеет две группы состояний: C1={c1i | i=1,2,…,g} и C2={c2i | i=1,2,…,g}, соответствующие двум альтернативам А1 и А2 поведения объекта адаптации в среде. Здесь А1 - остаться в том же узле и войти в состав соответствующей объединенной вершины x0v, А2 - войти в состав подмножества X*v для перераспределения. Таким образом выходной алфавит автомата А={А1,А2}.

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

Рис.1. Граф - схема переходов АА

Входной алфавит Q={+,-} включает возможные отклики среды - «поощрение» (+) и «наказание» (-). Граф-схема переходов АА представлена на на рис.1.

Отклик среды для АА ai в соответствии с состоянием среды и объекта адаптации формируется следующим образом.

Если сi- > сi+, то всегда вырабатывается сигнал “наказание” (-).

Если сi- ? сi+, то с вероятностью Pн = сi- / (сi+ + сi-) вырабатывается сигнал “наказание” (-), а c вероятностью Pп=1-Pн вырабатывается сигнал “поощрение” (+).

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

На первом такте для каждого xi рассчитываются параметры сi- и сi+.

На втором такте для каждого автомата адаптации ai=Г(xi) вырабатывается отклик среды qi: «поощрение» или «наказание».

На третьем такте в каждом автомате адаптации ai под действием подаваемого на его вход отклика qi осуществляется переход в новое состояние.

На четвертом такте для каждого объекта адаптации xi реализуется альтернатива в соответствии с выходами АА. Другими словами, в соответствии с выходом АА вершина xi, либо входит в состав соответствующей объединенной вершины x0v, либо входит в состав подмножества X*v.

К обновленному множеству вершин X* применяется муравьиный алгоритм. Объект оптимизации, после реализации альтернатив и работы муравьиного алгоритма переходит в новое состояние, для которого рассчитывается показатель F(S). Состояние с лучшим значением F(S) запоминается.

Заключение

Гибридный по своей сути алгоритм разбиения был реализован на языке Си++. Экспериментальные исследования проводились на ЭВМ типа IBM PC/AT. Наилучшие результаты гибридный алгоритм показал при следующих значениях управляющих параметров: g (глубина памяти) - 2; Т (число шагов) - 100. Примерно одинаковые по качеству решения можно получить, используя как аддитивную, так и мультипликативную свертку, варьируя управляющие параметры б и в . Исследованию подвергались примеры, содержащие до 1000 вершин. Тестирование производилось на бенчмарках 19s, PrimGA1, PrimGA2. По сравнению с существующими алгоритмами достигнуто улучшение результатов на 5-9%. В среднем запуск программы обеспечивают нахождения решения, отличающегося от оптимального менее чем на 0,5%. Перспективными путями улучшения муравьиных алгоритмов являются различные адаптации параметров с использованием базы нечётких правил и их гибридизация с генетическими алгоритмами. Как вариант, такая гибридизация может состоять в обмене через определённые промежутки времени текущими наилучшими решениями.

Литература

1. Naveed Sherwani. Algorithms for VLSI physical design automation. Kluwer academic publishers. Boston /Dordrecht/ London. 1995.

2. G. Di Caro, F. Ducatelle, L. M. Gambardella. AntHocNet: An adaptive nature-inspired algorithm for routing in mobile ad hoc networks. European Transactions on Telecommunications, 16(5): 443-455, 2005.

3. A. P. Engelbrecht. Fundamentals of Computational Swarm Intelligence. John Wiley & Sons, Chichester, UK, 2005.

4. МакКоннелл Дж. Основы современных алгоритмов. Москва: Техносфера, 2004.

5. D.F.Wong, H.W.Leong, and C.L.Lin Simulated Annealing for VLSI Design. Boston, MA: Kluwer Academic, 1988.

6. Емельянов В.В., Курейчик В.М., Курейчик В.В. Теория и практика эволюционного моделирования. -М.: Физматлит, 2003.

7. Мazumder P., Rudnick E. Genetic Algorithm For VLSI Design, Layout & Test Automation. India, Pearson Education, 2003.

8. Курейчик В. М., Курейчик В.В. Генетический алгоритм разбиения графа. //Известия Академии наук. Теория и системы управления. 1999. -№4.

9. Лебедев Б.К. Разбиение на основе эволюционной адаптации. Известия ТРТУ. Тематический выпуск «Интеллектуальные САПР». 1999. -№3.

10. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Поисковая адаптация: теория и практика. М.: Физматлит, 2006.

11. M. Clerc. Particle Swarm Optimization. ISTE, London, UK, 2006.

12. R. Poli. Analysis of the publications on the applications of particle swarm optimisation. Journal of Artificial Evolution and Applications, Article ID 685175, 10 pages, 2008.

13. M. Dorigo and T. Stьtzle. Ant Colony Optimization. MIT Press, Cambridge, MA, 2004.

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

...

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

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

    дипломная работа [1,9 M], добавлен 17.11.2017

  • Теоретические основы применения информационных компьютерных технологий в управлении образовательным учреждением. Разработка и внедрение варианта управления гимназией на основе адаптации автоматизированной информационно-аналитической системы "АВЕРС".

    дипломная работа [106,4 K], добавлен 14.05.2011

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

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

  • Примеры построения тестов и технологии исследования алгоритмов на их основе. Построение тестов на основе метода покрытия решений и проведение исследования соответствующего исходного алгоритма и алгоритма с ошибками в операторах проверки условий.

    контрольная работа [224,8 K], добавлен 24.05.2016

  • Основные компоненты системы X-Com. Иерархия узлов и серверов. Методы разбиения исходной задачи на блоки. Структуры данных сервера для хранения информации об узлах. Точки взаимодействия прикладной программы с системой X-Com. Фоновые процессы на сервере.

    лекция [217,2 K], добавлен 28.06.2009

  • Создание автоматизированной системы диагностики конструктивных дефектов на основе акустических сигналов. Структурная схема автоматизированной системы. Методика анализа звукового сигнала. Алгоритм сравнения полученных данных с помощью модуля Diag.

    курсовая работа [658,5 K], добавлен 14.07.2012

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

    курсовая работа [414,4 K], добавлен 24.05.2015

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

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

  • Алгоритм декомпозиции графов и расчеты динамики логических сетей. Преобразование пространства булевых векторов. Описание блоков программной реализации и их взаимодействие. Разработка программы "слияния" статистик на основе алгоритма объединения.

    дипломная работа [111,8 K], добавлен 07.03.2012

  • Генерация учебно-тренировочных задач на основе текста учебного материала. Постановка вопросов к членам предложения. Построение дерева синтаксического подчинения. Листинг программы разбиения предложения на отдельные слова и поиска вопросов к ним.

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

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

    дипломная работа [2,7 M], добавлен 21.12.2012

  • Принципы разработки алгоритмов и программ на основе процедурного подхода и на основе объектно-ориентированного подхода. Реализация программы Borland Pascal 7.0, ее интерфейс. Разработка простой программы в среде визуального программирования Delphi.

    отчет по практике [934,7 K], добавлен 25.03.2012

  • Методы восстановления видеоряда при потерях в канале передачи данных. Битовая скорость данных. Клиент-серверная архитектура. Робастная оценка потерь. Внедрение помехоустойчивого кодирования в алгоритм адаптации видеопотока. Метод наложения избыточности.

    дипломная работа [428,5 K], добавлен 22.11.2015

  • Описание ДСМ-метода автоматического порождения гипотез. Исследование результатов влияния компонентов ДСМ-метода на качество определения тональности текстов. Алгоритм поиска пересечений. N-кратный скользящий контроль. Программная реализация ДСМ-метода.

    курсовая работа [727,0 K], добавлен 12.01.2014

  • Анализ проблем, возникающих при применении методов и алгоритмов кластеризации. Основные алгоритмы разбиения на кластеры. Программа RapidMiner как среда для машинного обучения и анализа данных. Оценка качества кластеризации с помощью методов Data Mining.

    курсовая работа [3,9 M], добавлен 22.10.2012

  • Постановка задачи. Математическое обоснование. Последовательность разбиений множества. Язык программирования. Реализация алгоритмов. Генерирование разбиений множества. Генерирование всех понятий.

    курсовая работа [29,9 K], добавлен 20.06.2003

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

    курсовая работа [240,6 K], добавлен 17.06.2013

  • Типы связей между сущностями и их характеристика. Определение связных таблиц на основе правил ER-подхода и внедрение внешних ключей. Запись одного запроса к базе данных с полученной схемой на языке SQL. Реализация проектируемой БД в выбранной СУБД.

    контрольная работа [329,0 K], добавлен 08.03.2009

  • Компоненты и классификация систем массового обслуживания. Разработка СМО для лечебно-профилактического центра. Графическое представление СМО регистратуры ЛПЦ. Исследование режима функционирования обслуживающей системы. Алгоритм работы поликлиники.

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

  • Понятие алгоритма и сортировки. Способы и алгоритмы сортировки массивов. Быстрая сортировка Хоара. Описание алгоритма "быстрой сортировки". Реализация на языке программирования. Анализ наихудшего разбиения. Вероятностные алгоритмы быстрой сортировки.

    курсовая работа [291,5 K], добавлен 22.03.2012

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