SlideShare a Scribd company logo
1 of 17
Download to read offline
Дипломная работа

                            студента 524 группы
             Свешникова Сергея Александровича
                          Научный руководитель:
Доцент,к.ф.-м.н. Пильщиков Владимир Николаевич
• Муравьиный алгоритм
  (алгоритм оптимизации
  подражанием муравьиной
  колонии, ant colony
  optimization, ACO) — один из
  эффективных
  полиномиальных алгоритмов
  для нахождения
  приближённых решений
  сложных комбинаторных
  задач.
Реализовать алгоритма для задачи поиска
 максимального независимого множества
 вершин в графе (МНМ задача)
Определить оптимальных параметров
 алгоритма для данной задачи
Сравнить эффективности алгоритма с
 другими алгоритмами, применяющимися
 для решения данной задачи
Задача о независимом
множестве относится к классу
NP-полных задач, в области
теории   графов.   Множество
вершин     графа   называется
независимым, если никакие две
вершины этого множества не
соединены ребром. Другими
словами, индуцированный этим
множеством подграф состоит из
изолированных вершин
Оригинальная идея исходит от
наблюдения     за     муравьями    в
процессе поиска кратчайшего пути от
колонии до источника питания.
• Первый       муравей       находит
   источник пищи (F) любым
   способом      (а),     а    затем
   возвращается к гнезду (N),
   оставив за собой тропу из
   феромонов (b).
• Затем муравьи выбирают один из
   четырёх возможных путей, затем
   укрепляют     его     и    делают
   привлекательным.
• Муравьи выбирают кратчайший
   маршрут, так как у более длинных
   феромоны сильнее испарились.
Пока (условия выхода не выполнены)
• 1. Создаём муравьёв
• 2. Ищем решения
• 3. Обновляем феромон
• 4. Дополнительные действия{опционально}
1. Создаём муравьёв
       • Стартовая точка, куда помещается муравей,
         зависит от ограничений, накладываемых
         условиями задачи. Потому что для каждой задачи
         способ размещение муравьёв является
         определяющим. Либо все они помещаются в одну
         точку, либо в разные с повторениями, либо без
         повторений.
       • На этом же этапе задаётся начальный уровень
         феромона. Он инициализируется небольшим
         положительным числом для того, чтобы на
         начальном шаге вероятности перехода в
         следующую вершину не были нулевыми.
2. Ищем решения
•  Вероятность перехода из вершины i в вершину j
определяется по следующей формуле
3. Обновляем феромон
• Уровень феромона обновляется в соответствии с приведённой
формулой




4. Дополнительные действия
• Обычно здесь используется алгоритм локального поиска, однако
он может также появиться и после поиска всех решений.
Для задачи МНМ не существует путей между
вершинами, поэтому идея «чем больше
феромона на ребре, тем более оно
предпочтительно» трансформируется в «чем
больше феромона на вершине, тем более она
предпочтительна».
Если ������������ ∈ ������������������������������������������������
иначе
Пусть ������������ (������) – множество вершин удовлетворяющих
частичному решению ������������ ������ . Локальная эвристика для MISP
может быть определена как:


где ������������ = ������������ (������ + 1).
           Вероятность выбора вершины ������ определяется
вероятностью указанной выше. Множество ������������������������������������������������ = ������ −
 ������������ ������ − ������������ ������ , где ������������ ������ = ������ ������, ������ ∈ ������ ∨ ������, ������ ∈ ������ ∧ ������ ∈
������������ (������)+
                                              1
                          ������ ������������ = ������������������ =      ������������
                                             |������|
1.   ������ = 8
2.   Пусть ������������ ������ = 2 , тогда ������������ ������ = ������ − 2 − 1,8 = *3,7,4,5,6+



3. Таким образом наилучшей является вершина ������ = 4
Экспериментальным путём были выбраны следующие
      значения параметров:
               ������ = ������
               ������ = ������

                                                         Параметры алгоритма
