0% found this document useful (0 votes)
66 views6 pages

CSCE 310J Data Structures & Algorithms CSCE 310J Data Structures & Algorithms

This document discusses the complexity classes P, NP, and NP-complete. It begins by defining tractable problems as those solvable in polynomial time, while intractable problems require super-polynomial time. It then introduces the classes P and NP, with P containing problems solvable by a deterministic polynomial-time algorithm, and NP containing problems verifiable in polynomial time by a non-deterministic algorithm. Several example problems are classified as being in P or NP, including the Hamiltonian cycle and SAT problems. The document focuses on analyzing the complexity of optimization and decision problems.

Uploaded by

Sridhar Sri
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
66 views6 pages

CSCE 310J Data Structures & Algorithms CSCE 310J Data Structures & Algorithms

This document discusses the complexity classes P, NP, and NP-complete. It begins by defining tractable problems as those solvable in polynomial time, while intractable problems require super-polynomial time. It then introduces the classes P and NP, with P containing problems solvable by a deterministic polynomial-time algorithm, and NP containing problems verifiable in polynomial time by a non-deterministic algorithm. Several example problems are classified as being in P or NP, including the Hamiltonian cycle and SAT problems. The document focuses on analyzing the complexity of optimization and decision problems.

Uploaded by

Sridhar Sri
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

CSCE 310J CSCE 310J

Data Structures & Algorithms Data Structures & Algorithms


‹ Giving credit where credit is due:
» Most of the lecture notes are based on slides
P, NP, and NP-Complete created by Dr. Cusack and Dr. Leubke.
» I have modified them and added new slides
Dr. Steve Goddard
goddard@cse.unl.edu

http://www.cse.unl.edu/~goddard/Courses/CSCE310J

1 2

Tractability Polynomial-Time Algorithms


‹ Some problems are intractable: ‹ Are some problems solvable in polynomial time?
as they grow large, we are unable to solve them in » Of course: every algorithm we’ve studied provides
reasonable time polynomial-time solution to some problem
‹ What constitutes reasonable time? Standard ‹ Are all problems solvable in polynomial time?
working definition: polynomial time » No: Turing’s “Halting Problem” is not solvable by any
» On an input of size n the worst-case running time is computer, no matter how much time is given
O(nk) for some constant k ‹ Most problems that do not yield polynomial-time
» Polynomial time: O(n2), O(n3), O(1), O(n lg n) algorithms are either optimization or decision
» Not in polynomial time: O(2n), O(nn), O(n!) problems.

3 4

Optimization/Decision Optimization/Decision
Problems Problems
‹ Optimization Problems: ‹ An optimization problem tries to find an optimal solution
» An optimization problem is one which asks, “What is the optimal ‹ A decision problem tries to answer a yes/no question
solution to problem X?” ‹ Many problems will have decision and optimization
» Examples: versions.
™ 0-1 Knapsack » Eg: Traveling salesman problem
™ Fractional Knapsack ™ optimization: find hamiltonian cycle of minimum weight
™ Minimum Spanning Tree ™ decision: find hamiltonian cycle of weight < k
‹ Decision Problems ‹ Some problems are decidable, but intractable:
» An decision problem is one which asks, “Is there a solution to as they grow large, we are unable to solve them in
problem X with property Y?” reasonable time
» Examples: » What constitutes “reasonable time”?
™ Does a graph G have a MST of weight ≤ W? » Is there a polynomial-time algorithm that solves the problem?

5 6

Page 1
The Class P Sample Problems in P
P: the class of decision problems that have ‹ Fractional Knapsack
polynomial-time deterministic algorithms. ‹ MST
» That is, they are solvable in O(p(n)), where p(n) is a
polynomial on n ‹ Single-source shortest path
» A deterministic algorithm is (essentially) one that ‹ Sorting
always computes the correct answer
‹ Others?

Why polynomial?
» if not, very inefficient
» nice closure properties
» machine independent in a strong sense

7 8

The class NP Nondeterminism


NP: the class of decision problems that are solvable in ‹ Think of a non-deterministic computer as a
polynomial time on a nondeterministic machine (or with a
non-deterministic algorithm) computer that magically “guesses” a solution, then
‹ (A determinstic computer is what we know)
has to verify that it is correct
» If a solution exists, computer always guesses it
‹ A nondeterministic computer is one that can “guess” the
right answer or solution » One way to imagine it: a parallel computer that can
» Think of a nondeterministic computer as a parallel machine that freely spawn an infinite number of processes
can freely spawn an infinite number of processes ™ Have one processor work on each possible solution
‹ Thus NP can also be thought of as the class of problems ™ All processors attempt to verify that their solution works
™ If a processor finds it has a working solution
» whose solutions can be verified in polynomial time; or
» that can be solved in polynomial time on a machine that can pursue » So: NP = problems verifiable in polynomial time
infinitely many paths of the computation in parallel
‹ Note that NP stands for “Nondeterministic Polynomial-
time”
9 10

