0 / 0 / 0
Регистрация: 13.04.2016
Сообщений: 6
1

Алгоритм А* (поиск пути)

14.04.2016, 19:32. Показов 2519. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста написать алгоритм А*
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
14.04.2016, 19:32
Ответы с готовыми решениями:

Поиск кратчайшего пути (алгоритм Уоршала)
В области имеется N городов, соединены автобусными маршрутами. Стоимость билета с i-го города в j-й...

Поиск пути (алгоритм А* / Дейкстра)
Пытался реализовать алгоритм A* (точнее пока алгоритм Дейкстры т.е. без эвристики) по этой статье:...

Поиск кратчайшего пути (алгоритм Дейкстры) с наименьшим максимальным ребром
Есть классическая реализация Дейкстры, пытаюсь добавить условие: если есть несколько кратчайших...

Поиск пути в играх. Алгоритм поиска пути A*
В своё время долго и упорно разбирал различные алгоритмы поиска путей для различных задач. Сейчас,...

10
Модератор
9733 / 5070 / 3285
Регистрация: 17.08.2012
Сообщений: 15,609
15.04.2016, 12:14 2
Поиском по форуму пользуйтесь.

Поиск пути (алгоритм А* / Дейкстра)
0
0 / 0 / 0
Регистрация: 13.04.2016
Сообщений: 6
17.04.2016, 20:40  [ТС] 3
Спасибо)
0
0 / 0 / 0
Регистрация: 13.04.2016
Сообщений: 6
19.04.2016, 09:32  [ТС] 4
нужен алгоритм по графу и чтобы выводил кратчайший путь полностью,через все вершины которые он проходит
0
Модератор
9733 / 5070 / 3285
Регистрация: 17.08.2012
Сообщений: 15,609
19.04.2016, 10:03 5
Цитата Сообщение от ChrisTaker Посмотреть сообщение
нужен алгоритм по графу
Так отобразите граф на матрицу. Какая разница, где путь искать.
Цитата Сообщение от ChrisTaker Посмотреть сообщение
чтобы выводил кратчайший путь полностью
Ну выводит же, именно через все вершины, которые он проходит. Старт - светло-зелёный, сам путь - зелёный, финиш - красный.

Добавлено через 13 минут
Да, а как у Вас задаётся граф?
0
0 / 0 / 0
Регистрация: 13.04.2016
Сообщений: 6
19.04.2016, 10:17  [ТС] 6
вообщем задача состоит в том, что у нас есть граф перелетов, ребра имеют вес=время перелта+ожидание, на вершинах указано время ожидания
матрица имеет размерность 33, начало 1 и конец в 33, задаю все константой, остальное задаю большим числом, к примеру миллионом
нужно реализовать алгоритм, по которому на основе время ожидания, будет обходить граф
0
Модератор
9733 / 5070 / 3285
Регистрация: 17.08.2012
Сообщений: 15,609
19.04.2016, 16:57 7
Цитата Сообщение от ChrisTaker Посмотреть сообщение
матрица имеет размерность 33
Что за матрица?
0
0 / 0 / 0
Регистрация: 13.04.2016
Сообщений: 6
20.04.2016, 07:34  [ТС] 8
вот какая)
Миниатюры
Алгоритм А* (поиск пути)  
0
Модератор
9733 / 5070 / 3285
Регистрация: 17.08.2012
Сообщений: 15,609
23.04.2016, 01:53 9
Всё думаю-думаю, и никак не могу сообразить, каким образом применить маршрутный алгоритм (которым A* и является) к задаче коммивояжера... Неувязочка получается из-за различного веса рёбер и узлов графа. В принципе, можно, наверное, только вот пока никак не соображу, каким образом впихнуть даже не сам граф, а его элементы, в маршрутный алгоритм...
0
0 / 0 / 0
Регистрация: 13.04.2016
Сообщений: 6
26.04.2016, 20:09  [ТС] 10
получается если граф денежный, то эвристическая оценкой будет 10 мин лжидания = 1 рубль, првязать так
а вес ребер будет стоимость перелета
агде граф временный то там эвристической оценкой будет являться время ожидания, а вес графа время ожидания+время перелета
0
Модератор
9733 / 5070 / 3285
Регистрация: 17.08.2012
Сообщений: 15,609
27.04.2016, 00:18 11
В том-то и дело, что разный вес рёбер и вершин... В классическом A* вес рёбер одинаковый, а весов вершин (если это так можно назвать) только два: вершина проходима (вес равен, к примеру, 1) и вершина непроходима (вес вершины равен бесконечности).

И ещё, отображение графа на сетку (необходимое для A*) не всегда может быть изоморфным, даже если увеличить количество измерений сетки или применить какое-либо аффинное преобразование, поскольку если отображение гомоморфное, то, как над ним не колдуй, оно, скорее всего, таковым и останется. А раз так, то возможно ложное отсечение ветвей графа из-за образования островков клеток открытого списка среди клеток закрытого списка. Тогда найденный путь вполне может быть не кратчайшим, ошибка, по сути, будет возникать из-за того, что кратчайший путь далеко не всегда содержит рёбра с минимальным весом.

Ну и... Пока никаких идей нет. Если просто с графом - тогда никакого A*, Гамильтоновы циклы и куча алгоритмов на выбор. Если A* - тогда непротык с самим алгоритмом, особенно если граф непредставим в виде дискретной сетки из-за того, что все веса не являются (равномерно дискретным) счётным множеством, и / или если рёбра графа не позволяют отобразить его на сетку с конечным и целым количеством измерений.
0
27.04.2016, 00:18
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2016, 00:18
Помогаю со студенческими работами здесь

поиск пути. алгоритм Дейкстры
доброго времени суток) обработка графа реализована через 2 динамических массива и процедуру...

Алгоритм Дэйкстры, поиск самого пути
здравствуйте, сам алгоримт работает отлично, но вот поиск пути по точкам не получается ( почему-то...

Поиск пути в лабиринте. Маршрутный алгоритм
Доброго времени суток! Получил задание от препода. Необходимо написать программу поиска пути в...

Поиск кратчайшего пути в лабиринте. Алгоритм А*
Добрый день, реализовал алгоритм A* на java, довольно коряво, но проблема в другом. Мне нужно найти...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru