Title: Hardness Results for Problems
1Hardness Results for Problems
- P Class of easy to solve problems
- Absolute hardness results
- Relative hardness results
- Reduction technique
2Fundamental Setting
- When faced with a new problem P, we alternate
between the following two goals - Find a good algorithm for solving P
- Use algorithm design techniques
- Prove a hardness result for problem P
- No good algorithm exists for problem P
3Complexity Class P
- P is the set of problems that can be solved using
a polynomial-time algorithm - Sometimes we focus only on decision problems
- The task of a decision problem is to answer a
yes/no question - If a problem belongs to P, it is considered to be
efficiently solvable - If a problem is not in P, it is generally
considered to be NOT efficiently solvable - Looking back at previous slide, our goals are to
- Prove that P belongs to P
- Prove that P does not belong to P
4Hardness Results for Problems
- P Class of easy to solve problems
- Absolute hardness results
- Relative hardness results
- Reduction technique
5Absolute Hardness Results
- Fuzzy Definition
- A hardness result for a problem P without
reference to another problem - Examples
- Solving the clique problem requires W(n) time in
the worst-case - Solving the clique problem requires W(2n) time in
the worst-case. - The clique problem is not in P.
6Proof Techniques
- Diagonalization
- We dont cover, but can be used to prove
superpolynomial times required for some problems - Information Theory argument
- W(nlog n) lower bound for sorting
- Typically not a superpolynomial lower bounds
- Size of input argument
- Prove that solving the graph connectivity problem
requires W(V2) time - Prove that solving the maximum clique problem
requires W(V2) time - Typically not a superpolynomial lower bound
7Status
- Many natural problems can be shown to be in P
- Graph connectivity
- Shortest Paths
- Minimum Spanning Tree
- Very few natural problems have been proven to NOT
be in P - Variants of halting problem are one example
- Many natural problems cannot be placed in or out
of P - Satisfiability
- Clique Problem
- Hamiltonian Path
- Traveling Salesperson
8Hardness Results for Problems
- P Class of easy to solve problems
- Absolute hardness results
- Relative hardness results
- Reduction technique
9Relative Hardness Results
- Fuzzy Definition
- A hardness result for a problem P without
reference to another problem - Examples
- Satisfiability is at least as hard as Hamiltonian
Path to solve - If Satisfiability is unsolvable, then Hamiltonian
Path is unsolvable. - If Satisfiability is in P, then Hamiltonian Path
is in P - If Hamiltonian Path is not in P, then
Satisfiability is not in P
10Important Observation
- We are interested in relative hardness results
BECAUSE of our inability to prove absolute
hardness results - That is, if we could prove strong absolute
hardness results, we would not be as interested
in relative hardness results - Example
- If I could prove Satisfiability is not in P,
then I would be less interested in proving If
Hamiltonian Path is not in P, then Satisfiability
is not in P.
11Relative Hardness Proof Technique
- We show that P2 is at least as hard as P1 in the
following way - Informal We show how to solve problem P1 using a
procedure P2 that solves P2 as a subroutine
12Examples
- Multiplication and Squaring
- square(x) mult(x,x)
- Proves multiplication is at least as hard as
squaring - mult(x,y) (square(xy) square(x-y))/4
- Prove squaring is at least as hard as
multiplication - Assumes that addition, subtraction, and division
by 4 can be done with no substantial increase in
complexity - Specific complexity of multiplication may be
higher as there are two calls to square, but the
difference is polynomially bounded
13Hardness Results for Problems
- P Class of easy to solve problems
- Absolute hardness results
- Relative hardness results
- Reduction technique
14Decision Problems
- We now restrict our attention to decision
problems - Key characteristic 2 types of inputs
- Yes input instances
- No input instances
- Almost all natural problems can be converted into
an equivalent decision problem without changing
the complexity of the problem - One technique add an extra input variable that
represents the solution for the original problem
15No loss of complexity
- Example using clique problem
- Non-decision Problems
- Input Graph G(V,E)
- Task Output size of maximum clique in G
- Task 2 Output a maximum sized clique of G
- Decision Problems
- Input Graph G(V,E), integer k lt V
- Y/N Question Does G contain a clique of size k?
- Your task
- Show that if we can solve decision clique in
polynomial-time, then we can solve the
non-decision clique problems in polynomial-time.
16Reduction Technique
- In CSE 460, I use the terminology
Answer-preserving input transformation - A many-one reduction R is a computable function
mapping inputs of problem P1 to inputs of problem
P2 - R is computable by some program/algorithm
- x is a yes input to P1 ?? R(x) is a yes input to
P2 - Notation P1 ltm P2
17Pictoral Representation of Reduction
18Solvability Implications
Yes Input to P2
Yes Input to P1
Yes
No Input to P2
No
No Input to P1
If many-one reduction R exists, then If P2 is
solvable, then P1 is solvable If P1 is not
solvable, then P2 is not solvable
19Relative hardness properties
- Suppose P1 ltm P2
- Consequences
- If P2 is solvable, then P1 is solvable
- If P1 is not solvable, then P2 is not solvable
- Thus, in some sense, P1 is no harder than P2
- However, for all solvable problems P1 and P2, P1
ltm P2 and P2 ltm P1, so this does not help us
define the relative hardness of solvable problems
20Polynomial-time Reductions
- A polynomial-time many-one reduction R is a
computable function mapping inputs of problem P1
to inputs of problem P2 - R is computable by some program/algorithm in
polynomial-time - x is a yes input to P1 ?? R(x) is a yes input to
P2 - Notation P1 ltp P2
21In P Implications
Yes Input to P2
P2 solves P2 in poly time
Yes Input to P1
Yes
R
No Input to P2
No
No Input to P1
P1 solves P1 in polynomial-time
If polynomial time many-one reduction R exists,
then If P2 is in P, then P1 is in P If P1 is not
in P, then P2 is not in P
22Relative hardness properties
- Suppose P1 ltp P2
- Consequences
- If P2 is in P, then P1 is in P
- If P1 is not in P, then P2 is not in P
- Thus, in exactly the sense we want, P1 is no
harder than P2
23Showing P1 lt P2
- For any x input for P1, specify what R(x) will be
- Show that R(x) has polynomial size relative to x
- You should show that R runs in polynomial time I
only require the size requirement above - Show that if x is a yes instance for P1, then
R(x) is a yes instance for P2 - Show that if x is a no instance for P1, then R(x)
is a no instance for P2 - Often done by showing that if R(x) is a yes
instance for P2, then x must have been a yes
instance for P1
24Example HP ltp HC
- Hamiltonian Path
- Input Undirected Graph G (V,E)
- Y/N Question Does G contain a Hamiltonian Path?
- Hamiltonian Cycle
- Input Undirected Graph G (V,E)
- Y/N Question Does G contain a Hamiltonian Cycle?
25Specification of R(x)
- Consider any undirected graph G (V,E) as input
x - R(x) will be a graph G (V, E) where
- V V union v where v is not in V
- E E union (v,w) w in V
- Argument that R(x) has polynomial size
- We add exactly 1 node and V edges.
26x is yes ? R(x) is yes
- Suppose graph G has a Hamiltonian Path
- Let this path be v1, v2, , vn
- We now argue that v1, v2, , vn, v is a
Hamiltonian Cycle in G - First, all nodes in V are included exactly once
above or else v1, v2, , vn would not be a HP in
G - Since G has all the edges that G has, (vi,vi1)
is an edge in E for 1 lt i lt n-1 - Finally, since E contains edge (v,w) for all w
in V, it must be the case that E contains edges
(vn, v) and (v,v1).
27R(x) is yes ? x is yes
- Suppose graph G has a Hamiltonian Cycle
- Let this cycle be v1, v2, , vn, v
- We now argue that v1, v2, , vn is a Hamiltonian
Path in G - First, all nodes in V are included exactly once
above or else v1, v2, , vn, v would not be a HC
in G - Since the only extra edges in E compared to E
are edges involving node v, it must be the case
that E contains edge (vi,vi1) for 1 lt i lt n-1
28Turing Reducibility
- Phil made a suggestion for an alternate
reduction. - Given graph G, output Q(n2) graphs Gv,w
(V,Ev,w) where - Ev,w E union (v,w) where v,w are nodes in V
- This is not a polynomial-time reduction because
we are outputting Q(n2) graphs. - However, this idea can be used to show that if HC
can be solved in polynomial time, then HP can be
solved in polynomial time. - Run each graph Gv,w through our procedure that
solves HC. - If HC says yes for any one of these graphs,
return yes. - Otherwise return no.
- This more general reduction is often called a
Turing reduction. - We allow ourselves to use the procedure that
solves HC (or P2) a polynomial number of times
rather than just once.