NP-complete Proof: 3-SAT is Polynomially Transformable

  • Context: MHB 
  • Thread starter Thread starter mathmari
  • Start date Start date
Click For Summary
SUMMARY

The discussion centers on the proof that 3-SAT is NP-complete by demonstrating that satisfiability for CNF (conjunctive normal form) expressions can be polynomially transformed into 3-SAT. The transformation involves replacing sums of four or more literals with a specific product of sums format, ensuring that the new expression is satisfiable if and only if the original expression is satisfiable. The process is efficient, with the transformation time proportional to the length of the original CNF expression.

PREREQUISITES
  • Understanding of NP-completeness and its implications
  • Familiarity with CNF (conjunctive normal form) expressions
  • Knowledge of logical operations, specifically disjunction and conjunction
  • Basic grasp of polynomial time transformations in computational theory
NEXT STEPS
  • Study the concept of NP-completeness in depth, focusing on reductions
  • Learn about other NP-complete problems and their relationships to 3-SAT
  • Explore the implications of polynomial transformations in computational complexity
  • Investigate the role of logical variables in satisfiability problems
USEFUL FOR

The discussion is beneficial for computer scientists, mathematicians, and students in theoretical computer science, particularly those interested in computational complexity, algorithm design, and logic.

mathmari
Gold Member
MHB
Messages
4,984
Reaction score
7
Hey! :o

The proof that $3-$satisfiability is NP-complete, is the following:

We shall show that satisfiability for CNF (conjunctive normal form) expressions is polynomially transformable to $3-$satisfiability. Given a product of sums, replace each sum $(x_1+x_2+ \dots +x_k), k \geq 4$, with $$(x_1+x_2+y_1)(x_3+\overline{y}_1, y_2)(x_4+\overline{y}_2+y_3) \dots (x_{k-2}+\overline{y}_{k-4}+y_{k-3})(x_{k-1}+x_k+\overline{y}_{y-3}) \ \ \ \ \ (*)$$
for new variables $y_1, y_2, \dots, y_{k-3}$.

For example, for $k=4$, expression $(*)$ is $(x_1+x_2+y_1)(x_3+x_4 \overline{y}_1)$.

There is some assignment to the new variables which makes the replacing expression have value $1$ if and only if one of the literals $x_1, x_2, \dots , x_k$ has value $1$, that is, if and only if the original expression has value $1$. Assume $x_j=1$. Then set $y_j$ to $1$ for $j \leq i-2$ and set $y_j$ to $0$ for $j>i-2$. The replacing expression has value $1$. Conversely, assume that some assignment for the $y_i$'s makes the resulting expression have value $1$, If $y_1=0$, then either $x_1$ or$x_2$ must have value $1$. If $y_{k-3}=1$ then either $x_{k-1}$ or $x_{k}$ must have value $1$. If $y_1=1$ and $y_{k-3}=0$, then for some $i$, $1 \leq i \leq k-4$, $y_i=1$ and $y_{i+1}=0$, implying $x_{i+2}$ must have value $1$. In any event some $x_i$ must have value $1$.
The length of each replacing expression is bounded by a constant multiple of the length of the eplaced expression. In fact, given any CNF expression $E$, we can find, by applying the above transformations to each sum, a $3-$CNF expression $E'$ which is satisfiable if and only if the original expressiom is satisfiable. Moreover, we can find $E'$ in time proportional to the length of $E$, since the treansformations are straightforward to apply. Could you explain me this proof?? (Wondering)
 
Technology news on Phys.org
mathmari said:
Given a product of sums, replace each sum $(x_1+x_2+ \dots +x_k), k \geq 4$, with $$(x_1+x_2+y_1)(x_3+\overline{y}_1, y_2)(x_4+\overline{y}_2+y_3) \dots (x_{k-2}+\overline{y}_{k-4}+y_{k-3})(x_{k-1}+x_k+\overline{y}_{y-3}) \ \ \ \ \ (*)$$
for new variables $y_1, y_2, \dots, y_{k-3}$.
The comma in the second factor should be a plus.

mathmari said:
For example, for $k=4$, expression $(*)$ is $(x_1+x_2+y_1)(x_3+x_4 \overline{y}_1)$.
The expression should be $(x_1+x_2+y_1)(x_3+x_4 + \overline{y}_1)$.

