Complexity Theory Lecture 3 Lecturer: Moni Naor. Recap Last week: Non deterministic communication complexity Probabilistic communication complexity Their.

Slides:



Advertisements
Similar presentations
Part VI NP-Hardness. Lecture 23 Whats NP? Hard Problems.
Advertisements

Complexity Theory Lecture 6
Complexity Classes: P and NP
Circuit and Communication Complexity. Karchmer – Wigderson Games Given The communication game G f : Alice getss.t. f(x)=1 Bob getss.t. f(y)=0 Goal: Find.
Based on Powerpoint slides by Giorgi Japaridze, Villanova University Space Complexity and Interactive Proof Systems Sections 8.0, 8.1, 8.2, 8.3, 10.4.
Lecture 24 MAS 714 Hartmut Klauck
Complexity Theory Lecture 7
1 Nondeterministic Space is Closed Under Complement Presented by Jing Zhang and Yingbo Wang Theory of Computation II Professor: Geoffrey Smith.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
1 Space Complexity. 2 Def: Let M be a deterministic Turing Machine that halts on all inputs. Space Complexity of M is the function f:N  N, where f(n)
NP-complete and NP-hard problems Transitivity of polynomial-time many-one reductions Concept of Completeness and hardness for a complexity class Definition.
1 NP-Complete Problems. 2 We discuss some hard problems:  how hard? (computational complexity)  what makes them hard?  any solutions? Definitions 
CSCI 4325 / 6339 Theory of Computation Zhixiang Chen.
Complexity 12-1 Complexity Andrei Bulatov Non-Deterministic Space.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
Complexity 11-1 Complexity Andrei Bulatov Space Complexity.
Complexity 18-1 Complexity Andrei Bulatov Probabilistic Algorithms.
Computability and Complexity 13-1 Computability and Complexity Andrei Bulatov The Class NP.
1 Introduction to Computability Theory Lecture12: Decidable Languages Prof. Amos Israeli.
Computability and Complexity 19-1 Computability and Complexity Andrei Bulatov Non-Deterministic Space.
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
NP-complete and NP-hard problems
Analysis of Algorithms CS 477/677
Alternating Turing Machine (ATM) –  node is marked accept iff any of its children is marked accept. –  node is marked accept iff all of its children.
Chapter 11: Limitations of Algorithmic Power
Lecture 20: April 12 Introduction to Randomized Algorithms and the Probabilistic Method.
Chapter 11 Limitations of Algorithm Power Copyright © 2007 Pearson Addison-Wesley. All rights reserved.
Non-Deterministic Space is Closed Under Complementation Neil Immerman Richard Szelepcsenyi Presented By: Subhajit Dasgupta.
INHERENT LIMITATIONS OF COMPUTER PROGRAMS CSci 4011.
PSPACE-Completeness Section 8.3 Giorgi Japaridze Theory of Computability.
Definition: Let M be a deterministic Turing Machine that halts on all inputs. Space Complexity of M is the function f:N  N, where f(n) is the maximum.
Complexity Theory Lecture 2 Lecturer: Moni Naor. Recap of last week Computational Complexity Theory: What, Why and How Overview: Turing Machines, Church-Turing.
1 The Theory of NP-Completeness 2012/11/6 P: the class of problems which can be solved by a deterministic polynomial algorithm. NP : the class of decision.
חישוביות וסיבוכיות Computability and Complexity Lecture 7 TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A AAAA.
Theory of Computing Lecture 15 MAS 714 Hartmut Klauck.
Computational Complexity Theory Lecture 2: Reductions, NP-completeness, Cook-Levin theorem Indian Institute of Science.
Theory of Computing Lecture 17 MAS 714 Hartmut Klauck.
CS151 Complexity Theory Lecture 13 May 11, Outline proof systems interactive proofs and their power Arthur-Merlin games.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
1 Lower Bounds Lower bound: an estimate on a minimum amount of work needed to solve a given problem Examples: b number of comparisons needed to find the.
Theory of Computing Lecture 21 MAS 714 Hartmut Klauck.
A Problem That Is Complete for PSPACE (Polynomial Space) BY TEJA SUDHA GARIGANTI.
Strings Basic data type in computational biology A string is an ordered succession of characters or symbols from a finite set called an alphabet Sequence.
Computability NP complete problems. Space complexity. Homework: [Post proposal]. Find PSPACE- Complete problems. Work on presentations.
Chapter 11 Introduction to Computational Complexity Copyright © 2011 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 1.
NPC.
Complexity 24-1 Complexity Andrei Bulatov Interactive Proofs.
Space Complexity. Reminder: P, NP classes P is the class of problems that can be solved with algorithms that runs in polynomial time NP is the class of.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
CSCI 2670 Introduction to Theory of Computing December 7, 2005.
Theory of Computational Complexity Yuji Ishikawa Avis lab. M1.
The NP class. NP-completeness Lecture2. The NP-class The NP class is a class that contains all the problems that can be decided by a Non-Deterministic.
The NP class. NP-completeness
Probabilistic Algorithms
Space Complexity Complexity ©D.Moshkovits.
Introduction to Randomized Algorithms and the Probabilistic Method
Part VI NP-Hardness.
HIERARCHY THEOREMS Hu Rui Prof. Takahashi laboratory
Intro to Theory of Computation
Intro to Theory of Computation
Theory of Computational Complexity
CSC 4170 Theory of Computation Space complexity Chapter 8.
NP-Complete Problems.
CS154, Lecture 13: P vs NP.
CSE 589 Applied Algorithms Spring 1999
Instructor: Aaron Roth
Instructor: Aaron Roth
Theory of Computability
Intro to Theory of Computation
CS151 Complexity Theory Lecture 4 April 8, 2004.
Presentation transcript:

