際際滷

際際滷Share a Scribd company logo
P, NP, NP-Hard & NP-complete
problems
Prof. Shaik Naseera
Department of CSE
JNTUACEK, Kalikiri
1
Objectives
 P, NP, NP-Hard and NP-Complete
 Solving 3-CNF Sat problem
 Discussion of Gate Questions
2
Types of Problems
 Trackable
 Intrackable
 Decision
 Optimization
3
Trackable : Problems that can be solvable
in a reasonable(polynomial) time.
Intrackable : Some problems are
intractable, as they grow large, we are
unable to solve them in reasonable time.
Tractability
 What constitutes reasonable time?
 Standard working definition: polynomial time
 On an input of size n the worst-case running
time is O(nk) for some constant k
 O(n2), O(n3), O(1), O(n lg n), O(2n), O(nn), O(n!)
 Polynomial time: O(n2), O(n3), O(1), O(n lg n)
 Not in polynomial time: O(2n), O(nn), O(n!)
 Are all problems solvable in polynomial
time?
 No: Turings Halting Problem is not solvable
by any computer, no matter how much time is
given.
4
Optimization/Decision Problems
 Optimization Problems
 An optimization problem is one which asks,
What is the optimal solution to problem X?
 Examples:
 0-1 Knapsack
 Fractional Knapsack
 Minimum Spanning Tree
 Decision Problems
 An decision problem is one with yes/no answer
 Examples:
 Does a graph G have a MST of weight  W?
5
Optimization/Decision Problems
 An optimization problem tries to find an optimal solution
 A decision problem tries to answer a yes/no question
 Many problems will have decision and optimization versions
 Eg: Traveling salesman problem
 optimization: find hamiltonian cycle of minimum
weight
 decision: is there a hamiltonian cycle of weight  k
6
P, NP, NP-Hard, NP-Complete
-Definitions
7
The Class P
P: the class of problems that have polynomial-time
deterministic algorithms.
 That is, they are solvable in O(p(n)), where p(n) is a
polynomial on n
 A deterministic algorithm is (essentially) one that always
computes the correct answer
8
Sample Problems in P
 Fractional Knapsack
 MST
 Sorting
 Others?
9
The class NP
NP: the class of decision problems that are solvable in
polynomial time on a nondeterministic machine (or with
a nondeterministic algorithm)
 (A determinstic computer is what we know)
 A nondeterministic computer is one that can guess the right
answer or solution
 Think of a nondeterministic computer as a parallel
machine that can freely spawn an infinite number of
processes
 Thus NP can also be thought of as the class of
problems whose solutions can be verified in polynomial time
 Note that NP stands for Nondeterministic
Polynomial-time
10
Sample Problems in NP
 Fractional Knapsack
 MST
 Others?
 Traveling Salesman
 Graph Coloring
 Satisfiability (SAT)
 the problem of deciding whether a given
Boolean formula is satisfiable
11
P And NP Summary
 P = set of problems that can be solved in
polynomial time
 Examples: Fractional Knapsack, 
 NP = set of problems for which a solution can be
verified in polynomial time
 Examples: Fractional Knapsack,, TSP, CNF
SAT, 3-CNF SAT
 Clearly P  NP
 Open question: Does P = NP?
 P  NP
NP-hard
 What does NP-hard mean?
 A lot of times you can solve a problem by reducing it to
