march 9, 2015cs21 lecture 261 cs21 decidability and tractability lecture 26 march 9, 2015
TRANSCRIPT
![Page 1: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/1.jpg)
March 9, 2015 CS21 Lecture 26 1
CS21 Decidability and Tractability
Lecture 26
March 9, 2015
![Page 2: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/2.jpg)
Outline
• “Challenges to the (extended) Church-Turing Thesis”– randomized computation– quantum computation
March 9, 2015 CS21 Lecture 26 2
![Page 3: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/3.jpg)
March 9, 2015 CS21 Lecture 26 3
Communication complexity
• Goal: compute f(x, y) while communicating as few bits as possible between Alice and Bob
Example: EQ(x, y) = 1 iff x = y• Deterministic protocol: no fewer than n+1 bits• Randomized protocol: O(log n) bits
two parties: Alice and Bob
function f:{0,1}n x {0,1}n {0,1}
Alice holds x {0,1}n; Bob holds y {0,1}n
![Page 4: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/4.jpg)
March 9, 2015 CS21 Lecture 26 4
Extended Church-Turing Thesis
• Common to insert “probabilistic”:
The “extended” Church-Turing Thesis
everything we can compute in time t(n) on a physical computer can be
computed on a probabilistic Turing Machine in time t(n)O(1) (polynomial
slowdown)
![Page 5: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/5.jpg)
March 9, 2015 CS21 Lecture 26 5
Randomized complexity classes
• model: probabilistic Turing Machine– deterministic TM with additional read-only
tape containing “coin flips”
0 1 1 0 0 1 1 1 0 1 0 0
q0
input tape
finite control
…
read/write head
0 1 1 0 0 1 1 1 0 1 0 0 …read head
![Page 6: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/6.jpg)
March 9, 2015 CS21 Lecture 26 6
Randomized complexity classes
• RP (Random Polynomial-time)
– L RP if there is a p.p.t. TM M:
x L Pry[M(x,y) accepts] ≥ ½
x L Pry[M(x,y) rejects] = 1
• coRP (complement of Random Polynomial-time)
– L coRP if there is a p.p.t. TM M:
x L Pry[M(x,y) accepts] = 1
x L Pry[M(x,y) rejects] ≥ ½
“p.p.t” = probabilistic polynomial time
![Page 7: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/7.jpg)
March 9, 2015 CS21 Lecture 26 7
Randomized complexity classes
• BPP (Bounded-error Probabilistic Poly-time)
– L BPP if there is a p.p.t. TM M:
x L Pry[M(x,y) accepts] ≥ 2/3
x L Pry[M(x,y) rejects] ≥ 2/3
![Page 8: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/8.jpg)
March 9, 2015 CS21 Lecture 26 8
Randomized complexity classes
One more important class:• ZPP (Zero-error Probabilistic Poly-time)
– ZPP = RP coRP
– Pry[M(x,y) outputs “fail”] ≤ ½
– otherwise outputs correct answer
These classes may capture “efficiently computable” better than P.
![Page 9: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/9.jpg)
March 9, 2015 CS21 Lecture 26 9
RP,coRP, BPP
PSPACEP
EXP
coRP RPBPP
ZPP
• from definitions: ZPP RP, coRP BPP
![Page 10: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/10.jpg)
March 9, 2015 CS21 Lecture 26 10
Relationship to other classes
• all these classes contain P– they can simply ignore the tape with coin flips
• all are in PSPACE – can exhaustively try all strings y– count accepts/rejects; compute probability
• RP NP (and coRP coNP)– multitude of accepting computations– NP requires only one
![Page 11: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/11.jpg)
March 9, 2015 CS21 Lecture 26 11
Polynomial identity testing
• Given: polynomial p(x1, x2, …, xn) as arithmetic formula (fan-out 1):
-
*
x1 x2
*
+ -
x3 … xn
*• multiplication (fan-in 2)
• addition (fan-in 2)
• negation (fan-in 1)
![Page 12: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/12.jpg)
March 9, 2015 CS21 Lecture 26 12
Polynomial identity testing
• Question: Is p identically zero?– i.e., is p(x) = 0 for all x Fn – (assume |F| larger than degree…)
• “polynomial identity testing” because given two polynomials p, q, we can check the identity p q by checking if (p – q) 0
![Page 13: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/13.jpg)
March 9, 2015 CS21 Lecture 26 13
Polynomial identity testing
• try all |F|n inputs? – may be exponentially many
• multiply out symbolically, check that all coefficients are zero?– may be exponentially many coefficients
• Best known deterministic algorithm places in EXP
![Page 14: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/14.jpg)
March 9, 2015 CS21 Lecture 26 14
Polynomial identity testing
Lemma (Schwartz-Zippel): Let
p(x1, x2, …, xn)
be a total degree d polynomial over a field F and let S be any subset of F. Then if p is not identically 0,
Prr1,r2,…,rnS[ p(r1, r2, …, rn) = 0] ≤ d/|S|.
![Page 15: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/15.jpg)
March 9, 2015 CS21 Lecture 26 15
Polynomial identity testing
• Given: polynomial p(x1, x2, …, xn) over field F
• Is p identically zero?
• Note: degree d is at most the size of input
-
*
x1 x2
*
+ -
x3 … xn
*
![Page 16: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/16.jpg)
March 9, 2015 CS21 Lecture 26 16
Polynomial identity testing
• randomized algorithm: pick a subset S F of size 2d– pick r1, r2, …, rn from S uniformly at random– if p(r1, r2, …, rn) = 0, answer “yes”– if p(r1, r2, …, rn) ≠ 0, answer “no”
• if p identically zero, never wrong• if not, Schwartz-Zippel ensures probability
of error at most ½
![Page 17: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/17.jpg)
March 9, 2015 CS21 Lecture 26 17
Randomized complexity classes
• We have shown:– Polynomial Identity Testing is in coRP
– note: no sub-exponential time deterministic algorithm know
![Page 18: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/18.jpg)
March 9, 2015 CS21 Lecture 26 18
Randomized complexity classes
• How powerful is randomized computation?
• We have seen an example of a problem in
BPP
that we only know how to solve deterministically in EXP.
Is randomness a panacea for intractability?
![Page 19: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/19.jpg)
March 9, 2015 CS21 Lecture 26 19
Randomized complexity classes
PSPACEP
EXP
coRP RPBPP
ZPP
• believed that P = ZPP = RP = coRP = BPP (!)
![Page 20: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/20.jpg)
March 9, 2015 CS21 Lecture 26 20
![Page 21: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/21.jpg)
March 9, 2015 CS21 Lecture 26 21
Review
• Highest level: 2 main points
1. Decidability– problem solvable by an algorithm = problem is
decidable– some problems are not decidable (e.g. HALT)
![Page 22: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/22.jpg)
March 9, 2015 CS21 Lecture 26 22
Review
• Highest level: 2 main points
2. Tractability– problem solvable in polynomial time =
problem is tractable– some problems are not tractable (EXP-
complete problems)– huge number of problems are likely not to be
tractable (NP-complete problems)
![Page 23: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/23.jpg)
March 9, 2015 CS21 Lecture 26 23
Review
• Important ideas– “problem” formalized as language
• language = set of strings
– “computation” formalized as simple machine• finite automata• pushdown automata• Turing Machine
– “power” of machine formalized as the set of languages it recognizes
![Page 24: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/24.jpg)
March 9, 2015 CS21 Lecture 26 24
Review
• Important ideas (continued):
– simulation used to show one model at least as powerful as another
– diagonalization used to show one model strictly more powerful than another
• also Pumping Lemma
– reduction used to compare one problem to another
![Page 25: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/25.jpg)
March 9, 2015 CS21 Lecture 26 25
Review
• Important ideas (continued):– complexity theory investigates the resources
required to solve problems• time, space, others…
– complexity class = set of languages– language L is C-hard if every problem in C
reduces to L– language L is C-complete if L is C-hard and L
is in C.
![Page 26: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/26.jpg)
March 9, 2015 CS21 Lecture 26 26
Review
• Important ideas (continued):
A complete problem is a surrogate for the entire class.
![Page 27: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/27.jpg)
March 9, 2015 CS21 Lecture 26 27
Summary
Part I: automata
![Page 28: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/28.jpg)
March 9, 2015 CS21 Lecture 26 28
Finite Automata
• read input one symbol at a time; follow arrows; accept if end in accept state
states
(single) start state
(several) accept states
1alphabet Σ = {0,1}
0
0,1
0,1
transition for each symbol
![Page 29: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/29.jpg)
March 9, 2015 CS21 Lecture 26 29
Finite Automata
• Non-deterministic variant: NFA
• Regular expressions built up from:– unions– concatenations– star operations
Main results: same set of languages recognized by FA, NFA and regular expressions (“regular languages”).
![Page 30: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/30.jpg)
March 9, 2015 CS21 Lecture 26 30
Pushdown Automata
0 1 1 0 0 1 1 1 0 1 0 0 1 0 1
q0
input tapefinite
control
0
1
1
0
:
(infinite) stack
New capabilities:
• can push symbol onto stack
• can pop symbol off of stack
![Page 31: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/31.jpg)
March 9, 2015 CS21 Lecture 26 31
Context-Free Grammars
A → 0A1
A → B
B → #
start symbol
terminal symbols
non-terminal symbols
production
![Page 32: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/32.jpg)
March 9, 2015 CS21 Lecture 26 32
Pushdown Automata
Main results: same set of languages recognized by NPDA, and context-free grammars (“context-free languages”).
• and DPDA’s weaker than NPDA’s…
![Page 33: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/33.jpg)
March 9, 2015 CS21 Lecture 26 33
Non-regular languages
Pumping Lemma: Let L be a regular language. There exists an integer p (“pumping length”) for which every w L with |w| p can be written as
w = xyz such that1. for every i 0, xyiz L , and
2. |y| > 0, and
3. |xy| p.
![Page 34: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/34.jpg)
March 9, 2015 CS21 Lecture 26 34
Pumping Lemma for CFLs
CFL Pumping Lemma: Let L be a CFL. There exists an integer p (“pumping length”) for which every w L with |w| p can be written as
w = uvxyz such that1. for every i 0, uvixyiz L , and
2. |vy| > 0, and
3. |vxy| p.
![Page 35: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/35.jpg)
March 9, 2015 CS21 Lecture 26 35
Summary
Part II: Turing Machines and decidability
![Page 36: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/36.jpg)
March 9, 2015 CS21 Lecture 26 36
Turing Machines
• New capabilities:– infinite tape– can read OR write to tape– read/write head can move left and right
0 1 1 0 0 1 1 1 0 1 0 0
q0
input tape
finite control
…
read/write head
![Page 37: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/37.jpg)
March 9, 2015 CS21 Lecture 26 37
Deciding and Recognizing
• TM M:– L(M) is the language it recognizes– if M rejects every x L(M) it decides L– set of languages recognized by some TM is
called Turing-recognizable or recursively enumerable (RE)
– set of languages decided by some TM is called Turing-decidable or decidable or recursive
machineinput
• accept
• reject
• loop forever
![Page 38: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/38.jpg)
March 9, 2015 CS21 Lecture 26 38
Church-Turing Thesis
• the belief that TMs formalize our intuitive notion of an algorithm is:
• Note: this is a belief, not a theorem.
The Church-Turing Thesis
everything we can compute on a physical computer
can be computed on a Turing Machine
![Page 39: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/39.jpg)
March 9, 2015 CS21 Lecture 26 39
The Halting Problem
Turing Machines
inputs
Y
n
Y
n
n
Y
n
Y n Y Y nn YH’ :
box (M, x): does M halt on x?
The existence of H which tells us yes/no for each box allows us to construct a TM H’ that cannot be in the table.
![Page 40: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/40.jpg)
March 9, 2015 CS21 Lecture 26 40
Decidable, RE, coRE…
some problems (e.g HALT) have no algorithms
regular languages
context free languages
all languagesdecidable
RE
{anbn : n ≥ 0 }
{anbncn : n ≥ 0 }
some language
HALT
co-REco-HALT
![Page 41: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/41.jpg)
March 9, 2015 CS21 Lecture 26 41
Definition of reduction
• More refined notion of reduction:– “many-one” reduction (commonly)– “mapping” reduction (book)
yes
no
yes
no
A B
reduction from language A to language B
f
f
![Page 42: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/42.jpg)
March 9, 2015 CS21 Lecture 26 42
Using reductions
• Used reductions to prove lots of problems were:– undecidable (reduce from undecidable)– non-RE (reduce from non-RE)
• or show undecidable, and coRE
– non-coRE (reduce from non-coRE)• or show undecidable, and RE
Rice’s Theorem: Every nontrivial TM property is undecidable.
![Page 43: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/43.jpg)
March 9, 2015 CS21 Lecture 26 43
The Recursion Theorem
Theorem: Let T be a TM that computes fn:t: Σ* x Σ* → Σ*
There is a TM R that computes the fn:r: Σ* → Σ*
defined as r(w) = t(w, <R>).
• In the course of computation, a Turing Machine can output its own description.
![Page 44: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/44.jpg)
March 9, 2015 CS21 Lecture 26 44
Incompleteness Theorem
Theorem: Peano Arithmetic is not complete.
(same holds for any reasonable proof system for number theory)
Proof outline:– the set of theorems of PA is RE– the set of true sentences (= Th(NN)) is not RE
![Page 45: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/45.jpg)
March 9, 2015 CS21 Lecture 26 45
Summary
Part III: Complexity
![Page 46: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/46.jpg)
March 9, 2015 CS21 Lecture 26 46
Complexity
• Complexity Theory = study of what is computationally feasible (or tractable) with limited resources:– running time– storage space– number of random bits – degree of parallelism– rounds of interaction– others…
main focus
not in this course
![Page 47: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/47.jpg)
March 9, 2015 CS21 Lecture 26 47
Time and Space Complexity
Definition: the time complexity of a TM M is a function f:NN → NN, where f(n) is the maximum number of steps M uses on any input of length n.
Definition: the space complexity of a TM M is a function f:NN → N, N, where f(n) is the maximum number of tape cells M scans on any input of length n.
![Page 48: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/48.jpg)
March 9, 2015 CS21 Lecture 26 48
Complexity Classes
Definition: TIME(t(n)) = {L : there exists a TM M that decides L in space O(t(n))}
P = k ≥ 1 TIME(nk)
EXP = k ≥ 1 TIME(2nk)Definition: SPACE(t(n)) = {L : there exists a
TM M that decides L in space O(t(n))}
PSPACE = k ≥ 1 SPACE(nk)
![Page 49: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/49.jpg)
March 9, 2015 CS21 Lecture 26 49
Complexity Classes
Definition: NTIME(t(n)) = {L : there exists a NTM M that decides L in time O(t(n))}
NP = k ≥ 1 NTIME(nk)
• Theorem: P EXP
• P NP PSPACE EXP
• Don’t know if any of the containments are proper.
![Page 50: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/50.jpg)
March 9, 2015 CS21 Lecture 26 50
Alternate definition of NP
Theorem: language L is in NP if and only if it is expressible as:
L = { x | 9 y, |y| ≤ |x|k, (x, y) R }
where R is a language in P.
![Page 51: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/51.jpg)
March 9, 2015 CS21 Lecture 26 51
Poly-time reductions• Type of reduction we will use:
– “many-one” poly-time reduction (commonly)– “mapping” poly-time reduction (book)
yes
no
yes
no
A B1. f poly-time
computable
2. YES maps to YES
3. NO maps to NO
f
f
![Page 52: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/52.jpg)
March 9, 2015 CS21 Lecture 26 52
Hardness and completeness
Definition: a language L is C-hard if for every language A C, A poly-time reduces to L; i.e., A ≤P
L.
can show L is C-hard by reducing from a known C-hard problem
Definition: a language L is C-complete if L is C-hard and L C
![Page 53: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/53.jpg)
March 9, 2015 CS21 Lecture 26 53
Complete problems
• EXP-complete: ATMB = {<M, x, m> : M is a TM that accepts x within at most m steps}
• PSPACE-complete: QSAT = {φ : φ is a 3-CNF, and x1x2x3…xn φ(x1, x2, … xn)}
• NP-complete: 3SAT = {φ : φ is a satisfiable 3-CNF formula}
![Page 54: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/54.jpg)
March 9, 2015 CS21 Lecture 26 54
Lots of NP-complete problems
• Indendent Set• Vertex Cover• Clique• Hamilton Path (directed and undirected)• Hamilton Cycle and TSP• Subset Sum• NAE3SAT• Max Cut• Problem sets: max/min Bisection, 3-coloring, subgraph
isomorphism, subset sum, (3,3)-SAT, Partition, Knapsack, Max2SAT…
![Page 55: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/55.jpg)
March 9, 2015 CS21 Lecture 26 55
Other complexity classes
• coNP – complement of NP– complete problems: UNSAT, DNF TAUTOLOGY
• NP intersect coNP – contains (decision version of ) FACTORING
• PSPACE – complete problems: QSAT, GEOGRAPHY
![Page 56: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/56.jpg)
March 9, 2015 CS21 Lecture 26 56
Complexity classes
all containments believed to be proper
PSPACE
NPP
EXP coNP
decidable languages
![Page 57: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/57.jpg)
March 9, 2015 CS21 Lecture 26 57
Extended Church-Turing Thesis
• the belief that TMs formalize our intuitive notion of an efficient algorithm is:
The “extended” Church-Turing Thesis
everything we can compute in time t(n) on a physical computer can be
computed on a Turing Machine in time t(n)O(1) (polynomial slowdown)
![Page 58: March 9, 2015CS21 Lecture 261 CS21 Decidability and Tractability Lecture 26 March 9, 2015](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d355503460f94a0c787/html5/thumbnails/58.jpg)
March 9, 2015 CS21 Lecture 26 58
Challenges to the Extended Church-Turing Thesis
• Randomized computation – BPP– POLYNOMIAL IDENTITY TESTING example
of problem in BPP, not known to be in P
• Quantum computation – FACTORING example of problem solvable in
quantum polynomial time, not believed to be in P