Complexity Theory Lecture 3 Lecturer: Moni Naor

Recap Last week: Non deterministic communication complexity Probabilistic communication complexity Their Relationship Lots of techniques This: Space Complexity

Summary of techniques and ideas Probabilistic method : to show that a combinatorial object exists: choose a random one and show that it satisfies desired properties with Prob>0 –Constructive vs. non-constructive methods Union bound: define a collection of bad events A 1, A 2, … A n Pr[ [ i A i ] ·  i Pr[A i ] · n Pr[A i ] Simulating large sample spaces by small ones Reversing roles via Minimax Theorem

Perfect Hash Functions A family H of functions is (n,k,ℓ) perfect if 8 h 2 H h:{1,…,n}  {1,…, ℓ} 8 S ½ {1,…,n} |S|=k 9 h 2 H such that h is 1-1 on S A non-deterministic protocol for k- disjointness using an (n,2k,2k) family H of functions Alice : guess h 2 H and send description hoping that h is perfect for x [ y compute h(i) for all i 2 x and send 2k bit vector C x where C x [j]=1 iff 9 i 2 x such that h(i)=j Bob : compute h(i) for all i 2 y and see whether C x and C y intersect Accept only if do not intersect If |x  y| ¸ 1 always reject. If |x  y| ¸ 0 and h is perfect for x [ y – accept Complexity: log|H| + 2k

Existence of Perfect Hash Families: The Probabilistic Method For a fixed S ½ {1,…,n} of size 2k and choose random h:{1,…,n}  {1,…,2k} Pr[h is perfect for S] = k!/(2k) 2k ¼ e -2k Suppose we choose m random h:{1,…,n}  {1,…,2k} Let event A S be `` no h in the collection is perfect for S” Pr[A S ] · (1- e -2k ) m We are interested in showing Pr[ [ S A S ] < 1 This implies that there is a choice of the that is a perfect family of hash function Pr[ [ S A S ] ·  S Pr[A S ] · ( n 2k ) Pr[A S ] The probabilistic method! Union Bound

The parameters Set m= e 2k log ( n 2k ). Then Pr[A S ] · (1- e -2k ) m · (1- e -2k ) e 2k log ( n 2k ) =1/( n 2k ) This means that communication complexity is 2k +log m = 2k +2k +log (k log n) 2 O(k+log log n) Classical constructions: Fredman, Komlos & Szemeredi More modern one: Rasmus Pagh

Public coins model What if Alice and Bob have access to a joint source of bits. Possible view: distribution over deterministic protocols Let R  pub (f): be the minimum cost of a public coins protocol computing f correctly with probability at least 1-  for any input (x,y) Example: R  pub (Equality)=(log  Theorem : for any Boolean f: R  (f) is R  pub (f)+O(log n + log 1/  Proof : choose t = 8n/  2 assignments to the public string…

Simulating large sample spaces Want to find among all possible public random strings a small collection of strings on which the protocol behave similarly on all inputs Choose m random strings For input (x,y) event A x,y is more than (  +  ) of the m strings fail the protocol Pr[A x,y ] · e -2  2 t < 2 -2n Pr[ [ x,y A x,y ] ·  x,y Pr[A x,y ] < 2 2n 2 -2n =1 Good 1-  Bad  Collection that should resemble probability of success on ALL inputs

Distributional Complexity Let  be a probability distribution on X x Y and  >0. The ( ,  )- distributional complexity of f ( D   (f) ) is the cost of the best deterministic protocol that is correct on 1-  of the inputs weighted by  Theorem : for any f: R  pub (f)=max  D   (f) Protocols of depth d Inputs Is the given protocol correct on the given input Von Neumann’s Minimax Theorem: For all matrices M: max p min q p T M q = min q max p p T M q

Space Complexity: deterministic and non-deterministic Non deterministic TM: transition function  X Q   X Q  X {left,right} may be non-deterministic. The TM is considered to `accept’ if any combination of decisions leads to an accepts state can think of computation as tree and need one accepting leaf Space : L 2 SPACE(f(n)) if there is a TM which recognizes L and –uses no more than f(|x|) cells of its work tapes during the computation on input x Cell is used if it scanned by the tape head Non deterministic Space : L 2 N SPACE(f(n)) if there is a non deterministic TM which recognizes L and –Halts on all branches –Uses no more than f(|x|) cells of its work tapes on any of the branches during the computation on input x Cell is used if it scanned by the tape head

NSPACE and Paths in Graphs NSPACE(f(n) models naturally search in ``implicit” graphs on 2 f(n) nodes Example : the Rush Hour™ Game: given a configuration is it possible to get the red car out Can be solved in NSPACE(n) n=configuration size

Space and Time take I Theorem : if a NTM N always halts and uses space f(n) ¸ log n, then it runs in time 2 O(f(n)) consider C, a configuration of N –Heads positions –Working tape content –Output tape content Except for the input tape– there are 2 O(f(n)) x f(n) o(1) x n possible configurations For any input, in a computation cannot have two equal configurations occurring – –might lead to an infinite branch

Savitch’s Theorem Theorem : for f(n) proper complexity function f(n) ¸ log n NSPACE(f(n)) µ SPACE(f 2 (n)) Cannot hope to consider all possible branchings: There might be 2 f(n) nondeterministic choices in a single branch and cannot store all of them Let L be decided by NTM N in NSPACE(f(n)) –C denotes a configuration of N Heads positions Working tape content Output tape content Define reachable(c 1,c 2,t) to be true iff N can transition from configuration c 1 to c 2 within t steps x 2 L iff reachable(c start, c accept, 2 f(n) )

Solving reachable(c start, c accept, 2 f(n) ) Idea: reachable(c 1,c 2, t) iff there is a midpoint configuration c 3 such that –reachable(c 1,c 3, t/2) and –reachable(c 3,c 2, t/2) To compute both reachable(c 1,c 3, t/2) and reachable(c 1,c 3, t/2) can use the same space (except some accounting)

`Program’ for reachable(c start, c accept, t) reachable on input (c 1, c 2, t) If t=1 test whether c 1 =c 2 or whether N can move from c 1 to c 2 in a single step. If t>1: for each configuration c 3 of N using space f(n) –run reachable(c 1,c 3, t/2) –run reachable(c 3,c 2, t/2) –Accept if both steps accept If exhausted all configuration without accepting `reject’

`Program’ for reachable(c start, c accept, t) reachable on input (c 1, c 2, t) If t=1 test whether c 1 =c 2 or whether N can move from c 1 to c 2 in a single step. If t>1: for each configuration c 3 of N using space f(n) –run reachable(c 1,c 3, t/2) –run reachable(c 3,c 2, t/2) –Accept if both steps accept If exhausted all configuration without accepting `reject’ Runtime stack has depth f(n) with O(f(n)) space per call

PSPACE = NPSPACE Let PSPACE = [ k =1 1 SPACE(n k ) and let NPSPACE = [ k =1 1 NSPACE(n k ) Corollary of Savitch’s Theorem : PSPACE = NPSPACE Open problem: improve the theorem (even by small amount)

Reductions and Completeness Want to convert the problem of deciding A into deciding B Oracle for A – can ask whether x 2 A Oracle Machine with oracle for A: M A Cook-Turing reducible : a language A is Cook-Turing reducible to B ( A · T B ) if there exists a polynomial time M such that M B recognizes A Many-One (Karp Levin) reducible : a language A is Many-One reducible to B ( A · M B ) if there exists a function F computable in polynomial time such that x 2 A iff F(x) 2 B Log space reducible : a language A is Many-One reducible to B ( A · L B ) if there exists a function F 2 FSPACE(log n) such that x 2 A iff F(x) 2 B Property : for all A and B: A · L B ) A · M B ) A · T B Property : all reducibility notions are transitive

Log-space reductions Input Tape Output Tape Work Tape Read only Write only Log Space for read and write This is what we count Closed under composition! Do not write the output explicitly. Instead consider G’(x,i)= ith bit of G(X)

PSPACE Completeness Definition : Language L is PSPACE-complete iff: 1. L is in PSPACE 2. Every language L’ in PSPACE is reducible to L via a polynomial time reduction (Cook Turing) Complete problems are the `hardest’ problems in a complexity class They represent it Reduction must be easy relative to the complexity class Property : If L is PSPACE-complete and L is in P, then P = PSPACE

The TQBF Problem Totally Quantified Boolean Formula Boolean formula: expression containing Boolean variables x i Constants 0 and 1 Boolean operations: Ç, Æ, : In a Quantified Boolean formula in addition quantifiers: Universal (for all) 8 –The statement 8 x  means: for every value of x the resulting statement  is true Existential (there exists) 9 –The statement 9 x  means: for some value of x the resulting statement  is true Can assume all quantifiers appear at the beginning of the formula (prenex normal form) If each variable appears within the scope of some quantifier – fully quantified Statement always either true or false TQBF = {  :  is a true fully quantified Boolean formula}

Theorem: TQBF is PSPACE Complete TQBF is in PSPACE: to see if  is in TQBF, If contains no quantifiers – expression with only constants –can evaluate it. If  = 9 x  recursively –set x=0 and check  –set x=1 and check  –If either one answers `true’ answer `true’. Otherwise `false’ If  = 8 x  recursively –set x=0 and check  –set x=1 and check  –If both answer `true’ answer `true’ ’. Otherwise `false’ Reuse space!

TQBF is PSPACE Complete Every language L in PSPACE is reducible to TQBF via a polynomial time reduction Suppose NTM N decides L is space n k Goal: Given (N,w), construct a Boolean formula  such that:  is in TQBF, N has an accepting path on w size of  should be n k’

Given (N,w), consider a 2 n k by n k tableau similar to that of Cook’s theorem N ’’s configuration time c 1,1 c 1,2 c 1,3 c 1,4 … c 1,n k c 2,1 c 2,2 c 2,3 c 2,4 … c 2,n k. c n k,, 1 c n k,2 c n k,3 c n k,4 … c n k,n k 122nk122nk

N ’s configuration time # q 0 w 1 w 2 … w n U U … # # c 2,2 c 2,3 c 2,4 … c 2,n k 1 # # c 3,2 c 3,3 c 3,4 … c 3,n k 1 # # any accept configuration# If N accepts w, then there is a legal tableau that looks like this: 122nk122nk Current state and implicit location of the tape head …TQBF is PSPACE Complete

Want  c 1,c 2,t which is in TQBF iff N can transition between configurations c 1 and c 2 within at most t steps Construct  c start,c accept, 2 n k recursively: First try: guess c 3 as mid point:  c 1,c 2,t = 9 c 3 :  c 1,c 3,t/2 Æ  c 3,c 2,t/2 Exponential size formula But only used existential quantifiers!  c 1,c 2,t = 9 c 3 8 (c 4,c 5 ) 2 {(c 1,c 3 ), (c 3,c 2 )}:  c 4,c 5,t/2

PSPACE Completeness Many problems proved to be PSPACE Complete –In particular games Games closely related to quantifiers: The formula game Let  = 9 x 1 8 x 2 9 x 3 … 8 x n [  ] be a prenex formula Player A and Player E take turns in selecting values for the variables –A for the 8 bound variables and –E for the 9 bound variables –At the end Player E wins if  is TRUE and A wins if  is FALSE Formula-game= {  : Player E has a winning strategy in the formula game played on  } Theorem : Formula-game is PSPACE Complete

Game of Go To players alternate placing black and white pebbles Objective: create large safe groups of your color –Monochromatic connected subgraph of the grid and capture as many pebbles of the other color by surrounding them Theorem : deciding whether a given configuration is a win for white is PSPACE-Complete

Pebbling a DAG Rules Inputs: a pebble can be place on input (source) vertex at any time Computation : a pebble can be placed on any non-input vertex if all its immediate predecessor have pebbles A pebble can be removed at any time Goal : find a strategy to pebble all the outputs while using a few pebbles and a few steps Theorem : Minimizing pebbles is PSPACE-complete Gilbert, Lengaur, Tarjan, Sicomp 1980 Sources Outputs Models computation with registers

Homework on Pebbling Depth of a DAG : distance of the input node and output node that are furthest apart (if they are connected). Let d be the maximum indegree Show that any DAG of depth c and can be pebbled using O(c d ) pebbles. Show that any tree can be pebbled using O(d log n) pebbles.

Generalized Rush Hour Given a rush hour configuration can you get the special car out? Recently proved theorem: Rush Hour is PSPACE-Complete (Baum and Flake) Implications: Hard to solve Even if you invested/wasted time and solved it, how do you convince your friend that it is possible ? How do you demonstrate that there is no solution? Homework : suggest a probabilistic protocol for verifying that a solution exists. –The prover may be willing to work hard, but not the verifier. –the probability of catching a cheating prover is non-zero (but might be very small) for any cheater –If the prover is not cheating then the verifier is always convinced by the proof.

L and NL Log-Space = SPACE(log(n)) NL = NSPACE(log(n)) Log(n) space for work Input is read-only

Log-space reductions Input Tape Output Tape Work Tape Read only Write only Log Space for read and write This is what we count Closed under composition! Do not write the output explicitly. Instead consider G’(x,i)= ith bit of G(X)

NL-completeness Language L is NL-complete iff 1.L is in NL 2.Every language L’ in NL is log-space reducible to L PATH = {(G,s,t)| G is a directed graph with a path that starts at vertex s and ends at vertex t } –How is the graph given (adjacency matrix, list of outgoing edges…? Theorem : PATH is NL-complete What about undirected connectivity?

Sublogarithmic Space Are there interesting languages requiring less than logarithmic space? –Regular languages –Other? A  (log log n) language: {x=b 0 $ b 2 $ … $ b k | b i =binary representation of i} Algorithm: –Check the first and last blocks –Check that each block is +1 from previous To avoid using too much space on bogus strings: check for i=1.. that the last i bits cycle through all possibilities

No languages between regular and O(log log n) Theorem : For any f(n) 2 o(log log n) Space(f(n)) = Space(O(1)) Proof : Configuration is –i position on tape –c content of working tapes heads and direction No configuration can repeat itself Ow. Machine does not stop For word x let C(x,i) = c 1, c 2, … c r sequence of configurations machine passes through on position i Number of different C(x,i) ~ 2 f(n)2 f(n) < n for sufficiently large n Let x S be shortest word requiring more than S space Idea: if there is 1 · i<j · n such that C(x S,i) = C(x S,j) then can cut it out resulting in shorter string with similar behavior C1C1 C2C2 C3C3

Is sublogarithmic space interesting No equivalent RAM Not clear that it models easiness/simplicity –Unlike regular languages Other models for simple languages –Parallel complexity

Non-deterministic space is closed under complementation The Immerman-Szelepcsenyi Theorem For simplicity start with NL=Co-NL States of NTM correspond to directed graph –Problem: how to prove non-reachability Idea: to prove that a room is empty show the whereabouts of all potential occupiers Show how to count in NL –Sufficient for non-reachability: can make sure graph is acyclic For directed graph G=(V,E) let R(G,s,i) = {u| reachable(s,u,i) } Main Lemma : there exists a log space non deterministic machine for computing |R(G,s,i)| –The machine never outputs a wrong answer but may output `fail’ u is reachable from s in i moves in G

NL Algorithm for |R(G,s,i)| given |R(G,s,i-1)| Simple: go over all nodes u=1,2 … n : if reachable(s,u,i) increase counter How to determine reachable(s,u,i) with no errors either way? NL Algorithm for determining reachable(s,u,i) Input: |R(G,s,i-1)| Output: `yes’, `no’, `fail’ go over nodes v=1,2 … n –if reachable(s,v,i-1): m := m+1 If (v,u) 2 G output `yes’ If m < |R(G,s,i-1)| output `fail’ –Else: output `no’ Not a recursive call! Guess the path and verify

Wrapping up: For i=1,2 … n-1 compute |R(G,s,i)| –If ever the output is `fail’ then `fail’ Each call requires simply |R(G,s,i-1)| –same log n bits Knowing |R(G,s,n)| allows us to determine whether reachable(s,accept,n) with no errors Theorem : If f(n) ¸ log n is a proper complexity function, then NSPACE(f(n)) = Co-NSPACE(f(n))