N     D           M                 a=1;b =1                       a=5;b =1                       a=1;b=5
                          Hits(%)                 t      Hits(%)                 t      Hits(%)                t
      0,1         70                           0.2 сек                    0.17 сек                      0.21 сек
      0,2         60                           0.2 сек                    0.18 сек                      0.21 сек
100   0,3         50       100                 0.21сек    100             0.18 сек       100            0.22 сек
      0,4         40                       0.21 сек                       0.18 сек                      0.22 сек
      0,5         30                       0.21 сек                       0.19 сек                      0.24 сек
      0,1         110                      0.68 сек                       0.59 сек                      0.71 сек
      0,2         100                      0.68 сек                       0.59 сек                          0.7 сек
200   0,3         90       100             0.69 сек        95             0.59 сек       100            0.72 сек
      0,4         80                       0.67 сек                           0.6 сек                   0.73 сек
      0,5         70                       0.68 сек                           0.6 сек                   0.72 сек
      0,1         150                          1.7 сек                    1.62 сек                      1.91 сек
      0,2         140                          1.7 сек                    1.62 сек                      1.92 сек
300   0,3         130      100             1.71 сек        80             1.64 сек       100            1.93 сек
      0,4         120                          1.7 сек                    1.62 сек                      1.93 сек
      0,5         110                           2 сек                     1.62 сек                      1.93 сек
Время работы(среднее)
Кол-во вершин в
     графе        Муравьиный
                                   Брон-Кербош          Перебор
                   алгоритм
      10           0.001 сек         0.001 сек          0.001 сек

      50           0.001 сек         0.004 сек           15 сек

     100            0.2 сек           0.6 сек          1 мин 25 сек

     200            0.68 сек          16.5 сек              -

     300            1.7 сек        1 мин 19 сек             -

     500            5.6 сек           10 мин                -

     1000          18.9 сек             1ч                  -
Реализован муравьиный алгоритм для
 задачи поиска в графе максимально
 независимого множества
Экспериментально найдены оптимальные
 параметры алгоритма
Проведено сравнение скорости работы с
 некоторыми другими алгоритмами,
 применяющимися для решения данной
 задачи
Реализация в Microsoft Visual Studio
     • 5 классов
     • Около 1500 строк кода на языке С#
Оптимизация алгоритма
     • Возможность распараллеливания

More Related Content

Viewers also liked

Supply chain logistics : vehicle routing and scheduling
Supply chain logistics : vehicle  routing and  schedulingSupply chain logistics : vehicle  routing and  scheduling
Supply chain logistics : vehicle routing and schedulingRetigence Technologies
 
Инновационные методы профилактики DDoS-атак
Инновационные методы профилактики DDoS-атакИнновационные методы профилактики DDoS-атак
Инновационные методы профилактики DDoS-атакOlga Ponomareva
 
Particle Swarm Optimization: The Algorithm and Its Applications
Particle Swarm Optimization: The Algorithm and Its ApplicationsParticle Swarm Optimization: The Algorithm and Its Applications
Particle Swarm Optimization: The Algorithm and Its Applicationsadil raja
 
SMART Seminar Series: "Optimisation of closed loop supply chain decisions usi...
SMART Seminar Series: "Optimisation of closed loop supply chain decisions usi...SMART Seminar Series: "Optimisation of closed loop supply chain decisions usi...
SMART Seminar Series: "Optimisation of closed loop supply chain decisions usi...SMART Infrastructure Facility
 

Viewers also liked (8)

Supply chain logistics : vehicle routing and scheduling
Supply chain logistics : vehicle  routing and  schedulingSupply chain logistics : vehicle  routing and  scheduling
Supply chain logistics : vehicle routing and scheduling
 
Swarm intelligence
Swarm intelligenceSwarm intelligence
Swarm intelligence
 
Swarm intelligence algorithms
Swarm intelligence algorithmsSwarm intelligence algorithms
Swarm intelligence algorithms
 