Sample Problems in NP Hamiltonian Cycle


‹ Fractional Knapsack ‹ A hamiltonian cycle of an undirected graph is a
‹ MST simple cycle that contains every vertex
‹ Single-source shortest path ‹ The hamiltonian-cycle problem: given a graph G,
‹ Sorting does it have a hamiltonian cycle?
‹ Others? ‹ Describe a naïve algorithm for solving the
» Hamiltonian Cycle (Traveling Sales Person) hamiltonian-cycle problem. Running time?
» Satisfiability (SAT)
‹ The hamiltonian-cycle problem is in NP:
» Conjunctive Normal Form (CNF) SAT
» No known deterministic polynomial time algorithm
» 3-CNF SAT
» Easy to verify solution in polynomial time (How?)

11 12

Page 2
The Satisfiability (SAT) Conjunctive Normal Form
Problem (CNF) and 3-CNF
‹ Satisfiability (SAT): ‹ Even if the form of the Boolean expression is
» Given a Boolean expression on n variables, can we
simplified, no known polynomial time algorithm exists
assign values such that the expression is TRUE? » Literal: an occurrence of a Boolean or its negation
» Ex: ((x1 →x2) ∨ ¬((¬x1 ↔ x3) ∨ x4)) ∧¬x2 » A Boolean formula is in conjunctive normal form, or CNF, if
it is an AND of clauses, each of which is an OR of literals
» Seems simple enough, but no known deterministic
™ Ex: (x1 ∨ ¬x2) ∧ (¬x1 ∨ x3 ∨ x4) ∧ (¬x5)
polynomial time algorithm exists
» Easy to verify in polynomial time!
» 3-CNF: each clause has exactly 3 distinct literals
™ Ex: (x1 ∨ ¬x2 ∨ ¬x3) ∧ (¬x1 ∨ x3 ∨ x4) ∧ (¬x5 ∨ x3 ∨ x4)
™ Notice: true if at least one literal in each clause is true

13 14

Example: CNF satisfiability Review: P And NP Summary


‹ This problem is in NP. Nondeterministic algorithm: ‹ P = set of problems that can be solved in
» Guess truth assignment
» Check assignment to see if it satisfies CNF formula
polynomial time
» Examples: Fractional Knapsack, …
‹ Example: ‹ NP = set of problems for which a solution can be
(A∨¬B ∨ ¬C ) ∧ (¬A ∨ B) ∧ (¬ B ∨ D ∨ F ) ∧ (F ∨ ¬ D) verified in polynomial time
‹ Truth assignments:
ABCDEF
» Examples: Fractional Knapsack,…, Hamiltonian Cycle,
1. 0 1 1 0 1 0 CNF SAT, 3-CNF SAT
2. 1 0 0 0 0 1 ‹ Clearly P ⊆ NP
3. 1 1 0 0 0 1
4. ... (how many more?) ‹ Open question: Does P = NP?
» Most suspect not
Checking phase: Θ(n)
15 16

NP-complete problems Review: Reduction


‹ A decision problem D is NP-complete iff ‹ A problem P can be reduced to another problem Q if
1. D ∈ NP any instance of P can be rephrased to an instance of Q,
2. every problem in NP is polynomial-time reducible to D the solution to which provides a solution to the instance
of P
‹ Cook’s theorem (1971): CNF-sat is NP-complete » This rephrasing is called a transformation
‹ Intuitively: If P reduces in polynomial time to Q, P is
‹ Other NP-complete problems obtained through “no harder to solve” than Q
polynomial-time reductions of known NP-
complete problems

17 18

Page 3
NP-Hard and NP-Complete Proving NP-Completeness
‹ If P is polynomial-time reducible to Q, we denote ‹ What steps do we have to take to prove a problem
this P ≤p Q Q is NP-Complete?
‹ Definition of NP-Hard and NP-Complete: » Pick a known NP-Complete problem P
» If all problems R ∈ NP are reducible to P, then P is NP- » Reduce P to Q
Hard ™ Describe a transformation that maps instances of P to instances
of Q, s.t. “yes” for Q = “yes” for P
» We say P is NP-Complete if P is NP-Hard
™ Prove the transformation works
and P ∈ NP
™ Prove it runs in polynomial time
‹ If P ≤p Q and P is NP-Complete, Q is also » Oh yeah, prove Q ∈ NP (What if you can’t?)
NP-Complete

