Lecture 4 : Quest for Structure in Counting Problems

Similar documents
ITCS:CCT09 : Computational Complexity Theory Apr 8, Lecture 7

CS6840: Advanced Complexity Theory Mar 29, Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K.

Lecture 20: conp and Friends, Oracles in Complexity Theory

CSC 5170: Theory of Computational Complexity Lecture 9 The Chinese University of Hong Kong 15 March 2010

NP-Complete problems

Complexity Theory VU , SS The Polynomial Hierarchy. Reinhard Pichler

Outline. Complexity Theory EXACT TSP. The Class DP. Definition. Problem EXACT TSP. Complexity of EXACT TSP. Proposition VU 181.

MTAT Complexity Theory October 13th-14th, Lecture 6

an efficient procedure for the decision problem. We illustrate this phenomenon for the Satisfiability problem.

Lecture 3: Nondeterminism, NP, and NP-completeness

Chapter 2. Reductions and NP. 2.1 Reductions Continued The Satisfiability Problem (SAT) SAT 3SAT. CS 573: Algorithms, Fall 2013 August 29, 2013

Intro to Theory of Computation

Notes on Complexity Theory Last updated: December, Lecture 2

Quantum Computing Lecture 8. Quantum Automata and Complexity

Notes for Lecture 3... x 4

1 Computational Problems

P is the class of problems for which there are algorithms that solve the problem in time O(n k ) for some constant k.

Essential facts about NP-completeness:

Lecture 2 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Space and Nondeterminism

6.841/18.405J: Advanced Complexity Wednesday, February 12, Lecture Lecture 3

Notes for Lecture Notes 2

BBM402-Lecture 11: The Class NP

Lecture 19: Finish NP-Completeness, conp and Friends

Welcome to... Problem Analysis and Complexity Theory , 3 VU

CS154, Lecture 17: conp, Oracles again, Space Complexity

Lecture 25: Cook s Theorem (1997) Steven Skiena. skiena

Umans Complexity Theory Lectures

Lecture 8: Complete Problems for Other Complexity Classes

Lecture 3 (Notes) 1. The book Computational Complexity: A Modern Approach by Sanjeev Arora and Boaz Barak;

Intractable Problems [HMU06,Chp.10a]

Complexity Theory. Knowledge Representation and Reasoning. November 2, 2005

The Class NP. NP is the problems that can be solved in polynomial time by a nondeterministic machine.

SOLUTION: SOLUTION: SOLUTION:

1 Reductions and Expressiveness

Lecture 22: Counting

Complete problems for classes in PH, The Polynomial-Time Hierarchy (PH) oracle is like a subroutine, or function in

A An Overview of Complexity Theory for the Algorithm Designer

CSE200: Computability and complexity Space Complexity

Computational Complexity of Bayesian Networks

20.1 2SAT. CS125 Lecture 20 Fall 2016

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan August 30, Notes for Lecture 1

1 PSPACE-Completeness

Lecture 59 : Instance Compression and Succinct PCP s for NP

1 From previous lectures

Notes on Complexity Theory Last updated: November, Lecture 10

CSC 5170: Theory of Computational Complexity Lecture 4 The Chinese University of Hong Kong 1 February 2010

Lecture 6: Oracle TMs, Diagonalization Limits, Space Complexity

Lecture 24: Randomized Complexity, Course Summary

CS154, Lecture 13: P vs NP

: Computational Complexity Lecture 3 ITCS, Tsinghua Univesity, Fall October 2007

conp, Oracles, Space Complexity

Advanced topic: Space complexity

1 Circuit Complexity. CS 6743 Lecture 15 1 Fall Definitions

Definition: conp = { L L NP } What does a conp computation look like?

Space Complexity. The space complexity of a program is how much memory it uses.

Umans Complexity Theory Lectures

CS154, Lecture 13: P vs NP

1 Randomized Computation

CSCI3390-Lecture 14: The class NP

Complexity Classes IV

Complexity. Complexity Theory Lecture 3. Decidability and Complexity. Complexity Classes

Non-Approximability Results (2 nd part) 1/19

Time to learn about NP-completeness!

Lecture 14 - P v.s. NP 1

Lecture 18: PCP Theorem and Hardness of Approximation I

CS Lecture 29 P, NP, and NP-Completeness. k ) for all k. Fall The class P. The class NP

Principles of Knowledge Representation and Reasoning

Algorithms and Theory of Computation. Lecture 19: Class P and NP, Reduction

Comp487/587 - Boolean Formulas

SAT, NP, NP-Completeness

Notes for Lecture 3... x 4

Lecture 22: PSPACE

