计算具有多边形障碍物的平面中最短路径的复杂性


22

假设我们在平面中得到了几个不相交的简单多边形,并且在每个多边形之外有两个点t。欧几里德最短路径问题是计算从st不与任何多边形内部相交的欧几里德最短路径。为了具体起见,让我们假设st的坐标以及每个多边形顶点的坐标是整数。ststst

这个问题可以在多项式时间内解决吗?

当然,大多数计算几何体会立即回答是:John Hershberger和Subhash Suri描述了一种算法,该算法可在时间内计算欧几里得最短路径,并且此时间范围在代数计算树模型中是最佳的。不幸的是,Hershberger和Suri的算法(以及此之前和之后的几乎所有相关算法)似乎都需要从严格的意义上讲精确的实数算法。O(nlogn)

如果所有内部顶点都是障碍顶点,则将其称为有效多边形路径;每条欧几里德最短路径均有效。任何有效路径的长度都是整数的平方根之和。因此,比较两个有效路径的长度需要比较两个平方根之和,我们不知道如何在多项式时间内进行

此外,将平方根和问题的任意实例简化为等效的欧几里德最短路径问题似乎是完全合理的。

那么:是否有多项式时间算法来计算欧几里得最短路径?还是NP问题很难?或平方根总和很难?或者是其他东西?

一些注意事项:

  • 使用标准漏斗算法,至少在给定多边形三角剖分的情况下,可以在时间内计算一个多边形内部(或外部)的最短路径,而不会出现任何奇怪的数值问题。O(n)

  • 实际上,浮点算术足以计算最短至浮点精度的路径。我只对确切问题的复杂性感兴趣。

  • 约翰·坎尼(John Canny)和约翰·里夫(John Reif)证明了3维空间中的相应问题是NP困难的(道德上是因为最短路径的数量可能成倍增加)。 崔俊,、尤根·塞伦和叶建庚描述了多项式时间近似方案。

  • Simon Kahan和Jack Snoeyink考虑了有关简单多边形中最小链接路径的相关问题的类似问题。


4
如果有平方根之和的难题列表,那将是很好的。
Suresh Venkat 2010年

4
对于cstheory,这听起来像是一个完美的问题。你为什么不问呢?
彼得·索尔

Answers:


4

也许我错过了一些事情,但是如果我们考虑所有障碍物都是点的“简单”情况,那么我们将面临计算平面图中两个顶点之间的最短路径的问题,如果我没记错的话,这是已知的作为平方根的总和。

PS。我想添加评论而不是答案,但是我找不到方法。我对此表示歉意。管理员可以帮我这个忙吗?


您需要50信誉才能在stackexchange中发布评论。此处有更多详细信息:cstheory.stackexchange.com/privileges/comment。既然您提供了一些信息,我想可以将其发布为答案了。
chazisop 2010年

1
在障碍物为点的“简单”情况下,欧几里德最短路径(或更正式地说是小路径)始终是一条直线段,计算起来很简单。但是,即使对于具有欧几里得边长的平面图中的最短路径,您是否也有关于根总硬度的参考?(不难发现四维图的减少,因为每个整数都是至多四个完美平方的和。)
Jeffε2011年

3
4k+1

你是对的。“简单”的情况相当琐碎。
伊莱亚斯(Elias)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.