Решение задачи упаковки кругов с помощью генетических алгоритмов презентация

Содержание

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

Слайд 1Решение задачи упаковки кругов с помощью генетических алгоритмов
Выполнил:
Студент группы 85-05
 Гаврилов Н.И.
 
 
Руководитель:
ст.

преп. каф. ИАНИ, к.т.н.
Исаев С.А.


Слайд 2Содержательная постановка задачи об упаковке кругов
Найти максимальный радиус, при

котором N неперекрывающихся кругов могут быть помещены в область упаковки.


Слайд 3Математическая постановка задачи
Пусть есть компактная область D из R².
Найти такие

точки S₁, … ,Sn из D, чтобы максимизировать величину min(R,r),
где
R = min{ |Si – Sj| | i≠j, i,j=1..n}
r = min{ ρ(Si, ∂D) | i=1..n }
ρ(Si, ∂D) – расстояние от точки Si до границы области D


Слайд 4Практическая значимость задачи
Укладка объектов цилиндрической формы в контейнер;


Кристаллические структуры построены на

основе плотнейших укладок шаров.

Слайд 5Научная значимость
Теорема об упаковке кругов используется теориях конформного отображения и планарных

графов.

Слайд 6Приближённое конформное отображение


Слайд 7Оптимальные упаковки
Сейчас известны оптимальные упаковки (с доказательством) до n = 36;

Упаковки-кандидаты

– лучшие известные упаковки без доказательства оптимальности (http://www.packomania.com).
Находятся эвристическими методами.


Слайд 8Упаковка в единичный квадрат


Слайд 9



Локальные методы
Минимизация “энергии”
Бильярдная симуляция
Метод “тряски”





Слайд 10Минимизация “энергии”

Аналогия с электростатикой;
При замене x’=sin(x),y’=sin(y) получаем задачу без ограничений;
Методом Ньютона

получены упаковки до 50 кругов.

Слайд 11Бильярдная симуляция
Аналогия с механикой;

Радиус кругов увеличивается.







Слайд 12
Метод тряски
По очереди пытаемся двигать каждую точку в различных направлениях на

величину S;

Если ничего не передвинули – уменьшаем S.









Слайд 13Глобальные методы
Метод Монте-Карло

Дискретизация задачи с последующим перебором.

Эволюционные методы
В качестве приспособленности выступает

радиус кругов, либо размер масштабируемой области упаковки.

Слайд 14Схема работы ГА
Выбираем три случайные особи (A, B и С в

порядке приспособленности)
С вероятностью p особь C замещается потомком от A и B
Иначе особь B замещается потомком от A и C
C вероятностью q потомок мутирует
Если последние K итерации дали улучшения решения, то идём на шаг 2


Слайд 15Выбор кодировки
Кодировать напрямую: (X1,Y1, … , Xn,Yn)

Кодировать со сжатием.
Цель – уменьшить

число неизвестных

Кодировать алгоритм получения плотной упаковки


Слайд 16Прямая кодировка
В векторе (X1,Y1, … , Xn,Yn) координаты центров кругов;
Можно кодировать

в (X2,Y2, … , Xn,Yn). Тогда это координаты центров кругов радиуса 1.
Тогда область упаковки масштабируется.

Недостатки:
Много переменных
Сложная область допустимых значений
Много локальных экстремумов

Слайд 17Кодировка со сжатием
Кодировать в
A = (A[1],…,A[n-1]), B = (B[1],…,B[n-1])
B[i] –

сколько кругов “создаёт” i-ый круг
A[i] – под каким углом “создан” (i+1)-ый круг

(1,2,1,0,1)

1

2

4

6

5

3


Слайд 18Кодировка алгоритма
Кодировка – пара
M = { Ci | i=1…n,

Ci є D} (область упаковки)
Этими начальными условиями обладают все алгоритмы A;

A – алгоритм упаковки и начальные условия для него;



Слайд 19Роль алгоритма A






M
A
Алгоритм A переводит множество точек M в соответствующую упаковку






M
A


Слайд 20Структура A
Идентификатор алгоритма
Кол-во итераций

Вероятности
Параметры, влияющие на скорость сходимости A, и т.д.




Слайд 21Пример алгоритма A
Каждая точка отталкивается от ближайшей на V
Каждая точка случайно

сдвигается с вероятностью p2
V = V*p1
Вычисляем r
Проверка принадлежности к D

Слайд 22Оператор скрещивания
Множество M у потомка определяется следующим образом:
Область D разбивается на

подобласти D1 и D2
M = { m | (m є M1 и m є D1)или (m є M2 и m є D2) }
Если |M|Если |M|>n, то удаляем из M лишние точки



D1

D2

















Слайд 23Наследование алгоритма
Потомок наследует алгоритм A у случайного родителя;

Если у родителей одинаковые

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

Слайд 24Оператор мутации
Случайное подмножество M сдвигается на случайные вектора

(dx,dy) =

( a, b)*(n^-½)

a, b – числа из распределения N(0,1)

Слайд 25Структура оптимальных упаковок
начиная с 49 кругов, оптимальная упаковка n=k² кругов будет

отлична от регулярной квадратной решётки.

Слайд 26Свободные круги
n = 31
n = 90


Слайд 27Касания кругов в плотных упаковках
n = 1,…,300


Слайд 28Использование GPU для вычислений
Множество M
Конечная упаковка
Параметры алгоритма A
GPU
Алгоритм A
Текстура
Шейдер
Uniform-переменные
Графический вывод
Цель –

ускорение работы алгоритма A

Слайд 29Упаковка большого числа кругов
При увеличении n появляются большие фрагменты плотнейших кладок

n

= 16384 r = 0.00405794

Слайд 30Касания кругов в плотных упаковках
n = 16384


Слайд 31Выводы
Адаптация генетического алгоритма и его гибридизация с низкоуровневой проблемно-ориентированной эвристикой способна

значительно повысить эффективность применения ГА.

Важным фактором, влияющим на эффективность применения ГА, является выбранный способ кодирования решений.


Слайд 32Заключение
В ходе выполнения дипломной работы сделано:

Обзор методов решения задачи об упаковке

кругов;

Разработан проблемно-ориентированный генетический подход к решению этой задачи;

Исследованы структуры упаковок, найденных в результате численного эксперимента.


Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

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


Для правообладателей

Яндекс.Метрика