Umans Complexity Theory Lectures

3 Probabilistic Turing Machines

P = k T IME(n k ) Now, do all decidable languages belong to P? Let s consider a couple of languages:

NP-Completeness. Until now we have been designing algorithms for specific problems

Lecture 3: Reductions and Completeness

CSCE 551 Final Exam, Spring 2004 Answer Key

1 Computational problems

Lecture 2. 1 More N P-Compete Languages. Notes on Complexity Theory: Fall 2005 Last updated: September, Jonathan Katz

The Cook-Levin Theorem

Lecture : PSPACE IP

Lecture 20: PSPACE. November 15, 2016 CS 1010 Theory of Computation

UC Berkeley CS 170: Efficient Algorithms and Intractable Problems Handout 22 Lecturer: David Wagner April 24, Notes 22 for CS 170

On the Complexity of the Reflected Logic of Proofs

Complexity Classes V. More PCPs. Eric Rachlin

CS21 Decidability and Tractability

Automata Theory CS S-18 Complexity Theory II: Class NP

1 More finite deterministic automata

Finish K-Complexity, Start Time Complexity

Tractability. Some problems are intractable: as they grow large, we are unable to solve them in reasonable time What constitutes reasonable time?

CS151 Complexity Theory

Logarithmic space. Evgenij Thorstensen V18. Evgenij Thorstensen Logarithmic space V18 1 / 18

CS154, Lecture 15: Cook-Levin Theorem SAT, 3SAT

CS294: Pseudorandomness and Combinatorial Constructions September 13, Notes for Lecture 5

6.5.3 An NP-complete domino game

Algebraic Dynamic Programming. Solving Satisfiability with ADP

Lecture Notes Each circuit agrees with M on inputs of length equal to its index, i.e. n, x {0, 1} n, C n (x) = M(x).

U.C. Berkeley CS278: Computational Complexity Professor Luca Trevisan 9/6/2004. Notes for Lecture 3

Transcription:

CS6840: Advanced Complexity Theory Jan 10, 2012 Lecture 4 : Quest for Structure in Counting Problems Lecturer: Jayalal Sarma M.N. Scribe: Dinesh K. Theme: Between P and PSPACE. Lecture Plan:Counting problems and their structural complexity. Various attempts to develop the theory and the class #P. Basic containments. In the previous lecture, we saw that the counting problem can be as hard as (or harder than) the decision problem as given an algorithm for counting problem the decision problem reduces to just checking the count to be zero or not. We also saw an easy decision problem CYCLE whose counting version #CYCLE is NP-hard (by reduction from HAMCY- CLE) implying that easy decision problems can also have corresponding counting problems hard. We also argued that talking about counting problems still makes sense as the count value, though exponential, can still be represented in polynomial number of bits. In this lecture, we will study counting problems and understand their structural complexity. We shall also make attempts to develop the theory of complexity classes capturing the counting problems (especially #P). We shall also discuss their basic containments. 1 Preliminaries Firstly, we fix our computation model where we have a Turing machine with an input tape, work tape and an output tape. We are interested in the resources used by the Turing machine - space (considering only the work tape) and time. We want to capture the notion of counting formally. One such way is to see it as computing a function f : Σ N where Σ = {0, 1} which gives an integer value. So, how can we capture the notion of computing a function? There are two possible ways of capturing function computation. Variant 1 We say that a function f is computable if each bit of the output can be computed in some decision complexity class C. Variant 2 f is computable if the value of the function computation can be written down within the resource bounds. Analogous to the decision problems, we define complexity classes for function computation problems. A natural extension of P is FP which is defined as 4-1

FP= {f f : Σ N, f(x) for any x Σ can be written down in poly( x ) time} Now, we shall plugging in the two variants of function computation and see which of them is more appropriate. 2 Comparing the variants We quickly observe that the first and the second variant really coincides when we are talking about deterministic computations. Let us do this analysis by attempting the definition of FP. Following the first variant f FP iff there exists an algorithm that can compute each bit of f in class P. But since the algorithm is deterministic, this is equivalent to saying that i, the language defined by the i th bit L fi = {x : (f(x)) i = 1} P On the other hand, if each bit can be computed in polynomial time and since the count value can be represented in polynomial number of bits, for evaluation, we just run a polynomial time algorithm polynomial times which is still a polynomial. Hence we have an algorithm that satisfies the second variant. Hence for deterministic polynomial time computation both variants are equivalent. We can define other classes for deterministic computation like FL(log space bounded function computation), FPSPACE (polynomial space bounded function computation). Containments of these classes are analogous to their decision versions. We leave the proof as an exercise. Lemma 1. FL FP FPSPACE Now we turn into the non-deterministic world. Following variant 1 of definition of function computation, we must have each bit computable in class NP. But variant 2 is not useful because an non-deterministic poly time Turing machine by our model is not set to output a value. How can we capture the function computation for a non-deterministic machine for decision problems which works by guess-verify mechanism? Now, consider the non-deterministic algorithm we had for SAT, which does guessing of an assignment and verifying it. We can observe the following additional property. Observation 2. Number of satisfying assignments is exactly equal to the number of accepting paths. This leads to the question as to whether this is accidental or is there some hidden structure? It also assigns a function value to the non-deterministic Turing machine. This motivates us to give a new model, for us to call f is computable by a non-deterministic polynomial time Turing machine. 4-2

