Могу ли я реализовать потенциальное поле / глубину первого метода для предотвращения препятствий с использованием повышения графа?

StackOverflow https://stackoverflow.com/questions/4173306

Вопрос

Я реализовал алгоритм предотвращения препятствий в MATLAB, который назначает каждый узел в графике потенциал и пытается сходить на этот потенциал (целью трассы находится в глобальном минимуме). Теперь могут появиться местные минимумы, поэтому (глобальный) планирование нуждается в способе выйти из них. Я использовал стратегию, чтобы иметь список открытых узлов, которые доступны из уже посещенных узлов. Я посещаю открытый узел, который имеет самый маленький потенциал рядом.

Я хочу реализовать это в C ++, и мне интересно, есть ли график повышения таких алгоритмов. Если нет - есть ли преимущество от использования этой библиотеки, если я должен написать алгоритм самостоятельно, и мне также придется создавать свой собственный класс графика, потому что график слишком большой, чтобы хранить в виде списка списка смежности / кромки в памяти.

Любые совет оценили!

Это было полезно?

Решение

boost::graph Обеспечивает а список кратчайших канавок / алгоритмов минимизации затрат. Вы можете быть заинтересованы в следующих: ДИЖКСТРА КРЕДИТНАЯ КАТУРМА, A *.
Алгоритмы могут быть легко настроены. Если это точно не соответствует вашим потребностям, посмотрите на Концепции посетителей. Отказ Это позволяет настроить свой алгоритм на некоторое предопределенное точку события.

Окончательно Распределен BGL. обрабатывает огромный график (потенциально миллионы узлов). Это будет работать для вас, если ваш график не вписывается в память.

Вы можете найти хороший обзор библиотеки Graph Boost здесьОтказ И, конечно же, не стесняйтесь спрашивать более конкретный вопрос о BGL на Stackoverflow.

Другие советы

На мой взгляд, boost::graph действительно потрясающий для реализации новых алгоритмов, поскольку оно предоставляет различные держатели данных, адаптеры и обычно используемые вещи (которые могут, очевидно, использоваться как части вновь построенных алгоритмов).

Последние также настраиваются из-за использования посетителей и других умных моделей.

На самом деле, boost::graph Может занять некоторое время, чтобы привыкнуть, но на мой взгляд, это действительно стоит.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top