Title: Polynomial Church-Turing thesis
1Polynomial Church-Turing thesis
- A decision problem can be solved in polynomial
time by using a reasonable sequential model of
computation if and only if it can be solved in
polynomial time by a Turing machine.
2The complexity class P
- P the class of decision problems (languages)
decided by a Turing machine so that for some
polynomial p and all x, the machine terminates
after at most p(x) steps on input x. - By the Polynomial Church-Turing Thesis, P is
robust with respect to changes of the machine
model. - Is P also robust with respect to changes of the
representation of decision problems as languages?
3How to encode max flow instance?
java MaxFlow 60161300000101200
04001400090020
000704000000
4java MaxFlow 111111 111111111111111111111111111
11 1111111111111111111111 1111111111
11111111 11111111111111111111111111111
11111111111
5Ford-Fulkerson
- Ford-Fulkerson algorithm is not a polynomial time
algorithm if input is encoded in binary. - Ford-Fulkerson is a polynomial time algorithm if
input is ecoded in unary.
6Polynomial time computable maps
- f 0,1 ! 0,1 is called polynomial time
computable if for some polynomial p, - - For all x, f(x) p(x).
- - Lf 2 P.
7Polynomial time computable maps
- A map is polynomial time computable if and only
if there is a Turing machine that on every input
x accepts after at most a polynomial number of
steps and leaves f(x) on its tape when
terminating.
8Good and polynomially equivalent representations
- A representation is good if the language of valid
representations is in P. - Two different representations of objects (say
graphs, numbers) are called polynomially
equivalent if we may translate between them using
polynomial time computable maps. - Ex Adjacency matrices vs. Edge lists
- Ex Binary vs. Decimal
- Counterexample Binary vs. Unary
9Robustness of Representation
- Given two good, polynomially equivalent
representations of the instances of a decision
problem, resulting in languages L1 and L2 we have - L1 2 P iff L2 2 P.
10Terminology
- When we say, Problem X can be solved in
polynomial time, we mean Lbinary X 2 P, i.e., we
assume binary representation of integers of
input. - If we want to say LunaryX 2 P, i.e., assume unary
representation of integers, we say Problem X can
be solved in pseudopolynomial time,
11Rigorous Formalization
Problems Languages
Efficient Algorithms Turing Machines, P
Search Problems NP
Reductions Polynomial Reductions
Universal Search Problems NPC
12Search Problems NP
-
- L is in NP iff there is a language L in
P and a polynomial p so that
13Intuition
- The y-strings are the possible solutions to the
instance x. - We require that solutions are not too long and
that it can be checked efficiently if a given y
is indeed a solution (we have a simple search
problem)
14(No Transcript)
15(No Transcript)
16P vs. NP
- P is a subset of NP
- Is PNP? Then any simple search problem has a
polynomial time algorithm. - This is the most famous open problem of
mathematical computer science!
17 18P vs. NP and mathematics
- If PNP, mathematicians may be replaced by (much
more reliable) computers - PNP ) There is an algorithmic procedure that
takes as input any formal math statement and
always outputs its shortest formal proof in time
polynomial in the length of the proof. - This is usually regarded as evidence that P and
NP are different.
19Rigorous Formalization
Problems Languages
Efficient Algorithms Turing Machines, P
Search Problems NP
Reductions Polynomial Reductions
Universal Search Problems NPC
20Reductions
- A reduction r of L1 to L2 is a polynomial time
computable map so that - 8 x x 2 L1 iff r(x) 2 L2
- We write L1 L2 if there is a reduction of
L1 to L2. - Intuition Efficient software for L2 can also be
used to efficiently solve L1.
21Example
22(No Transcript)
23TSP as ILP, compact formulation
24Properties of reductions
- Transitivity
- L1 L2 Æ L2 L3 ) L1 L3
- Follows from Polynomial Church-Turing thesis.
25Properties of reductions
- Downward closure of P
- L1 L2 Æ L2 2 P ) L1 2 P.
- Follows from Polynomial Church-Turing thesis.
26NP-hardness
- A language L is called NP-hard iff
- 8 L 2 NP L L
- Intuition Software for L is strong enough to be
used to solve any simple search problem. - Proposition If some NP-hard language is in P,
then PNP.
27NPC
- A language L 2 NP that is NP-hard is called
NP-complete. - NPC the class of NP-complete problems.
- Proposition
- L 2 NPC ) L 2 P iff PNP.
28Usefulness of NPC
- Languages in NPC are the least likely problems in
NP to be in P. - Suppose we would like to find a worst case
efficient algorithm for L 2 NPC. - If we believe that P is not NP, we know that no
worst case efficient algorithm exists. - If we have no opinion about P vs. NP, we know
that if we find a worst case efficient algorithm
for L, well earn 1,000,000.
29How to establish NP-hardness
- Thousands of natural problems are NP-complete
- Empiric fact Most natural problems in NP are
either in P or NP-hard. - Lemma If L1 is NP-hard and L1 L2 then L2 is
NP-hard. - We need to establish one problem to be NP-hard,
the rest follows using chains of reductions. Cook
(1972) established SAT to be NP-hard.
30TSP
HAMILTONIAN CYCLE
MIN VERTEX COLORING
SAT
MAX INDEPENDENT SET
SET COVER
ILP
MILP
KNAPSACK
TRIPARTITE MATCHING
BINPACKING