📜  共线性问题是NP完全的证明

📅  最后修改于: 2021-04-26 06:44:51             🧑  作者: Mango

问题给定3个点abc ,任务是检查这三个点是否共线。

说明问题的一个实例是为问题指定的输入。共线性问题的一个实例是三个点((a x ,a y ),(b x ,b y ),(c x ,c y )) 。由于NP-Complete是一个在NPNP-hard中都存在的问题,因此证明问题为NP-Complete的陈述的证明包括两部分:

如果仅满足第二个条件,则该问题称为NP-Hard
但是不可能始终将每个NP问题都简化为另一个NP问题以显示其NP完整性。这就是为什么显示一个问题是NP完全的,证明该问题在NP中并且任何NP-Complete问题都可以解决。因此,可以使用以下命题证明共线性问题是NP-Complete:

共线性问题在NP中
如果NP中存在任何问题,则给定“证明”,它是问题的解决方案和问题的实例(三个点abc的集合),我们将能够识别(解决方案是否为多项式时间内的正确与否)证书。可以通过检查以下内容来完成:

共线性问题是NP-Hard
为了证明共线性问题是NP-Hard,请从已知的NP-Hard问题即3-Sum简化为共线性问题。对于在3-萨姆实例每个x,映射从x(X,X 3)。现在,从3个总和实例(x,y,z)中,我们有((x,x 3 ),(y,y 3 ),(z,z 3 ))
以下命题成立:

令集合S具有共线点(x,x 3 ),(y,y 3 ),(z,z 3 )
现在,

因此,(x,y,z)是共线点。这些方程式是可以互换的。
因此,共线性问题NP-Complete