Interested Article - Поиск пути
- 2020-09-15
- 1
Поиск пути ( англ. Pathfinding ) — термин в информатике и искусственном интеллекте , который означает определение компьютерной программой наилучшего, оптимального маршрута между двумя точками.
В играх
Поиск пути в контексте компьютерных игр касается пути, на котором движущийся объект ищет путь вокруг препятствий. Наиболее часто задача поиска пути возникает в стратегиях реального времени , в которых игрок даёт задание игровым юнитам (единицам) двигаться через игровой уровень , который содержит препятствия. Кроме стратегий, задача поиска пути, так или иначе, в той или иной мере встречается в большинстве современных игровых жанров . Так как игры становятся всё сложнее, то поиск пути также эволюционирует и развивается вместе с ними.
Стратегии реального времени обычно содержат большие территории с открытым ландшафтом, в которых поиск пути обычно является простой задачей. Однако в большинстве случаев по карте перемещается не один юнит, а несколько, что создаёт потребность в различных и намного более сложных алгоритмах поиска пути для избежания пробок в узких областях игрового ландшафта. В стратегиях игровой уровень делится на тайлы ( англ. tiles ), которые действуют как узлы ( англ. nodes ) в алгоритме поиска пути .
В жанре 3D-шутеров используются намного более ограниченные пространства, которые не так легко разделить на узлы. Здесь взамен узлов используются так называемые waypoints (дословно с англ. — «точки пути»). Waypoints — это нерегулярные и вручную установленные узлы, которые содержат информацию о том, к каким другим узлам возможно добраться от данного.
Алгоритмы
По своей сути алгоритм поиска пути ищет на графе , начиная с одной (стартовой) точки и исследуя смежные узлы до тех пор, пока не будет достигнут узел назначения (конечный узел). Кроме того, в алгоритмах поиска пути в большинстве случаев заложена также цель найти самый короткий путь. Некоторые методы поиска на графе, такие как поиск в ширину, могут найти путь, если дано достаточно времени. Другие методы, которые «исследуют» граф, могут достичь точки назначения намного быстрее. Здесь можно привести аналогию с человеком, идущим через комнату. Человек может перед началом пути заранее исследовать все характеристики и препятствия в пространстве, вычислить оптимальный маршрут и только тогда начать непосредственное движение. В другом случае человек может сразу пойти в приблизительном или предполагаемом направлении цели и потом, уже во время пути, делать корректировки своего движения для избегания столкновений с препятствиями.
К самым известным и популярным алгоритмам поиска пути относятся такие алгоритмы :
- Алгоритм поиска A*
- Алгоритм Дейкстры
- Волновой алгоритм
- Маршрутные алгоритмы
- Навигационная сетка (Navmesh)
- Иерархические алгоритмы
- Обход препятствий
- Разделяй и властвуй
- Алгоритм поворота Креша
См. также
Примечания
- ↑ Роман Будкеев. . bimedev.ru (29 июня 2007). Архивировано из 22 августа 2012 года.
- Роман Будкеев. . bimedev.ru (29 июня 2007). Архивировано из 22 августа 2012 года.
- Bryan Stout (оригинальная статья) Maxim Kamensky (перевод). . pmg.org.ru (5 декабря 2000). Дата обращения: 22 июля 2009. 29 апреля 2012 года.
- Bryan Stout. (англ.) (1997). Дата обращения: 8 августа 2013. 9 февраля 1999 года.
- . Дата обращения: 8 августа 2013. 1 августа 2013 года.
- . Дата обращения: 8 августа 2013. 17 мая 2013 года.
Внешние ссылки
- Англоязычные
- Amit. (англ.) . theory.stanford.edu. Дата обращения: 1 мая 2010. 4 апреля 2012 года.
- (англ.) . SourceForge.net . Дата обращения: 1 мая 2010. 4 апреля 2012 года.
- PaulT. (англ.) . www.ai-blog.net (26 июля 2008). Дата обращения: 1 мая 2010. Архивировано из 4 апреля 2012 года.
- Русскоязычные
- Bryan Stout (оригинальная статья) Maxim Kamensky (перевод). . pmg.org.ru (5 декабря 2000). Дата обращения: 22 июля 2009.
- Patrick Lester (автор), Morpher (перевод). . policyalmanac.org (26 июля 2004). Дата обращения: 1 мая 2010. Архивировано из 4 февраля 2012 года.
- George Judkin. (англ.) . Королевство Delphi (28 марта 2005). Дата обращения: 22 июля 2009. 4 апреля 2012 года.
- John Christian Lonningdal (оригинальная статья) Анисимов С.Ю. (перевод). . www.iskint.ru (декабрь 1996). Дата обращения: 22 июля 2009. Архивировано из 30 декабря 2008 года.
- . www.iskint.ru. Дата обращения: 22 июля 2009. Архивировано из 24 июля 2010 года.
- Алексей Седов «onimod_land». 2. UralDev (7 сентября 2006). Дата обращения: 3 апреля 2010. 4 апреля 2012 года.
- 2020-09-15
- 1