520 likes | 1.13k Views
CS21 Decidability and Tractability. Lecture 27 March 10, 2010. Outline. “Challenges to the (extended) Church-Turing Thesis” quantum computation. Extended Church-Turing Thesis. the belief that TMs formalize our intuitive notion of an efficient algorithm is:
E N D
CS21 Decidability and Tractability Lecture 27 March 10, 2010 CS21 Lecture 27
Outline • “Challenges to the (extended) Church-Turing Thesis” • quantum computation CS21 Lecture 27
Extended Church-Turing Thesis • the belief that TMs formalize our intuitive notion of an efficient algorithm is: • quantum computationchallenges this belief 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) CS21 Lecture 27
For use later… • Fourier transform: time domain frequency domain can recover r from position r time domain frequency domain CS21 Lecture 27
A different model • infinite tape of a Turing Machine is an idealized model of computer • real computer is a Finite Automaton (!) • n bits of memory • 2n states CS21 Lecture 27
Model of deterministic computation 2n possible basic states state at time t+1 state at time t one 1 per column CS21 Lecture 27
Model of randomized computation possible states at time t: pi = 1 piR+ state at time t+1 state at time t “stochastic matrix ” sum in each column = 1 CS21 Lecture 27
Model of randomized computation • at end of computation, see specific state • demand correct result with high probability • think of as “measuring” system: see ith basic state with probability pi CS21 Lecture 27
Model of quantum computation possible states at time t: |ci|2 = 1 ciC state at time t+1 state at time t “unitary matrix ” preserves L2 norm CS21 Lecture 27
Model of quantum computation • at end of computation, see specific state • think of as “measuring” system: see ith basic state with probability |ci|2 CS21 Lecture 27
One quantum register • register with n qubits; shorthand for basic states shorthand for general state CS21 Lecture 27
Two quantum registers • registers with n, m qubits: shorthand for 2n+m basic states: CS21 Lecture 27
Two quantum registers shorthand for general pure state • shorthand for any other state (entangled state) • |a = i,j ai,j|i|j • example: CS21 Lecture 27
Partial measurement • general state: • if measure just the 2nd register, see state |j in 2nd register with probability • state collapses to: normalization constant CS21 Lecture 27
EPR paradox • register 1 in LA, register 2 sent to NYC • measure register 2 • probability ½: see |0, state collapses to |0|0 • probability ½: see |1, state collapses to |1|1 • measure register 1 • guaranteed to be same as observed in NYC • instantaneous “communication” CS21 Lecture 27
Quantum complexity • classical computation of function f • some functions are easy, some hard • need to measure “complexity” of Mf xth position f(x)th position Mf = transition matrix for f CS21 Lecture 27
Quantum complexity • one measure: complexity of f = length of shortest sequence of local operations computing f • example local operation: position x = 0010 logical OR position x’ = 1010 CS21 Lecture 27
Quantum complexity • analogous notion of “local operation” for quantum systems • in each step • split qubits into register of 1 or 2, and rest • operate only on small register • “efficient” in both settings: # local operations polynomial in # bits n CS21 Lecture 27
Efficiently quantum computable functions • For every f:{0,1}n {0,1}m that is efficiently computable classically • the unitary transform Uf: • note, when 2nd register = |0: CS21 Lecture 27
Efficiently quantum computable functions • Fourier Transform • N=2n; such that N = 1; unitary matrixFT = • usual FT dimension n; this is dimension N • note: FT |0 = all ones vector CS21 Lecture 27
Shor’s factoring algorithm • well-known: factoring equivalent to order finding • input: y, N • output : smallest r>0 such that yr = 1 mod N CS21 Lecture 27
Factoring: step 1 input: y, N • start state: |0|0 • apply FT on register 1: ( |i) |0 • apply Uf for function f(i) = yi mod N “quantum parallelization” CS21 Lecture 27
Factoring: step 1 • given y, N; f(i) = yi mod N; have in each vector, period = r, the order of y mod N offset depends on 2nd register CS21 Lecture 27
Factoring: step 2 • measure register 2 • state collapses to: Key: period = r (the number we are seeking) CS21 Lecture 27
Factoring: step 3 • Apply FT to register 1 large in positions b such that rb close to N • measure register 1 • obtain b • determine r from b (classically, basic number theory) CS21 Lecture 27
Quantum computation • if can build quantum computers, they will be capable of factoring in polynomial time • big “if” • do not believe factoring possible in polynomial time classically • but factoring in P if P = NP • serious challenge to extended Church-Turing Thesis CS21 Lecture 27
Course Summary continued… (Skipped in class) CS21 Lecture 27
Summary Part II: Turing Machines and decidability CS21 Lecture 27
Turing Machines • New capabilities: • infinite tape • can read OR write to tape • read/write head can move left and right input tape … 1 1 0 0 1 1 0 0 0 0 1 1 finite control read/write head q0 CS21 Lecture 27
Deciding and Recognizing • accept • reject • loop forever • 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 input machine CS21 Lecture 27
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 CS21 Lecture 27
The Halting Problem box (M, x): does M halt on x? inputs Y Turing Machines n Y 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. n n Y n H’ : n Y n Y Y n Y CS21 Lecture 27
Decidable, RE, coRE… co-HALT some language some problems (e.g HALT) have no algorithms {anbn : n ≥ 0 } co-RE decidable all languages regular languages context free languages RE {anbncn : n ≥ 0 } HALT CS21 Lecture 27
Definition of reduction • More refined notion of reduction: • “many-one” reduction (commonly) • “mapping” reduction (book) A B f yes yes reduction from language A to language B f no no CS21 Lecture 27
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. CS21 Lecture 27
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. CS21 Lecture 27
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(N)) is not RE CS21 Lecture 27
Summary Part III: Complexity CS21 Lecture 27
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 CS21 Lecture 27
Time and Space Complexity Definition: the time complexity of a TM M is a function f:N→ N, 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:N→ N, where f(n) is the maximum number of tape cells M scans on any input of length n. CS21 Lecture 27
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) CS21 Lecture 27
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. CS21 Lecture 27
Alternate definition of NP Theorem: language L is in NP if and only if it is expressible as: L = { x | 9y, |y| ≤ |x|k, (x, y) R } where R is a language in P. CS21 Lecture 27
Poly-time reductions • Type of reduction we will use: • “many-one” poly-time reduction (commonly) • “mapping” poly-time reduction (book) • f poly-time computable • YES maps to YES • NO maps to NO A B f yes yes f no no CS21 Lecture 27
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 ≤PL. 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 andL C CS21 Lecture 27
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} CS21 Lecture 27
Lots of NP-complete problems • Indendent Set • Vertex Cover • Clique • Hamilton Path (directed and undirected) • Hamilton Cycle and TSP • Subset Sum • Scheduling • NAE3SAT • Max Cut • Problem sets: Min Bisection, subgraph isomorphism, (3,3)-SAT, Partition, Knapsack, Max2SAT… CS21 Lecture 27
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 CS21 Lecture 27
Complexity classes coNP EXP all containments believed to be proper PSPACE decidable languages P NP CS21 Lecture 27
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) CS21 Lecture 27