1 Counting Complexity

1 Counting Complexity

This is page Printer Opaque this Counting Complexity Lance Fortnow ABSTRACT Traditionally computational complexity theorists have lo oked at NP problems like threecoloring to determine whether some solution ex ists In counting complexity we ask how many solutions exist This pap er surveys the vast area of counting complexity concentrating on a few of the most imp ortant results in the area Intro duction In Valiant Vala dened the complexity class P as a function class computing the numb er of accepting paths of a nondeterministic Turing machine Valiant used this class to capture the complexity of the p ermanent function Counting complexity has since played an imp ortant role in computational complexity theory and theoretical computer science The techniques used in counting complexity have signicant applications in circuit complexity and the series of recent results on interactive pro of systems In the rst Complexity Theory Retrospective Schoning Sch gave us a taste of the p ower of counting Schonings survey lo oked at counting as a technique in complexity theory We instead will lo ok at counting as a goal and study the techniques mostly algebraic that help us understand the computational complexity of counting In this short survey we cannot hop e to cover adequately the wealth of research in counting complexity We fo cus on describing the basics the two imp ortant counting function classes P and GapP and several imp ortant language classes dened in terms of these functions We will describ e the basic relationships and closure prop erties among these classes We fo cus in detail on p erhaps the two most imp ortant results in count ing complexity To das To d result showing that one can reduce any language in the p olynomialtime hierarchy to a P function and Beigel Reingold and Spielmans BRS theorem that PP is closed under union 1 Department of Computer Science University of Chicago E th St Chicago IL Email fortnowcsuchicagoedu Supp orted in part by NSF grant CCR Lance Fortnow We prove To das Theorem in three stages First we give a new alge braic pro of of an imp ortant lemma by Valiant and Vazirani VV that randomly reduces a P function to its sign We apply this lemma dur ing the pro of of a result of To da and Ogihara TO that shows that the p olynomialtime hierarchy is in some sense probabilistically low for GapP functions We then use this result with a variant of To das original pro of to show how to reduce the p olynomialtime hierarchy deterministically to a single GapP question This survey should give the reader a taste of the p ower of counting func tions We hop e that the reader will take the concepts herein and learn more ab out counting complexity and apply the techniques not only to counting complexity but also to other areas in computational complexity theory and theoretical computer science Preliminaries We assume that the reader has familiarity with the basic notions of Turing machines nondeterminism and basic complexity classes such as P and NP The reader can nd these notions in a basic undergraduate textb o ok such as that of Hop croft and Ullman HU Fix f g We consider strings over b oth as concatenations of characters and as representations of integers We dene the onetoone cor resp ondence as follows The string represents zero The string x represents the p ositive integer whose binary description is x The string x represents the negative integer whose absolute value has binary description x Note that for a numb er y the length of the representation of y jy j is roughly the logarithm of the absolute value of y We order strings lexicographically ie x y if jxj jy j or jxj jy j and x precedes y in dictionary order Note that we may have x y as strings but x y as integers Let hx x i for k b e a standard tuple function ie oneto k one easily computable and invertible in all arguments When we write a function as f x x this should b e interpreted as f hx x i k k Let M b e a nondeterministic Turing machine that runs in time b ounded j by some p olynomial n for inputs of length n Since most of the denitions in this pap er are based on this typ e of machine we give such machines the name NP machines However we will usually b e interested more in the Counting Complexity numb er of accepting and p ossibly rejecting paths of M rather than whether the machine accepts M represent the NP machine that simulates M but reverses M s Let decision to accept and reject In other words the accepting paths of M x are the rejecting paths of M x and vice versa Let M x b e the numb er of accepting paths of M We then have that M x is the numb er of rejecting paths We also dene the Gap of M by M x M x M x j jxj M x and M x all are b ounded by Note that M x Let FP represent the class of p olynomialtime computable functions We will also consider oracle Turing machines An oracle Turing machine M using oracle A may write a string y on a sp ecial oracle tap e and then enter a sp ecial query state M will then enter a yes state if y is in A and a no state if y is not in A A We dene the relativized class NP as the set of languages that are accepted by p olynomialtime nondeterministic Turing machines with access C A to oracle A For a class C we dene NP as the union of all NP for A Ak in C We use the notation NP to mean that the NP machine can make only at most k queries to the oracle A on any computation path We can dene relativized versions of other complexity classes in a similar manner When we relativize PSPACE computation we only allow the PSPACE machine to write questions on the oracle tap e whose lengths are b ounded by a p olynomial We can use oracle Turing machines to dene other complexity classes p p p such as the p olynomialtime hierarchy MS We dene and i i i inductively as follows p p p P p p i NP i p p co i i p p i P i The sup erscript p distinguishes the p olynomialtime hierarchy used in complexity theory from the arithmetic hierarchy from recursion theory see Rog We dene the p olynomialtime hierarchy PH as the union of these classes p p p PSPACE PH i i i i i i p p We say that the p olynomialtime hierarchy is innite if for i i all i Otherwise we say that the hierarchy is nite or that it col lapses Complexity theorists generally b elieve that the hierarchy is innite Lance Fortnow Counting Functions In this section we will discuss the p ower of counting functions We will examine two p owerful function classes in particular P and GapP The classes P read SharpP or Numb erP and GapP are derived directly from lo oking at the numb er of accepting paths or the gap b etween accepting and rejecting paths resp ectively Denition The class P consists of the functions f such that there exists an NP machine M such that for al l x f x M x The class GapP consists of the functions f such that there exists an NP machine M such that for al l x f x M x First note that P and GapP functions cannot take on values to o large Lemma If f x is a P or GapP function then there exists a poly pjxj nomial pn such that the absolute value of f x is bounded by for every x Pro of Either f x M x or M x for some NP machine M Let pn b ound the running time of M on strings of length n Note that M x pjxj can have at most computation paths The numb ers of accepting and rejecting paths of M x are b ounded by the numb er of computation paths Lemma follows 2 Note that P functions cannot take on negative values though GapP functions can In fact GapP functions are closed under negation Lemma If f is a GapP function then f is also a GapP function Pro of Let M b e an NP machine such that f M Then f M 2 How ab out the relationship b etween P and GapP and the p olynomial time computable functions FP First we show that every P function is also a GapP function Lemma For every NP machine M there is an NP machine N such that N M Pro of Given an input x the machine N guesses a path p of M x If p is accepting N accepts Otherwise N branches once accepting on one branch and rejecting on the other We have for all x N x N x N x M x N x M x M x M x M x fullling the conclusion of Lemma 2 Counting Complexity Note that a P function can take on only nonnegative values so this class cannot capture all of the FP functions However it do es capture those FP functions that only take on nonnegative values The class GapP encompasses all the FP functions without restriction Theorem If an FP function f always takes on nonnegative values then f is in P Every FP function f is in GapP Pro of Let f b e an FP function Create an NP machine M that on input x guesses jf xj computation paths and accepts on these paths if and only if f x Note that M x f x for all x and M x f x when f x 2 It is p ossible that FP captures all the P or GapP functions or that P captures all the GapP functions that take on only nonnegative values but these prop ositions seem unlikely However from the following lemma we will see that P and GapP have essentially the same computational p ower Lemma For al l functions f the fol lowing are equivalent f GapP f is the dierence of two P functions f is the dierence of a P function and an FP function f is the dierence of an FP function and a P function P Corollary GapP FP Pro of Follows from the third characterization of GapP in Lemma 2 Pro of of Lemma For any M we have M M M by denition so GapP is the dierence of two P functions Let f and g b e P functions We can assume that f M and q n g N where M and N are NP machines and N has

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    29 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us