This preview shows pages 1–2. Sign up to view the full content.
This preview has intentionally blurred sections. Sign up to view the full version.
View Full Document
Unformatted text preview: Notes on Complexity Theory Last updated: November, 2011 Lecture 23 Jonathan Katz 1 The Complexity of Counting 1.1 The Class # P P captures problems where we can efficiently find an answer; NP captures problems where we can efficiently verify an answer. Counting the number of answers gives rise to the class # P . Recall that L NP if there is a (deterministic) Turing machine M running in time polynomial in its first input such that x L w M ( x,w ) = 1 . (1) The corresponding counting problem is: given x , determine the number of strings w for which M ( x,w ) = 1. (Note that x L iff this number is greater than 0.) An important point is that for a given L , there might be several (different) machines for which Eq. (1) holds; when specifying the counting problem, we need to fix not only L but also a specific machine M . Sometimes, however, we abuse notation when there is a canonical M for some L . We let # P denote the class of counting problems corresponding to polynomialtime M as above. The class # P can be defined as a function class or a language class; we will follow the book and speak about it as a function class. Let M be a (twoinput) Turing machine M that halts on all inputs, and say M runs in time t ( n ) where n denotes the length of its first input. Let # M ( x ) def = fl fl ' w { , 1 } t (  x  )  M ( x,w ) = 1 fl fl . Then: 1 Definition 1 A function f : { , 1 } * N is in # P if there is a Turing machine M running in time polynomial in its first input such that f ( x ) = # M ( x ) . We let FP denote the class of functions computable in polynomial time; this corresponds to the language class P ....
View
Full
Document
This note was uploaded on 01/13/2012 for the course CMSC 652 taught by Professor Staff during the Fall '08 term at Maryland.
 Fall '08
 staff

Click to edit the document details