19 20

Directed Hamiltonian Cycle ⇒ Directed Hamiltonian Cycle ⇒


Undirected Hamiltonian Cycle Undirected Hamiltonian Cycle
‹ What was the hamiltonian cycle problem again?
y1 y2 y3
‹ For my next trick, I will reduce the directed
hamiltonian cycle problem to the undirected y x1 x2 x3
hamiltonian cycle problem before your eyes x

» Which variant am I proving NP-Complete?


u v
‹ Given a directed graph G,
» What transformation do I need to effect?
v1 v2 v3
u1 u2 u3

21 22

Transformation: Undirected Hamiltonian


Directed ⇒ Undirected Ham. Cycle Cycle
‹ Transform graph G = (V, E) into G’ = (V’, E’): ‹ Thus we can reduce the directed problem to the
» Every vertex v in V transforms into 3 vertices undirected problem
v1, v2, v3 in V’ with edges (v1,v2) and (v2,v3) in E’
‹ What’s left to prove the undirected hamiltonian
» Every directed edge (v, w) in E transforms into the
undirected edge (v3, w1) in E’ (draw it) cycle problem NP-Complete?
» Can this be implemented in polynomial time? ‹ Argue that the problem is in NP
» Argue that a directed hamiltonian cycle in G implies an
undirected hamiltonian cycle in G’
» Argue that an undirected hamiltonian cycle in G’
implies a directed hamiltonian cycle in G

23 24

Page 4
Hamiltonian Cycle ⇒ TSP Hamiltonian Cycle ⇒ TSP
‹ The well-known traveling salesman problem: ‹ The steps to prove TSP is NP-Complete:
» Optimization variant: a salesman must travel to n cities,
» Prove that TSP ∈ NP (Argue this)
visiting each city exactly once and finishing where he
begins. How to minimize travel time? » Reduce the undirected hamiltonian cycle problem to the
TSP
» Model as complete graph with cost c(i,j) to go from city i to
™ So if we had a TSP-solver, we could use it to solve the
city j hamilitonian cycle problem in polynomial time
‹ How would we turn this into a decision problem? ™ How can we transform an instance of the hamiltonian cycle
problem to an instance of the TSP?
» A: ask if ∃ a TSP with cost < k
™ Can we do this in polynomial time?

25 26

The TSP Review: P and NP


‹ Random asides: ‹ What do we mean when we say a problem
» TSPs (and variants) have enormous practical is in P?
importance
» A: A solution can be found in polynomial time
™ E.g., for shipping and freighting companies
™ Lots of research into good approximation algorithms ‹ What do we mean when we say a problem
» Recently made famous as a DNA computing problem is in NP?
» A: A solution can be verified in polynomial time
‹ What is the relation between P and NP?
» A: P ⊆ NP, but no one knows whether P = NP

27 28

Review:
Review: NP-Complete Proving Problems NP-Complete
‹ What, intuitively, does it mean if we can reduce
‹ How do we usually prove that a problem R
problem P to problem Q?
is NP-Complete?
» P is “no harder than” Q
» A: Show R ∈NP, and reduce a known
‹ How do we reduce P to Q? NP-Complete problem Q to R
» Transform instances of P to instances of Q in polynomial
time s.t. Q: “yes” iff P: “yes”
‹ What does it mean if Q is NP-Hard?
» Every problem P∈NP ≤p Q
‹ What does it mean if Q is NP-Complete?
» Q is NP-Hard and Q ∈ NP

29 30

Page 5
Other NP-Complete
Problems General Comments
‹ K-clique
» A clique is a subset of vertices fully connected to each other, i.e. a ‹ Literally hundreds of problems have been shown
complete subgraph of G to be NP-Complete
» The clique problem: how large is the maximum-size clique in a
graph? ‹ Some reductions are profound, some are
» No turn this into a decision problem? comparatively easy, many are easy once the key
» Is there a clique of size k?
insight is given
‹ Subset-sum: Given a set of integers, does there exist a
subset that adds up to some target T?
‹ 0-1 knapsack: when weights not just integers
‹ Hamiltonian path: Obvious
‹ Graph coloring: can a given graph be colored with k colors
such that no adjacent vertices are the same color?
‹ Etc…
31 32

Page 6

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy