Chapter 5 The Witness Reduction Technique: Feasible Closure Properties of #P Greg Goldstein Andrew Learn 18 April 2001.

Slides:



Advertisements
Similar presentations
Function Technique Eduardo Pinheiro Paul Ilardi Athanasios E. Papathanasiou The.
Advertisements

Complexity Theory Lecture 6
Mathematical Induction
Isolation Technique April 16, 2001 Jason Ku Tao Li.
Chapter Three: Closure Properties for Regular Languages
Complexity class NP Is the class of languages that can be verified by a polynomial-time algorithm. L = { x in {0,1}* | there exists a certificate y with.
Computability and Complexity
Having Proofs for Incorrectness
Complexity 25-1 Complexity Andrei Bulatov #P-Completeness.
Complexity 15-1 Complexity Andrei Bulatov Hierarchy Theorem.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
CS151 Complexity Theory Lecture 7 April 20, 2004.
Lecture 9 Recursive and r.e. language classes
1 Module 9 Recursive and r.e. language classes –representing solvable and half-solvable problems Proofs of closure properties –for the set of recursive.
Lecture 8 Recursively enumerable (r.e.) languages
1 Undecidability Andreas Klappenecker [based on slides by Prof. Welch]
Induction Sections 4.1 and 4.2 of Rosen Fall 2010
Deciding Primality is in P M. Agrawal, N. Kayal, N. Saxena Slides by Adi Akavia.
CS151 Complexity Theory Lecture 12 May 6, CS151 Lecture 122 Outline The Polynomial-Time Hierarachy (PH) Complete problems for classes in PH, PSPACE.
NP-Complete Problems Reading Material: Chapter 10 Sections 1, 2, 3, and 4 only.
Complexity1 Pratt’s Theorem Proved. Complexity2 Introduction So far, we’ve reduced proving PRIMES  NP to proving a number theory claim. This is our next.
Submitted by : Estrella Eisenberg Yair Kaufman Ohad Lipsky Riva Gonen Shalom.
Computability and Complexity 20-1 Computability and Complexity Andrei Bulatov Class NL.
1 Lecture 5 Topics –Closure Properties for REC Proofs –2 examples Applications.
1 CSE 417: Algorithms and Computational Complexity Winter 2001 Lecture 23 Instructor: Paul Beame.
Chapter 11: Limitations of Algorithmic Power
CS151 Complexity Theory Lecture 6 April 15, 2004.
Complexity ©D. Moshkovitz 1 And Randomized Computations The Polynomial Hierarchy.
Variable-Length Codes: Huffman Codes
Theory of Computing Lecture 20 MAS 714 Hartmut Klauck.
Complements of Languages in NP Osama Awwad Department of Computer Science Western Michigan University July 13, 2015.
1 Module 10 Recursive and r.e. language classes –representing solvable and half-solvable problems Proofs of closure properties –for the set of recursive.
The Polynomial Hierarchy By Moti Meir And Yitzhak Sapir Based on notes from lectures by Oded Goldreich taken by Ronen Mizrahi, and lectures by Ely Porat.
Induction and recursion
Methods of Proof & Proof Strategies
Math 3121 Abstract Algebra I Lecture 3 Sections 2-4: Binary Operations, Definition of Group.
Induction and recursion
The Complexity of Primality Testing. What is Primality Testing? Testing whether an integer is prime or not. – An integer p is prime if the only integers.
Approximation Algorithms Pages ADVANCED TOPICS IN COMPLEXITY THEORY.
February 18, 2015CS21 Lecture 181 CS21 Decidability and Tractability Lecture 18 February 18, 2015.
MA/CSSE 474 Theory of Computation DFSM Canonical Form Proof of NDFSM  DFSM ALGORITHM (as much as we have time for) This version includes the "answers"
PRIMES is in P Manindra Agrawal NUS Singapore / IIT Kanpur.
1 Sections 1.5 & 3.1 Methods of Proof / Proof Strategy.
The Integers. The Division Algorithms A high-school question: Compute 58/17. We can write 58 as 58 = 3 (17) + 7 This forms illustrates the answer: “3.
Chapter 3 Section 3.3 Real Zeros of Polynomial Functions.
CSCI 2670 Introduction to Theory of Computing November 29, 2005.
Week 10Complexity of Algorithms1 Hard Computational Problems Some computational problems are hard Despite a numerous attempts we do not know any efficient.
MA/CSSE 474 Theory of Computation Enumerability Reduction.
CSCI 3160 Design and Analysis of Algorithms Tutorial 10 Chengyu Lin.
Theory of Computing Lecture 21 MAS 714 Hartmut Klauck.
1 Design and Analysis of Algorithms Yoram Moses Lecture 11 June 3, 2010
Umans Complexity Theory Lectures Lecture 1a: Problems and Languages.
CS 103 Discrete Structures Lecture 13 Induction and Recursion (1)
CS 203: Introduction to Formal Languages and Automata
Additional Classes: co-NP class Krishna Mahesh Deevela Murali.
NP-completeness NP-complete problems. Homework Vertex Cover Instance. A graph G and an integer k. Question. Is there a vertex cover of cardinality k?
CS104:Discrete Structures Chapter 2: Proof Techniques.
Introduction to Proofs
Department of Statistics University of Rajshahi, Bangladesh
Section 1.7. Definitions A theorem is a statement that can be shown to be true using: definitions other theorems axioms (statements which are given as.
Lecture. Today Problem set 9 out (due next Thursday) Topics: –Complexity Theory –Optimization versus Decision Problems –P and NP –Efficient Verification.
Homework 8 Solutions Problem 1. Draw a diagram showing the various classes of languages that we have discussed and alluded to in terms of which class.
CSCI 2670 Introduction to Theory of Computing December 2, 2004.
P & NP.
Probabilistic Algorithms
HIERARCHY THEOREMS Hu Rui Prof. Takahashi laboratory
CS21 Decidability and Tractability
The Polynomial Hierarchy
CSE 105 theory of computation
More Undecidable Problems
Presentation transcript:

Chapter 5 The Witness Reduction Technique: Feasible Closure Properties of #P Greg Goldstein Andrew Learn 18 April 2001

Outline Introduction Thm: Proper Subtraction and “Closure Completeness” Thm: Complexity Class Collapse Related Results Summary

Closure Concepts Let  be an operation, N x N  N Natural Numbers: –Closure under an operation defined as: (  x  N) (  y  N)[x  y  N] –Closed under addition, multiplication; not subtraction Functions: –Closure similarly defined for a class of functions: (  f 1  F) (  f 2  F)[h f 1,f 2  F] where h f 1,f 2 (n) =  (f 1 (n), f 2 (n)) –e.g. Polynomials closed under addition, subtraction, etc. –We examine another class of functions: #P

#P -- Counting Class for Accepting Paths Defn: f is a #P function if  a NPTM N, s.t. for each input x, f(x) = number of accepting paths of N(x) #P has closure properties –Addition: –Multiplication: f 1 (x) f 2 (x) + f 1 (x) f 2 (x) * N1N1 N1N1 N2N2 N2N2

#P Subtraction Skepticism What about subtraction? –Can’t have # paths < 0 –Consider Proper Subtraction: a b = max{0, a-b} Ponderable: Is #P closed under proper subtraction?? –Witness Reduction Technique: Reducing the number of accepting paths –If we can do this, class hierarchies come crashing down

Our Prove-it Roadmap “Closure Completeness” Theorem –Proper subtraction is “hardest” closure property –If #P is closed under proper subtraction, implies: #P closed under all polynomial-time operations Hierarchy collapse follows “Hierarchy Heroics” Theorem –Given one hierarchy collapse from above, prove a lot of others Related Cases –Other “hardest” closure properties –Other classes of functions

But first, a word from these complexity classes... UP (Unambiguous Polynomial Time): “Unique Paths” –UP = {L |  NPTM N such that L=L(N) and  x, N(x) has at most one accepting path} x  L  One accepting path x  L  Zero accepting paths  P (Parity P): “Odd Paths” –  P = {L |  NPTM N such that x  L  #acc N (x)  0 (mod 2)} x  L  Odd number of accepting paths x  L  Even number of accepting paths

Complexity classes (continued) PP (Probabilistic Polynomial Time): “Probabilistic Plurality” –Probabilistic machines: NPTM with a twist Binary, fully populated computation tree Path is sequence of coin flips -- one path taken, acceptance not guaranteed –L  PP if  PPTM M such that x  L  M(x) accepts with probability  1/2 I.e. number of accepting paths  1/2 of total paths Depth = q(|x|) Total paths = 2 q(|x|), Accepting paths  2 q(|x|)-1

Handwritten slides here for Theorem 5.5 on Closure Completeness

“Hierarchy Heroics” Theorem The following statements are equivalent: –UP = PP –UP = NP = coNP = PH =  P = PP  PP PP  PP PP PP ... Given UP = PP from previous theorem, we explore the hierarchy collapse

Building by Bits... UP = PP = NP = coNP = PH =  P = PP  PP PP  PP PP PP ... –Known facts: UP = PP (from Theorem 1) UP  NP  PP –Proof: Trivially obvious UP = PP = NP = coNP = PH =  P = PP  PP PP  PP PP PP ... –Known facts: PP is closed under complementation –Proof: PP = coPP Since PP = NP, then NP = coNP

Hierarchy Proof (continued) UP = PP = NP = coNP = PH =  P = PP  PP PP  PP PP PP ... –Known facts: PH =  i = P  NP  NP NP  NP NP NP ... –Proof: Because NP = coNP, we can construct a single NPTM with the power of an oracle. Thus NP = NP NP, and we can collapse any size stack of NP NP NP… NANA NANA One of these must accept; thus we get an oracle-type yes/no answer in polynomial time.

Hierarchy Proof (continued) UP = PP = NP = coNP = PH =  P = PP  PP PP  PP PP PP ... –Known facts: P UP  PH –Proof: Since UP = PH, we get P UP  UP It’s also true that UP  P UP because UP oracle decides UP.  P UP = UP (by double-inclusion) We know UP   P  PP  P (1/0 acc. paths  odd/even acc. paths) From Lemma 4.13, we know that PP  P  P PP Putting these together with what we already know, we get: UP   P  PP  P  P PP = P UP = UP  UP =  P = PP  P

Hierarchy Proof (continued) UP = PP = NP = coNP = PH =  P = PP  PP PP  PP PP PP ... –Proof: On last page we showed PP  P = PP Thus we can start with a stack of two PP’s: PP PP = PP  P = PP And thus can collapse any size stack of PP PP PP… !

Related Results Other “hardest” closure properties: Integer Division –Defn: a b =  a/b  Thm: The following statements are equivalent: 1. #P is closed under integer division 2. #P is closed under every polynomial-time computable operation 3. UP = PP   ?

#P Integer Division... (continued) We’re going to prove the integer division case using the Witness Reduction Technique again, similar to proper subtraction. Conceptually, it works like this: 1. Pick an arbitrary PP language 2. Take the corresponding #P function PP 3. Make a tricky pick of another #P function 4. Using assumed closure property, generate a third #P function, for a machine That accepts the same language, but voila!--is in a different class UP L f g h Assumed closure L

#P Integer Division... (continued) Proof: –Part 2 trivially implies Part 1 –Part 3 implies Part 2 from previous proof –Show Part 1 implies Part 3: Let L be any PP set; we seek to show L  UP Because L  PP,  NPTM N and integer k  1 s.t. 1. N(x) has exactly 2 |x| k computation paths, each with |x| k choices (steps) 2. x  L iff N(x) has at least 2 |x| k -1 accepting paths 3. For each x, N(x) has at least one rejecting path q(|x|) |x| k

#P Integer Division... (continued) Let f(x) be the #P function for N. Let g(x) = 2 |x| k -1 be another #P function. By our assumption, h(x) = f(x) g(x) is a #P function. x  Lx  L 2 |x| k - 1  f(x)  2 |x| k -1 2 |x| k -1  f(x) h(x) =  f(x)/g(x)  = 1h(x) =  f(x)/g(x)  = 0 Thus the NPTM defined by h is a UP machine for L!  L  UP  UP = PP max # of accepting paths min #

More Related Results Other complexity classes: OptP and SpanP –OptP Each path considered to have a non-negative output f is an OptP function if f(x) = max of path outputs –SpanP f is a SpanP function if f(x) = number of different path outputs For both classes: –Proper subtraction is a “hardest” closure property –If the class is closed under proper subtraction, some complexity class collapse occurs OptP: NP = coNP SpanP: PP NP = PH = NP

Summary Definitions –#P = functions that count accepting paths –Witness Reduction = Reducing # of accepting paths “Closure Completeness” Theorem –If #P is closed under proper subtraction: #P is closed under all polynomial-time computable operations UP = PP “Hierarchy Heroics” Theorem –If UP = PP, UP = PP = NP = coNP = PH =  P = PP  PP PP  PP PP PP ... Related Results: –Integer division for #P, Proper subtraction for OptP, SpanP