【问题标题】:Are there any online algorithms for planarity testing?是否有任何用于平面性测试的在线算法?
【发布时间】:2010-12-08 23:11:58
【问题描述】:

我知道planarity testing 可以在 O(v) 时间内完成(等效于 O(e),因为平面图有 O(v) 条边)。

我想知道它是否可以在 O(1) 摊销时间内在线完成,因为添加了每条边(仍然是 O(e) 时间)。

换句话说,在一个表示图边的数据库表中,并受到所表示的图是平面的约束,负责管理约束的 DBMS 必须花费多少时间来验证每个提议的插入? (为简化起见,假设没有删除。)它必须重新运行其中一个 O(v) 平面性测试算法来测试每个提议的插入或插入组吗?

【问题讨论】:

    标签: algorithm complexity-theory graph-theory


    【解决方案1】:

    经过更多研究,答案似乎是“是”,有在线算法,但“否”没有 O(1) 摊销运行时间。

    这是 ACM 杂志上的一篇 1999 年论文,Fully dynamic planarity testing with applications,其中作者写道:

    特别是,我们在平面图 G 上考虑以下三个操作: (i) 如果结果图保持平面,则插入一条边; (ii) 删除一条边; (iii) 测试是否可以在不违反平面性的情况下将边添加到图中。我们展示了如何在 O(n^2/3) 时间内支持上述每个操作,其中 n 是图中的顶点数。测试和删除的界限是最坏的情况,而插入的界限是摊销的。

    我还找到了 1989 年论文的摘要,Incremental planarity testing 声称边缘插入的 O(log n) 界限,但我不确定他们的技术是否也包括删除。

    1999 年的论文还提到了一种 O(inverse-ackermann(total-operations, n)) 算法,用于没有删除的情况,在 1992 年的一篇论文Fast incremental planarity testing 中进行了讨论,但 CiteSeer 目前已关闭,所以稍后我会阅读详细信息。

    删除对我的应用程序很有用,并且可以访问 J. ACM 论文,我将进一步阅读摊销 O(n^2/3) 策略。

    【讨论】:

    • 感谢您的提问和回答。从技术上讲,答案是“否”,因为您要求 O(1) 摊销,这些是每个操作的 O(n^2/3)、O(log n) 和 O(inverse-ackermann...),没有其中是 O(1) :-)
    • 是的,绝对正确,O(1) 部分的答案是否定的,更广泛的是否有任何在线算法问题的答案是肯定的。我将进行编辑以反映这一点。
    • 我只想补充一点,已知最快的全动态算法有 $O(\sqrt{n})$ 摊销更新时间。 sciencedirect.com/science/article/pii/S0022000096900021
    猜你喜欢
    • 2011-09-04
    • 2010-10-24
    • 2018-11-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多