实施代码以计算路径宽度(=节点搜索号,顶点分离号,间隔厚度)


13

我正在寻找一种算法的实现来计算图的路径宽度。众所周知,计算路径宽度等效于计算图的节点搜索数,顶点分离数或间隔厚度。该算法不必很快。我想在最多20个顶点的图形上运行它。我确实需要算法来精确计算路径宽度,而不是给出近似值。

我知道有一些实现可以计算图的树宽(相关概念),但是还没有找到任何实现来计算路径宽。任何指针表示赞赏!

Answers:


8

去年,在SAGE 4.8中添加了一个简单的DFS + DP实现:sage.graphs.graph_decompositions.vertex_separation.path_decomposition

它在此处此处在Cython(GNU GPL)中实现。如果您忽略所有不必要的内容,则非常简单且简短。时间,其中。可以使用修剪规则,特别是启发式规则来加快速度。O(nω2n)ω=pw(G)


哇啊啊啊啊啊!您如何得知它已添加到Sage中?很高兴看到人们看到Sage的新功能是什么:-)
Nathann Cohen 2012年

顺便说一下,该模块的文档就在那里,并解释了其所有工作原理:sagemath.org/doc/reference/sage/graphs/graph_decompositions/…–
Nathann Cohen

很抱歉,我实际上不是SAGE用户。Google发现您的补丁对此做出了贡献。我会为SAGE(我已经使用过Cython)做出贡献,但是我觉得最好为上游项目(NetworkX?)做出贡献,因为更多的人可以使用它。
拉尔夫·韦斯提根

好。NetworkX不再是Sage的真正“上游”,因为除非您要求,否则NetworkX不会真正大量使用NetworkX。能够使用数学的其他部分,Cython和线性编程接口也有所不同:-P
Nathann Cohen 2013年

8

不了解“实施”,但请查看

超过2 ^ n的计算路径宽度Karol Suchan和Yngve Villanger参数化和精确计算,第四届国际研讨会,IWPEC 2009,丹麦哥本哈根,Springer Verlag,计算机科学讲座5917,第324-335页。


2

Hisao Tamaki最近设计了一种用于定向路径宽度的精确算法(WG 2011)。他在那里提到了他的方法的一些成功的实际应用(ISCIT 2010),所以我想他也有该算法的实现。

久尾玉树(Hisao Tamaki):一种有向的路径分解方法,可以准确地识别布尔网络的吸引子。国际通信和信息技术研讨会(ISCIT 2010),第844-849页

Hisao Tamaki:有界定向路径宽度的多项式时间算法。在:第37届计算机科学图形理论概念国际研讨会(WG 2011),LNCS 6986,第331-342页。

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.