枚举有界树宽的平面图


9

我正在寻找以下问题的参考:给定整数和,列举个顶点和treewidth上的所有非同构平面图。我对理论和实际结果都感兴趣,但是大多数实用算法可以对和值进行编码和运行(请考虑和)。如果您已经有了答案,请忽略下面的杂乱无章。nknknkk5n15

下面的方法可以很好地枚举个顶点和树宽上的所有非同构图(即,当除去平面约束时):nk

(a)列举个顶点和树宽上的所有非同构图。n1k

(b)对于每个顶点上顶点和树宽,每集团上顶点和每个子集中的边缘的,使从通过添加新的顶点与相邻。将添加到个顶点上的grahs 列表和树宽。Gn1kCkGSCGGSvCGLnk

(c)通过删除同一图的副本来修剪。L

将其扩展为枚举树宽平面图的一种诱人方法是在每次迭代时简单地过滤掉非平面图。不幸的是,这无法生成所有树宽平面图(例如,因为它仅枚举退化图)。kk4

当然,我们可以枚举个顶点和树宽上的所有图,然后过滤掉非平面的图,但这无法利用大多数图是非平面的并且看起来不是最佳的图。nk


您确定要实现它并测试结果吗?非同构树的数量已经是指数级的。
2014年

@Saeed:当然-对于20个节点,树的数量少于一百万,因此我希望至少对于是可行的。n15
daniello 2014年

1
从最大群大小为顶点和弦图开始,并去除边使其平坦,该如何做?nk+1
曹一欣2014年

@Yixin Cao这看起来类似于枚举图+它们的树分解(即,每棵树十亿分之一的树都可以看到相同的图)。到目前为止,它的运行速度非常慢(但是有些优化可以使这种方法可行)
daniello 2014年

2
@daniello,我明白您的意思,但是您是否看到了此应用程序:cs.anu.edu.au/~bdm/plantri,他们声称它们可以在一秒钟内生成1M平面图(关于同构)。(尽管这并不是您想要的,但是对于1-2-3个相连的平面图来说似乎是完美的,但是在15个顶点上并没有很多4-5个相连的平面图)。
2014年

Answers:


2

有一个不错的软件可以生成关于同构的小型平面图,这可能会有所帮助。如我所见,问题之一是生成非同构平面图,并且这些平面图中的大多数(在少于15个顶点上)具有小的树宽。

为了检查它们的树宽是否小于给定值,一种方法是使用启发式算法来加快计算速度,只是在精确算法不可行的情况下。例如,首先在平面图我们可以找到的直径和相应的长度为路径(即直径)。然后找到一个顶点,它与所有顶点与其他顶点最长距离()最短。如果的树宽小于,则最多为。kGGPdvPluGPwPGd+lk 那么我们就完成了,否则要么应用其他启发式算法,要么运行精确算法。

对于少于3个连接的图,还可以通过以下方法来应用启发式方法:找到切出的顶点,然后固定这些顶点并找到剩余图的树宽。但是,如果图是连接的,则节点数很小(),则直径不大,我认为第一种启发式方法应该在那里工作。(我不知道最多15个顶点上是否有5个连通平面图,但我们知道没有连通平面图)154tt>5

由于树宽度的最大障碍物的大小 未知,我们不能简单地猜测给定图的树宽的上限值。但是似乎至少对于平面图来说,它不应该太大(一个人应该对此提供证明)。kG


1

可以枚举所有对,其中是一个树形宽度最大为的平面图,是一个大小为的袋子,因此存在的树分解,其中作为袋子。G,BGkBkGB

现在,对于每对,其中具有个顶点,我们通过添加一个以为邻居的顶点为的每个子集建立一个新图,并令为的大小为子集。如果是平面且与已发现的任何对都不同构,则添加。G,BGn1GSBvSBkBvG,BG

一个需要存储的条目数的简单上限是倍于枚举图的数量,但这是一个悲观的界限。对于大多数树宽为k的图,大多数大小为k的子集都不能装袋,例如网格只有可能的袋。(nk)k×nn3k1

我相信这将与非平面图的算法一样好,因为对于每对G,B,我们通过使B成为团来获得一个图,这些图中的大多数都是非同构的。

有几种技巧可以加快这一速度,我建议您调查一下:http : //www.siam.org/meetings/alenex04/abstacts/HBodlaender.pdf


并非所有枚举的图都有限制的路径宽度而不是树宽吗?
daniello 2014年

我想你是对的。B'的选择太有限。
Martin Vatshelle 2014年
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.