快速树宽算法


18

我想计算图的树宽。对于其他NP硬图问题,例如用于子图同构的VF2,确实有很好的启发法,例如在igraph中可用的代码。我在图形上尝试了它们,发现它们对我的数据运行非常快。

有没有类似的方法可以快速计算树宽?


1
最近FYI树宽已连接到SAT硬度由Gaspers / Szeider在FOCS,希望听到别人在聊天/讨论
VZN

Answers:


19

据我所知,最新的技术是

Hans L. Bodlaender,Fedor V. Fomin,Arie MCA Koster,Dieter Kratsch和Dimitrios M. Thilikos(2012),“关于树宽的精确算法”,ACM Transactions on Algorithms 9(1):A12,doi:10.1145 / 2390176.2390188

此处描述的方法包括已实施的算法,并进行了一些启发式优化,以使其在实践中更快。O(2n)


2
谢谢。在实践中,给出上限和下限启发式的参考文献2、8和15在该论文中可能是最有用的。
felix

10

我在ICTAI 2011中写了一篇名为树宽的快速并行分支和边界算法的论文。它可以在多核中计算树宽。我使用了很多启发式方法,并花了很多时间完善程序。

我在中国是一个随机的本科生,没有参加一个好的会议。但是根据我的实验结果,我认为我的程序非常快。我解决了Treewidth lib中许多未解决的基准问题,并且我的程序比Zhou和Hansen在IJCAI 09.中提出的算法快40倍。

我不再在这个话题上工作了。但是,如果我的以前的工作有帮助,可以从http://www.callowbird.com/undergraduate-stuff.html下载我的程序(src和exe),然后尝试一下。(不过,在稍大的实例上,它非常非常慢)


5

在这里http://arxiv.org/abs/1304.6321(今年在FOCS上接受)Bodlaender等人。给出一个算法,如果图的树宽最大为k,则给出最大5k + 4的树分解。可能会让您感兴趣。O(2k)


1
2O(k)O(ckn)c

5

这是两个有关计算树宽的算法的调查,可能会有所帮助。第一个具有经验比较,并且具有实现为Java库的各种算法。

有许多算法可以计算图形的上限,下限或确切的树宽。我们已经实现了很多上限和下限启发式算法以及两种精确的算法(动态编程和分支与绑定算法)。该报告比较了不同种类的算法,并表明某些算法是首选的。

树宽是一个图形参数,具有一些有趣的理论和实际应用。该调查回顾了确定给定图的树宽并找到小宽度的树分解的算法结果。讨论了启发式实验(上限和下限的实验),预处理,精确算法和后处理这两个理论结果,建立了问题的渐近计算复杂性。


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.