Кодинг
★ Рубрика: Кодинг

Демонстрация алгоритма A* для поиска пути

Это пример демонстрации алгоритма для поиска пути под названием "A Star" или "A*". Вы можете рисовать левой кнопкой мышки препятствия на карте, а затем установить конечную точку (точку в которую надо проложить путь). Дальше вы увидите как работает алгоритм поиска пути.
Для тех кто почему-то не знаком до сих пор с этим алгоритмом приводим его описание из Википедии. Поиск A* (произносится «А звезда» или «А стар», от англ. A star) — в информатике и математике, алгоритм поиска по первому наилучшему совпадению на графе, который находит маршрут с наименьшей стоимостью от одной вершины (начальной) к другой (целевой, конечной). Порядок обхода вершин определяется эвристической функцией «расстояние + стоимость» (обычно обозначаемой как f(x)). Эта функция — сумма двух других: функции стоимости достижения рассматриваемой вершины (x) из начальной (обычно обозначается как g(x) и может быть как эвристической, так и нет) и эвристической оценкой расстояния от рассматриваемой вершины к конечной (обозначается как h(x)). Функция h(x) должна быть допустимой эвристической оценкой, то есть не должна переоценивать расстояния к целевой вершине. Например, для задачи маршрутизации h(x) может представлять собой расстояние до цели по прямой линии, так как это физически наименьшее возможное расстояние между двумя точками. Этот алгоритм был впервые описан в 1968 году Питером Хартом, Нильсом Нильсоном и Бертрамом Рафаэлем. Это по сути было расширение алгоритма Дейкстры, созданного в 1959 году. Новый алгоритм достигал более высокой производительности (по времени) с помощью эвристики. В их работе он упоминается как «алгоритм A». Но так как он вычисляет лучший маршрут для заданной эвристики, он был назван A*.
 Похожие публикации: Алгоритмы, Демо

Войти и комментировать [ Вход | Регистрация ]