a different problem. I can reduce Problem B to
Problem A if, given a solution to Problem A, I can easily
construct a solution to Problem B. (In this case,
"easily" means "in polynomial time.).
 A problem is NP-hard if all problems in NP
are polynomial time reducible to it, ...

Every problem in NP is reducible to HC in
polynomial time. Ex:- TSP is reducible to
HC.
13
Example: lcm(m, n) = m * n / gcd(m, n),
B A
Ex:- Hamiltonian Cycle
NP-complete problems
 A problem is NP-complete if the problem is
both
 NP-hard, and
 NP.
Reduction
 A problem R can be reduced to another
problem Q if any instance of R can be
rephrased to an instance of Q, the
solution to which provides a solution to the
instance of R
 This rephrasing is called a transformation
 Intuitively: If R reduces in polynomial time
to Q, R is no harder to solve than Q
 Example: lcm(m, n) = m * n / gcd(m, n),
lcm(m,n) problem is reduced to gcd(m, n)
problem
NP-Hard and NP-Complete
 If R is polynomial-time reducible to Q,
we denote this R p Q
 Definition of NP-Hard and NP-
Complete:
 If all problems R  NP are polynomial-time
reducible to Q, then Q is NP-Hard
 We say Q is NP-Complete if Q is NP-Hard
and Q  NP
 If R p Q and R is NP-Hard, Q is also
NP-Hard
17
Summary
 P is set of problems that can be solved by a
deterministic Turing machine in Polynomial
time.
 NP is set of problems that can be solved by
a Non-deterministic Turing Machine in
Polynomial time. P is subset of NP (any
problem that can be solved by
deterministic machine in polynomial time
can also be solved by non-deterministic
machine in polynomial time) but PNP.
18
 Some problems can be translated into one
another in such a way that a fast solution to
one problem would automatically give us a fast
solution to the other.
 There are some problems that every single
problem in NP can be translated into, and a fast
solution to such a problem would automatically
give us a fast solution to every problem in NP.
This group of problems are known as NP-
Complete. Ex:- Clique
 A problem is NP-hard if an algorithm for solving
it can be translated into one for solving any NP-
problem (nondeterministic polynomial time)
problem. NP-hard therefore means "at least as
hard as any NP-problem," although it might, in
fact, be harder.
19
First NP-complete problem
Circuit Satisfiability (problem
definition)
 Boolean combinational circuit
 Boolean combinational elements, wired
together
 Each element, inputs and outputs (binary)
 Limit the number of outputs to 1.
 Called logic gates: NOT gate, AND gate, OR
gate.
 true table: giving the outputs for each
setting of inputs
 true assignment: a set of boolean inputs.
 satisfying assignment: a true assignment
causing the output to be 1.
20
Circuit Satisfiability
Problem: definition
 Circuit satisfying problem: given a boolean
combinational circuit composed of AND,
OR, and NOT, is it stisfiable?
 CIRCUIT-SAT={<C>: C is a satisfiable
boolean circuit}
 Implication: in the area of computer-aided
hardware optimization, if a subcircuit
always produces 0, then the subcircuit can
be replaced by a simpler subcircuit that
omits all gates and just output a 0.
21
22
Two instances of circuit satisfiability problems
Solving circuit-satisfiability
problem
 Intuitive solution:
 for each possible assignment, check
whether it generates 1.
 suppose the number of inputs is k, then
the total possible assignments are 2k.
So the running time is (2k). When the
size of the problem is (k), then the
running time is not polynomial.
23
24
Example of reduction of CIRCUIT-SAT to SAT
= x10(x10(x7 x8 x9))
(x9(x6  x7))
(x8(x5  x6))
(x7(x1 x2 x4))
(x6 x4))
(x5(x1  x2))
(x4x3)
REDUCTION: = x10= x7 x8 x9=(x1 x2 x4)  (x5  x6) (x6  x7)
=(x1 x2 x4)  ((x1  x2)  x4) (x4  (x1 x2 x4))=.
Conversion to 3 CNF
 The result is that in ', each clause has at most
three literals.
 Change each clause into conjunctive normal form as
follows:
 Construct a true table, (small, at most 8 by 4)
 Write the disjunctive normal form for all true-table items
evaluating to 0
 Using DeMorgan law to change to CNF.
 The resulting '' is in CNF but each clause has 3 or
less literals.
 Change 1 or 2-literal clause into 3-literal clause as
follows:
 If a clause has one literal l, change it to (lpq)(lpq)
(lpq) (lpq).
 If a clause has two literals (l1 l2), change it to (l1 l2 p) 
