最小带宽问题

时间:2011-04-11 03:59:07

标签: algorithm graph bandwidth np-complete minimum

我很有趣的是NP-complete“最小带宽”问题,用于查找图的最小带宽。对于那些不熟悉的人,这里有一个关于它的链接......

http://en.wikipedia.org/wiki/Graph_bandwidth

我已经实现了Cuthill-McKee算法,这非常成功地为我提供了带宽 减少的顶点的排列 ;但是,我正在寻找 最小带宽 ,而不仅仅是减少的带宽。如果您有任何遇到此问题的经验,哪些算法提供 最低 的解决方案,而不仅仅是 缩减 ?我不需要任何算法的实际实现,我只是想要研究什么算法来产生实际的 最小带宽

3 个答案:

答案 0 :(得分:2)

这是一个有趣的问题,但是当我读到Wiki(你的链接)时:

  

未加权和加权   版本是特殊情况   二次瓶颈分配   问题。带宽问题是   NP难,即使是一些特殊的   例。[4]关于存在   它是有效的近似算法   众所周知,带宽是NP难的   在任何常数内近似,   这甚至在输入时都成立   图表仅限于卡特彼勒   树木(Dubey,Feige& Unger 2010)。上   另一方面,一些   多项式可解的特例   众所周知。

所以维基说NP-Hard用任何常数来近似它(所以这个问题没有PTAS)你的机会就是使用启发式算法,确保强力算法有效,(编号节点的数字在1之间.. n在启动时随机使用,然后使用蛮力)但你应该用1000年时间为卡特彼勒解决它。 您应该搜索启发式算法,而不是近似和精确算法。

答案 1 :(得分:1)

因为它是NP完全你必须使用某种“强力”算法。所以主要是你有不同的蛮力作为选择,例如像分支定界或线性规划(它的LIP,所以它在NP中)。

由于它是NP完成的,你也可以通过从NP完全性证明中转换问题实例,应用算法并将其转换回来,将每个解决方案都解决为不同的NP完全问题(TSP,SAT,...)。

答案 2 :(得分:1)

您可以做的最简单的改进可能是采用您的Cuthill-McKee算法的结果并在其上抛出禁忌搜索

有关可应用的某些算法的概述,请参阅this answer