0% found this document useful (0 votes)
17 views31 pages

CAP538 Unit 6

The document discusses intractable problems related to complexity classes P, NP, NP-complete, and NP-hard. It defines these complexity classes and provides examples of problems that fall within each class, including the Boolean satisfiability problem (SAT) and how it relates to NP-completeness.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views31 pages

CAP538 Unit 6

The document discusses intractable problems related to complexity classes P, NP, NP-complete, and NP-hard. It defines these complexity classes and provides examples of problems that fall within each class, including the Boolean satisfiability problem (SAT) and how it relates to NP-completeness.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 31

Intractable Problems

Unit 6
Non-Deterministic Algorithms
What are NP, P, NP-complete, and NP-
Hard problems?

 P is a set of problems that can be solved by a deterministic Turing


machine in Polynomial-time.

 NP is a set of decision problems that can be solved by a Non-


deterministic Turing Machine in Polynomial-time.

 P is a subset of NP (any problem that can be solved by a deterministic


machine in polynomial time can also be solved by a non-deterministic
machine in polynomial time).

 Informally, NP is a set of decision problems that can be solved by a


polynomial-time via a “Lucky Algorithm”, a magical algorithm that
always makes a right guess among the given set of choices
NP-Complete Problems
• A problem X is NP-Complete if there is an NP problem Y, such that Y
is reducible to X in polynomial time. NP-Complete problems are as
hard as NP problems. A problem is NP-Complete if it is a part of both
NP and NP-Hard Problem.

• NP-complete problems are the hardest problems in the NP set. A


decision problem L is NP-complete if:
1) L is in NP (Any given solution for NP-complete problems can be
verified quickly, but there is no efficient known solution).

2) Every problem in NP is reducible to L in polynomial time (Reduction is


defined below).

Example:
1. Decision problems.
2. Regular graphs.
NP-Hard Problems
• A problem is NP-Hard if it follows property 2 mentioned previously
and doesn’t need to follow property 1. Therefore, the NP-Complete set
is also a subset of the NP-Hard set.

• A Problem X is NP-Hard if there is an NP-Complete problem Y,


such that Y is reducible to X in polynomial time. NP-Hard
problems are as hard as NP-Complete problems.

Example :
1. Hamiltonian cycle .
2. Optimization problem .
3. Shortest path
P, NP, NP-Complete and NP-Hard
NP-Hard Problem
Cook’s Theorem
 In computational complexity theory, the Cook–Levin theorem,
also known as Cook’s theorem, states that the Boolean
satisfiability (SAT) problem is NP-complete.

 That is, it is in NP, and any problem in NP can be reduced in


polynomial time by a deterministic Turing machine to the
Boolean satisfiability problem.
Satisfiability (SAT) Problem
SAT is a significant problem and can be stated as follows:

Given a Boolean expression F having n variables x1,x2,….,xn, and


Boolean operators, is it possible to have an assignment for
variables true or false such that binary expression F is true?

• SAT takes a Boolean expression F and checks whether the given


expression(or formula) is satisfiable. A Boolean expression is
said to be satisfactory for some valid assignments of variables if
the evaluation comes to be true
Satisfiability (SAT) Problem
 Satisfiable : If the Boolean variables can be assigned values
such that the formula turns out to be TRUE, then we say that
the formula is satisfiable.
 Unsatisfiable : If it is not possible to assign such values, then
we say that the formula is unsatisfiable.
Examples:
• , is satisfiable, because
A = TRUE and B = FALSE makes F = TRUE.
• , is unsatisfiable.
Satisfiability (SAT) Problem
 SAT is one of the toughest problems, as there is no known
algorithm other than the brute force approach.

 A brute force algorithm would be an exponential-time algorithm,


as 2n possible assignments need to be tried to check whether the
given Boolean expression is true or not.

 Stephen Cook and Leonid Levin proved that the SAT is NP-
complete.
Cook Said : SAT is NP-Complete
 Cook demonstrated the reduction of other hard problems to
SATs.

 Three types of SATs :

1. Circuit- SAT: A circuit-SAT can be stated as follows: given


a Boolean circuit, which is a collection of gates such
as AND, OR, and NOT, and n inputs, is there any input
assignments of Boolean variables so that the output of the
given circuit is true? Again, the difficulty with these
problems is that for n inputs to the circuit. 2n possible
outputs should be checked. Therefore, this brute force
algorithm is an exponential algorithm and hence this is a
hard problem.
Cook Said : SAT is NP-Complete

2. CNF-SAT: This problem is a restricted problem of SAT, where


the expression should be in a conjunctive normal form. An
expression is said to be in a conjunction form if all the clauses
are connected by the Boolean AND operator. Like in case of
a SAT, this is about assigning truth values to n variables such
that the output of the expression is true.

CNF Form :
( 𝐴 ∨ 𝐵 ) ∧( 𝐴 ∨ 𝐵)
Cook Said : SAT is NP-Complete
3. 3-CNF-SAT(3-SAT): This problem is another variant where the
additional restriction is that the expression is in a conjunctive
normal form and that every clause should contain exactly three
literals. This problem is also about assigning n assignments of
truth values to n variables of the Boolean expression such that
the output of the expression is true. In simple words, given an
expression in 3-CNF, a 3-SAT problem is to check whether the
given expression is satisfiable.

3-CNF Form :

You might also like