第一个 NP 完全问题是如何被证明是 NP 完全的?

发布于 2024-07-08 21:15:00 字数 486 浏览 11 评论 0原文

来自维基百科关于 NP 完全问题的条目:

“证明某些新问题是 NP 完全问题的最简单方法是首先证明它是 NP 问题,然后将一些已知的 NP 完全问题简化为它”

我很漂亮确保我理解这一点:如果我有一个问题,我可以证明它是 NP 完全的,如果我:

  1. 表明它是 NP 的(解决方案 问题可以在 多项式时间 非确定性图灵机)

  2. 表明已知的 NP 完全问题可以是 “简化”为新问题

那么,我的问题是,第一个 NP 完全问题是如何“证明”为 NP 完全的? 某一时刻,已知的 NP 完全问题集必须为零,这使得不可能诉诸上述过程中的步骤 2。

这让我觉得有一种我不知道的不同的证明方法。 或者,或者由于缺乏已知的多项式时间解,对于某些问题,整个 NP 完全性质可能被“假设”。 (实际上,写完这篇文章后,如果情况确实如此,我不会感到惊讶,但无论如何我都希望得到一些大师的反馈)。

From the wikipedia entry on NP-Complete:

"The easiest way to prove that some new problem is NP-complete is first to prove that it is in NP, and then to reduce some known NP-complete problem to it"

I'm pretty sure that I understand this: If I have a problem, I can show that it is NP-Complete if I:

  1. show that it is in NP (a solution to
    the problem can be verified in
    polynomial time on a
    non-deterministic Turing machine)

  2. Show that a problem already known to be NP-Complete can be
    'reduced' to the new problem

So, my question is, how were the first NP-complete problems 'proven' to be NP-complete? At one time, the set of known NP-complete problems must have been zero, and this would have made it impossible to resort to step 2 in the above process.

This makes me think that there is a different method for proof which I'm not aware of. Either that, or maybe the whole NP-complete property is 'assumed' for certain problems due to lack of a known polynomial time solution. (actually, having written this, I wouldn't be surprised if this is the case, but I'd like some guru-feedback either way).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

小糖芽 2024-07-15 21:15:00

库克定理

NP 类可以定义为可由非确定性图灵机判定的问题类在多项式时间内。 该定理通过布尔公式对任何非确定性图灵机的操作进行编码,表明 SAT 是 NP 完全的,当且仅当该公式是 SATisfiable 时,机器才会接受。

从历史上看,Richard Karp 的开创性论文中引入了 NP 完备性的概念(可归约性在《组合问题》)中,他定义了 NP 完全性,使用了库克定理,并一次性证明了 21 个问题是 NP 完全性的。

Cook's Theorem

The class NP can be defined as the class of problems decidable by a nondeterministic Turing machine in polynomial time. This theorem shows that SAT is NP-complete by encoding the operation of any nondeterministic Turing machine by a boolean formula, in such a way that the machine accepts if and only if that formula is SATisfiable.

Historically speaking, the notion of NP-completeness was introduced in Richard Karp's seminal paper (Reducibility Among Combinatorial Problems), where he defined NP-completeness, used Cook's theorem, and in one big shot, proved 21 problems NP-complete.

燃情 2024-07-15 21:15:00

为了给你证明的本质(这是 Garey 和 Johnson 的计算机与难解性中的几页内容):

任何计算问题都可以表示为图灵机。

可以将图灵机表示为逻辑问题,满足一定的复杂性约束。

因此,如果你能在多项式时间内解决逻辑问题,你就能在多项式时间内解决图灵机问题。

这(以及其他一些考虑因素)表明,如果您可以在多项式时间内解决逻辑问题,则可以在多项式时间内解决任何 NP 问题。 这是NP完全的定义,因此逻辑问题是NP完全的,并且可以用作其他问题的基础。

使用的逻辑问题称为可满足性(通常缩写为 SAT)。 给定一系列形式为(A或非B或非C)的子句(子句由任意数量的命题和命题的否定组成,通过逻辑或连接),是否存在对命题的真值分配,使得所有该条款属实吗?

NP 完整性是一个明确定义的属性。 您怀疑某个问题是否为 NP 完全问题的唯一原因是您认为可以将另一个 NP 完全问题简化为该问题,但尚未找到方便的问题或导出证明。

问题不在于是否存在 NP 完全问题,或者如何证明一个问题是 NP 完全问题,而在于这意味着什么。 尚未有人提出多项式时间算法来解决 NP 完全问题,也没有人证明这样的算法不存在。 无论是否P=NP,我们当然没有好的算法来解决任何NP完全问题。

这是克莱普尔基金会的千年难题之一,因此,如果你能提出一个多年来一直困扰一些非常聪明的人的证明,那么你将获得一百万美元。

To give you the essence of the proof (which is several pages of hard going in Garey & Johnson's Computers and Intractibility):

Any computational problem can be expressed as a Turing machine.

It is possible to express the Turing machine as a logic problem, satisfying certain complexity constraints.

Therefore, if you can solve the logic problem in polynomial time, you can solve the Turing machine problem in polynomial time.

This (along with some other considerations) shows that if you can solve the logic problem in polynomial time, you can solve any NP problem in polynomial time. This being the definition of NP-complete, the logic problem is therefore NP-complete, and can be used as a basis for other problems.

The logic problem used is called Satisfiability (often abbreviated to SAT). Given a series of clauses of the form (A or not-B or not-C) (clauses consisting of any number of propositions and negations of propositions connected by logical or), is there an assignment of truth values to the propositions that makes all the clauses true?

NP-completeness is a well-defined property. The only reason you'd be in doubt about a problem being NP-complete is that you thought you could reduce another NP-complete problem to it, but haven't managed to find a convenient problem or derive a proof yet.

The question is not whether NP-complete problems exist, or how to prove a problem is NP-complete, but what that means. Nobody has yet produced a polynomial-time algorithm to solve an NP-complete problem, and nobody has proved that such an algorithm can't exist. Whether or not P=NP, we certainly don't have good algorithms to solve any NP-complete problem.

This is one of the Claypool Foundation's Millenium Problems, so if you can come up with a proof that has been eluding some very bright people for quite a few years, there's a million dollars in it for you.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文