Definition 3. f is #P if there exists a non-deterministic Turing machine M running in time p(n) such that x Σ, f(x) = {y {0, 1} p(n) : M accepts on path y }. Remark 4. The RHS is also the number of accepting paths of M on x if the lengths of all paths are equal to p(n). We remark that this can be achieved without loss of generality. That is, from an arbitrary TM M, we can get to a new TM M which has the same number of accepting paths, such that the number of accepting paths on any input x remains the same. We recall our observation that for length of all non-deterministic paths of an NP machine on any input can be made equal without changing the accepted language 1. But this construction makes the language accepted the same, and need not keep the number of accepting paths the same. We modify it slightly to achieve our goal. Indeed, if a path is shorter than p(n) bits and decided A/R, we extend it to the required length using a binary tree of paths rooted at that node and make the left most path (in this binary tree) report A/R respectively and make all other paths reject. The number of accepting paths does not change due to this construction. Remark 5. Try this as an exercise. Initiate the thought process on : how does this definition compare with variant 1? What does computing/testing each bit to be 0/1 mean? Counting version of SAT denoted as #SAT can be defined as #SAT(φ) = {σ φ(σ) = 1, σ is a boolean assignment to variables in φ} It follows from our observation that #SAT #P, since we can give a non-deterministic machine (i,e. a machine for SAT) where number of accepting paths equals to the number of satisfying truth assignments. It can also be shown that #CYCLE #P. Claim 6. #CYCLE #P Proof. Following is a non-deterministic Turing machine N, such that number of cycles equals number of accepting paths. N = On input G, 1. Guess subsets V V (G) and E E(G) non-deterministically. 2. Accept iff V, E form a simple cycle. Now it follows that #CYCLE (G) = {# of accepting paths of N on G} since any cycle can uniquely be characterised by an edge set and a vertex set. 1 In particular, we showed that a language A NP if and only if there is a language B P and a polynomial p(n) such that x A y {0, 1} p(n) : (x, y) B 4-3

3 Basic Containments In the functional world, we have the following scenario. FPSPACE FP FL So where does set of functions, #P lie? We will argue that #P lies between FPand FPSPACE thus replicating the picture in the decision world. Lemma 7. #P FPSPACE Proof. Given a non-deterministic poly time Turing machine M computing function f, we just need to do a simulation in deterministic poly space. This can be done by simulating M over all non deterministic paths while reusing space across the paths. Since length of any path is polynomially bounded, space used will also be polynomial. In the process we need to keep the count of accepting paths which can be 2 p(n) but still representable with p(n) bits in binary. Hence space requirement is only polynomial in input length. Lemma 8. FP #P Proof. Given an L FP, there exists a deterministic Turing machine M which x L writes f(x) in p(n) time where p is a polynomial and n = x. To show that L #P, we need to construct a non-deterministic such that No of accepting paths = f(x). N can compute f(x) by simulating M. Let the value obtained be k. Now, N must have exactly k accepting paths. This can be ensured by guessing log k bits and accepting all the paths whose address have binary representations k and rejecting the remaining paths. N runs in poly time since f(x) computation (simulation of M) takes only polynomial time. Even though f(x) is exponential, number of bits guessed is log f(x) which will be polynomial in n. Hence depth is polynomially bounded. Also number of accepting paths equals f(x) by construction. Thus N is a #Pmachine accepting L. Hence L = L(N ) #P. It can be observed that if function computation can be done in polynomial time then P = NP. This is because solving decision problem amounts to checking if the corresponding 4-4

Computing f(x) log f(x) accepted strings rejected strings counting function gives a non zero value or not hence making decision problem easy if function computation is in P. Lemma 9. #P = FP P = NP An interesting question would be to ask if the converse it true? That is Does P = NP imply #P = FP? We will address this and show a weaker implication (that is, based on slightly stronger LHS) in the next lecture. 4-5