Поиск путей в сложных полигонах для динамических систем реального времени. Порошина И.А.

advertisement
Поиск путей в сложных
полигонах для динамических
систем реального времени.
Работа Порошина И.А., 544 гр.
Научный руководитель
Рецензент, доцент кафедры информатики, к.ф.-м.н.
Математико-механический
факультет СПбГУ,
2007г.
Уфнаровский В.В.
Соловьёв И.П.
Постановка задачи поиска пути для
систем виртуальной реальности
• Симуляторы, системы визуализации, игры
• СРВ с высокой частотой обновления
• Интеллектуальные агенты с возможностью
передвижения
• Задача поиска пути в R3 NP-трудна
• Ограничение свободы перемещения
навигационными поверхностями
Поиск путей в сложных полигонах
• Cfree = cl ( U {Loci} \ U {Obstj})
Obst2
Loc2
Loc1
Obst1
– Loci (помещения) и Obstj (препятствия) –
многоугольники с конечным числом
вершин
– Все помещения попарно дизъюнктны,
все препятствия попарно дизъюнктны
– Каждое препятствие полностью
содержится в некотором помещении
– Границей является семейство ломаных
(стены)
– Никакие две стены не имеют общих
точек, кроме пар стен, инцидентных
одной и той же вершине
Граф видимостей и его использование
при поиске кратчайших путей
• Построение статической части графа
видимостей
• Достроение динамической части графа
• А*, эвристика – евклидово расстояние до
конца пути
Недостатки базового алгоритма
 Сложный процесс достроения графа (в
среднем сложнее поиска пути в графе)
 Ловушки для евклидовой эвристики
 Избыточность поиска всего пути
 Распределение вычислений во времени
Метод обзоров
• View(A) – множество вершин графа видимостей,
видимых из А
• View(Ai)→View(Ai+1)
• Средняя вычислительная сложность О(|AiAi+1|*ρ2) при
смене направления, в большинстве случаев О(1) при
сохранении направления
Метод зонирования пространства
• Основная цель – улучшение используемой эвристики
• Известные методы декомпозиции не подходят
Метод трапеций
Метод квадратов
Требуемое разбиение
Сужение области поиска пути
Выделена область,
рассматриваемая А* при работе
базового алгоритма
Заштрихована область,
исключаемая при анализе
разбиения пространства на зоны
Кусочное построение путей
• Границы между зонами – двери
• Двери – последовательность промежуточных целей
• Увеличение длины пути на суммарную длину
пересекаемых дверей
• Выбор промежуточной цели на основании «графа
видимостей» для множества дверей
Оптимизация базового алгоритма
Метод
обзоров
Достроение графа
●
Ловушки для эвристики
●
●
Избыточность поиска всего пути
Распределение вычислений во
времени
Метод
зон
●
●
Результаты работы
• Проанализированы существующие методы поиска
путей в системах виртуальной реальности
• Выявлены основные недостатки используемого
подхода
• Предложено два способа оптимизации
• Проведено доказательство корректности новых
методов, даны оценки потери точности и
вычислительной сложности.
• Новый метод реализован в рамках реально
действующей системы для навигации персонажей в
игре, разрабатываемой компанией «Мадиа» по
заказу компании «Новый Диск»
Download