Поиск по сайту.



Математика. Пути и Графы. Комбинаторика и перебор

Сортировка

Защита и сокрытие информации. Атаки и взлом

Сжатие информации и кодирование. СRC

Графика и обработка изображений. Фракталы

Поиск в строках, массивах,
последовательностях


Разбор выражений.
Компиляторы и интерпретаторы


Cтруктуры данных.
Хранение информации


AI, ГА, Нейронные сети

Вейвлеты

Игры, и все с ними связанное

Разное


Софт: просмотр PS и PDF файлов

   Написать веб-мастеру
   Почитать историю сайта

Математика : Графы: Кратчайшие пути

Пусть имеется n городов, пронумерованных числами от 1 до n. Для каждой пары городов с номерами i, j в таблице a[i][j] хранится целое число - цена прямого авиабилета из города i в город j. Считается, что рейсы существуют между любыми городами, a[i,i] = 0 при всех i, a[i][j] может отличаться от a[j,i]. Наименьшей стоимостью проезда из i в j считается минимально возможная сумма цен билетов для маршрутов (в том числе с пересадками), ведущих из i в j. (Она не превосходит a[i][j], но может быть меньше.)

Предположим, что не существует замкнутых маршрутов, для которых сумма цен отрицательна. В этом случае маршрут с наименьшей стоимостью существует.

Во всех алгоритмах предполагается, что это условие (отсутствие циклов с отрицательной суммой) выполнено.

Волновой алгоритм
Прекрасно подойдет, если все пути из вершины в соседнюю равны по длине (цене, весу). Время O(n).

Алгоритм Форда-Беллмана
Найти наименьшие стоимости проезда из 1-го города во все остальные за время O(n3) без ограничений на веса.

Алгоритм Флойда
Найти наименьшие стоимости проезда из всех городов во все за время O(n3) без ограничений на веса.

Алгоритм Дейкстры
Найти наименьшие стоимости проезда из 1-го города во все остальные за время O(n2) при положительных ценах.

Нахождение k кратчайших путей в графе
Находит все наименьшие стоимости дить один путь мы уже умеем. Что, если у нас большой граф, а нам нужно k различных кратчайших путей ? Алгоритм Йена придет на помощь!

Архив статей.

  • Перевод статьи "Smart Moves: Intelligent Pathfinding"
  • Большая часть статьи посвящена различным случаям поиска кратчайшего пути на графе применительно к играм. Рассмотрено более 5 алгоритмов. Даны заметки к реализации.




Вверх по странице, к оглавлению и навигации