mathmari said:
Could you explain me this proof?
Explaining a proof is NP-hard. (Smile) For a single sentence or claim there is only a limited number of difficulties or ways it can be misunderstood, and all of them can be addressed in a short explanation. In a long proof, each claim has its potential difficulties, and difficulties from different parts of the proof may combine to create new once. Therefore, the number of potential things to explain is exponential in the size of the proof. So you'll have to point out individual sentences and describe what you don't understand about them if you want help...
 
Evgeny.Makarov said:
The comma in the second factor should be a plus.

The expression should be $(x_1+x_2+y_1)(x_3+x_4 + \overline{y}_1)$.

Yes, you're right! (Blush)
Evgeny.Makarov said:
Explaining a proof is NP-hard. (Smile)

(Smile)
Evgeny.Makarov said:
So you'll have to point out sentences and describe what you don't understand about them if you want help...

My questions are the following:
mathmari said:
Given a product of sums, replace each sum $(x_1+x_2+ \dots +x_k), k \geq 4$, with $$(x_1+x_2+y_1)(x_3+\overline{y}_1 + y_2)(x_4+\overline{y}_2+y_3) \dots (x_{k-2}+\overline{y}_{k-4}+y_{k-3})(x_{k-1}+x_k+\overline{y}_{y-3}) \ \ \ \ \ (*)$$
for new variables $y_1, y_2, \dots, y_{k-3}$.

Why do we replace each sum with this expression?? (Wondering)

What do the new variables $y_i$ stand for?? (Wondering)
mathmari said:
There is some assignment to the new variables which makes the replacing expression have value $1$ if and only if one of the literals $x_1, x_2, \dots , x_k$ has value $1$, that is, if and only if the original expression has value $1$.

Does this stand because it stands that $$\text{ TRUE OR FALSE = TRUE }$$ ?? (Wondering)
mathmari said:
Assume $x_i=1$. Then set $y_j$ to $1$ for $j \leq i-2$ and set $y_j$ to $0$ for $j>i-2$. The replacing expression has value $1$.

Why do we set these values for $y_j$ ?? (Wondering)
mathmari said:
Conversely, assume that some assignment for the $y_i$'s makes the resulting expression have value $1$, If $y_1=0$, then either $x_1$ or$x_2$ must have value $1$. If $y_{k-3}=1$ then either $x_{k-1}$ or $x_{k}$ must have value $1$. If $y_1=1$ and $y_{k-3}=0$, then for some $i$, $1 \leq i \leq k-4$, $y_i=1$ and $y_{i+1}=0$, implying $x_{i+2}$ must have value $1$. In any event some $x_i$ must have value $1$.

Could you explain to me why this stand?? (Wondering)
mathmari said:
The length of each replacing expression is bounded by a constant multiple of the length of the replaced expression.

Why does this stand?? (Wondering)
mathmari said:
Moreover, we can find $E'$ in time proportional to the length of $E$, since the transformations are straightforward to apply.

What does this mean?? (Wondering)
 
First of all, let's say it explicitly that $+$ here denotes disjunction (not "exclusive or") and juxtaposition (writing formulas next to each other with no operation in between) denotes conjunction.

mathmari said:
Why do we replace each sum with this expression?
We want to reduce the SATISFIABILITY problem to 3-SATISFIABILITY, which is its special case. The reduction in the other direction is trivial precisely because it is a special case. The required direction means that we have to reduce a more general problem to a more specific one. It's like trying to get an answer to a general question by asking questions that can be answered only with "Yes" and "No". So in the end we have to have an instance of 3-SAT, i.e., all clauses must have 3 literals.

mathmari said:
What do the new variables $y_i$ stand for?
Intuitively, $y_i=x_{i+2}+\dots+x_k$. Note that $\bar{y}_i+x_{i+1}+y_{i+1}=y_i\to(x_{i+1}+y_{i+1})$.

mathmari said:
There is some assignment to the new variables which makes the replacing expression have value $1$ if and only if one of the literals $x_1, x_2, \dots , x_k$ has value $1$, that is, if and only if the original expression has value $1$.

mathmari said:
Does this stand because it stands that $$\text{ TRUE OR FALSE = TRUE }$$ ?
This is the claim that is only stated here. It is proved in the remainder of the argument.

If you still have questions, I'll try to answer them tomorrow.
 

Similar threads

  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 14 ·
Replies
14
Views
3K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 6 ·
Replies
6
Views
1K
  • · Replies 18 ·
Replies
18
Views
3K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 17 ·
Replies
17
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
Replies
7
Views
3K