什么是平面度最简单的多项式算法?


28

有多种算法可在多项式时间内决定是否可以在平面上绘制图形,甚至有许多算法具有线性运行时间。但是,我找不到一种非常简单的算法,可以在课堂上轻松,快速地进行解释,并且无法证明PLANARITY在P中。您知道吗?

如有必要,可以使用Kuratowski定理或Fary定理,但不能使用任何深层次的定理,例如图次要定理。还要注意,我不在乎运行时间,我只想要一些多项式。

以下是到目前为止的3种最佳算法,它们显示了简单/无需深入理论所需的权衡。

算法1:通过使用该算法,我们可以检查图在多项式时间内是否包含或作为次要,我们使用了深层理论,得到了一个非常简单的算法。(请注意,正如Saeed所指出的那样,该理论已经使用了图嵌入,所以这并不是真正的算法方法,只是简单地告诉已经知道/接受图次要定理的学生。)ķ5ķ33

算法2 [基于某人的答案]:显而易见,它足以处理3个连通图。对于这些,找到一张脸,然后应用Tutte的弹簧定理。

算法3 [Juho建议]:Demoucron,Malgrange和Pertuiset(DMP)算法。画一个循环,剩余图的组件称为片段,我们以适当的方式嵌入它们(同时创建新片段)。这种方法不使用其他定理。


1
我认为许多人都同意最简单的多项式时间算法是Demoucron,Malgrange和Pertuiset(DMP)算法。这是一本算法教科书通常涵盖的内容(例如,参见Gibbons 1985或Bondy&Murty 1976)。仅确定平面度就足够了,还是该算法还应该输出平面嵌入?IIRC Boyer和Myrvold @joro在SODA'99上发表的论文可能涉及到遗漏的细节,尤其是关于时间复杂度的问题。
Juho 2014年

2
如果您只希望决策问题是PLANAR,那么两个可以在多项式时间内检查其存在的禁止未成年人是否足够?
joro 2014年

2
@joro:是的,那当然是一个简单的解决方案,但我宁愿避免使用如此强大的定理。
domotorp 2014年

1
我提到的算法基本上是Auslander-Parter算法。我的算法中的问题是第7部分,当我说我们可以对组件进行二等分图时。我们可以在原始算法中使用,但在我说过的算法中,我们需要更精确的组件定义,因此我不愿详细解释它。递归部分显然是正确的(如果我们可以执行第7步,那么我们就完成了),在此您怀疑它的正确性。我没有更新我的答案,因为我看到它会在两页左右,而且我不能再缩写,所以称它为简单不是很好。
2014年

3
简化为三连接的情况在概念上很简单,无论如何都应进行解释。如果我们对效率不太感兴趣,可以很容易地将效率降低到3连通的情况。检查所有2节点切割。
Chandra Chekuri 2014年

Answers:


6

我将描述一种算法。我不确定它是否简单,而且有些证明不是那么容易。

首先,正如钱德拉·切库里(Chandra Chekuri)所说,我们将图分成3个连接部分。

  1. 将图分成连接的组件。
  2. 将每个连接的组件分成2个连接的组件。可以在多项式时间检查中针对每个2连接的组件每个顶点是否连接来完成。vGiGiv
  3. 将每个2个连接的组件分成3个连接的组件。这可以在多项式时间检查中针对每个2个连接的分量两个不同的顶点完成v,uGi是否连接。Gi{v,u}

我们已经减少了检查图形的3个连接的分量是否为平面的问题。令表示3连接的分量。G

  1. CG
  2. CD
  3. D
  4. UGV(C)DG[UV(C)]GFDG[UV(C)]CFGCCC
  5. GG

备注:

  • 争论Tutte的弹簧嵌入可以实现平面嵌入并不是一件容易的事。我喜欢Edelsbrunner和Harer的书《计算拓扑》中的演示文稿,但这仅适用于三角剖分。Colin de Verdiere在http://www.di.ens.fr/~colin/cours/algo-graphs-surfaces.pdf第1.4节中讨论了弹簧嵌入。一般参考文献是Linial,Lovász,Wigderson:橡皮筋,凸嵌入和图形连接。Combinatorica 8(1):91-102(1988)。
  • 通过高斯消除,很容易用多项式算术运算来求解线性方程组。使用多项式位数来解决它不是那么容易。

我编辑了答案以避免使用桥和重叠图。
某人

假设每个3个连接的组件都可以嵌入。那么我们可以推断出原始图呢?使用那个3连通图最多有一个嵌入,也许我们可以从这里结束,但是这一步也必须完成。
domotorp 2014年

最后,在第4步中,非平面图中的面是什么?我想这仍然可以自然地定义。最后,“ Else G不是平面的”确实看起来并不平凡。
domotorp 2014年

DG[UV(C)]G

我们对此表示同意,但我不认为这有什么帮助。
domotorp 2014年



0

两种算法,都在LogSpace中

  1. Eric Allender和Meena Mahajan-平面测试的复杂性
  2. Samir Datta和Gautam Prakriya-重新进行平面测试

第二个比第一个简单得多。


一点都不简单。
domotorp 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.