
- •Олимпиада школьников «Шаг в будущее»
- •Введение
- •Алгоритм Дейкстры
- •Принцип работы
- •Эффективность алгоритма
- •Практика
- •Волновой алгоритм
- •Практика
- •Алгоритм a* История создания
- •Принцип работы
- •Эффективность.
- •Практика
- •Дальнейшая оптимизация
- •Навигационная сетка
- •Эвристические алгоритмы поиска пути
- •Сравнительный анализ алгоритмов поиска пути
- •Практическое применение алгоритмов поиска пути.
- •Заключение
- •Список использованной литературы
Олимпиада школьников «Шаг в будущее»
Научно-образовательное соревнование «Шаг в будущее, Москва»
регистрационный номер
_____________________________________________________________
название факультета
название кафедры
____________________________________________________________________________________________________________________________________________________________________________________
название работы
Автор: _____________________________________
фамилия, имя, отчество
___________________________________
наименование учебного заведения, класс
Научный руководитель: _____________________________________
фамилия, имя, отчество
___________________________________
место работы
___________________________________
звание, должность
Москва - 2012
Содержание
1. Введение ……………………………………………………………………..2
1.1 Постановка проблемы ……………………………………………....2
1.2 Цели и задачи ………………………………………………………..2
1.3 Актуальность ………………………………………………………..2
2. Основные алгоритмы поиска пути …………………………………………3
2.1 Алгоритм Дейкстры …………………………………………………4
2.2 Волновой алгоритм …………………………………………………18
2.3 Алгоритм A* ………………………………………………………..27
2.4 Навигационная сетка ……………………………………………….44
2.5 Эвристические алгоритмы…………………………………………45
3. Сравнительный анализ алгоритмов поиска пути ……………………….46
4. Практическое применение алгоритмов поиска пути ……………………56
5. Заключение ……………………………………………………………........ 57
Список используемой литературы ………………………………………….. 58
Введение
Постановка проблемы
Поиск пути (англ. Pathfinding) — определение компьютерной программой наилучшего, оптимального маршрута между двумя точками.
Поиск пути является одной из наиболее часто встречающихся задач искусственного интеллекта, и такой спрос вызвал достаточно мощное развитие алгоритмов, направленных на решение этой задачи
Цели и задачи
В предстоящей работе предполагается:
изучение и описание (использую языки программирования Python2.7 иTurboPascal7.1) основные алгоритмы поиска пути, применяемые на данный момент;
модификация описанных алгоритмов;
сравнительный анализ алгоритмов поиска пути, определение сильных и слабых сторон каждого алгоритма.
Актуальность
Алгоритмы поиска пути активно применяются как на модели реальной местности (например, GPS) и на менее реальной местности многочисленных видеоиграх, так, наконец, и на любом графе (ярчайший пример – протокол маршрутизацииOSPF).
При этом, существует множество различных подходов к решению задачи поиска пути, таким образом сравнительный анализ алгоритмов поиска пути является необходимым условием оптимизации их применения на практике.
Основные алгоритмы поиска пути.
На данный момент существует множество алгоритмов поиска пути, сохраняющих актуальность и практическую применяемость.
По своей сути, каждый алгоритм поиска пути ищет на графе (в любой его интерпретации), начиная с одной (стартовой) точки и исследуя смежные узлы до тех пор, пока не будет достигнута точка назначения (конечный узел) или множество таковых.
Многообразие таких алгоритмов обусловлено тем, что входные данные и требования к результатам их работы в значительной мере зависят от области применения таких алгоритмов.
Наиболее эффективными и популярными из известных алгоритмов поиска пути являются:
Алгоритм поиска A*
Алгоритм Дейкстры
Волновой алгоритм
Навигационная сетка (Navmesh)
Эвристические алгоритмы