【问题标题】:Computer Science problems that are still problematic [closed]仍然存在问题的计算机科学问题[关闭]
【发布时间】:2026-01-14 18:25:02
【问题描述】:

除了* (Unsolved problems in computer science) 中提到的那些,还有哪些其他计算机科学问题尚未解决?

我想问这个问题是因为其他伟大的头脑可能不知道存在这样的问题。

(设置为社区 wiki;请每篇文章一个 CS 问题)

在*上发布的有:

【问题讨论】:

  • 请注意,单向函数意味着 P != NP。

标签: computer-science


【解决方案1】:

我还没弄清楚Any Key在哪里。



好吧,说真的(并且为了贡献一些有价值的东西)将并行计算应用于“串行”任务的问题如何?串行计算的理论极限正在达到,而并行计算没有理论极限。然而,将并行计算应用于串行问题是非常困难的。例如,一个系列问题可能需要一系列计算,系列中每个计算的结果都依赖于前一个计算的结果。您如何以并行方式完成这项任务?

This article 从理论的角度说明问题,并提出推测计算的概念作为一种可能的解决方案(关于人脑的简洁观点)。然而,这是一个非常新的领域,解决方案并不容易。

【讨论】:

  • 哈哈,这么多答案。但我想知道你们是怎么错过的:一个遵循 W3C 的 css 规则集中存在的每一个 CSS 规则的浏览器。以及为什么这个特定的帖子不允许我提交答案,我收到了一个找不到页面的错误。
  • @pokrate:因为这不是 CS 问题,你的意思是“CSS 规范”,而且有不止一个 CSS 规范(所以你的答案是模棱两可的),但大多数情况下这是一个糟糕的答案,因为一个解决方案是可以想象的。我们甚至不知道某些 CS 问题是否可以解决。 @zombat:阿姆达尔定律和古斯塔夫森定律是恰当的。
  • “你如何以并行的方式完成这项任务?”如果您的架构足够并行,通过一次计算所有可能的结果(或至少几个可能的结果)并选择与串行形式中的第一个计算结果相匹配的结果?不过,可能需要一个高度并行的架构才能高效。
【解决方案2】:

将 UI 元素绑定到数据库。

那里有许多悲惨的尝试,尽管我不想这么说,.NET 可能是当今最好的一个。想想看:30 年后,为一个有多个地址的人构建一个简单的编辑器仍然很痛苦。

【讨论】:

  • 虽然这是一个有趣的问题,但它实际上与计算机科学无关。软件工程,也许吧。但是 CS?
  • 以及,类似地,如何在源代码控制下创建数据库。绝对不是 CS 问题,但也绝对没有解决。
【解决方案3】:

这里有趣的是问题的定义。问题只是在给定资源下的改进空间(并且未被证明是无法解决的)。所以根据这个新定义,我们在每个领域都会遇到很多问题。

一个问题可能是将阶乘复杂度解决方案改进为指数复杂度解决方案。 (如果它没有证明它不退出)。

