如何知道语言是 conp 还是 np?

问题描述

我前几天考试没通过,我有一个我不明白的问题。

问题来了:

让我们看看 FALSE 语言:以 CNF 的形式收集所有的诗句 P 以便变量 P 上的任何位置都将不满足P。我们将在 N标记变量的数量和在 M 中的节数。 判断下列说法正确的是:

  1. 语言是 P。你可以构建一个运行时间为 O (max{N^5,M*N}^2) 的算法
  2. 语言是 NP。
  3. 语言为 CONP。

我怎么知道问题的正确答案是什么?我怎么知道 FALSE 语言是属于 np 还是 conp 我不明白。

解决方法

让我们回想一下,决策问题 CNF-SAT,即判断 CNF 句子 P 是否可满足的问题,是 NP 完全的。因此,它的互补问题是co-NP完全的。补充问题是错误的。

这是根据 NP 和 co-NP 的定义得出的。

当然,如果 P = NP,则三者都可能为真。如果 NP = coNP,那么问题将是 NP- 和 co-NP 完全的。