生成塔防迷宫,也就是在未加权的网格图中找到K个最重要的节点(“逐层拦截”)


22

在塔防游戏中,您具有一个带有起点,终点和许多墙的NxM网格。

图片1

敌人从头到尾都经过最短的路径而没有穿过任何墙壁(它们通常不局限于网格,但为简单起见,假设它们是栅格。在两种情况下,它们都不能穿过对角的“孔”)

图片2

问题(至少对于这个问题而言)是放置多达 K个额外的墙,以最大化敌人必须走的路,而不会完全阻碍从终点开始。例如,对于K = 14

图3


我确定这与“ k个最重要的节点”问题相同:

给定一个无向图G =(V,E)和两个节点s,t∈V,k个最重要的节点是k个节点,其删除使从s到t的最短路径最大化。

Khachiyan等人1表明,即使该图未加权和二部图,即使将最大最短路径的长度近似为2也是NP-Hard (给定k,s,t)

然而,一切并没有丢失:后来,L。Cai等人2表明,对于“二分置换图”,可以使用“相交模型”在伪多项式时间内解决此问题。

我还无法在未加权的网格图上找到任何东西,也无法确定“二分置换图”之间的关系。 是否有任何有关我的问题的研究发表 -也许我正在寻找完全错误的地方?即使是体面的伪多项式逼近算法也能很好地工作。谢谢!


1 L. Khachiyan,E。Boros,K。Borys,K。Elbassioni,V。Gurvich,G。Rudolf和J. Zhao,“关于短路径拦截问题:完全和节点明智的有限拦截,”计算机系统理论43( 2008),2004-233。 链接
2 L. Cai和J. Mark Keil,“在间隔图中找到k个最重要的节点”。 链接

注意:这个问题是我在此处发现的stackoverflow问题的后续问题。


3
需要说明的是:您是否不允许删除会完全断开启动与完成连接的节点集?
David Eppstein,2012年

@David:是的,对此感到困惑,对不起。仍然必须有一个解决方案。
BlueRaja-Danny Pflughoeft 2012年

Answers:


12

平面度图中最多3的汉密尔顿循环减少了,这似乎是NP完全的。在最多包含三个相邻的两个二度节点的度的平面图中,哈密顿量环仍然应该是硬的(这是我没有仔细检查过的部分)。将给定的平面图嵌入到网格中,以使每个顶点成为一个网格点,每个边缘成为一个网格路径,并且所有边缘都具有相同的长度(如果需要,可以通过Z字形填充较短的边缘)。令和为两个相邻的二度节点。在壁的初始位置中包括壁,以便仅保留嵌入的顶点和边缘可用于将连接到。让小号˚F 小号˚F Ñ - ñ - 1 sfsfn和是原始图中顶点和边的数量。然后,当且仅当有可能以这样的方式放置更多个壁,使得从到的新的最短路径具有长度。该长度的一个路径必须在原始图中的汉弥尔顿路径与来自边缘一起到形成汉密尔顿的周期,并且相反地,如果图包含一个汉密尔顿的周期则可以强制路径从到到是通过在彼此的边缘放置一堵墙来保持长久。mm(n1)sf(n1)l+(n2)sfsf


很好的减少!
马齐奥·德·比亚西

当然,这就是我在问题中给出的参考文献的数字。但是我仍然需要一些解决方案,并且我希望有比简单的“使用退火/遗传算法/类似方法”更好的方法 我的问题是,是否存在任何已知的伪多项式解决方案(例如上面的二分置换图情况),或者甚至可以保证一定边界的半体面逼近?
BlueRaja-Danny Pflughoeft 2012年

3
强大的NP完全性使伪多项式解决方案不太可能。以及上面的归约,以及没有已知的最长路径近似值(最著名的近似值是并且有定向情况存在不可逼近的事实)共同表示,很难找到该问题的良好可证明的近似值。O(n/polylog)Ω(n1ϵ)
大卫·

我无法遵循这种逻辑,但是我会信守诺言,并给您一个非常可悲的勾号:(✓。感谢您抽出宝贵的时间思考和回答这个问题,Eppstein教授!
BlueRaja -Danny Pflughoeft 2012年

一年又经过很多学习(就我而言),我现在理解并同意这一证明。再次谢谢您:)
BlueRaja-Danny Pflughoeft13年
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.