【讨论】:

    【解决方案4】:

    就使用哪种编程语言解决什么问题达成一致。

    【讨论】:

    • 答案是“Emacs”。 ...什么?
    【解决方案5】:

    如何将NetFlix algorithm 提高到 NEXT 10% :)(恭喜 The Ensemble!)

    【讨论】:

    • 不要数你的鸡,他们可能有也可能没有更好的测试成绩。 ;)
    • @KTC 真的吗?他们是否延长了最后期限? netflixprize.com/closed
    • @pageman,“第一个“测验”子集的 RMSE 将在网站上公开报告;第二个“测试”子集的 RMSE 不会公开报告,但将用于确定提交如下所述。”基于第一组的公开排行榜排名可能对应于也可能不对应于基于第二组私有的最终排名。
    • @KTC 看起来你是对的,BellKor 的 Yehuda Koren 收到一条消息,他们的 RMSE 最低为 0.0001(哇!)
    【解决方案6】:

    开放式问题花园有一个您可能感兴趣的小清单:

    【讨论】:

    • 呃,无限的创造性拖延的可能性。我的老板不会高兴的……
    【解决方案7】:

    图同构。

    基本上,大多数自然发生的问题要么很容易(P),要么可能很难(NP)。如果没有记错的话,有 2 或 3 个问题“介于两者之间”。 Primality 是其中之一,但最近被证明在 P 中。Graph Isomorphism 是另一个。

    图同构就是这个问题:给定 G1 和 G2,G2 是否只是 G1,但是“重新标记”了?等价地,我们可以重新标记 G2 使其与 G1 完全相同吗?

    维基文章!一个通用的overview,以及关于其复杂度类问题的文章here

    编辑:我真的必须记住输入所有单词。

    【讨论】:

      【解决方案8】:

      在围棋游戏中成功战胜人类。 Wiki Article about computers and go.

      【讨论】:

      • .... 虽然这可能太笼统了。我想这取决于“问题”的含义。如果图灵测试是相关的,我想这也是。
      • 当我阅读 wiki 文章时,我确信这将更多地属于大挑战的范畴。有趣的是,在en.wikipedia.org/wiki/Grand_Challenge_problem 中找不到它。现在怎么可能?
      • 2016年,这个目标已经实现。 (:
      【解决方案9】:

      请注意,Church-Turing 论文实际上并不是一个关于数学的陈述。这是关于物理世界的陈述。

      证明最接近的就是“在标准模型下它是正确的”。

      这并不是说它不能在更大程度上被形式化,但你能希望的最好结果是澄清关于物理世界的具体假设。

      【讨论】:

      • 怎么样?这是关于某些函数的可计算性的声明。当然,论文是用图灵机来解决的,但这与物理计算机不同。例如,允许 TM 具有无限内存。它只能有一组有限的状态,但状态的数量没有严格的界限,所以你可以有“尽可能多的”。
      • 然而,在可计算性理论中,有各种结构可以允许不同的计算世界。最简单的例子是图灵机可以访问所谓的“Oracle”,顾名思义,它只是给出了某个问题的答案。如果 TM 有关于停止问题的预言,那么您将处于一个完全不同的计算世界,甚至可能出现更疯狂的问题(而且总是有更多无法计算的问题)。这是一篇技术含量极低的 wiki 文章:en.wikipedia.org/wiki/Arithmetical_hierarchy
      • @Clayton 非正式地说,您可以制造的任何物理计算机都可以由图灵机模拟。从纯数学的角度来看,很容易提出论文的反例——举个简单的例子,一个带有停止预言的 TM。唯一使此类反例无效的是物理世界。
      • 我不会认为访问 Oracle 的 TM 是正确的 TM,就像我认为可以访问堆栈的 FSA 是正确的 FSA 一样。无论如何,我相信正式的 CT 论文依赖于 TM 的正式定义。也就是说,CT 的建议是,即使您确实拥有 Oracle,该 Oracle 的功能也可以通过 TM 来描述,假设 Oracle 通过算法解决问题,而不是某种形式的“魔术”。我认为即使是量子算法也不能称为“魔术”。它们更快,但它们仍然是算法。一旦你调用魔法,所有的赌注都会被取消。
      • 只需重新阅读我的旧形式语言书 (Sudkamp 91) 中关于 CT 的部分,它确实同意您关于 CT 不是数学定理的说法。它并不是说它是关于物理世界的陈述,而是它是一种定义算法计算的尝试。基本上它说 TM 可以实现任何算法,并且如果不能构造 TM 来实现问题的解决方案,则该问题不是“可判定的”,这与“可解决的”大致相同。
      【解决方案10】:

      splay trees 的动态最优性。

      将一组查询固定到二叉搜索树中。 (“查找节点 6。查找节点 13。查找节点 42”...)展开树 静态最优:如果您创建一个固定的二叉搜索树并针对它运行查询,它将不会运行比对展开树运行查询更快的常数因子。

      这有点将苹果与橙子进行比较,因为张开的树不是静态树。悬而未决的问题是展开树是否是动态最优的:它是否在可以在查询期间修改自身的树的常数因子内?

      【讨论】:

      • +1 - 有趣。我以前从未听说过这些。
      【解决方案11】:

      ORM 是计算机科学的越南 - Ted Neward

      也就是说,它并没有让很多人满意。

      【讨论】:

      • 或者是一项昂贵且毫无意义的练习,没有成功的希望?
      【解决方案12】:

      真正有效的自然语言处理。不敢相信这还没有被提及。

      【讨论】:

      • 如果您可以创建一个算法来比较两种 NLP 算法中的哪一种“实际上有效”或简单地“更好地工作”,那将是一个开始!
      【解决方案13】:

      我认为旅行商问题仍未解决。

      【讨论】:

      • 这不是一个未解决的问题。它已被证明是 NP 完全的,但这与未解决的情况不同。蛮力解决方案是简单地计算所有可能路线的长度,然后选择最短的一条。这在计算上非常昂贵,以至于不切实际,但它是一种解决方案。
      • 它仍然不满足任何正式的效率标准,但你是对的,技术上已经解决了。
      • 从已知为 NP 完全的意义上说,它已经完全解决了。
      【解决方案14】:

      重新解析答案,我想我发现至少2个先前答案的组合元素是打破语法和语义之间障碍的问题。这实际上是每个程序员和计算机科学家都在研究的问题。 (最近“语义”作为整个 CS 领域的主题越来越多地出现。)我们开辟的大多数领域和主题都是从承诺打破这一障碍开始的。到现在,他们迟早都会从“创造智能”沦为“智能算法”。

      人工智能可能是最突出的研究领域,但最终,许多其他人一直梦想着一个基本上是“按我的意思做”的按钮。 (我可以适应进化算法、神经网络,以及最近的语义网人。)主要的障碍是计算机所做的一切都是移位。

      我可能在这里散布偏见和愚蠢,因为对于唯物主义者来说这不是一个基本问题,因为移位可能是我们在人类大脑中所做的一切。这可能只是一个复杂的问题。

      嗯...我不想在这里开始讨论,除了语法与语义之外,这是一个相当笼统的话题。在这方面花费太多时间肯定会让人无法解决其他答案中提到的一些更具体的问题。解决这些问题会更有效,但请记住,这里存在非常基本的障碍,我们(还)无法突破。

      【讨论】:

        【解决方案15】:

        P =? NC将是我的投票。在 P = NC 下,自动多核并行化是可能的,但人们认为两者是不同的,因此存在难以并行化的 P 完全问题。了解哪些问题属于这一类变得越来越重要。

        【讨论】: