感觉指数级但为P的问题


12

我正在尝试建立一个“异常有用”的算法/问题列表,例如,解决“似乎”本质上非常指数化的问题,但是有一些最终可以解决这些问题的特别聪明的算法。我的意思示例:

  • 线性编程(单纯形算法是指数时间;找到多项式时间解花了很长时间!)
  • 更一般而言,半定规划
  • 原始性测试
  • 2-SAT和HORNSAT
  • 计算行列式(如果这听起来并不困难,请考虑永久变量)
  • 寻找完美的搭配
  • 使用有限简单组的分类可以解决各种硬组理论问题
  • 可以使用复杂的禁止次要特征(可嵌入性在任意表面上;树宽和分支宽度的边界; Delta-Wye可约化图)来解决各种硬图问题
  • 计算有界组中的指数(即以步骤计算,通过重复平方来完成)abmodklogb
  • 计算依赖于LLL算法。(作为特殊情况:Euclidean算法。作为更一般的情况:PSLQ或HJLS算法。)
  • 没有泰勒术语(?)的约束问题。我承认我还没有完全理解这一点,但是听起来它可能包含了上面的2-SAT / HORNSAT情况以及有限域上的任何线性代数。在这里看到更长的帖子
  • 可通过全息缩小计算的问题。

值得一提的是,我还要提到图同构,因为它仍然非常简单(),它等效于许多其他同构问题:nlog2n

  • 有向图/多重图/超级图(一种“较难”的问题)
  • 有限自动机/ CFG

显然,这些方面存在一定的困难,但是所有人都会给至少某些人带来某种“惊奇”的感觉,因为这个问题听起来很困难,但事实证明这很容易解决。LP听起来可能相对简单,但是人们花了相当长的时间来建立一个实际的解决方案。反复平方或求解2-SAT是大学生可能会自己想到的事情,但是如果您只看过NP-Complete问题而没有看过HORNSAT,则听起来像是NP-Completeness的自然人选。解决CFSG或采用多项式方法来检查Delta-Wye可还原性并不是一件容易的事。

我希望这是有道理的; 这里显然有很多主观属性,但是我很想知道其他人发现什么是解决“显然很困难”问题的有效解决方案。


激发这个问题的动机(因为还有一个朋友也在问):我们经常谈论向学生传授NP完全性和不确定性是多么重要,因为它可以帮助他们认识到什么时候问题会变得很棘手,应该避免。此列表将是“您可能会误认为NP-Complete但实际上可以做到的问题”。这并不是说我希望很多学生充分的印象是决定因素无法计算下-就像他们可能不会遇到3SAT在野外-但他们应该承认其他等效问题
亚历Meiburg

1
我怀疑这个范围太广,无法适合我们的网站。要求提供详尽的清单,听起来不像是在这里行之有效的问题。“我很好奇听到别人发现了什么……”听起来像是一个不适合这里的问题。请参阅我们的帮助中心
DW

1
我理解,我试图承认这个问题的主观性,但是我认为这个问题很大程度上是人们会同意并从富有成效的讨论中学习的东西。对于可能表达出我想要的口气的问题(尽管我知道其他网站),请参阅cstheory.stackexchange.com/questions/20930/…cstheory.stackexchange.com/questions/11119/…
亚历克斯·梅博格

而且,还不清楚什么“指数”给谁。
拉斐尔

Answers:



1

对我来说,所有经典的和最近的更有效的算法都可以用来验证或找到连接的边缘加权图的最小生成树(MST)维基百科中列出了许多这些算法。

乍一看,这个问题看起来像旅行推销员问题,这是为数不多的最著名的NP难题。最令人惊讶的是,有验证MST的线性算法和有很多MST的近线性算法!实际上,算法中最著名的开放问题之一是是否存在确定性线性算法来在通用图中找到MST。事实证明,MST具有丰富的数学和图形结构与属性以及大量的实际应用程序,这使其成为计算机科学课程中更令人愉悦和可扩展的主题之一。有关稍微过时但写得很好的全面介绍,请查看Jason Eisner的教程

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.