Инновационные методы профилактики DDoS-атак
Инновационные методы профилактики DDoS-атакИнновационные методы профилактики DDoS-атак
Инновационные методы профилактики DDoS-атак
 
Particle Swarm Optimization: The Algorithm and Its Applications
Particle Swarm Optimization: The Algorithm and Its ApplicationsParticle Swarm Optimization: The Algorithm and Its Applications
Particle Swarm Optimization: The Algorithm and Its Applications
 
Practical Swarm Optimization (PSO)
Practical Swarm Optimization (PSO)Practical Swarm Optimization (PSO)
Practical Swarm Optimization (PSO)
 
Fleet Management
Fleet Management Fleet Management
Fleet Management
 
SMART Seminar Series: "Optimisation of closed loop supply chain decisions usi...
SMART Seminar Series: "Optimisation of closed loop supply chain decisions usi...SMART Seminar Series: "Optimisation of closed loop supply chain decisions usi...
SMART Seminar Series: "Optimisation of closed loop supply chain decisions usi...
 

More from Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ

More from Спецсеминар "Искусственный Интеллект" кафедры АЯ ВМК МГУ (20)

Баев. Поиск шаблонов и машинное обучение для демографических событий (Pattern...
Баев. Поиск шаблонов и машинное обучение для демографических событий (Pattern...Баев. Поиск шаблонов и машинное обучение для демографических событий (Pattern...
Баев. Поиск шаблонов и машинное обучение для демографических событий (Pattern...
 
Муромцев. Методы анализа социальных графов и поиска сообществ
Муромцев. Методы анализа социальных графов и поиска сообществМуромцев. Методы анализа социальных графов и поиска сообществ
Муромцев. Методы анализа социальных графов и поиска сообществ
 
Рой. Аспектный анализ тональности отзывов
Рой. Аспектный анализ тональности отзывов Рой. Аспектный анализ тональности отзывов
Рой. Аспектный анализ тональности отзывов
 
Котиков Простые методы выделения ключевых слов и построения рефератов
Котиков Простые методы выделения ключевых слов и построения рефератовКотиков Простые методы выделения ключевых слов и построения рефератов
Котиков Простые методы выделения ключевых слов и построения рефератов
 
Лукьяненко. Извлечение коллокаций из текста
Лукьяненко. Извлечение коллокаций из текстаЛукьяненко. Извлечение коллокаций из текста
Лукьяненко. Извлечение коллокаций из текста
 
Иванов. Автоматизация построения предметных указателей
Иванов. Автоматизация построения предметных указателейИванов. Автоматизация построения предметных указателей
Иванов. Автоматизация построения предметных указателей
 
Можарова. Автоматическое извлечение именованных сущностей методами машинного ...
Можарова. Автоматическое извлечение именованных сущностей методами машинного ...Можарова. Автоматическое извлечение именованных сущностей методами машинного ...
Можарова. Автоматическое извлечение именованных сущностей методами машинного ...
 
Сапин. Интеллектуальные агенты и обучение с подкреплением
Сапин. Интеллектуальные агенты и обучение с подкреплениемСапин. Интеллектуальные агенты и обучение с подкреплением
Сапин. Интеллектуальные агенты и обучение с подкреплением
 
Смолина Пользовательские интерфейсы систем лингвистической разметки текстов
Смолина Пользовательские интерфейсы систем лингвистической разметки текстовСмолина Пользовательские интерфейсы систем лингвистической разметки текстов
Смолина Пользовательские интерфейсы систем лингвистической разметки текстов
 
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
Багдатов Методы автоматического выявления плагиата в текстах компьютерных про...
 
Тодуа. Сериализация и язык YAML
Тодуа. Сериализация и язык YAMLТодуа. Сериализация и язык YAML
Тодуа. Сериализация и язык YAML
 
Савкуев. Построение формального описания фотографий на основе контекстно-собы...
Савкуев. Построение формального описания фотографий на основе контекстно-собы...Савкуев. Построение формального описания фотографий на основе контекстно-собы...
Савкуев. Построение формального описания фотографий на основе контекстно-собы...
 
Савостин. Системы и методы научного поиска и мониторинга
Савостин. Системы и методы научного поиска и мониторингаСавостин. Системы и методы научного поиска и мониторинга
Савостин. Системы и методы научного поиска и мониторинга
 
Мищенко. Методы автоматического определения наиболее частотного значения слова.
Мищенко. Методы автоматического определения наиболее частотного значения слова.Мищенко. Методы автоматического определения наиболее частотного значения слова.
Мищенко. Методы автоматического определения наиболее частотного значения слова.
 
Мадорский. Извлечение тематически сгруппированных ключевых терминов из тексто...
Мадорский. Извлечение тематически сгруппированных ключевых терминов из тексто...Мадорский. Извлечение тематически сгруппированных ключевых терминов из тексто...
Мадорский. Извлечение тематически сгруппированных ключевых терминов из тексто...
 
Панфилов. Корпусы текстов и принципы их создания
Панфилов. Корпусы текстов и принципы их созданияПанфилов. Корпусы текстов и принципы их создания
Панфилов. Корпусы текстов и принципы их создания
 
Муромцев. Обзор библиографических менеджеров
Муромцев. Обзор библиографических менеджеровМуромцев. Обзор библиографических менеджеров
Муромцев. Обзор библиографических менеджеров
 
Можарова Тематические модели: учет сходства между униграммами и биграммами.
Можарова Тематические модели: учет сходства между униграммами и биграммами.Можарова Тематические модели: учет сходства между униграммами и биграммами.
Можарова Тематические модели: учет сходства между униграммами и биграммами.
 
Смирнова. Методы исправления ошибок в текстах, написанных иностранцами.
Смирнова. Методы исправления ошибок в текстах, написанных иностранцами.Смирнова. Методы исправления ошибок в текстах, написанных иностранцами.
Смирнова. Методы исправления ошибок в текстах, написанных иностранцами.
 
Баев Системы для обучения программированию
Баев Системы для обучения программированиюБаев Системы для обучения программированию
Баев Системы для обучения программированию
 

Применение муравьиных алгоритмов

  • 1. Дипломная работа студента 524 группы Свешникова Сергея Александровича Научный руководитель: Доцент,к.ф.-м.н. Пильщиков Владимир Николаевич
  • 2. • Муравьиный алгоритм (алгоритм оптимизации подражанием муравьиной колонии, ant colony optimization, ACO) — один из эффективных полиномиальных алгоритмов для нахождения приближённых решений сложных комбинаторных задач.
  • 3. Реализовать алгоритма для задачи поиска максимального независимого множества вершин в графе (МНМ задача) Определить оптимальных параметров алгоритма для данной задачи Сравнить эффективности алгоритма с другими алгоритмами, применяющимися для решения данной задачи
  • 4. Задача о независимом множестве относится к классу NP-полных задач, в области теории графов. Множество вершин графа называется независимым, если никакие две вершины этого множества не соединены ребром. Другими словами, индуцированный этим множеством подграф состоит из изолированных вершин
  • 5. Оригинальная идея исходит от наблюдения за муравьями в процессе поиска кратчайшего пути от колонии до источника питания. • Первый муравей находит источник пищи (F) любым способом (а), а затем возвращается к гнезду (N), оставив за собой тропу из феромонов (b). • Затем муравьи выбирают один из четырёх возможных путей, затем укрепляют его и делают привлекательным. • Муравьи выбирают кратчайший маршрут, так как у более длинных феромоны сильнее испарились.
  • 6. Пока (условия выхода не выполнены) • 1. Создаём муравьёв • 2. Ищем решения • 3. Обновляем феромон • 4. Дополнительные действия{опционально}
  • 7. 1. Создаём муравьёв • Стартовая точка, куда помещается муравей, зависит от ограничений, накладываемых условиями задачи. Потому что для каждой задачи способ размещение муравьёв является определяющим. Либо все они помещаются в одну точку, либо в разные с повторениями, либо без повторений. • На этом же этапе задаётся начальный уровень феромона. Он инициализируется небольшим положительным числом для того, чтобы на начальном шаге вероятности перехода в следующую вершину не были нулевыми.
  • 8. 2. Ищем решения • Вероятность перехода из вершины i в вершину j определяется по следующей формуле
  • 9. 3. Обновляем феромон • Уровень феромона обновляется в соответствии с приведённой формулой 4. Дополнительные действия • Обычно здесь используется алгоритм локального поиска, однако он может также появиться и после поиска всех решений.
  • 10. Для задачи МНМ не существует путей между вершинами, поэтому идея «чем больше феромона на ребре, тем более оно предпочтительно» трансформируется в «чем больше феромона на вершине, тем более она предпочтительна».
  • 11. Если ������������ ∈ ������������������������������������������������ иначе
  • 12. Пусть ������������ (������) – множество вершин удовлетворяющих частичному решению ������������ ������ . Локальная эвристика для MISP может быть определена как: где ������������ = ������������ (������ + 1). Вероятность выбора вершины ������ определяется вероятностью указанной выше. Множество ������������������������������������������������ = ������ − ������������ ������ − ������������ ������ , где ������������ ������ = ������ ������, ������ ∈ ������ ∨ ������, ������ ∈ ������ ∧ ������ ∈ ������������ (������)+ 1 ������ ������������ = ������������������ = ������������ |������|
  • 13. 1. ������ = 8 2. Пусть ������������ ������ = 2 , тогда ������������ ������ = ������ − 2 − 1,8 = *3,7,4,5,6+ 3. Таким образом наилучшей является вершина ������ = 4
  • 14. Экспериментальным путём были выбраны следующие значения параметров:  ������ = ������  ������ = ������ Параметры алгоритма N D M a=1;b =1 a=5;b =1 a=1;b=5 Hits(%) t Hits(%) t Hits(%) t 0,1 70 0.2 сек 0.17 сек 0.21 сек 0,2 60 0.2 сек 0.18 сек 0.21 сек 100 0,3 50 100 0.21сек 100 0.18 сек 100 0.22 сек 0,4 40 0.21 сек 0.18 сек 0.22 сек 0,5 30 0.21 сек 0.19 сек 0.24 сек 0,1 110 0.68 сек 0.59 сек 0.71 сек 0,2 100 0.68 сек 0.59 сек 0.7 сек 200 0,3 90 100 0.69 сек 95 0.59 сек 100 0.72 сек 0,4 80 0.67 сек 0.6 сек 0.73 сек 0,5 70 0.68 сек 0.6 сек 0.72 сек 0,1 150 1.7 сек 1.62 сек 1.91 сек 0,2 140 1.7 сек 1.62 сек 1.92 сек 300 0,3 130 100 1.71 сек 80 1.64 сек 100 1.93 сек 0,4 120 1.7 сек 1.62 сек 1.93 сек 0,5 110 2 сек 1.62 сек 1.93 сек
  • 15. Время работы(среднее) Кол-во вершин в графе Муравьиный Брон-Кербош Перебор алгоритм 10 0.001 сек 0.001 сек 0.001 сек 50 0.001 сек 0.004 сек 15 сек 100 0.2 сек 0.6 сек 1 мин 25 сек 200 0.68 сек 16.5 сек - 300 1.7 сек 1 мин 19 сек - 500 5.6 сек 10 мин - 1000 18.9 сек 1ч -
  • 16. Реализован муравьиный алгоритм для задачи поиска в графе максимально независимого множества Экспериментально найдены оптимальные параметры алгоритма Проведено сравнение скорости работы с некоторыми другими алгоритмами, применяющимися для решения данной задачи
  • 17. Реализация в Microsoft Visual Studio • 5 классов • Около 1500 строк кода на языке С# Оптимизация алгоритма • Возможность распараллеливания