(l1 l2 p).
25
26
Example of a polynomial-time reduction:
We will reduce the
3CNF-satisfiability problem
to the
CLIQUE problem
27
3CNF formula:
)
(
)
(
)
(
)
( 6
5
4
4
6
3
6
5
3
3
2
1 x
x
x
x
x
x
x
x
x
x
x
x 










Each clause has three literals
3CNF-SAT ={ : is a satisfiable
3CNF formula}
w w
Language:
literal
clause
28
A 5-clique in graph
CLIQUE = { : graph
contains a -clique}

 k
G, G
k
G
Language:
29
)
(
)
(
)
(
)
( 4
3
2
3
2
1
4
2
1
4
2
1 x
x
x
x
x
x
x
x
x
x
x
x 










Clause 2
Clause 1
Clause 3
1
x
2
x
1
x 2
x 4
x
1
x
2
x
3
x
2
x
4
x
4
x
3
x
Transform formula to graph.
Example:
Clause 4
Create Nodes:
30
)
(
)
(
)
(
)
( 4
3
2
3
2
1
4
2
1
4
2
1 x
x
x
x
x
x
x
x
x
x
x
x 










1
x
2
x
1
x 2
x 4
x
1
x
2
x
2
x
4
x
4
x
3
x
3
x
Add link from a literal to a literal in every
other clause, except the complement
31
)
(
)
(
)
(
)
( 4
3
2
3
2
1
4
2
1
4
2
1 x
x
x
x
x
x
x
x
x
x
x
x 










1
x
2
x
1
x 2
x 4
x
1
x
2
x
3
x
2
x
4
x
4
x
3
x
Resulting Graph
32
1
0
0
1
4
3
2
1




x
x
x
x
1
)
(
)
(
)
(
)
( 4
3
2
3
2
1
4
2
1
4
2
1 










 x
x
x
x
x
x
x
x
x
x
x
x
1
x
2
x
1
x 2
x 4
x
1
x
2
x
3
x
2
x
4
x
4
x
3
x
The formula is satisfied if and only if
the Graph has a 4-clique
The objective is to find a clique of size 4,
where 4 is the number of clauses.
End of Proof
33
Theorem:
If: a. Language is NP-complete
b. Language is in NP
c. is polynomial time reducible to
A
A B
B
Then: is NP-complete
B
34
Corollary: CLIQUE is NP-complete
Proof:
b. CLIQUE is in NP
c. 3CNF-SAT is polynomial reducible to CLIQUE
a. 3CNF-SAT is NP-complete
Apply previous theorem with
A=3CNF-SAT and B=CLIQUE
(shown earlier)
Previous Gate Questions
35
36
Q. No. 1
37
Q. No. 2
38
Q. No. 3
39
Q. No. 4
40
Q. No. 5
41
Q. No. 6
42
Q. No. 7
43
Q. No. 8
44
Explanation: The problem of finding
whether there exist a Hamiltonian
Cycle or not is NP Hard and NP
Complete Both.
Finding a Hamiltonian cycle in a
graph G = (V,E) with V divisible by 3
is also NP Hard.
Q. No. 10
There exist: search problem
45
Q. No. 11
Thank You
46
Ad

Recommended

np hard, np complete, polynomial and non polynomial
np hard, np complete, polynomial and non polynomial
govindnarayanpatel
Np completeness
Np completeness
Rajendran
NP-Completeness-myppt.pptx
NP-Completeness-myppt.pptx
SanchayKedia2
NP-Completeewwwwwwwwwwwkkjjejjwjjjjjjjjj
NP-Completeewwwwwwwwwwwkkjjejjwjjjjjjjjj
priyaaajadhav31
Np complete
Np complete
Md. Shafiuzzaman Hira
NP Problems in design and analysis of alogorithm
NP Problems in design and analysis of alogorithm
keshavrohilla987
Teori pnp
Teori pnp
Tenia Wahyuningrum
P versus NP
P versus NP
Rituraj Joshi
Np complete
Np complete
Dr. C.V. Suresh Babu
Introduction
Introduction
Gopi Saiteja
PNP.pptx
PNP.pptx
RishuRaj953240
PNP.pptx
PNP.pptx
AbirChakraborty38
9. chapter 8 np hard and np complete problems
9. chapter 8 np hard and np complete problems
Jyotsna Suryadevara
Lower bound theory Np hard & Np completeness
Lower bound theory Np hard & Np completeness
yvtinsane
lecture 28
lecture 28
sajinsc
Design and analysis of algorithms unit 6 non deterministic polynomial
Design and analysis of algorithms unit 6 non deterministic polynomial
nowicam882
AA ppt9107
AA ppt9107
Gitanjali Wakade
Complexity theory
Complexity theory
Dr Shashikant Athawale
teteuueieoeofhfhfjffkkkfkfflflflhshssnnvmvvmvv,v,v,nnxmxxm
teteuueieoeofhfhfjffkkkfkfflflflhshssnnvmvvmvv,v,v,nnxmxxm
zoobiarana76
Np Completeness
Np Completeness
Rajan Shah
lec2cct computational cmplexity theory.pptx
lec2cct computational cmplexity theory.pptx
Rajesh481733
P np &amp; np completeness
P np &amp; np completeness
Anwal Mirza
class23.ppt
class23.ppt
AjayPratap828815
Np cooks theorem
Np cooks theorem
Narayana Galla
CSE680-17NP-Complete.pptx
CSE680-17NP-Complete.pptx
AjayPratap828815
P, NP and NP-Complete, Theory of NP-Completeness V2
P, NP and NP-Complete, Theory of NP-Completeness V2
S.Shayan Daneshvar
Introduction to NP Completeness
Introduction to NP Completeness
Gene Moo Lee
NP completeness
NP completeness
Amrinder Arora
DAA.pdf
DAA.pdf
Arivukkarasu Dhanapal
UNIT -IV DAA.pdf
UNIT -IV DAA.pdf
Arivukkarasu Dhanapal

More Related Content

Similar to DAA.pdf (20)

Np complete
Np complete
Dr. C.V. Suresh Babu
Introduction
Introduction
Gopi Saiteja
PNP.pptx
PNP.pptx
RishuRaj953240
PNP.pptx
PNP.pptx
AbirChakraborty38
9. chapter 8 np hard and np complete problems
9. chapter 8 np hard and np complete problems
Jyotsna Suryadevara
Lower bound theory Np hard & Np completeness
Lower bound theory Np hard & Np completeness
yvtinsane
lecture 28
lecture 28
sajinsc
Design and analysis of algorithms unit 6 non deterministic polynomial
Design and analysis of algorithms unit 6 non deterministic polynomial
nowicam882
AA ppt9107
AA ppt9107
Gitanjali Wakade
Complexity theory
Complexity theory
Dr Shashikant Athawale
teteuueieoeofhfhfjffkkkfkfflflflhshssnnvmvvmvv,v,v,nnxmxxm
teteuueieoeofhfhfjffkkkfkfflflflhshssnnvmvvmvv,v,v,nnxmxxm
zoobiarana76
Np Completeness
Np Completeness
Rajan Shah
lec2cct computational cmplexity theory.pptx
lec2cct computational cmplexity theory.pptx
Rajesh481733
P np &amp; np completeness
P np &amp; np completeness
Anwal Mirza
class23.ppt
class23.ppt
AjayPratap828815
Np cooks theorem
Np cooks theorem
Narayana Galla
CSE680-17NP-Complete.pptx
CSE680-17NP-Complete.pptx
AjayPratap828815
P, NP and NP-Complete, Theory of NP-Completeness V2
P, NP and NP-Complete, Theory of NP-Completeness V2
S.Shayan Daneshvar
Introduction to NP Completeness
Introduction to NP Completeness
Gene Moo Lee
NP completeness
NP completeness
Amrinder Arora
9. chapter 8 np hard and np complete problems
9. chapter 8 np hard and np complete problems
Jyotsna Suryadevara
Lower bound theory Np hard & Np completeness
Lower bound theory Np hard & Np completeness
yvtinsane
lecture 28
lecture 28
sajinsc
Design and analysis of algorithms unit 6 non deterministic polynomial
Design and analysis of algorithms unit 6 non deterministic polynomial
nowicam882
teteuueieoeofhfhfjffkkkfkfflflflhshssnnvmvvmvv,v,v,nnxmxxm
teteuueieoeofhfhfjffkkkfkfflflflhshssnnvmvvmvv,v,v,nnxmxxm
zoobiarana76
Np Completeness
Np Completeness
Rajan Shah
lec2cct computational cmplexity theory.pptx
lec2cct computational cmplexity theory.pptx
Rajesh481733
P np &amp; np completeness
P np &amp; np completeness
Anwal Mirza
CSE680-17NP-Complete.pptx
CSE680-17NP-Complete.pptx
AjayPratap828815
P, NP and NP-Complete, Theory of NP-Completeness V2
P, NP and NP-Complete, Theory of NP-Completeness V2
S.Shayan Daneshvar
Introduction to NP Completeness
Introduction to NP Completeness
Gene Moo Lee

More from Arivukkarasu Dhanapal (6)

DAA.pdf
DAA.pdf
Arivukkarasu Dhanapal
UNIT -IV DAA.pdf
UNIT -IV DAA.pdf
Arivukkarasu Dhanapal
Basic_concepts_NP_Hard_NP_Complete.pdf
Basic_concepts_NP_Hard_NP_Complete.pdf
Arivukkarasu Dhanapal
DBMS NOTES.pdf
DBMS NOTES.pdf
Arivukkarasu Dhanapal
DBMS.pdf
DBMS.pdf
Arivukkarasu Dhanapal
cyber security.pdf
cyber security.pdf
Arivukkarasu Dhanapal
Ad

Recently uploaded (20)

Kel.3_A_Review_on_Internet_of_Things_for_Defense_v3.pptx
Kel.3_A_Review_on_Internet_of_Things_for_Defense_v3.pptx
Endang Saefullah
惆惘悋愕悸 忰悋 惘悸 惠惺 悴惡 愃惘惡 悋愕惆悋
惆惘悋愕悸 忰悋 惘悸 惠惺 悴惡 愃惘惡 悋愕惆悋
忰惆 惶惶 惠惠悸
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
Shabista Imam
DESIGN OF REINFORCED CONCRETE ELEMENTS S
DESIGN OF REINFORCED CONCRETE ELEMENTS S
prabhusp8
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
special_edition_using_visual_foxpro_6.pdf
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
Stability of IBR Dominated Grids - IEEE PEDG 2025 - short.pptx
Stability of IBR Dominated Grids - IEEE PEDG 2025 - short.pptx
ssuser307730
Call For Papers - 17th International Conference on Wireless & Mobile Networks...
Call For Papers - 17th International Conference on Wireless & Mobile Networks...
hosseinihamid192023
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
NEW Strengthened Senior High School Gen Math.pptx
NEW Strengthened Senior High School Gen Math.pptx
DaryllWhere
Structural Wonderers_new and ancient.pptx
Structural Wonderers_new and ancient.pptx
nikopapa113
System design handwritten notes guidance
System design handwritten notes guidance
Shabista Imam
FSE-Journal-First-Automated code editing with search-generate-modify.pdf
FSE-Journal-First-Automated code editing with search-generate-modify.pdf
cl144
惠惘惘 惺 悋惠忰 悋惆悋 惠惆 悋悋悄 忰 悴悋忰.pdf
惠惘惘 惺 悋惠忰 悋惆悋 惠惆 悋悋悄 忰 悴悋忰.pdf
忰惆 惶惶 惠惠悸
International Journal of Advanced Information Technology (IJAIT)
International Journal of Advanced Information Technology (IJAIT)
ijait
Kel.3_A_Review_on_Internet_of_Things_for_Defense_v3.pptx
Kel.3_A_Review_on_Internet_of_Things_for_Defense_v3.pptx
Endang Saefullah
惆惘悋愕悸 忰悋 惘悸 惠惺 悴惡 愃惘惡 悋愕惆悋
惆惘悋愕悸 忰悋 惘悸 惠惺 悴惡 愃惘惡 悋愕惆悋
忰惆 惶惶 惠惠悸
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
FUNDAMENTALS OF COMPUTER ORGANIZATION AND ARCHITECTURE
Shabista Imam
DESIGN OF REINFORCED CONCRETE ELEMENTS S
DESIGN OF REINFORCED CONCRETE ELEMENTS S
prabhusp8
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
May 2025: Top 10 Read Articles in Data Mining & Knowledge Management Process
IJDKP
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
Generative AI & Scientific Research : Catalyst for Innovation, Ethics & Impact
AlqualsaDIResearchGr
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Rapid Prototyping for XR: Lecture 2 - Low Fidelity Prototyping.
Mark Billinghurst
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
Bitumen Emulsion by Dr Sangita Ex CRRI Delhi
grilcodes
Structured Programming with C++ :: Kjell Backman
Structured Programming with C++ :: Kjell Backman
Shabista Imam
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Rapid Prototyping for XR: Lecture 3 - Video and Paper Prototyping
Mark Billinghurst
special_edition_using_visual_foxpro_6.pdf
special_edition_using_visual_foxpro_6.pdf
Shabista Imam
Stability of IBR Dominated Grids - IEEE PEDG 2025 - short.pptx
Stability of IBR Dominated Grids - IEEE PEDG 2025 - short.pptx
ssuser307730
Call For Papers - 17th International Conference on Wireless & Mobile Networks...
Call For Papers - 17th International Conference on Wireless & Mobile Networks...
hosseinihamid192023
Introduction to Python Programming Language
Introduction to Python Programming Language
merlinjohnsy
NEW Strengthened Senior High School Gen Math.pptx
NEW Strengthened Senior High School Gen Math.pptx
DaryllWhere
Structural Wonderers_new and ancient.pptx
Structural Wonderers_new and ancient.pptx
nikopapa113
System design handwritten notes guidance
System design handwritten notes guidance
Shabista Imam
FSE-Journal-First-Automated code editing with search-generate-modify.pdf
FSE-Journal-First-Automated code editing with search-generate-modify.pdf
cl144
惠惘惘 惺 悋惠忰 悋惆悋 惠惆 悋悋悄 忰 悴悋忰.pdf
惠惘惘 惺 悋惠忰 悋惆悋 惠惆 悋悋悄 忰 悴悋忰.pdf
忰惆 惶惶 惠惠悸
International Journal of Advanced Information Technology (IJAIT)
International Journal of Advanced Information Technology (IJAIT)
ijait
Ad

DAA.pdf

  • 1. P, NP, NP-Hard & NP-complete problems Prof. Shaik Naseera Department of CSE JNTUACEK, Kalikiri 1
  • 2. Objectives P, NP, NP-Hard and NP-Complete Solving 3-CNF Sat problem Discussion of Gate Questions 2
  • 3. Types of Problems Trackable Intrackable Decision Optimization 3 Trackable : Problems that can be solvable in a reasonable(polynomial) time. Intrackable : Some problems are intractable, as they grow large, we are unable to solve them in reasonable time.
  • 4. Tractability What constitutes reasonable time? Standard working definition: polynomial time On an input of size n the worst-case running time is O(nk) for some constant k O(n2), O(n3), O(1), O(n lg n), O(2n), O(nn), O(n!) Polynomial time: O(n2), O(n3), O(1), O(n lg n) Not in polynomial time: O(2n), O(nn), O(n!) Are all problems solvable in polynomial time? No: Turings Halting Problem is not solvable by any computer, no matter how much time is given. 4
  • 5. Optimization/Decision Problems Optimization Problems An optimization problem is one which asks, What is the optimal solution to problem X? Examples: 0-1 Knapsack Fractional Knapsack Minimum Spanning Tree Decision Problems An decision problem is one with yes/no answer Examples: Does a graph G have a MST of weight W? 5
  • 6. Optimization/Decision Problems An optimization problem tries to find an optimal solution A decision problem tries to answer a yes/no question Many problems will have decision and optimization versions Eg: Traveling salesman problem optimization: find hamiltonian cycle of minimum weight decision: is there a hamiltonian cycle of weight k 6
  • 7. P, NP, NP-Hard, NP-Complete -Definitions 7
  • 8. The Class P P: the class of problems that have polynomial-time deterministic algorithms. That is, they are solvable in O(p(n)), where p(n) is a polynomial on n A deterministic algorithm is (essentially) one that always computes the correct answer 8
  • 9. Sample Problems in P Fractional Knapsack MST Sorting Others? 9
  • 10. The class NP NP: the class of decision problems that are solvable in polynomial time on a nondeterministic machine (or with a nondeterministic algorithm) (A determinstic computer is what we know) A nondeterministic computer is one that can guess the right answer or solution Think of a nondeterministic computer as a parallel machine that can freely spawn an infinite number of processes Thus NP can also be thought of as the class of problems whose solutions can be verified in polynomial time Note that NP stands for Nondeterministic Polynomial-time 10
  • 11. Sample Problems in NP Fractional Knapsack MST Others? Traveling Salesman Graph Coloring Satisfiability (SAT) the problem of deciding whether a given Boolean formula is satisfiable 11
  • 12. P And NP Summary P = set of problems that can be solved in polynomial time Examples: Fractional Knapsack, NP = set of problems for which a solution can be verified in polynomial time Examples: Fractional Knapsack,, TSP, CNF SAT, 3-CNF SAT Clearly P NP Open question: Does P = NP? P NP
  • 13. NP-hard What does NP-hard mean? A lot of times you can solve a problem by reducing it to a different problem. I can reduce Problem B to Problem A if, given a solution to Problem A, I can easily construct a solution to Problem B. (In this case, "easily" means "in polynomial time.). A problem is NP-hard if all problems in NP are polynomial time reducible to it, ... Every problem in NP is reducible to HC in polynomial time. Ex:- TSP is reducible to HC. 13 Example: lcm(m, n) = m * n / gcd(m, n), B A Ex:- Hamiltonian Cycle
  • 14. NP-complete problems A problem is NP-complete if the problem is both NP-hard, and NP.
  • 15. Reduction A problem R can be reduced to another problem Q if any instance of R can be rephrased to an instance of Q, the solution to which provides a solution to the instance of R This rephrasing is called a transformation Intuitively: If R reduces in polynomial time to Q, R is no harder to solve than Q Example: lcm(m, n) = m * n / gcd(m, n), lcm(m,n) problem is reduced to gcd(m, n) problem
  • 16. NP-Hard and NP-Complete If R is polynomial-time reducible to Q, we denote this R p Q Definition of NP-Hard and NP- Complete: If all problems R NP are polynomial-time reducible to Q, then Q is NP-Hard We say Q is NP-Complete if Q is NP-Hard and Q NP If R p Q and R is NP-Hard, Q is also NP-Hard
  • 17. 17
  • 18. Summary P is set of problems that can be solved by a deterministic Turing machine in Polynomial time. NP is set of problems that can be solved by a Non-deterministic Turing Machine in Polynomial time. P is subset of NP (any problem that can be solved by deterministic machine in polynomial time can also be solved by non-deterministic machine in polynomial time) but PNP. 18
  • 19. Some problems can be translated into one another in such a way that a fast solution to one problem would automatically give us a fast solution to the other. There are some problems that every single problem in NP can be translated into, and a fast solution to such a problem would automatically give us a fast solution to every problem in NP. This group of problems are known as NP- Complete. Ex:- Clique A problem is NP-hard if an algorithm for solving it can be translated into one for solving any NP- problem (nondeterministic polynomial time) problem. NP-hard therefore means "at least as hard as any NP-problem," although it might, in fact, be harder. 19
  • 20. First NP-complete problem Circuit Satisfiability (problem definition) Boolean combinational circuit Boolean combinational elements, wired together Each element, inputs and outputs (binary) Limit the number of outputs to 1. Called logic gates: NOT gate, AND gate, OR gate. true table: giving the outputs for each setting of inputs true assignment: a set of boolean inputs. satisfying assignment: a true assignment causing the output to be 1. 20
  • 21. Circuit Satisfiability Problem: definition Circuit satisfying problem: given a boolean combinational circuit composed of AND, OR, and NOT, is it stisfiable? CIRCUIT-SAT={<C>: C is a satisfiable boolean circuit} Implication: in the area of computer-aided hardware optimization, if a subcircuit always produces 0, then the subcircuit can be replaced by a simpler subcircuit that omits all gates and just output a 0. 21
  • 22. 22 Two instances of circuit satisfiability problems
  • 23. Solving circuit-satisfiability problem Intuitive solution: for each possible assignment, check whether it generates 1. suppose the number of inputs is k, then the total possible assignments are 2k. So the running time is (2k). When the size of the problem is (k), then the running time is not polynomial. 23
  • 24. 24 Example of reduction of CIRCUIT-SAT to SAT = x10(x10(x7 x8 x9)) (x9(x6 x7)) (x8(x5 x6)) (x7(x1 x2 x4)) (x6 x4)) (x5(x1 x2)) (x4x3) REDUCTION: = x10= x7 x8 x9=(x1 x2 x4) (x5 x6) (x6 x7) =(x1 x2 x4) ((x1 x2) x4) (x4 (x1 x2 x4))=.
  • 25. Conversion to 3 CNF The result is that in ', each clause has at most three literals. Change each clause into conjunctive normal form as follows: Construct a true table, (small, at most 8 by 4) Write the disjunctive normal form for all true-table items evaluating to 0 Using DeMorgan law to change to CNF. The resulting '' is in CNF but each clause has 3 or less literals. Change 1 or 2-literal clause into 3-literal clause as follows: If a clause has one literal l, change it to (lpq)(lpq) (lpq) (lpq). If a clause has two literals (l1 l2), change it to (l1 l2 p) (l1 l2 p). 25
  • 26. 26 Example of a polynomial-time reduction: We will reduce the 3CNF-satisfiability problem to the CLIQUE problem
  • 27. 27 3CNF formula: ) ( ) ( ) ( ) ( 6 5 4 4 6 3 6 5 3 3 2 1 x x x x x x x x x x x x Each clause has three literals 3CNF-SAT ={ : is a satisfiable 3CNF formula} w w Language: literal clause
  • 28. 28 A 5-clique in graph CLIQUE = { : graph contains a -clique} k G, G k G Language:
  • 29. 29 ) ( ) ( ) ( ) ( 4 3 2 3 2 1 4 2 1 4 2 1 x x x x x x x x x x x x Clause 2 Clause 1 Clause 3 1 x 2 x 1 x 2 x 4 x 1 x 2 x 3 x 2 x 4 x 4 x 3 x Transform formula to graph. Example: Clause 4 Create Nodes:
  • 30. 30 ) ( ) ( ) ( ) ( 4 3 2 3 2 1 4 2 1 4 2 1 x x x x x x x x x x x x 1 x 2 x 1 x 2 x 4 x 1 x 2 x 2 x 4 x 4 x 3 x 3 x Add link from a literal to a literal in every other clause, except the complement
  • 31. 31 ) ( ) ( ) ( ) ( 4 3 2 3 2 1 4 2 1 4 2 1 x x x x x x x x x x x x 1 x 2 x 1 x 2 x 4 x 1 x 2 x 3 x 2 x 4 x 4 x 3 x Resulting Graph
  • 32. 32 1 0 0 1 4 3 2 1 x x x x 1 ) ( ) ( ) ( ) ( 4 3 2 3 2 1 4 2 1 4 2 1 x x x x x x x x x x x x 1 x 2 x 1 x 2 x 4 x 1 x 2 x 3 x 2 x 4 x 4 x 3 x The formula is satisfied if and only if the Graph has a 4-clique The objective is to find a clique of size 4, where 4 is the number of clauses. End of Proof
  • 33. 33 Theorem: If: a. Language is NP-complete b. Language is in NP c. is polynomial time reducible to A A B B Then: is NP-complete B
  • 34. 34 Corollary: CLIQUE is NP-complete Proof: b. CLIQUE is in NP c. 3CNF-SAT is polynomial reducible to CLIQUE a. 3CNF-SAT is NP-complete Apply previous theorem with A=3CNF-SAT and B=CLIQUE (shown earlier)
  • 44. 44 Explanation: The problem of finding whether there exist a Hamiltonian Cycle or not is NP Hard and NP Complete Both. Finding a Hamiltonian cycle in a graph G = (V,E) with V divisible by 3 is also NP Hard. Q. No. 10 There exist: search problem