Я ищу алгоритм, который мог бы найти случайный цикл в графе от узла, в то время как этот цикл пересекает другие узлы (область). Например, из зеленой звезды слева от изображения обнаруживается случайный цикл, который идет вокруг узлов красной звезды.алгоритм, который мог бы найти случайный цикл в графе
ответ
Учитывая, что вы ищете путь, который является «случайным», но все еще достаточно близко к минимальному периметру вокруг «красной звезды», вы можете попробовать это:
Во-первых, нам нужны выбрать направление, в котором мы идем. Решим по часовой стрелке, и мы начнем в точке S
.
Во-вторых, рассчитать кратчайший путь вокруг красной звезды, включая точку S
. Здесь я не буду вдаваться в подробности (например, если он вогнутый), так как это другой вопрос. Также обратите внимание, что принятие решения по S
уже отнимает от случайности алгоритма.
При выборе пути держите 3 параметра (forward
, left
, right
), которые представляют вес при случайном выборе следующего хода. Разница в результатах будет в значительной степени определяться обработкой этих параметров. Вы всегда можете держать вес равным, и тогда вы, возможно, никогда не вернетесь к начальной точке, и даже если вы это сделаете, вы не знаете, что красная звезда внутри.
Чтобы исправить это, проверьте положение с минимальным путем, рассчитанным ранее.
Если вы на нем, то right = 0
. Кроме того, направления, уходящие от минимального пути, могут получить все меньше и меньше шансов, что вы от него.
Надеюсь, это было полезно.
- 1. Найти цикл, который содержит две вершины в неориентированном графе
- 2. Найти кратчайший цикл в графе
- 3. Есть ли эффективный алгоритм, который мог бы это сделать?
- 4. Алгоритм поиска кратчайших циклов в ориентированном графе
- 5. случайный алгоритм сжатия для нахождения Min Порезы в графе
- 6. Цикл в направленном графе
- 7. Цикл максимального веса в графе
- 8. Алгоритм, который мог бы обнаружить ключевые слова Java, но не содержался в String
- 9. Как найти цикл в ориентированном графе, используя топологическую сортировку?
- 10. Лучше случайный алгоритм?
- 11. Где я мог бы вступить в цикл for?
- 12. Алгоритм поиска дыры в бесконечном одномерном графе
- 13. Алгоритм для перемещения всех ребер в графе
- 14. Найти алгоритм пути в графе с помощью java
- 15. Простой псевдо-случайный алгоритм
- 16. алгоритм, чтобы найти число различных путей в ориентированном графе
- 17. Случайный алгоритм списка воспроизведения
- 18. Отключить все вершины в графе - Алгоритм
- 19. Стабильный случайный алгоритм цвета
- 20. Найти отрицательный цикл в ориентированном графе, используя Dijkstra?
- 21. Найти цикл наименьшей длины в ориентированном графе с положительными весами
- 22. Как найти цикл, содержащий набор узлов в графе?
- 23. Найти наименьшее красочный путь в графе
- 24. Алгоритм, возвращающий путь одного цикла в неориентированном графе
- 25. Есть ли лучший цикл, который я мог бы написать для сокращения запросов к базе данных?
- 26. Есть ли способ, который я мог бы выполнить, не заканчивая (как бесконечный цикл while)?
- 27. Случайный алгоритм построения
- 28. Design алгоритм для обнаружения цикла в графе G
- 29. Добавить случайный цикл анимации css3
- 30. AS3 случайный алгоритм
В вашем текущем местоположении выберите следующий возможный узел таким образом, чтобы он был ближе всего к группе или красным узлам и еще не был посещен. Чтобы найти метрику для «ближайших к красным узлам», просто выберите ту, у которой минимальная «сумма расстояния». Например, в вашем первом углу на картинке справа один ближе, чем один. По-моему, вы закончили, когда вернетесь на стартовый узел. – BitTickler
Можно ли предположить, что граф плоский? – slider
Да, мы могли бы предположить, что график плоский. Это также направлено. Это в основном дорожная сеть. – Ark