【问题标题】:Finding shortest distance between two points with segments blocking使用段阻塞查找两点之间的最短距离
【发布时间】:2020-08-27 05:50:15
【问题描述】:

我需要在平面中找到端点A, B之间的最短欧几里得距离,但要遵守我的欧几里得路径不能相交的N段S=[S1,S2,...]的约束。

我可以想象一种递归方法,它首先“猜测”A,B 之间的直线,并检查与线段 s 的任何交叉点,更改路径以绕过 s,然后递归调用相同的新端点上的算法。这似乎有运行时间 O(2^N),因为有 2 种方法可以绕过每个段。

这是我正在研究的旅行商问题的一个版本的子问题。

编辑:如果两个段共享一个端点,这个点是可以通过的。

【问题讨论】:

    标签: algorithm geometry graph-algorithm


    【解决方案1】:

    构造一个图G,其顶点是AB和段的2N端点。当且仅当两点之间的直线不与任何其他边相交时,才用一条边连接两点。

    现在使用A* search 来查找最短路径。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-01
      • 1970-01-01
      • 2021-02-17
      • 2012-09-01
      • 2011-02-18
      • 2019-09-16
      • 1970-01-01
      相关资源
      最近更新 更多