Содержание
- 2. Содержательная постановка задачи об упаковке кругов Найти максимальный радиус, при котором N неперекрывающихся кругов могут быть
- 3. Математическая постановка задачи Пусть есть компактная область D из R². Найти такие точки S₁, … ,Sn
- 4. Практическая значимость задачи Укладка объектов цилиндрической формы в контейнер; Кристаллические структуры построены на основе плотнейших укладок
- 5. Научная значимость Теорема об упаковке кругов используется теориях конформного отображения и планарных графов.
- 6. Приближённое конформное отображение
- 7. Оптимальные упаковки Сейчас известны оптимальные упаковки (с доказательством) до n = 36; Упаковки-кандидаты – лучшие известные
- 8. Упаковка в единичный квадрат
- 9. Локальные методы Минимизация “энергии” Бильярдная симуляция Метод “тряски”
- 10. Минимизация “энергии” Аналогия с электростатикой; При замене x’=sin(x),y’=sin(y) получаем задачу без ограничений; Методом Ньютона получены упаковки
- 11. Бильярдная симуляция Аналогия с механикой; Радиус кругов увеличивается.
- 12. Метод тряски По очереди пытаемся двигать каждую точку в различных направлениях на величину S; Если ничего
- 13. Глобальные методы Метод Монте-Карло Дискретизация задачи с последующим перебором. Эволюционные методы В качестве приспособленности выступает радиус
- 14. Схема работы ГА Выбираем три случайные особи (A, B и С в порядке приспособленности) С вероятностью
- 15. Выбор кодировки Кодировать напрямую: (X1,Y1, … , Xn,Yn) Кодировать со сжатием. Цель – уменьшить число неизвестных
- 16. Прямая кодировка В векторе (X1,Y1, … , Xn,Yn) координаты центров кругов; Можно кодировать в (X2,Y2, …
- 17. Кодировка со сжатием Кодировать в A = (A[1],…,A[n-1]), B = (B[1],…,B[n-1]) B[i] – сколько кругов “создаёт”
- 18. Кодировка алгоритма Кодировка – пара M = { Ci | i=1…n, Ci є D} (область упаковки)
- 19. Роль алгоритма A M A Алгоритм A переводит множество точек M в соответствующую упаковку M A
- 20. Структура A Идентификатор алгоритма Кол-во итераций Вероятности Параметры, влияющие на скорость сходимости A, и т.д.
- 21. Пример алгоритма A Каждая точка отталкивается от ближайшей на V Каждая точка случайно сдвигается с вероятностью
- 22. Оператор скрещивания Множество M у потомка определяется следующим образом: Область D разбивается на подобласти D1 и
- 23. Наследование алгоритма Потомок наследует алгоритм A у случайного родителя; Если у родителей одинаковые схемы алгоритма, то
- 24. Оператор мутации Случайное подмножество M сдвигается на случайные вектора (dx,dy) = ( a, b)*(n^-½) a, b
- 25. Структура оптимальных упаковок начиная с 49 кругов, оптимальная упаковка n=k² кругов будет отлична от регулярной квадратной
- 26. Свободные круги n = 31 n = 90
- 27. Касания кругов в плотных упаковках n = 1,…,300
- 28. Использование GPU для вычислений Множество M Конечная упаковка Параметры алгоритма A GPU Алгоритм A Текстура Шейдер
- 29. Упаковка большого числа кругов При увеличении n появляются большие фрагменты плотнейших кладок n = 16384 r
- 30. Касания кругов в плотных упаковках n = 16384
- 31. Выводы Адаптация генетического алгоритма и его гибридизация с низкоуровневой проблемно-ориентированной эвристикой способна значительно повысить эффективность применения
- 33. Скачать презентацию