<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4975263359731311867</id><updated>2011-09-05T08:00:55.856-04:00</updated><category term='Learning Theory'/><category term='Lecture Details'/><category term='complexity classes'/><category term='Beyond the Lectures'/><category term='NP'/><category term='Kolmogorov'/><category term='derandomization'/><category term='descriptive complexity theory'/><category term='Encoding'/><category term='Lecture Summary'/><category term='Announcement'/><title type='text'>15-855: Intensive Intro to Computational Complexity</title><subtitle type='html'>&lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/"&gt;http://www.cs.cmu.edu/~odonnell/complexity/&lt;/a&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>74</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-6059674558257358216</id><published>2009-05-03T13:51:00.003-04:00</published><updated>2009-05-03T14:00:36.284-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Wrapup</title><content type='html'>Thanks again to all the hardy souls who hung in there for the semester!&lt;br /&gt;&lt;br /&gt;Please remember to fill in the course evaluation at &lt;a href="http://my.cmu.edu"&gt;my.cmu.edu&lt;/a&gt;, under Academics.&lt;br /&gt;&lt;br /&gt;Final grades are more or less tabulated; please email us if you want to learn them early.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;best,&lt;br /&gt;Ryan&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-6059674558257358216?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/6059674558257358216/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/05/wrapup.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6059674558257358216'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6059674558257358216'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/05/wrapup.html' title='Wrapup'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7343751991944149390</id><published>2009-05-01T16:00:00.006-04:00</published><updated>2009-05-03T13:57:52.144-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Parameterized Complexity and ETH</title><content type='html'>We look into Parameterized Complexity theory (introduced by Downey and Fellows via many papers) and its connections to classical complexity theory specifically via the Exponential Time Hypothesis (of Impaggliazzo and Paturi 2001) in this post.  Parameterized complexity provides a framework for a more refined analysis of hard problems. Heuristics, parallel algorithms, approximation schemes, randomized algorithms are some of the approaches used to counter such problems. But these approaches suffer from many defects ranging from no hard bounds on the quality of the solution (heuristics), to not being applicable to really large instances (parallel algorithms) to impractical solutions (like some PTAS's etc.).&lt;br /&gt;&lt;br /&gt;Introduction:&lt;br /&gt;&lt;br /&gt;Classical complexity classifies problems using the concept of some resource (time or space). This leads to a good theory but it also ignores any structural information in the input which makes problems appear harder then they really are. There is a wide variation in the worst-case complexities of known exact algorithms for the NP-complete problems. For e.g., there are pretty good 3SAT solvers present right now which scale to a large number of variables.&lt;br /&gt;&lt;br /&gt;Parameterized complexity tries to explain these differences by assuming that there is some part of the problem (the `parameter') will be small and allow us to develop efficient poly-time algorithms. The classic example for this is to consider a database query - it has two parts the database and the query of which query is usually much smaller than the database. The query size $k$ would be the natural paramter for a parameterized complexity analysis by admitting algorithms whose non-polynomial behavior is restricted by the parameter: if $k$ is small and $n$ is large, $O(2^k . n)$ is better than $O(n^k)$.&lt;br /&gt;&lt;br /&gt;The main contribution of the theory is establishing the intractability of certain problems by classifying problems into complexity classes by reductions which are inherently 2-dimensional depending on the problem size as well the parameter. A problem can have different  parameterizations also, each leading to different results.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Complexity Classes - FPT and the W[t] hierarchy:&lt;br /&gt;&lt;br /&gt;A parameterized language $L$ is a subset of $\Sigma^* x \Sigma^*$ where $\Sigma$ is a finite alphabet. Let $(x, k) \in L$, then we call $x$ the main part and $k$ the parameter.&lt;br /&gt;&lt;br /&gt;a) Tractability - Fixed-parameter tractable (FPT): $L \in FPT$ if it can be decided in time at most $f(k) . |x|^{O(1)}$ for an arbitary function $f$. For a fixed $k$ it is in P, moreover for every $k$ it is in the same polynomial class via the same machine. As an example, consider the $p-SAT$ problem where given the formula $\phi$ and the parameter $k = $ number of  variables in $\phi$ decide whether $\phi$ is satisfiable. This is clearly in FPT as the obvious brute force approach for formula of size $n$ with $k$ variables will take time $O(2^k . n)$. There are many real world problems which are in FPT like parameterized Vertex Cover which uses the kernelization technique to get a $O(k . n + 1.286^k)$ algorithm (due to Chen, Kanj and Jia, 2001). Note that the classical Vertex Cover is NP complete - yet this result shows that it&lt;br /&gt;is not as `hard' as say Independent Set.&lt;br /&gt;&lt;br /&gt;b) Parametric Intractability: Analogously to classical complexity theory, Downey and Fellows developed a completeness program for intractable parameterized problems. In order to compare the hardness of parameterized problems, we need a 2-dimensional reduction (called `parameterized-reduction'). Roughly, a language $L$ is parameterically reducible to $L'$ if there is an FPT algorithm that transforms $(x, k)$ to $(x', k')$ so that $(x, k) \in L$ iff $(x', k') \in L'$ and $k' = g(k)$ where $g$ is an unrestricted function. Note that Karp reductions are rarely parameterized reductions (e.g. Clique to Independent Set is one of the exceptions).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1) W[1]: The lowest class of parameterized intractability can be defined as the set of languages that are reducible to the Short-Turing Machine Acceptance problem (also called the $k$-step halting problem) where we want to determine for an input consisting of a nondeterministic Turing machine M and a string x, whether M has a computation path accepting x in at most k steps. In some sense, this is the parameterized analogue to the Turing machine acceptance problem: the basic generic NP-complete problem in classical complexity theory. Canonical problems include Independent Set (does $G$ have an independent of size $k$), Weighted 3SAT (does $\phi$ have a satisfying assignment of weight $k$) etc. We will also give an alternative definition of W[1] afterwards which is actually used for the basic results.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2) The W[t] hierarchy: Interestingly, while general $k-$SAT and 3SAT are equivalent for NP-hardness in classical complexity, there is no known parameterized reduction computing general satisfiability from 3-CNF formulae. This leads to a realization that the logical depth of a formula affects its parameterized complexity. Intuitively it is related to the number of   alternations between unbounded fan-in AND and OR gates. Hence, we can base the hierarchy on the complexity of circuits required to check a solution.&lt;br /&gt;&lt;br /&gt;The W[t] is based on Circuit-SAT problem (parameterized by the weight of input like for Weighted 3SAT) for family of circuits $F_{h, t}$ having:&lt;br /&gt;1. Small gates: with constant fan-in&lt;br /&gt;2. Large gates: with unbounded fan-in&lt;br /&gt;&lt;br /&gt;and of depth $h$ (max. number of gates in the path) and weft (max. number of large gates in the path) at most $t$. Clearly, we have the containments:&lt;br /&gt;&lt;br /&gt;          $FPT \subseteq W[1] \subseteq W[2] \ldots $&lt;br /&gt;&lt;br /&gt;It is not known whether the containments are strict or not. Note that W[1] can now be defined as the class that can be reduced to an parameterized Circuit SAT on the family of constant depth weft 1 circuits. Downey and Fellows (1995) proved that parameterized Independent Set is W[1]-complete.  The hardness proof is very intricate and we omit it here. Note that using this definition it is easy to see why Independent Set is in W[1] (sketch):&lt;br /&gt;1. Each vertex in $G$ corresponds to one input gate in the circuit&lt;br /&gt;2. For every edge $(v, u) \in G$ build a small OR gate: $(1-v) \wedge (1-u))$&lt;br /&gt;3. Output from small gates are given as input to a single large AND gate.&lt;br /&gt;&lt;br /&gt;Interestingly unlike NP-hardness results, W[1]-hardness for the $k-$Halting Problem uses Independent Set completeness as intermediate results. There have been many papers demonstrating naturally occuring W[t]-complete problems like Dominating Set for W[2] etc.)- for an extensive list of already classified problems see the Downey and Fellows monograph.&lt;br /&gt;&lt;br /&gt;Exponential Time Hypothesis (ETH)&lt;br /&gt;&lt;br /&gt;ETH was first studied by Impagliazzo, Paturi and Zane 2001 and it states that 3SAT $\notin$ DTIME$(2^{o(n)})$, where $n$ is the number of variables. They also proved that the hypothesis is robust to analogous hypotheses for other NP-complete problems like Independent Set etc. In fact, they also showed that the ETH is independent of size measure: 3SAT is solvable in time $2^{o(n)}$ iff it is solvable in time $2^{o(m)}$ for input size $m$. Note that this suggests that weighted 3SAT should also be intractable for `any parameter'.&lt;br /&gt;&lt;br /&gt;Connections with Classical complexity:&lt;br /&gt;&lt;br /&gt;The above paragraph suggests that ETH and parameterized complexity might be related. In fact they are and Chen and Grohe recently proved that ETH and paramterized complexity theory are isomorphic by an explicit reduction preserving isomorphism. We don't show that here, instead we prove a simpler result that yet provides a strong link to ETH (proof is a version from Downey, Castro et. al 2003 and uses parameterized miniaturization and is different from the original proof by Abhramson, Downey and Fellows):&lt;br /&gt;&lt;br /&gt;Theorem:   If FPT = W[1], then ETH fails i.e. 3SAT $\in$ DTIME$(2^{o(n)})$.&lt;br /&gt;&lt;br /&gt;Proof: We use the equivalent definition of ETH based on simple Circuit SAT. The idea is to capture the ETH perfectly in a parameterized complexity class. The starting point is the Mini-Circuit SAT problem which is a parameterized miniaturization of simple Circuit SAT:&lt;br /&gt;Input: Positive integers $k$ and $n$, and a Boolean circuit of total size at most $k\log n$.&lt;br /&gt;Decision: Does there exist any $x$ for which $C(x) = 1$.&lt;br /&gt;&lt;br /&gt;Note that the parameter here is $k$. Also, trying all possible inputs gives a brute force $O(n^k)$ algorithm. Next we give a cruicial lemma due to Cai and Juedes 2001. It essentially fully characterizes the ETH with a complexity class in parameterized theory.&lt;br /&gt;&lt;br /&gt;Lemma 1: Mini-Circuit SAT is in FPT iff ETH fails.&lt;br /&gt;Proof: One direction follows from the brute force algorithm and noting that $2^{o(k \log n)}$ is a FPT function.&lt;br /&gt;&lt;br /&gt;Now suppose we are given a boolean circuit $C$ of size $N$ and that Mini-Cirsuit SAT is solvable in FPT time $f(k)n^c$. Set $k = f^{-1}(N)$ and $n = 2^{N/k}$. In general $k = f^{-1}(N)$ will be some slowly growing function of $N$; so $N/k = o(N)$ and also $cN/k = o(N)$. Hence using the FPT algorithm for Mini-Circuit SAT we have a running time for Circuit SAT as: $f(f^{-1}(N)) (2^{N/k})^c = N 2^{cN/k} = 2^{cN/k + \log N} = 2^{o(N)}$.&lt;br /&gt;Thus ETH fails. Proved.&lt;br /&gt;&lt;br /&gt;Now lets define the complexity class MINI[1] to be the set of languages that are FPT reducible to Mini-Circuit SAT. It turns out that many $k\log n$ miniatures of familiar NP-complete problems are MINI[1] complete (Downey, Fellows et al. 2002). It is easy to see this because essentially all the usual NP-complete reductions of Circuit SAT to these problems work as FPT reductions because they were also linear size reductions.&lt;br /&gt;&lt;br /&gt;We concentrate on the Mini-Independent Set problem. Surprisingly, it can be reduced to the usual parameterized Independent Set problem.&lt;br /&gt;&lt;br /&gt;Lemma 2: Independent Set parameterized by the size of independent set is MINI[1]-hard.&lt;br /&gt;Proof: We give a Turing reduction. Let graph $G = (V, E)$ be the miniature, for which we wish to determine whether $G$ has an independent set of size $r$ with $|V| \leq k\log n$. We can think of verices of $G$ as organized in $k$ blocks $V_1, V_2, \ldots, V_k$ each of size $\log n$. So for each possible way of writing $r$ as a sum of $k$ terms $r = r_1 + r_2 + r_3 + \ldots + r_k$ with each $r_i \leq \log n$, we have a turing reduction branch which represnts a commitment to choose $r_i$ vertices from the corresponding block $V_i$ to be in the independent set. The total number of branches are $(\log n)^k$ and again it is a FPT-function.&lt;br /&gt;&lt;br /&gt;For each branch, we produce a graph $G'$ that has an independent set of size $k$ iff the miniature $G$ has an independent set of size $r$ distributed as indicated by the commitment made on that branch. The graph $G'$ consists of $k$ cliques with some cross edges. The ith clique consists of vertices in correspondence with the subsets of $V_i$ of size $r_i$. An edge connects a vertex $x$ in the ith clique and a vertex $y$ in the jth clique iff there is a vertex $u$ in the subset $S_x \subseteq V_i$ represented by $x$ and a vertex $v$ in the subset $S_y \subseteq V_j$ represented by $y$, such that $(u, v) \in E$.&lt;br /&gt;&lt;br /&gt;From Lemma 2 we can conclude that $FPT \subseteq MINI[1] \subseteq W[1]$. We just need to observe now that if FPT = W[1] it implies $M[1] \subseteq FPT$. By Lemma 1, ETH fails.&lt;br /&gt;Proved.&lt;br /&gt;&lt;br /&gt;Discussion:&lt;br /&gt;&lt;br /&gt;The above result hints that FPT vs W[1] problem is like the P vs NP problem of classical complexity theory. In fact it was also proved by Downey and Fellows that FPT $\neq$ W[1] implies P $\neq$ NP. But it is not known that if FPT $\neq$ W[1] implies anything about the rest of W[t] hierarchy. Importantly, practical intracbility of problems in NP, which are unlikely to be complete for NP, can be shown using W[t] hardness results.  Parameterized complexity has deep connections to other complexity results as well. Just recently (a week back) Galesi and Lauria showed a connection with Proof Complexity based on randomized algorithms for W[t]-hard problems. The field is very active and there are many papers and surveys being published in it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7343751991944149390?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7343751991944149390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/parameterized-complexity-and-eth.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7343751991944149390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7343751991944149390'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/parameterized-complexity-and-eth.html' title='Parameterized Complexity and ETH'/><author><name>Aditya</name><uri>http://www.blogger.com/profile/07248254448002696516</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-4328453306717789819</id><published>2009-05-01T08:54:00.017-04:00</published><updated>2009-05-03T13:59:18.981-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Lower bounds for locally decodable codes</title><content type='html'>In this blog, we will look at upper bounds on the rates of locally decodable codes and their relation to a problem called Private Information Retrieval. Some of the proofs presented here are unique in that they relate the complexity of classical algorithms to quantum algorithms and prove lower bounds on quantum algorithms!&lt;br /&gt; &lt;br /&gt;Locally decodable codes are codes that can probabilistically recover a bits from corrupted codewords by querying a small number of bits, Hadamard code being a straightforward example. While an ideal code would have have rate, be resilient to large number of errors and would be locally decodable, it as been shown that it is not possible to do extremely well on all the criteria. Specifically, locally decodable codes imply that the code rate is $o(1)$. &lt;br /&gt;&lt;br /&gt;The first paper in this direction ([Katz, Trevisan STOC'00]) showed that any locally decodable code with constant number of query bits has codewords of superlinear length. The main ideas behind these bounds is that smooth codes (codes which are queried uniformly for local decoding) are not much worse than non-smooth ones and that such smooth codes need super-linear encoding lengths.&lt;br /&gt;&lt;br /&gt;Def 1: Suppose that a code maps $C:\{0,1\}^n\rightarrow \Sigma^m$. For fixed $\delta, \epsilon$ and integer $q$, $C$ is $(q,\delta,\epsilon)$-locally decodable code if there exists a probabilistic algorithm that recover an arbitrary bit $x_i$ of the input $x$ with probability at least $1/2+\epsilon$ from a corrupted codeword $y$ which is with in a distance $d(y,C(x))&lt;\delta m$ of $C(x)$ after querying no more than $q$ indices of $y$.&lt;br /&gt;&lt;br /&gt;Intuitively, smooth code words are those for which there exist probabilistic decoding&lt;br /&gt;algorithms that query the codeword (roughly) uniformly, i.e., are not heavily biased&lt;br /&gt;towards querying few indices of codeword. More formally:&lt;br /&gt;&lt;br /&gt;Def 2: A codeword $C:\{0,1\}^n\rightarrow \Sigma^m$ is $(q,c,\epsilon)$-smooth&lt;br /&gt;for fixed $c,\epsilon$ and integer $q$ if there exists a local decoding algorithm $A$&lt;br /&gt;that can recover an aribitrary bit of input $x$ from codeword $C(x)$ with probability at least $1/2 + \epsilon$ using no more than $q$ indices of $y$ with the added condition that $\prob[A(x,i) \textrm{reads index} j] \leq c/m$. This definition does not require $A$ to recover bits from corrupted codewords.&lt;br /&gt;&lt;br /&gt;Lemma 1: If $C$ is a $(q,\delta,\epsilon)$-locally decodable code, then it is also a $(q,q/\delta,\epsilon)$-smooth.&lt;br /&gt;Proof sketch: Take the decoder for $C$ and identify all the locations that are queried with probability greater than $q/\delta m$ while trying to decode $m$. Construct a new decoder that just assumes the value $0$ for queries to all such locations. Since there no more than $\delta m$ of these, the new decodder can still recover from errors. This new decoder has the smoothness properties we want. &lt;br /&gt;&lt;br /&gt;Lets start with case $q=1$, and see why it is not possible to construct locally decodable codes that encode inputs of length greater than a constant. Suppose that the algorithm is trying to decode the $i$-th bit $x_i$ by reading just a single index of the (corrupt) codeword $y$. Then, $\sum_{j\in[m]} Pr_x[A(C(x),i)=x_i | A(\cdot,i) ~\textrm{reads}~ j] Pr[A(\cdot,i) ~\textrm{reads}~ j]$&lt;br /&gt;$ = Pr_x[A(C(x),i) = x_i] \geq 1/2 + \epsilon$,&lt;br /&gt;&lt;br /&gt;beacuse of which there must exist a &lt;span style="font-style:italic;"&gt;good&lt;/span&gt; index $j_1$ such that $Pr_x[A(C(x),i) = x_i | A(\cdot,i) ~\textrm{reads}~ j_1] \geq 1/2 + \epsilon$. Suppose that the code got randomly corrupt at index $j_1$. Then $y_{j_1}$ has no correlation with $x_i$ and the algorithm $A$ can not infer any information from index $j_1$. But since $A$ can recover from $\delta  m$ errors, there must exist another index $j_2$ which also \textit{good} in the sense that it can be queried to get information about $x_i$. By extending the above reasoning, we can see that we can also corrupt $y_{j_2}$ randomly along with $y_{j_1}$ and can expect to find another index $j_3$ with reasonable correlation to $x_i$. We can extend the same argument $\delta m$ times to reason that there are at least $\delta m$ indices $j\in[m]$ such that $A$ can compute $x_i$ from $C(x)_{j}$ with probability at least $1/2 + \epsilon$. This is true of all inputs $x$, which by the pigeon hole principle implies that there is at least one index $j'\in [m]$ such that at least $\delta n$ of $x_i$s can extracted with $1/2 + \epsilon$ probability by querying $y_{j'}$. Now this means that the code should put an enormous amount of information about the input in to one index of the output. Consider the following quantitive&lt;br /&gt;lemma about limit of information recovery from a function:&lt;br /&gt;&lt;br /&gt;Lemma 2: If $C:\{0,1\}^n\rightarrow R$, and there exists a $A$ such that $Pr[A(C(x),i)=x_i] \geq 1/2 + \epsilon$,&lt;br /&gt;then $\log{|R|} \geq (1-{\mathsf H}(1/2 + \epsilon))n$, where ${\mathsf H}$ is the binary entropy function.&lt;br /&gt;Idea: if a decoder has an any hope of recovering bits with reasonable probability,&lt;br /&gt;the compression should not e too high.&lt;br /&gt;&lt;br /&gt;Setting $|R| = |\Sigma|$, we have $n\leq \frac{\log{|\Sigma|}}{\delta(1-{\mathsf H}(1/2 + \epsilon))}$ (Therorem 3).&lt;br /&gt;&lt;br /&gt;Now, consider the case $q&gt;1$. A generalization of this same argument can be used&lt;br /&gt;to show superlinear bounds on the length of the codewords as follows:&lt;br /&gt;&lt;br /&gt;Suppose that $A$ is a $(q,c,\epsilon)$-smooth decoder for code $C$.&lt;br /&gt;Similar to the $q=1$ case, call a set $S$ ($S\subseteq[m], |S|\leq q$) $\epsilon$-good for $i$ if $Pr[A(C(x),i) = x_i | A\textrm{reads} s] \geq 1/2 + \epsilon$. Define hypergraph $H_i$ with vertices labelled $[m]$ and egde set $E_i$ defined by the $\epsilon/2$-good sets for $i$. A matching of a hypergraph is an edge set with no common vertex and a vertex cover is a vertex set such that every edge contains at least one vertex from the vertex set.&lt;br /&gt;&lt;br /&gt;Lemma 4: $H_i$ has a matching $M_i$ of size at least $\epsilon m/cq$.&lt;br /&gt;Proof: &lt;br /&gt;$1/2 + \epsilon$&lt;br /&gt;$\leq  Pr_x[A(C(x),i) = x_i | A(\cdot,i) ~\textrm{reads}~ E_i] Pr [A(\cdot,i) ~\textrm{reads}~ E_i]$&lt;br /&gt;$+  Pr_x[A(C(x),i) = x_i | A(\cdot,i) ~\textrm{reads}~ E^c_i] Pr {A(\cdot,i) ~\textrm{reads}~ E^c_i]$&lt;br /&gt;$&lt; Pr[A(\cdot,i) ~\textrm{reads}~ E_i] + (1/2 + \epsilon/2)(1-Pr[A(\cdot,i) \textrm{reads} E_i])$,&lt;br /&gt;which implies that $Pr[A(\cdot,i) \textrm{reads from} E_i] &gt; \epsilon$. If $P_e$ denotes the probability that $A(\cdot,i)$ reads $e\in E_i$, then we have $\epsilon &lt; \sum_{e\in E_i} P_e$. Also for every $j\in [m]$, $\sum_{e\in E_i | j\in e} \leq c/m$ &lt;br /&gt;by smoothness condition. Now, if $V$ is vertex cover of $H_i$, $e\cap V \neq \emptyset$ for all $e\in E_i$. Putting this together with the earlier fact, we have  $\epsilon &lt; \sum_{s\in E_i | e\cap V\neq \emptyset} P_e \leq \sum_{j\in V}\sum_{e\in E_i | j\in e} P_e \leq |V|c/m$ which implies $|V| &gt; \epsilon m/c$, and therefore, $H_i$ has a matching $M_i$ of size at least $\epsilon m/cq$.&lt;br /&gt;&lt;br /&gt;Say that a set $S$ hits matching $M_i$ if there is some set $s\subseteq S$ such that $s\in M_i$. The following lemma gives a bound on the number of vertices to be selected from $H_i$ so that selected set hits a constant fraction of $M_i$s.&lt;br /&gt; &lt;br /&gt;Lemma 5: If $H$ is a hypergraph on $m$ vertices containing hyperedges of at most than $q$ vertices. Suppose $H$ has a matching of size $\gamma m$($\gamma &lt; 1/q$). There exists $t=\Theta(\gamma^{-1/q}m^{(q-1)/q})$ so that for a randomly chosen (from $H$) set of $t$ elements,  such that the probability of this set hitting an arbitrary matching is $3/4$.&lt;br /&gt;&lt;br /&gt;Theorem 6: If $C:\{0,1\}^n\rightarrow \Sigma^m $ is a $(q,c,\epsilon)$-locally decodable codes, then:&lt;br /&gt;$m\geq (\epsilon\delta/q^2)^{1/(q-1)}{\left(\frac{3n(1-{\mathsf H}(1/2 + \epsilon))}{4\log{|\Sigma|}}\right)}^{(\frac{q}{q-1})$.&lt;br /&gt;Proof: Lemma 1 shows that $C$ is $(q,q/\delta, \epsilon)$-smooth. Lemma 4 shows that for every $i$, there exists a set $M_i$ consisting of disjoint set of size at most $q$ such, each $m\in M_i$ is $\epsilon/2$-good for $i$ and $|M_i| \geq \epsilon\delta m/q^2$. Lemma 5 says that there exists a set of $t = \Theta((\epsilon\delta/q^2)^{-1/q}m^{(q-1)/q}))$ indices from $[n]$ so that the values at these locations have enough information to help decode at least $3/4$ of the inputs bits with advantage at least $\epsilon /2$. Applying Lemma 2 which gives us a lower bound on $t$ proves the theorem. &lt;br /&gt;&lt;br /&gt;While this is some start, this still leaves a large gap between existing locally decodable codes (which are exponential long) and the lower bound. Goldreich, Karloff, Schulman and Trevisan improve the lower bound for the specific case of linear codes and decoding algorithms that query only 2 bits. They show that in such a case, $m = 2^{\Omega(n)}$. Using new techniques (reduction to quantum queries), Kerenidis and Wolf (arXiv: quant-ph/0208062v2) show that any 2-query LDC (not necessarily linear) is exponentially long. Their work is as follows.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Quantum queries&lt;br /&gt;---------------&lt;br /&gt;&lt;br /&gt;In an earlier post, Matt talked about the fact that QM systems exist in a linear superposition of several states. The choice of basis vectors used to describe can of course be chosen according to convenience (the choice is usually the eigenstates of the measurement).  A superposition of states does not mean a statistical mix of different states, rather it means that the state of the particle itself is a complex vector. Such a state is called a pure state (can be expressed as $|\phi\rangle = \sum_{i} \alpha_i |i\rangle$). The density matrix of a pure state (or qubit) is the outer product $M = |\phi\rangle\langle\phi|$, where $\langle\phi| = {|\phi\rangle}^{\dagger} = {{|\phi\rangle}^T}^{*}$ is the complex conjugate transpose of $|\phi\rangle$. Note that an arbitrary matrix $M$ need not in general be the density matrix of a pure state. Matrices of the form $\rho = \sum_{i}p_i|\phi_i\rangle\langle\phi_i|$ are called mixed states. As against a pure system, such mixed states are statistical ensembles of different pure states. Obviously, such a mixed state does not represent any pure state. However, the set of pure states of which $\rho$ is an ensemble is not uniquely determined by $\rho$ alone. $\rho$ represents both  $\{(p_i,|v_i\rangle\}_{i}$ and $\{(p'_i,|v'_i\rangle}\}_{i}$ as long there is a unitary matrix $U$ such that $|v_i\rangle=\sum_{j} \sqrt{p_j/p'_i}U_{ij}|v_j\rangle$. Another context where mixed systems are useful for us is to describe a subsystem of an entangled state. For example, in the entangled state $(|00\rangle + |11\rangle)/\sqrt{2}$, the second qubit alone is not a pure system. It can be viewed as the mixed state $(|0\rangle\langle 0| + |1\rangle\langle 1|)/2$.&lt;br /&gt;&lt;br /&gt;Measurement of a qubit can be thought of as projecting the qubit in to a subspace. Based on the set of subspaces we are trying to project our qubit in to, the qubit has different probability of collapsing in to these subspaces. We can generalise this notion to arbitrary positive operators (not just orthonormal projectors) and mixed states -- such a measurement system is called positive operator valued measurement (POVM). A POVM is a set of positive operators $E_i = M_i^{\dagger} M_i$ such that $\sum_{i=1}^{k} E_i = I$. When such a measurement is made on state $\rho$, the outcome is any one of the states $M_i\rho M_i^{\dagger}/Tr(M_i\rho M_i^{\dagger})$, the probabilities of the respective outcomes being $p_i = Tr(M_i\rho M_i^{\dagger})$.&lt;br /&gt;&lt;br /&gt;In what follows we usually deal with $k$ of the form $2^m$ and systems of $m$ qubits.&lt;br /&gt;If $B=\{\ket{\psi_i}\}$ is an orthonormal basis for the system, measuring in $B$-basis means using the POVM: $E_i = \ket{\psi_i}\bra{\psi_i}$. Then, the outcome of measuring a pure state $\ket{\phi}$ is simply $|\braket{\phi}{\psi}|^2$ as we expect.&lt;br /&gt;&lt;br /&gt;Now, we are ready to define a quantum query:&lt;br /&gt;A query to $j$-th bit of a length $m$ string $y$ is the unitary operation (quantum mechanics mandates that all state transformations are unitary):&lt;br /&gt; $|c\rangle|j\rangle \mapsto (-1)^{c\cdot y_j}|c\rangle |j\rangle$.&lt;br /&gt;Of course, the fact that we can apply this query transformation to superposition states to (indirectly) read off several values of the function is what makes quantum queries powerful (for that matter, this ability to manipulate superposition states is what gives extra power to quantum algorithms). The following lemma illustrates this power right away:&lt;br /&gt;&lt;br /&gt;Lemma 7: Let $f:\{0,1\}^2\mapsto \{0,1\}$ and suppose that we have $a=a_1 a_2 \in \{0,1\}^2$ whose bits are to be queried in order to compute $f(a)$. There exists a quantum algorithm that uses just one query, and outputs $f(a)$ with probability exactly $11/14$, and outputs $1-f(a)$ otherwise.&lt;br /&gt;Proof: Note that a classical algorithm has to query both bits before it can compute $f(a)$ with any accuracy. The quantum algorithm is as follows: query $(|01\rangle&lt;br /&gt;+ |11\rangle + |12\rangle)/\sqrt{3}$. The output of the query would be:&lt;br /&gt;$|\phi_a\rangle = (|01\rangle + (-1)^{a_1}|11\rangle + (-1)^{-a_2}|12\rangle)/\sqrt{3}$, the mutual phase shifts now holding information about $a_1, a_2$. To extract this information, we measure this state (i.e., cause it to collapse to basis) with the basis $\{|\psi_b\rangle\} (b\in \{0,1\}^2)$, where $|\psi_b\rangle = (|01\rangle + (-1)^{b_1}|01\rangle + (-1)^{b_2}|10\rangle + (-1)^{b_1+b_2}|11\rangle)/2$.&lt;br /&gt;&lt;br /&gt;$|\phi_a\rangle$ gives outcome $a$ with probability $|\langle\phi_a|\psi_a\rangle|^2 = 3/4$, the other three outcomes being equally probable ($1/12$). Suppose that the measurement outcome is $m$. The following procedure does exactly what we want:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt; $f$ is a constant. Output the constant with probability $11/14$.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt; $|f(1)^{-1}|=1$. If $f(m) = 1$, then output $1$. If $f(m)=0$, then output $0$ with probability $6/7$ and $1$ with probability $1/7$.  Now, if $f(a) = 1$, then probability of the algorithm outputting $1$ is $(3/4).1 + (1/4)(1/7) = 11/14$. If $f(a) = 0$, then probability of algorithm outputting $0$ is $(11/12)(6/7) = 11/14$.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;  $|f(1)^{-1}|=2$. Output $f(m)$ with probability $13/14$ and $1-f(m)$ with probability $1/14$.&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt; $|f(1)^{-1}|=3$. Similar to case $|f(1)^{-1}|=1$. &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;Definition: A $(q,\delta, \epsilon)$-LQDC (locally quantum-decoable code) is the same as a LDC except that we replace the probabilistic decoder with a quantum decoder and queries are quantum-queries that probe superpositions. Now we can use the earlier lemma to show that:&lt;br /&gt;&lt;br /&gt;Theorem 8: A $(2,\delta,\epsilon)$-LDC is a $(1,\delta,4\epsilon/7)$-LQDC.&lt;br /&gt;Proof: The idea is to replace the two classical queries with one quantum query (allowing for a bit of inaccuracy) based algorithm. The quantum decoder will choose two target bits the same way the classical decoder works, and instead of reading both bits and applying a function $f$, the LQDC does a quantum query on this two bits and outputs the value of $f$ on this bits (with $11/14$ accuracy). This suffices to get a $4\epsilon/7$ predictor.&lt;br /&gt;&lt;br /&gt;Now we want to show lower bounds on 1-query LQDCs. The starting point as in the&lt;br /&gt;case of 1-query LDCs is a theorem that gives a relation between the space&lt;br /&gt;used to store information and fidelity of information reconstruction:&lt;br /&gt;&lt;br /&gt;Theeorem 9: If $f$ maps $n$ bit strings to $m$-qubit states (mixed) states with&lt;br /&gt;recovery probability at least $p$, then $m\geq (1 - {\mathsf H}(p))n$. This leads to:&lt;br /&gt;&lt;br /&gt;Theeorem 10: If $C:\{0,1\}^n \rightarrow \{0,1\}^m$ is a $(1,\delta,\epsilon)$-LQDC, then $m\geq 2^{cn} - 1$, for $c=1-H(1/2 + \delta\epsilon/4)$.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Wehner and  Wolf (arXiv: quant-ph/0403140v2) consider the case where the LDC encode&lt;br /&gt;over larger alphabets and when the decoder uses only a part of the information from each query. Briet and Wolf (arXiv: quant-ph/0806.2101v1) further study the relation between LQDC and LDC and conclude that their powers are roughly the same for small constant number of queries. &lt;br /&gt;&lt;br /&gt;Despite all this work, the best lower bounds on the overheads for &gt;3 query LDC is only polynomial while known &gt;3-query LDCs are eponentially long. This gap leaves a big open question. &lt;br /&gt;&lt;br /&gt;LDCs and Private Information Retrieval (PIR)&lt;br /&gt;--------------------------------------&lt;br /&gt;The relation between LDCs and PIRs is close and worth mentioning since PIR systems yield some of the best LDCs. PIR is the problem of distribution a database among different servers so that a client can query a particular bit (by sending randomized queries to different servers) so that individual servers have almost no clue about the particular query bit that the client is accessing (information theoretic security, not computational). Here is the definition of a 2-server PIR system.&lt;br /&gt;&lt;br /&gt;Def [GKST CCC'02]: A one-round, database size $n$, $(1-\delta)$ secure, 2-server PIR with recovery probability $p$, query size $q$, answer size $a$ is the set of algorithms $(Q,(S_1,S_2),D)$, where:&lt;br /&gt;- $Q$ on input $i$ uses a randomness ($r$) to generate two $q$ bit long queries $(q_1,q_2)=Q(i,r)$. $q_1$ and $q_2$ are sent off to the two servers which use algorithms $S_1$ and $S_2$ to respond with length $a$-answers to these queries. The decoder algorithm $D$ uses $i,r$ and the answers of the servers to decode $x_i$. Given that the random string for input to $Q$ is selected from uniform distribution, the decoder $D$ should succeed with probability at least $p$. The secrecy condition is that the distribution of queries send to servers should be different for different target bits by more than a distance of $\delta$.&lt;br /&gt;&lt;br /&gt;The same authors show that if there is a $1$-round, $(1-\delta)$-secure $2$-server PIR of database size $n$, query size $t$, answer size $a$ with recovery probability at least $1/2 + \epsilon$, then there exists a $(2,3,\epsilon-\delta)$-smooth code $C:\{0,1\}^n\rightarrow (\{0,1\}^a)^m$, where $m \leq 6.2^t$. This reduction can be used to show that a query sizes $\Theta(n^c) (c&gt;0)$ are needed for PIR with constant answer sizes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-4328453306717789819?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/4328453306717789819/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/05/lower-bounds-for-locally-decodable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4328453306717789819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4328453306717789819'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/05/lower-bounds-for-locally-decodable.html' title='Lower bounds for locally decodable codes'/><author><name>Harsha Simhadri</name><uri>http://www.blogger.com/profile/11827833306411957868</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7858362460171741109</id><published>2009-05-01T02:53:00.008-04:00</published><updated>2009-05-03T14:00:05.718-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='derandomization'/><category scheme='http://www.blogger.com/atom/ns#' term='Kolmogorov'/><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Kolmogorov Complexity and derandomization</title><content type='html'>&lt;div&gt;Motivation&lt;br /&gt;------------&lt;br /&gt;&lt;br /&gt;The sets $R_{\mu}$ of random strings with high Kolmogorov complexity and bounded resources are good examples of sets with a lot of information content that is difficult to access. Many of these sets have been studied [BM97,Ko91,KC00] as possible examples of intractable sets that are not complete for any of the standard complexity classes. Based on [Al05], we now show that these sets &lt;span style="font-style: italic;"&gt;can&lt;/span&gt;, in fact, be exploited by efficient reductions.&lt;br /&gt;&lt;br /&gt;The completeness results are obtained via derandomization techniques, mostly relativizing hardness vs randomness tradeoffs in the contrapositive: If there exists a problem in complexity class $C$ that is hard when given oracle access to $A$, then there exists a pseudorandom generator secure against $A$ that is computable within $C$. We argue that no pseudorandom generator computable in $C$ can be secure against $R_{\mu}$, and thus every problem in $C$ is easy given oracle access to $R_{\mu}$. In other words, $C$ reduces to $R_{\mu}$.&lt;br /&gt;&lt;br /&gt;Definitions&lt;br /&gt;-----------&lt;br /&gt;&lt;br /&gt;The computational model that we use is the multi-tape Turing machine with random-access to its input tape (the ideas work in any general model). Wlg, we pick a single universal machine $U$.&lt;br /&gt;Kolmogorov complexity  $C^A(x)$ is usually defined as the length of the shortest description $d\in \{0,1\}^*$ such that $U^A(d) = x$, where $U$ is a universal Turing machine with oracle access to $A$. The definition we use is slightly different: instead of requiring $U^A(d)$ to produce $x$, it should recognize the correct value of $x_i$ for every $i$.&lt;br /&gt;We now define several resource-bounded Kolmogorov complexity measures:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Definition 1 [Kt,KT,KS]&lt;/span&gt;&lt;br /&gt;$Kt^A(x) = \min\{   |d| + \log t : U^A(d,i,b)$ accepts in $t$ steps iff $x_i=b \}$&lt;br /&gt;$KT^A(x) = \min\{   |d| +  t : U^A(d,i,b)$ accepts in $t$ steps iff $x_i=b \}$&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;The only difference is that in $KT$ the time bound is given exponentially more weight. Considering space-bounded notions, too, will yield complete problems for space-bounded&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; classes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;$KS^A(x) = \min\{   |d| +  s : U^A(d,i,b)$ accepts in $s$ space iff $x_i=b \}$&lt;br /&gt;&lt;br /&gt;Both $Kt$ and $KS$ can be approximated in terms of $KT^A$, for appropriate oracle choices:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Theorem 2&lt;/span&gt;:&lt;br /&gt;There exist a complete set $A$ for $E$, a complete set $B$ for $DSPACE(n)$, and a constant $c$ s.t.&lt;br /&gt;$Kt(x)/c\leq KT^A(x)$&lt;br /&gt;$KS(x)/c\leq KT^B(x)$&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Proof sketch:&lt;/span&gt; Let $A \in E$ and let $x$ be given, s.t. $KT^A(x) = m$. Thus, there is a description $d_x$ of length $\leq m$, s.t. $U^A(d_x,i,b)$ accepts  iff $x_i=b$ in time at most $m$. During  computation, $U$ asks queries of length at most $m$. Since $A \in E$, each query can be answered in time $2^{O(m)}$.&lt;br /&gt;Let $M$ denote the algorithm simulating the computation of $U^A(d_x,i,b)$ for every $i$ by directly computing the answers of $A$, then the description $d'_x= \langle M,d_x \rangle$ is sufficient for $U$ to compute $U(d'_x,i,b)$ in time $2^{O(m)}$. As $|d'_x|=m+O(1)$, we can conclude that $Kt(x) \leq  m + O(1) + \log(2^{O(m)}) = O(m)$.&lt;br /&gt;The proof for $KS$ is similar.&lt;br /&gt;&lt;br /&gt;We focus on sets containing strings of high complexity, for various measures.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Definition 3:&lt;/span&gt;&lt;br /&gt;For any Kolmogorov complexity measure $\mu$, define&lt;br /&gt;$R_{\mu} = \{x : \mu(x) \geq |x|/2\}$.&lt;br /&gt;&lt;br /&gt;The bound of $|x|/2$  is arbitrary. Essentially, all we need is that the set $R_{\mu}$ has polynomial density (it contains at least $2^n/n^k$ strings of each length $n$, for some $k$).&lt;br /&gt;The following propositions are straightforward.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Proposition 4:&lt;/span&gt;&lt;br /&gt;$R_{Kt} \in E$, $R_{KS} \in DSPACE(n)$, and $R_{KT} \in coNP$.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Proposition 5:&lt;/span&gt;&lt;br /&gt;The sets $R_{Kt}$,  $R_{KS}$ all have polynomial density.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Nonuniform Hardness Results&lt;br /&gt;-------------------------------&lt;br /&gt;&lt;br /&gt;We show that strings of high Kolmogorov complexity are very useful as oracles. We will argue that an appropriate set $R_{\mu}$ of Kolmogorov random strings can be used to distinguish the output of a pseudorandom generator $G_f$ from truly random strings. This in turn will enable us to efficiently reduce $f$ to $R_{\mu}$.&lt;br /&gt;&lt;br /&gt;Recall that $A$ is PSPACE-robust if $PSPACE^A = P^A$ (machines are allowed to ask oracle&lt;br /&gt;queries of only polynomial size). The complete sets for many large complexity classes (PSPACE, EXP, EXPSPACE) have this property, as well as the complete sets (under linear-time&lt;br /&gt;reductions) for classes like $DSPACE(n)$ and $E$.&lt;br /&gt;&lt;br /&gt;We will build a pseudorandom generator based on the Nisan-Wigderson paradigm [NW94]. [BFNW93] construct, for any $\epsilon &gt; 0$, a variant $G^{BFNW}_f : \{0,1\}^{n^\epsilon}\rightarrow \{0,1\}^n$ such that for any $x$ of size $n^\epsilon$, the function  is computable in space $O(n^\epsilon)$ given access to the Boolean function $f$ on inputs of size at most $n^\epsilon$. If $f$ is PSPACE-robust, there is a constant $c$ independent of $\epsilon$, such that each bit is computable in time $n^{\epsilon \cdot c}$ with oracle access to $f$. The following hardness versus randomness tradeoff holds.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Theorem 6 [BFNW93]&lt;/span&gt;&lt;br /&gt;Let $f$ be a Boolean function, $\epsilon &gt; 0$, and $G^{BFNW}_f$ be the pseudorandom generator described above. Let $T$ be a set and $p(n)$ a polynomial. If&lt;br /&gt;$|P_{r\in U_n}[r \in T]-P_{x\in U_{n^\epsilon}}[G^{BFNW}_f(x)\in T]|\geq 1/p(n)$&lt;br /&gt;for all large $n$, then there exists a polynomial size oracle circuit family $\{ C_n \}$ with oracle $T$ that computes $f$ and queries $T$ non-adaptively.&lt;br /&gt;&lt;br /&gt;We use the notation $A\leq ^{P/poly}_{tt} B$ to denote that there exists a truth-table (i.e., nonadaptive) reduction from $A$ to $B$ that is computable by a family of polynomial-size circuits.&lt;br /&gt;(A truth-table reduction is a reduction from one set of natural numbers to another. Truth-table reductions are more powerful than Turing reductions in a mathematical sense, since they provide finer equivalent class, but they are a weaker tool.)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Theorem 7:&lt;/span&gt;&lt;br /&gt;Let $A$ be any PSPACE-robust set. Let $L$ be a set of polynomial density s.t. for every $x \in L$, $KT^A(x) &gt; |x|^\gamma$ for some constant $\gamma &gt; 0$. Then $A$ is reducible to $L$ via $\leq^{P/poly}_{tt}$ reductions.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Proof Sketch:&lt;/span&gt; Let $f$ be the characteristic function of $A$. Consider $G^{BFNW}_f$,&lt;br /&gt;choose $\epsilon$ as follows. We know that every bit of $G^{BFNW}_f$ is computable in time $n^{\epsilon \cdot c}$ for some constant $c$ independent of $\epsilon$, given access to $A$. Set $\epsilon= \gamma/2c$ (wlg $c &gt; 1$).&lt;br /&gt;&lt;br /&gt;Any string in the range of $G^{BFNW}_f$ has small $KT^A$ complexity: Let $y = G^{BFNW}_f (x)$, for some $x$. On $x$, every bit of $G^{BFNW}_f$ is computable in time $n^{\gamma/2}$ with access to oracle $A$. Hence, $KT^A(y) \leq |x|+O(n^{\gamma/2} \log n)+O(1) \leq n^{\gamma}$. Thus, $L$ distinguishes the output of $G^{BFNW}_f$ from random, and by Theorem 6, $f$ is $\leq^{P/poly}_{tt}$ reducible to $L$.&lt;br /&gt;&lt;br /&gt;By Theorem 2 and Proposition 5, we can apply Theorem 7 to&lt;br /&gt;$\langle $the set $A$ from Theorem 2, $R_{Kt}\rangle $, and $\langle $the set $B$ from Theorem 2, $R_{KS}\rangle $.&lt;br /&gt;($A$ and $B$ are clearly PSPACE-robust, since they are complete for EXP and PSPACE, respectively.) Combining this with Proposition 4, we get:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Corollary 8:&lt;/span&gt;&lt;br /&gt;$R_{Kt}$ is complete for EXP under $\leq ^{P/poly}_{tt}$ reductions. $R_{KS}$ is complete for PSPACE under $\leq ^{P/poly}_{tt}$ reductions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Those results also obtain natural examples that witness the difference in power of various reducibilities, as some of the sets which we show are complete under truth-table reductions are provably not complete under polynomial-time many-one reductions.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7858362460171741109?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7858362460171741109/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/05/kolmogorov-complexity-and.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7858362460171741109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7858362460171741109'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/05/kolmogorov-complexity-and.html' title='Kolmogorov Complexity and derandomization'/><author><name>Dafna</name><uri>http://www.blogger.com/profile/15699152399095970845</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-3104395364287743081</id><published>2009-04-30T17:45:00.001-04:00</published><updated>2009-04-30T17:45:32.035-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 28</title><content type='html'>Today we talked about barriers to proving $P \neq NP$ and other complexity-theory results: specifically, the "relativization" barrier introduced by Baker-Gill-Solovay, and the "natural proofs" barrier introduced by Razborov-Rudich.  &lt;br /&gt;&lt;br /&gt;We also talked about results that evade them.  For example, the Hopcroft-Paul-Valiant Theorem, $TIME[f(n)] \neq SPACE[f(n)]$, and the Paul-Pippenger-Szemeredi-Trotter Theorem, $DTIME[n] \neq NTIME[n]$, do not relativize.  Nor do they algebrize, according to the Aaronson-Wigderson notion.  (At least, my opinion is that the notion of relativizing/algebrizing makes sense for these theorems, and in this sense they do not relativ/algebrize.)&lt;br /&gt;&lt;br /&gt;As for natural proofs, we discussed how proofs by diagonalization do not seem to naturalize, and we mentioned explicit circuit lower bound which are by diagonalization; for example, Kannan's result that $\Sigma_4$ not in $SIZE(n^{1000})$.  &lt;br /&gt;&lt;br /&gt;Finally, we mentioned some theorems that &lt;i&gt;neither relativize nor (seem to) naturalize&lt;/i&gt;: for example, Vinodchandran's Theorem that $PP$ not in $SIZE(n^{1000})$, and Santhanam's improvement of this to an explicit promise problem in $MA$ which isn't in $SIZE(n^{1000})$.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-3104395364287743081?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/3104395364287743081/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-28.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3104395364287743081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3104395364287743081'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-28.html' title='Lecture 28'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7981875095151554774</id><published>2009-04-30T01:09:00.021-04:00</published><updated>2009-05-03T14:00:19.828-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Game theory complexity and computing Nash Equilibrium</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;In 1944 von Neumann and Morgenstern introduced the subject of Game Theory in their book &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Theory of Games and Economi&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;c Behavior&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.  von Neumann and Morgenstern showed that there always exists a equilibrium solution to any two-person zero-sum game.   (They also showed any n-person non-zero-sum game can be trivially turned into a (n+1)-person zero-sum game by adding a player who represents the net global profit or loss.)  Nash extended this work to show that there exists a equilibrium for any (zero or non-zero-sum) n-person game.  (A Nash Equilibrium is a set of mixed strategies for the players such that each individual player has perfect knowledge of the other players' strategies and has no benefit from changing their strategy unilaterally under this knowledge.)&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;However, Nash's proof is not constructive in a computational sense, in that it does not imply a general algorithm for determining the equilibrium point for an arbitrary game. There is good reason for this.  We can show that there is no general algorithm for determining the equilibrium of a given game on the reals.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;We must first give a definition of what we mea&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;n by a computable real.  In this analysis, I will use the definition given in &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style=" line-height: 18px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Computabili&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;t&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;y in An&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;alysis and Physics by Pour-El and Richards.  We say a real number x is computable if there exists a computable sequence of rationals that converge effectively to x.  (Converges effectively means that for some sequence of rationals ${r}_k$ there is a computable function $e$:$\mathbb{N}\to\mathbb{N}$  such that for all $N$, $k \geq e(N)$ implies $|{r}_k-x|\leq {2}^{-N}$ )  A computable sequence of reals is defined similarly (There is a computable double sequence of rationals $\{{r}_nk\}$  that converges effectively to ${x}_n$ as $n,k\rightarrow \inf$ )  Finally, a computable function is defined by saying that every computable sequence of inputs ${x}_n$  yields a computable sequence of outputs $f({x}_n)$, and that the function is effectively uniformly continuous.  (Generally, given a computable function $d(n)$, for all $x,y\in \mathbb{R}$, $|x-y|\leq d(n)\implies |f(x)-f(y)|\leq {2}^{-n}$.) &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Now that we have a framework to examine computability in the reals, we can move to the question of the computability of Nash equilibrium.  Obviously, if the payoffs are given as uncomputable functions, determining an equilibrium is also uncomputable.  However, if every payoff is computable, there does exist a computable equilibrium.  The proof relies on the fact that we can generate a function that is maximized at the equilibrium of the game ($h(s)$), and we can computably determine the maximal value of a computable function.   From this we can get finer and finer approximations of the maximal input to the function (since $h$ is effectively uniformly continuous), thus generating a sequence that converges to a maximal input.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;But, we can also show that not every sequence of computable games is computable.  This implies that there is no general procedure to compute Nash equilibrium (The proof of this relies on constructing a sequence of computable games that are not computable by using payoffs generated from two recursively inseparable sets and then showing a computable equilibrium sequence would separate them.)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;We can do one better by showing that for a limited set of games, given a computable sequence of strategies for one player, the sequence of best response strategies for the other player is not computable.  (Motivation for this is the idea that actually playing a game involves observing the opponent's strategy over time and computing a best response.)  The proof involves showing the result for a specific, simple game.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Allowing players to make some amount of error in their responses does lead to computable strategies, however.  Consider the logistic quantal response function: ${\sigma}_{ij}(\pi)=(exp(\lambda u_{ij}(\pi))/(\sum_{k\in A_{i}}   exp(\lambda u_{ik}(\pi)))$,  where $u_{ij}(\pi)$  is the payoff to $i$ from using pure strategy $j$ given a strategy profile (list of all player's strategies) $\pi$, and $A_{i}$ is the set of actions available to $i$.  If we allow players to choose strategies with probabilities given by the logistic quantal response function for a given $\lambda$, instead of choosing a best response with certainty, then we can generate a computable "equilibrium".  Note however, that no matter how tight we make this function, we have no guarantees that the resulting strategies are anywhere near a true equilibrium.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Looking at the problem of Nash equilibrium from another viewpoint entirely, we can examine the complexity of  $\epsilon$-equilibrium.  An $\epsilon$-Nash equilibrium is one in which each player has knowledge of other player's strategies and has at most an $epsilon$ benefit from changing their strategies under this knowledge.  By taking $\epsilon=1/{2}^k$ for $k$ related to the length of the description of the give&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;n game, we can show that $r$-player $\epsilon$-Nash equilibrium is complete for the class PPAD.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;PPAD is defined as (taken from Wikipedia): &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;span class="Apple-style-span" style=" line-height: 19px; "&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 19px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span" style=" line-height: 19px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;G is a (possibly exponentially large) directed graph with no isolated vertices, and with every vertex having at most one predecessor and one successor. G is specified by giving a polynomial-time computable function f(&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;) that returns the predecessor and successor (if they exist) of the vertex &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;v&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;. Given a vertex &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;s&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; in G with no predecessor, find a vertex &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;t≠s&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;with no predecessor or no successor. In other words, we want any source or sink of the directed graph other than &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;s&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;.  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 19px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span" style=" line-height: 19px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;PPAD is a subclass of TFNP, which is the set of FNP problems that are total. (A binary relation P(&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;y&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;) is in TFNP if and only if there is a deterministic polynomial time algorithm that can determine whether P(&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;y&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;) holds given both &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; and &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;y&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;, and for every &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;, there exists a &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;y&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; such that P(&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;x&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;,&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;y&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;) holds. (again, taken from Wikipedia))&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 19px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 19px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;The proof that &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style=" line-height: 18px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; $r$-player $\epsilon$-Nash equilibrium is PPAD-complete was show in a sequence of papers that first showed that 4-or-more player games can be reduced to 4-player graphical games (graphical games are ones in which the players can be viewed as vertices on a graph, and each player's payoffs are only related to the actions of that player's direct graphical neighbors), and then showing that 4-player games are PPAD-complete by reducing another PPAD-complete problem to it, and then separate proofs were given for 3 and 2-player games.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;This work places Nash equilibrium into a concrete place in the complexity hierarchy as well as expanding the interest and scope of the class PPAD.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;References:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;span class="Apple-style-span" style="line-height: normal; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Prasad, Kislaya. "The rationality/computability trade-off in finite games." &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Journal of Economic Behavior &amp;amp; Organization&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt; 69(2009): 17-26. Print.  &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.sciencedirect.com/science?_ob=ArticleURL&amp;amp;_udi=B6V8F-4TPF48R-5&amp;amp;_user=525223&amp;amp;_coverDate=01%2F31%2F2009&amp;amp;_rdoc=1&amp;amp;_fmt=full&amp;amp;_orig=search&amp;amp;_cdi=5869&amp;amp;_sort=d&amp;amp;_docanchor=&amp;amp;view=c&amp;amp;_acct=C000026389&amp;amp;_version=1&amp;amp;_urlVersion=0&amp;amp;_userid=525223&amp;amp;md5=e28eb960b7acee2debc76195615229f5%23sec3&amp;amp;errMsg=1"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Link&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="line-height: 18px; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Chen, Xi; Deng, Xiaotie "Settling the complexity of 2-player Nash equilibrium" &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="line-height: normal; "&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Electronic Colloquium on Computational Complexity, Revision 1 of Report No. 140  &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.cc.gatech.edu/~deepc/RG/nash1.pdf"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Link&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Daskalakis, &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Constantinos; Goldberg&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;, Paul W.; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;Papadimitriou&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;, Christos H. "The complexity of computing Nash equilibrium" &lt;a href="http://www.eecs.berkeley.edu/~christos/papers/ppad.ps"&gt;Link&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" line-height: 18px;"&gt;&lt;span class="Apple-style-span"  style="font-family:'times new roman';"&gt;&lt;span class="Apple-style-span"  style="font-size:medium;"&gt;-Kevin Mc Inerney&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7981875095151554774?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7981875095151554774/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/game-theory-complexity-and-computing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7981875095151554774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7981875095151554774'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/game-theory-complexity-and-computing.html' title='Game theory complexity and computing Nash Equilibrium'/><author><name>Kevin</name><uri>http://www.blogger.com/profile/14905758584664304033</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-4704907491266965994</id><published>2009-04-29T12:05:00.001-04:00</published><updated>2009-04-29T21:42:13.870-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Last lecture</title><content type='html'>Hi -- don't forget to not each lunch tomorrow; we'll bring it for the last lecture, wherein we'll also cover Natural Proofs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-4704907491266965994?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/4704907491266965994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/last-lecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4704907491266965994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4704907491266965994'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/last-lecture.html' title='Last lecture'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-5670931029537875650</id><published>2009-04-28T15:46:00.001-04:00</published><updated>2009-04-29T21:42:13.870-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Course evaluations</title><content type='html'>Please also do the online course evaluation: go to &lt;a href = "https://my.cmu.edu/site/main/page.academics"&gt;https://my.cmu.edu/site/main/page.academics&lt;/a&gt;, log in with your Andrew ID, and click on "University Course Assessment".  Thanks!&lt;br /&gt;&lt;br /&gt;(And if you didn't get a copy of the paper one for the CS department, please ask Deb for one.  Thanks!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-5670931029537875650?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/5670931029537875650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/course-evaluations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5670931029537875650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5670931029537875650'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/course-evaluations.html' title='Course evaluations'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7373373720269014775</id><published>2009-04-28T15:41:00.003-04:00</published><updated>2009-04-29T15:28:33.217-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 27</title><content type='html'>In this lecture we covered Reingold's Theorem, SL = L; i.e., undirected connectivity can be solved in log space.  Here are my abridged notes on actually &lt;a href = "http://www.cs.cmu.edu/~odonnell/complexity/docs/lecture27-abridged.pdf"&gt;doing Reingold's algorithm in log-space&lt;/a&gt;.  It's not a full proof, just a "proof by example" -- but I hope it's nevertheless clearer than a hand-wave.&lt;br /&gt;&lt;br /&gt;For the Martin-Randall Theorem, you can consult the original &lt;a href = "http://www.math.gatech.edu/~randall/r-staircase.pdf"&gt;Martin-Randall paper&lt;/a&gt;.  There is a clearer proof -- but of a much more general theorem -- in a paper by &lt;a href = "http://www.cc.gatech.edu/~vigoda/logSob.pdf"&gt;Jerrum, Son, Tetali, and Vigoda&lt;/a&gt;.  It's still not the clearest thing.  If I get time I will try to write up a stripped-down, simplified version of the proof.  You can also consult the Arora-Barak book for a proof of a weaker but still sufficient result: $\epsilon(G r H) \geq \Omega(\epsilon(G) \epsilon(H)^2)$.  Note that it is okay to have the square on $\epsilon(H)$ here since it's an absolute constant anyway -- but it would not help if the square were on $\epsilon(G)$.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7373373720269014775?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7373373720269014775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-27.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7373373720269014775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7373373720269014775'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-27.html' title='Lecture 27'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-3803350495321793433</id><published>2009-04-23T14:49:00.003-04:00</published><updated>2009-04-29T15:28:10.346-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 26</title><content type='html'>Today we covered...&lt;br /&gt;&lt;br /&gt;Proof Complexity and the NP vs. coNP problem.  The "Resolution" proof system with the resolution rule ($C \vee x$, $C \vee \overline{x}$ $\vdash$ $C \vee C'$) and the weakening rule ($C \vdash C \vee x$).  Completeness of Resolution with proof sketch.  Various contradictions (tautologies, in fact): Pigeonhole Principle, Tseitin Tautologies, Random 3-CNF.  Treelike Resolution.  Resolution width.  Short Proofs Are Narrow Theorem, proved for Treelike Resolution.   Ben-Sasson &amp; Wigderson Theorem: Unsatisfiable $k$-CNFs with "expansion" require wide Resolution proofs.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By the way, the question came up as to separating Treelike Resolution from General Resolution.  A very strong result was proved for this problem by &lt;a href = "http://www.cs.technion.ac.il/~eli/papers/current-pebbling.ps"&gt;Ben-Sasson, Impagliazzo, and Wigderson&lt;/a&gt;: There is a natural family of contradictions with $n$ variables and $O(n)$ clauses, which have Resolution refutations of length $O(n)$ but requires Treelike Resolution refutations of length $2^{\Omega(n / \log n)}$.  &lt;br /&gt;&lt;br /&gt;The contradictions here are based on "&lt;a href = "http://en.wikipedia.org/wiki/Graph_pebbling"&gt;pebbling&lt;/a&gt;" expander graphs; more specifically, the results in an old paper of &lt;a href = "http://portal.acm.org/ft_gateway.cfm?id=803643&amp;type=pdf&amp;coll=GUIDE&amp;dl=GUIDE&amp;CFID=31696245&amp;CFTOKEN=65042973"&gt;Paul, Tarjan, and Celoni&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-3803350495321793433?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/3803350495321793433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-26.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3803350495321793433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3803350495321793433'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-26.html' title='Lecture 26'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-8799624501419434260</id><published>2009-04-21T14:59:00.002-04:00</published><updated>2009-04-29T21:42:13.870-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Blogging</title><content type='html'>Hi all.  If you have not yet written a blog post -- you're one!  Your deadline is the last day of class.  Please email us to confirm a topic.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-8799624501419434260?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/8799624501419434260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/blogging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8799624501419434260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8799624501419434260'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/blogging.html' title='Blogging'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-6974765886028429003</id><published>2009-04-21T14:12:00.003-04:00</published><updated>2009-04-29T15:26:58.401-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 25</title><content type='html'>Today Eric gave an introduction to Property Testing.  Among other things, we covered the BLR Linearity Test with the Bellare-Coppersmith-Håstad-Kiwi-Sudan proof using Fourier analysis.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-6974765886028429003?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/6974765886028429003/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-25.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6974765886028429003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6974765886028429003'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-25.html' title='Lecture 25'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-2319650689552622705</id><published>2009-04-19T22:41:00.002-04:00</published><updated>2009-04-29T21:42:13.871-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Homework 5 Correction</title><content type='html'>In Problem #4b, the everywhere you see $B_\delta(f)$ this should be $B_\delta(C)$.&lt;br /&gt;&lt;br /&gt;Thanks to Or for pointing this out.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Updated:&lt;/span&gt;  Another small bug-fix to Problem #4b, in the definition of $S'$.  Corrected version is on the course web page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-2319650689552622705?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/2319650689552622705/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/homework-5-correction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2319650689552622705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2319650689552622705'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/homework-5-correction.html' title='Homework 5 Correction'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7151636209702140741</id><published>2009-04-15T05:45:00.008-04:00</published><updated>2009-04-16T12:30:11.859-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Easy Witnesses</title><content type='html'>While doing the proof of IKW theorem in class, we came across the &lt;span style="font-weight: bold;"&gt;easy witness&lt;/span&gt; method introduced by Kabanets. The original usage of this method in Kabanets'00 paper was to show that any randomized algorithm in $\mathrm{RP}$ can be simulated by a zero-error probabilistic algorithm in expected $2^{n^\varepsilon}$-time for some $\varepsilon&gt;0$, such that no expected sub-exponential time algorithm can &lt;span style="font-style: italic;"&gt;refute&lt;/span&gt; the simulation infinitely often (io). In other words, there is no algorithm of the form $R(1^n)\in \{0,1\}^n$ in this time class such that simulation makes a mistake on input $R(1^n)$ for almost all $n$.&lt;br /&gt;&lt;br /&gt;Before going to prove this result, we look at something simpler first, which also introduces the easy witness method:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Theorem 1:&lt;/span&gt; At least one of the following holds:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;For every $\varepsilon&gt;0$, any language in $\mathrm{RP}$ can be simulated in $\mathrm{DTIME}(2^{n^\varepsilon})$ such that no language in $\mathrm{ZPP}$ can refute the simulation io.&lt;/li&gt;&lt;li&gt;$\mathrm{BPP}=\mathrm{ZPP}$.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;"&gt;Proof:&lt;/span&gt; Consider the set $S$ of easy witness strings. A string $\alpha \in S$ is an easy witness iff it has a concise description (ie. it is the truth table of some circuit with low complexity). For an algorithm $A$ and input $x$ in $\mathrm{RP}$ we can test $A$ against all such strings and accept iff there is one that makes $A$ accept. The crucial insight is that if this algorithm makes frequent mistakes, then the set of random strings that makes $A$ accept have &lt;span style="font-style: italic;"&gt;high&lt;/span&gt; circuit complexity. Thus if fix the input $x$, $A$ is a good hardness test for strings $r$, accepting only if $r$ has no small description. Notice that a significant fraction of strings have this property. Therefore using this as a source for Impagliazzo - Wigderson generator, we can derandomize BPP.&lt;br /&gt;&lt;br /&gt;More formally, for given randomized algorithm $A(x,r)$ on input $x,|x|=n$ and random bits $r,|r|=m=n^a$ for some constant $a$, let $S^{\delta}_m$ be the set of truth tables of all $\lceil \log m\rceil$-variable Boolean functions with low circuit complexity (at most $m^\delta$). Hence $S^{\delta}_m$ contains strings of length $m$, and it can be enumerated in $\mathrm{DTIME}(2^{n^{2\delta}})$. Therefore checking for all $\alpha \in {S^{\delta}_m}$ if $R(x,\alpha)$ accepts takes time at most $(2^{n^\varepsilon})$ for $\delta = \varepsilon/(2a)$. Let this algorithm be $B^{\varepsilon}_{A}(x)$.&lt;br /&gt;&lt;br /&gt;If this algorithm $B^{\varepsilon}_{A}$ works for every $A \in \mathrm{RP}$ and $\varepsilon&gt;0$, then (1) holds and we are done. Otherwise, there exists $A$,$\varepsilon&gt;0$ and an expected polynomial time refuter $R(1^n)\in\{0,1\}^n$ such that, for almost all $n$, $B^{\varepsilon}_{A}(R(1^{n}))$ does not accept whereas $A(R(1^{n}),r)$ accepts for some $r$. Therefore $A(R(1^{n}),r)$ can be viewed as a Boolean circuit $C^{\mathrm{hard}}(r)$ which accepts almost all $m$-bit strings and all accepted strings are truth tables of a $\log m$-variable Boolean function with the smallest circuit size at least $m^{\varepsilon/(2a)}$. Since $R(1^{n})$ halts in polynomial time with high probability, we have an algorithm in $\mathrm{ZPP}$ which can construct such circuits $C^{\mathrm{hard}}$.&lt;br /&gt;&lt;br /&gt;Given such a circuit $C^{\mathrm{hard}}$, we can guess a string uniformly at random $\beta\in\{0,1\}^m$ which $C^{\mathrm{hard}}$ accepts. Reminding ourselves of IW result:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Impagliazzo-Wigderson Generator:&lt;/span&gt; Given $r\in\{0,1\}^{n^c}$, truth table of a circuit on $c \log n$-Boolean variables with circuit complexity at least $n^{\varepsilon c}$, there exists $c,d\in\mathbb{N}$ and a polynomial time computable generator $G_r(s):\{0,1\}^{d \log n} \rightarrow \{0,1\}^n$ with hardness $H(G_r)&gt; n$.&lt;br /&gt;&lt;br /&gt;If we use this $\beta$ to construct the generator $G_{\beta}$ of IW mapping $\{0,1\}^{d \log k}$ to $\{0,1\}^k$, we get a generator $G_{\beta}$ with hardness greater than $k$ for sufficiently large $k$. Constructing these takes expected polynomial time, and last step takes deterministic polynomial time, therefore for every $L \in \mathrm{BPP}$, we have $L \in \mathrm{ZPP}$. &lt;span style="font-style: italic;"&gt;QED&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Instead of IW generator, we can use Babai-Fortnow-Nisan-Wigderson generator, to arrive at the following result.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Theorem 2:&lt;/span&gt; At least one of the following holds:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Any language in $\mathrm{RP}$ can be simulated in $\mathrm{DTIME}(2^{(\log n)^{\log\log n}})$ such that no language in $\mathrm{ZPP}$ can refute the simulation io.&lt;/li&gt;&lt;li&gt;$\mathrm{BPP}\subseteq \mathrm{ZPSUBEXP}$ where $\mathrm{ZPSUBEXP}$ denotes the class of languages with an expected sub exponential time algorithm.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Instead of fiddling with the generator, we can increase the power of refuter. In Theorem 1, when first condition fails, we can allow the refuter to take expected sub exponential time. After changing the circuit size and parameters appropriately, we have the following result:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Theorem 3:&lt;/span&gt; At least one of the following holds:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;For every $\varepsilon&gt;0$, any language in $\mathrm{RP}$ can be simulated in $\mathrm{DTIME}(2^{n^{\varepsilon}})$ such that no language in $\mathrm{ZPSUBEXP}$ can refute the simulation io.&lt;/li&gt;&lt;li&gt;$\mathrm{BPP}\subseteq \mathrm{ZPSUBEXP}$.&lt;/li&gt;&lt;/ol&gt;Noting that $\mathrm{DTIME}(2^{n^{\varepsilon}})$ and $\mathrm{ZPSUBEXP}$ are in $\mathrm{ZPTIME}(2^{n^{\varepsilon}})$, and $\mathrm{RP}\subseteq \mathrm{BPP}$, we can replace the above with an &lt;span style="font-style: italic;"&gt;unconditional &lt;/span&gt;result:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Corollary 1:&lt;/span&gt; For every $\varepsilon&gt;0$, any language in $\mathrm{RP}$ can be simulated in $\mathrm{ZPTIME}(2^{n^{\varepsilon}})$ such that no language in $\mathrm{ZPSUBEXP}$ can refute the simulation io.&lt;br /&gt;&lt;br /&gt;Notice that above results imply that we can get analogous results to the ones obtained in IW paper:&lt;br /&gt;&lt;br /&gt;In IW, assuming $\mathrm{BPP}\neq \mathrm{EXP}$, deterministic subexponential time bound was shown for $\mathrm{BPP}$. Using the machinery developed above, we can answer a weaker question: What happens when $\mathrm{ZPP}\neq \mathrm{EXP}$?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Theorem 4:&lt;/span&gt; If $\mathrm{ZPP}\neq \mathrm{EXP}$, then any language in $\mathrm{RP}$ can be simulated in $\mathrm{DTIME}(2^{n^{\varepsilon}})$ for all $\varepsilon&gt;0$ such that no language in $\mathrm{ZPP}$ can refute the simulation io.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Proof:&lt;/span&gt; Assume otherwise. Then by Theorem 1, $\mathrm{BPP}=\mathrm{ZPP}$. But for some $\varepsilon&gt;0$, $\mathrm{BPP}$ is a proper subset of $\mathrm{DTIME}(2^{n^\varepsilon})$ for $\mathrm{BPP}$ refuters (by Time Hierarchy Theorem). Using IW theorem, this implies&lt;br /&gt;$\mathrm{BPP} = \mathrm{EXP} = \mathrm{ZPP}$. &lt;span style="font-style: italic;"&gt;QED&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The gap theorem of IW (either no derandomization of BPP is possible, or BPP can be simulated in deterministic $2^{n^\varepsilon}$ time for every $\varepsilon&gt;0$) can be shown for ZPP as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Theorem 5:&lt;/span&gt; Either $\mathrm{ZPP}=\mathrm{EXP}$ or for every $\varepsilon&gt;0$, any language in $\mathrm{RP}$ can be simulated in $\mathrm{DTIME}(2^{n^{\varepsilon}})$ for all $\varepsilon&gt;0$ such that no language in $\mathrm{ZPP}$ can refute the simulation io.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Proof:&lt;/span&gt; Assume $\mathrm{ZPP}=\mathrm{EXP} = \mathrm{RP}$. By Time Hierarchy Theorem, for every $\varepsilon&gt;0$, $\mathrm{EXP}$ is not in $\mathrm{DTIME}(2^{n^\varepsilon})$ with $\mathrm{ZPP}$ refuters. Thus at most one of the conditions holds. By Theorem 4, at least one of the conditions holds. The result follows. &lt;span style="font-style: italic;"&gt;QED&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Notice that "easy witness'' method applies even when the refuters are allowed to be non-deterministic Turing machines, and by essentially using the same proof structure, we can obtain the following result:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Theorem 6:&lt;/span&gt; At least one of the following holds:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;For every $\varepsilon&gt;0$, any language in $\mathrm{NP}$ can be simulated in $\mathrm{DTIME}(2^{n^\varepsilon})$ such that no language in $\mathrm{NP}$ can refute the simulation io.&lt;/li&gt;&lt;li&gt;$\mathrm{BPP}\subseteq \mathrm{NP}$.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7151636209702140741?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7151636209702140741/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/easy-witnesses.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7151636209702140741'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7151636209702140741'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/easy-witnesses.html' title='Easy Witnesses'/><author><name>Ali Kemal Sinop</name><uri>http://www.blogger.com/profile/08702257964577125155</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-3876118432206468174</id><published>2009-04-14T15:05:00.003-04:00</published><updated>2009-04-16T12:30:18.495-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>THURSDAY'S CLASS CANCELED</title><content type='html'>I was informed by Deb that all classes on Thursday are canceled.  So, see you on Tuesday, April 21, when Eric will tell us about Property Testing.&lt;br /&gt;&lt;br /&gt;(This kills a lecture, which was going to be on quantum, but Matt already told us about it in his blog post, so no great loss.)&lt;br /&gt;&lt;br /&gt;As an interesting fact, I learned that Carnival is scheduled to precisely be the "Thanksgiving weekend" of the Spring Term.  That way, the Fall and Spring schedules can match exactly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-3876118432206468174?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/3876118432206468174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/thursdays-class-canceled.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3876118432206468174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3876118432206468174'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/thursdays-class-canceled.html' title='THURSDAY&apos;S CLASS CANCELED'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-2174063261005668653</id><published>2009-04-14T15:02:00.001-04:00</published><updated>2009-04-16T12:30:27.560-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 24</title><content type='html'>In today's class we covered many of the &lt;a href = "http://www.cs.cmu.edu/~odonnell/complexity/docs/lecture24.pdf"&gt;gory details of expander graphs&lt;/a&gt;.  I didn't quite get a chance to finish the last details, so there are the notes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-2174063261005668653?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/2174063261005668653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-24.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2174063261005668653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2174063261005668653'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-24.html' title='Lecture 24'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-2928208286307827219</id><published>2009-04-10T22:18:00.012-04:00</published><updated>2009-05-03T14:00:52.736-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Bounds on BQP</title><content type='html'>Quantum computation presents the attractive possibility of computing some functions exponentially faster than would be possible under a classical model.  The most compelling example is perhaps Shor's quantum factoring algorithm, which runs in polylog time.  But how powerful &lt;i&gt;is&lt;/i&gt; quantum computation?  Getting some of the basic answers involves (surprisingly, to me anyway) getting into some counting complexity.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt; &lt;/div&gt;To begin, we'll need to establish a basic set of definitions.  The fundamental unit of quantum computation is the &lt;i&gt;qubit&lt;/i&gt;.  Like classical bits, qubits have two states; however, qubits can exist in linear superpositions of these states, $|\psi\rangle = \alpha |0\rangle + \beta |1\rangle$, where $\alpha$ and $\beta$ are complex amplitudes subject to $|\alpha|^2 + |\beta|^2 = 1$.   We cannot observe these amplitudes directly, however; to determine the state of this qubit, we need to take a measurement, the result of which will always be a pure basis state.  In the previous example, measuring $|\psi \rangle$ will result in $|0\rangle$ with a probability of $|\alpha|^2$ and $|1\rangle$ with a probability of $|\beta|^2$.&lt;br /&gt;&lt;br /&gt;If you have multiple qubits, they can become entangled with each other, meaning (roughly speaking) that their measurement probabilities are no longer independent.  So, for example, if we have two entangled qubits, the states $|00\rangle$ and $|11\rangle$ could each have probability $1/2$, while the other two states have probability $0$.  If you somehow knew that their states were entangled in this way, then measuring only one qubit would tell you the value of the other -- although there would be no way to predict the value of either qubit before taking the measurement.  If we have a &lt;i&gt;quantum register&lt;/i&gt; of $k$ qubits, then each of its $2^k$ possible states effectively have distinct complex amplitudes.  The vector of all of these $2^k$ complex amplitudes is our state vector, which completely encodes the statistical behavior of measurements of the system.&lt;br /&gt;&lt;br /&gt;So now we have quantum registers, to store our information.  In order to perform computations, we need quantum gates.  These gates are simply unitary linear operators acting on the state vector.  In order to talk about quantum time classes in a meaningful way, however, we need to restrict the set of allowable fundamental gates.  (Since the composition of two unitary operators is also a unitary operator, you could design a single gate that would carry out any desired computation!)  One common circuit basis involves only two fundamental gates.  The first is the Hadamard gate, which takes&lt;br /&gt;&lt;br /&gt;$|0\rangle \rightarrow \frac{1}{\sqrt{2}}(|0\rangle + |1\rangle)$&lt;br /&gt;and&lt;br /&gt;$|1\rangle \rightarrow \frac{1}{\sqrt{2}}(|0\rangle - |1\rangle)$&lt;br /&gt;&lt;br /&gt;The second is the Toffoli gate, which takes three bits as input, passes through the first two bits unmodified, and XORs the third bit with the product of the first two.&lt;br /&gt;&lt;br /&gt;Note that the fact that all changes in the state happen due to unitary operators implies that the number of outputs qubits is always equal to the number of input qubits.  When dealing with quantum computation, we can assume without loss of generality that the quantum register has only a single accepting state.  &lt;b&gt;&lt;br /&gt;&lt;br /&gt;Definition&lt;/b&gt;:  BQP is the quantum analog of BPP.  (Quantum computation is inherently probabilistic.)  It is the class of languages decidable by polynomial-size quantum circuits that (to enforce uniformity) can be generated in polytime by a classical TM, accepting with probability at least $2/3$ for $x \in L$ and with probability less than $1/3$ for $x \notin L$.  (Amplification theorems with similar results to those for BPP hold here, so any values $1/2 + \epsilon$ and $1/2 - \epsilon$ will work.)&lt;br /&gt;&lt;br /&gt;How powerful is BQP?  On the lower end, we know $BPP \subseteq BQP$: we can efficiently simulate classical circuits by quantum circuits.  The Toffoli gate is universal for classical computation; if you hardwire the third input to $1$ it is simply a NAND gate.  Coin flips can be simulated by Hadamard gates, since they transform pure states into equal superpositions.&lt;br /&gt;&lt;br /&gt;What about upper bounds?  Clearly $BQP \subseteq EXP$, since we can simulate any BQP machine by applying a polynomial number of linear operators to the exponential-size density matrix.  It's also true, but less obvious, that $BQP \subseteq PSPACE$.  We can show this by integrating over computational "paths".  Recall that in a quantum computation, we apply a new small unitary operator to our state at each time step.  For each accepting state $|y\rangle$ at time $t$, we can compute that state's amplitude by applying the operator $U_{t-1}$ to each predecessor state $x_0,\ldots,x_{2^n}$ and summing the results.  By recursive application of this same step, we can compute the amplitude of any state anywhere in the computation at any time in polynomial space (although we do require exponential time).&lt;br /&gt;&lt;br /&gt;But we can do better, namely $BQP \subseteq PP$.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;Definition:&lt;/b&gt;  GapP is the set of functions $f(x)$ such that, for some polynomial time NTM $M$, $f(x)$ is the difference between the number of accepting and rejecting paths in $M$.  Note that this gives us an alternative definition for PP:  a language $L$ is in PP if and only if there is some GapP function $f(x)$ such that when $x \in L$, $f(x) \gt 0$, and when $x \notin L$, $f(x) \leq 0$.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;Fact:&lt;/b&gt;  GapP is closed under negation, (exponential) sum, and (polynomial) product.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;b&gt;&lt;br /&gt;Fact&lt;/b&gt;:  If  there exist two GapP functions describing the real and complex parts of the entries of a polynomial sequence of  complex-valued matrices, then there also exist two GapP functions describing their product.&lt;br /&gt;&lt;br /&gt;More precisely (statement due to Watrous):  let $p(x)$ and $q(x)$ be polynomial bounded functions, and, for each $n$, $A_{n,1}, A_{n,2}, \ldots, A_{n,p(n)}$ be a sequence of complex-valued matrices of size less than $2^{q(n)}$.  Then, if we have functions&lt;br /&gt;&lt;br /&gt;$f(1^n, 1^k, x, y) = Re(A_{n,k}[x,y])$&lt;br /&gt;&lt;br /&gt;$g(1^n, 1^k, x, y) = Im(A_{n,k}[x,y])$&lt;br /&gt;&lt;br /&gt;in GapP, then there also exist functions $F$ and $G$ in GapP such that&lt;br /&gt;&lt;br /&gt;$F(1^n, x, y) = Re((\prod_{i=1}^{p(n)} A_{n, i})[x,y])$&lt;br /&gt;&lt;br /&gt;$G(1^n, x, y) = Im((\prod_{i=1}^{p(n)} A_{n, i})[x,y])$&lt;br /&gt;&lt;br /&gt;Observe that, applying an appropriate topological ordering to our quantum circuit, we can serialize our quantum gates into a polynomial number of steps.  Additionally, observe that we can take the tensor product of a gate's matrix with the identity matrix for the unaffected bits in order to come up with a complete transition matrix for each time step.  We can now use this fact to show that there are functions $f$ and $g$ in GapP describing all of our quantum gates.&lt;br /&gt;&lt;br /&gt;In order to do this, we need to take advantage of an alternate representation of our quantum register: its density matrix, $\rho$.  Glossing over some details, this effectively linearizes our state and operations.  With $2^k$ entries in the state vector, the corresponding density matrix is a $2^k \times 2^k$ matrix with trace 1.  The $i$'th entry on the diagonal is simply the probability of finding the register in state $i$.  If we then let our state be this matrix, flattened into a vector, $vec(\rho)$, the entries of the matrices describing our quantum gates fall in the set $\{-1, -1/2, 0, 1/2, 1\}$.  By the fact that these matrices can be generated in polynomial time, we know that the corresponding $f$ and $g$ for each matrix (multiplied by 2, to deal with the factors of 1/2) must be in GapP.  Then, by the fact noted above, there must exist $F$ and $G$ describing the entries of the transition matrix for the entire circuit (multiplied by $2^{p(x)}$).&lt;br /&gt;&lt;br /&gt;We can assume that the circuit has only a single accepting state, so finding the acceptance probability is then simply a matter of looking up the single matrix entry that describes the transition from the starting state $|x\rangle$ to the accepting state, which consists of a single invocation of a GapP function.&lt;br /&gt;&lt;br /&gt;To complete the proof, note that the function $a(x) = 2^{p(x)} (Pr[Q \textrm{ accepts } x] - 1/2)$ is positive when $Q$ accepts $x$, and negative otherwise.  Therefore $Q$ can be simulated by a PP machine, and $BQP \subseteq PP$.&lt;br /&gt;&lt;br /&gt;In fact, not only does PP contain BQP, but $PP^{BQP} = PP$.&lt;br /&gt;&lt;br /&gt;It is unknown whether this inclusion is tight, but all signs seem to indicate that it is.  We can define the class QMA analogously to MA, except that Arthur is a BQP machine, and Merlin sends him quantum advice.  This class, which obviously contains BQP, is contained in PP (originally noted by Kitaev and Watrous).  Furthermore, a theorem of Vyalyi states that if $QMA = PP$, then $PH \subseteq PP$.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-2928208286307827219?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/2928208286307827219/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/tractable-quantum-computation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2928208286307827219'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2928208286307827219'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/tractable-quantum-computation.html' title='Bounds on BQP'/><author><name>Matt</name><uri>http://www.blogger.com/profile/09618983426836397813</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-4227878149463054443</id><published>2009-04-09T19:56:00.005-04:00</published><updated>2009-04-09T20:13:10.479-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Midterm correction</title><content type='html'>Oops.  I made a mistake in the grading of question 1(e): the problem of determining whether $#L = #P$ is open.  To compensate for this error, I am adding +3 to everyone's grade on the midterm.  If you have any other questions about the graded midterm (or Homework 4), please see me during my office hours next Tuesday.  Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-4227878149463054443?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/4227878149463054443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/midterm-correction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4227878149463054443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4227878149463054443'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/midterm-correction.html' title='Midterm correction'/><author><name>Eric Blais</name><uri>http://www.blogger.com/profile/12295883537274138238</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-37938182340424850</id><published>2009-04-09T15:26:00.003-04:00</published><updated>2009-05-03T14:01:34.636-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Details'/><title type='text'>Details for the IKW Theorem</title><content type='html'>The proof of the IKW Theorem I gave in class was a bit sketchy; let me discuss two points about it, raised by Or and Pranjal.&lt;br /&gt;&lt;br /&gt;1. The first point, raised by Or, was about appealing to the Impagliazzo-Wigderson Theorem (or implicitly, the Nisan-Wigderson Theorem).  Normally when one thinks about that theorem one thinks of the statement, "If there is a language $L \in E$ such that $L \not \in \bigcup_c \SIZE(n^c)$, then $BPP \subseteq \bigcap_{\epsilon} DTIME(2^{n^\epsilon})$.&lt;br /&gt;&lt;br /&gt;However, this is &lt;i&gt;not&lt;/i&gt; what the IKW Theorem appeals to; you should think of that as a &lt;i&gt;corollary&lt;/i&gt; of the IW/NW Theorems.  The Theorems themselves are input-length-specific; e.g., for Nisan-Wigderson, the statement we're using is of the form "Let $C$ be a circuit on $n$ bits of size $n^c$, and let $f : \{0,1\}^{n^{1/10c}} \to \{0,1\}$ be a function such that every size-$n^{2c}$ circuit has correlation at most $1/n^{2c}$. Then [some explicit PRG outputting $n$ bits based on $f$'s truth table and designs] $1/10$-fools $C$." &lt;br /&gt;&lt;br /&gt;2. The second point, raised by Pranjal, was about the uncareful (indeed, possibly incorrect) way I explained the derandomization of $MA$ that comes out of assuming $NEXP \neq EXP$.  The &lt;i&gt;wrong&lt;/i&gt; way to say it is to start with a fixed language in $MA$ and then deduce that Arthur's $n^c$-time randomized part can be replaced by some other $NTIME(2^{n^a})$-time algorithm (with advice).  That is, of course, pointless, if $a \geq c$, since Arthur could just enumerate all possible random strings.  Rather, the key is to show that all of $MA$ can be done by a nondeterministic (advice-taking) Arthur who uses &lt;i&gt;fixed&lt;/i&gt;-exponential nondeterministic time.&lt;br /&gt;&lt;br /&gt;In other words, the correct key lemma is: &lt;br /&gt;&lt;br /&gt;$NEXP \neq \EXP \Rightarrow \exists c, MA \subseteq io-[NTIME(2^{n^c})/n]$.  &lt;br /&gt;&lt;br /&gt;This is nontrivial because the same $c$ works for all languages in $MA$, regardless of their polytime complexity.  And the proof of this uses the appeal to the length-specific IW Theorem described in Point 1 above.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-37938182340424850?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/37938182340424850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/details-for-ikw-theorem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/37938182340424850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/37938182340424850'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/details-for-ikw-theorem.html' title='Details for the IKW Theorem'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-856710567536224453</id><published>2009-04-09T15:25:00.000-04:00</published><updated>2009-04-09T20:12:53.259-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 23</title><content type='html'>Today we finished the proof of the IKW Theorem.  We also showed fhe Kabanets-Impagliazzo Theorem: derandomizing Arithmetic Circuit Identity Testing implies $NEXP$ not in $P/poly$ or Permanent not in $AlgP/poly$ or both.&lt;br /&gt;&lt;br /&gt;We then moved on to the definition of expander graphs, the definition of strongly explicit graph families, and saw the Lubotsky-Phillips-Sarnak and Margulis-Gabber-Galil expander families.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-856710567536224453?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/856710567536224453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-23.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/856710567536224453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/856710567536224453'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-23.html' title='Lecture 23'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-6684814749750251130</id><published>2009-04-07T15:17:00.003-04:00</published><updated>2009-05-03T14:01:49.133-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Details'/><title type='text'>Why there isn't a simpler proof of IKW</title><content type='html'>A question raised in class today was, Why can't we prove the IKW Lemma, $NEXP \subseteq P/poly \Rightarrow NEXP = EXP$, via techniques similar to Meyer's Lemma, $EXP \subseteq P/poly \Rightarrow EXP = PSPACE$?  &lt;br /&gt;&lt;br /&gt;(Recall, btw, that IKW actually get $NEXP = MA$ and Meyer actually gets $EXP = \Sigma_2$.)&lt;br /&gt;&lt;br /&gt;In discussing it with Or and Pranjal after class, it seems the answer is the following.  In the Meyer Lemma, for a fixed $EXP$ machine, we considered the map taking the index of tableau window into the tableau window contents.  That map is in $EXP$, hence in $P/poly$.  So there exists a circuit $C$ of some size $n^k$ computing the map.  Given x, we enumerate all circuits of that size, and accept iff one of them implicitly describes an accepting tableau; this is doable in $PSPACE$.&lt;br /&gt;&lt;br /&gt;Why doesn't this work for $NEXP$?  For $NEXP$ computations, there may be multiple accepting tableaus.  Not a problem so far.  Certainly the $PSPACE$ algorithm still makes sense: enumerate all circuits of some fixed poly-size, and if one of them implicitly describes an accepting tableau, accept.  The question is, if $x$ is in the language, &lt;i&gt;will&lt;/i&gt; there be a fixed poly-size circuit describing an accepting tableau?&lt;br /&gt;&lt;br /&gt;One has to be careful.  There is no longer a clear meaning for "the map that takes a tableau window index to the tableau window contents", since there are multiple valid tableaus.  Perhaps that's okay; perhaps we can allow for "multivalued functions".  But still, there isn't a clear meaning for "this map is computable in $NEXP$ and hence in $P/poly$".  The reason is, the usual meaning of an NTM computing a &lt;i&gt;function&lt;/i&gt; is that some branches reject, and the ones that accept output valid answers.  Such a model indeed computes a multi-valued function.  However since it's not a decision problem (a language), it's not clear how we can get anything out of the assumption $NEXP \subseteq P/\poly$.&lt;br /&gt;&lt;br /&gt;One way around this, as Or suggested, would be to make everything single-valued by looking at the &lt;i&gt;lexicographically least&lt;/i&gt; accepting tableaus.  Unfortunately, as we saw on Homework 2, this lexicographically least satisfying assignments characterize the lass $P^{NP}$, not $NP$.  All is not lost, though; a paper of &lt;a href="http://cse.unl.edu/~cbourke/pubs/EXPnote.pdf"&gt;Bourke&lt;/a&gt; uses such ideas to show $EXP^{NP[t(n)]} \subseteq P/poly \Rightarrow EXP^{NP[t(n)]} = MA$ (where the notation indicates that the $EXP$ machine makes $t(n)$ queries to the oracle).  This is related to &lt;a href="http://eprints.kfupm.edu.sa/67461/1/67461.pdf"&gt;Buhrman and Homer's&lt;/a&gt; old extension of Karp-Lipton: $EXP^{NP} \subseteq P/poly \Rightarrow EXP^{NP} = \Sigma_2$.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-6684814749750251130?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/6684814749750251130/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/why-there-isnt-simpler-proof-of-ikw.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6684814749750251130'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6684814749750251130'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/why-there-isnt-simpler-proof-of-ikw.html' title='Why there isn&apos;t a simpler proof of IKW'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7125299452415507785</id><published>2009-04-07T11:16:00.003-04:00</published><updated>2009-04-09T12:54:14.020-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 22</title><content type='html'>In this lecture we covered "derandomization implies circuit lower bounds" topics.  In particular, we saw: &lt;br /&gt;&lt;br /&gt;Kannan's Theorem, $\Sigma_2$ doesn't have fixed-polynomial size circuits. &lt;br /&gt;&lt;br /&gt;The Babai-Fortnow-Lund Theorem, $EXP \subseteq P/poly \Rightarrow EXP = MA$, and its consequences: $MA$-$EXP$ does not have polynomial size circuits, derandomizing $MA$ to $NP$ implies showing $NEXP$ does not have polynomial size circuits.&lt;br /&gt;&lt;br /&gt;Most of the Impagliazzo-Kabanets-Wigderson Theorem, $NEXP \subseteq P/poly \Rightarrow NEXP = EXP$ (and indeed $NEXP = MA$), along with Kabanets's "easy witness method".  The remainder will be proved next time.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7125299452415507785?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7125299452415507785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-22.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7125299452415507785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7125299452415507785'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-22.html' title='Lecture 22'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-6843004089019725556</id><published>2009-04-07T11:15:00.001-04:00</published><updated>2009-04-08T10:45:39.150-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Homework 5</title><content type='html'>Homework 5 is &lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/docs/ps5.pdf"&gt;posted&lt;/a&gt;, due in 2 weeks as usual.  It's long!  Start early.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-6843004089019725556?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/6843004089019725556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/homework-5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6843004089019725556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6843004089019725556'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/homework-5.html' title='Homework 5'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-3039620347799037237</id><published>2009-04-02T15:20:00.005-04:00</published><updated>2009-04-08T10:45:27.682-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 21</title><content type='html'>Today we saw the completion of Sudan-Trevisan-Vadhan's proof of the Impagliazzo-Wigderson Theorem: if there is a positive $\epsilon &gt; 0$ such that $E$ contains a language not in $SIZE(2^{\epsilon n})$, then $P = BPP$.  This included Sudan's algorithm for list-decoding Reed-Solomon codes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-3039620347799037237?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/3039620347799037237/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-21.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3039620347799037237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3039620347799037237'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/04/lecture-21.html' title='Lecture 21'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7771500386653315895</id><published>2009-03-31T14:48:00.001-04:00</published><updated>2009-04-08T10:45:27.682-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 20</title><content type='html'>Today we covered...&lt;br /&gt;&lt;br /&gt;Reed-Muller code review.  Local decoding with "random lines".  Code concatenation.  Beginning Sudan-Trevisan-Vadhan's hardness amplification.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7771500386653315895?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7771500386653315895/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-20.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7771500386653315895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7771500386653315895'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-20.html' title='Lecture 20'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-2516046426776913442</id><published>2009-03-30T12:44:00.001-04:00</published><updated>2009-04-08T10:45:39.150-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Midterm correction</title><content type='html'>On problem #4 on the midterm, assume $w \geq n$.  &lt;br /&gt;&lt;br /&gt;Thanks to Or for pointing out the necessity of this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-2516046426776913442?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/2516046426776913442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/midterm-correction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2516046426776913442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2516046426776913442'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/midterm-correction.html' title='Midterm correction'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-8898566641413625462</id><published>2009-03-26T14:49:00.001-04:00</published><updated>2009-04-08T10:45:27.682-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 19</title><content type='html'>Today we covered...&lt;br /&gt;&lt;br /&gt;Completion of proof of Impagliazzo's Hard-Core Set Theorem, Yao's XOR Lemma.  Intro to error-correcting codes, list-decodable codes, locally decodable codes.  Reed-Solomon codes, Hadamard codes, Reed-Muller codes.  Connection between local list-decoding and hardness amplification.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-8898566641413625462?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/8898566641413625462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-19.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8898566641413625462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8898566641413625462'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-19.html' title='Lecture 19'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-473115579797411644</id><published>2009-03-24T14:35:00.001-04:00</published><updated>2009-04-08T10:45:27.683-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 18</title><content type='html'>Today we covered: Hardness vs. randomness corollaries of Nisan-Wigderson; Impagliazzo-Wigderson Theorem ($f \in \mathsf{E}$ requiring circuits of size $2^{\epsilon n}$ implies $\mathsf{P} = \mathsf{BPP}$); Hardness Amplification , $1 - 1/\mathrm{poly}(n)$ hardness to $1/2 + 1/\mathrm{poly}(n)$ hardness, with the XOR Lemma; Impagliazzo's proof via the Hard-Core Set Theorem (with Nisan's proof via the Minimax Theorem).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-473115579797411644?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/473115579797411644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-18.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/473115579797411644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/473115579797411644'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-18.html' title='Lecture 18'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7457727271098043034</id><published>2009-03-24T12:11:00.002-04:00</published><updated>2009-04-08T10:45:39.151-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Midterm</title><content type='html'>The take-home midterm is posted on the course home page.  Please grab a copy now.&lt;br /&gt;&lt;br /&gt;As a reminder, it is due next Tuesday, no collaboration is allowed, and no references to "outside" sources are allowed: just your course notes, the blog, the course homeworks, and the course homework solutions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7457727271098043034?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7457727271098043034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/midterm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7457727271098043034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7457727271098043034'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/midterm.html' title='Midterm'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-3561239655782838916</id><published>2009-03-20T12:58:00.001-04:00</published><updated>2009-04-08T10:45:27.683-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 17</title><content type='html'>In this lecture we covered the Nisan-Wigderson Generator, which connects hardness to randomness.  In the course of proving it we also saw designs and the Yao Next-Bit Predictor Theorem, which uses the "hybrid method".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-3561239655782838916?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/3561239655782838916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-17.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3561239655782838916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3561239655782838916'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-17.html' title='Lecture 17'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-1132996281553135927</id><published>2009-03-17T15:16:00.004-04:00</published><updated>2009-04-08T10:45:27.683-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 16</title><content type='html'>In this lecture we covered &lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/docs/lecture16.pdf"&gt;Nisan's pseudorandom generator for log space&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;One thing I had to rush over at the end was the actual definition of the generator, along with its seed length!&lt;br /&gt;&lt;br /&gt;Here is an official inductive definition of the generator:  Let $h_1, ... h_{\lg n} : \{0,1\}^k \to \{0,1\}^k$ be functions.  We define $G_t : \{0,1\}^k \to \{0,1\}^{2^t k}$ inductively by $G_0(x) = x$, $G_{t}(x) = (G_{t-1}(x), G_{t-1}(h_t(x)))$.&lt;br /&gt;&lt;br /&gt;Finally, Nisan's generator $G$ maps $\langle x, h_1, ... h_{\lg n} \rangle$ into $G_{\lg n}(x)$.  Here the $h_i$'s are the "descriptions" of the hash functions.&lt;br /&gt;&lt;br /&gt;Recall that we are using the simple "$a \circ x + b$" pairwise independent hash family; the "description" of such a function is just the $2k$-bit string $\langle a, b\rangle$.  Conveniently, choosing this description uniformly at random coincides with choosing $h \sim \mathcal{H}_k$ uniformly at random.&lt;br /&gt;&lt;br /&gt;So finally, the seed length is $\ell = k + (\lg n)(2k)$.  Since $k = O(\log S)$, this is indeed $O(S \log n)$ seed-length, as claimed.  The number of output bits is in fact $nk = O(n \log S)$ (which is, as we noted, slightly more than we need).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-1132996281553135927?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/1132996281553135927/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-16.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1132996281553135927'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1132996281553135927'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-16.html' title='Lecture 16'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-2006851756081097548</id><published>2009-03-16T17:56:00.009-04:00</published><updated>2009-04-08T10:45:49.790-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Fixed-polynomial circuit lower bounds for MA/1</title><content type='html'>In this post, we look at a recent circuit lower bound result which shows that MA/1 is not contained in the class SIZE($n^k$). Some history and motivation first: A well studied fundamental problem in lowerbouds is in showing super-polynomial circuit lowerbounds for NP. This is natural to look at, since such a result would immediately separate P and NP, because P $\in$ P/poly has poly-sized circuit families deciding languages in it.&lt;br /&gt;&lt;br /&gt;However, though people have been looking at this problem for quite some time, even getting super-linear lower bounds on the circuit size has been evasive. While the goal has been getting super polynomial lower bounds, the current best lower bound is just $4.5n - o(n)$.&lt;br /&gt;&lt;br /&gt;Given this state, a natural thing to do is to look at showing results for larger classes, or in other words, attack NP from above. In this line of research, Kannan showed a promising result of this nature (we have seen this in one of the homeworks): $\Sigma_2 \cap \Pi_2$ is not contained in  SIZE($n^k$). Getting closer to NP, Kobler and Watanabe have shown using the halving algorithm of BCGKT (seen in class), that $ZPP^{NP}$ has a circuit lower bound of $n^k$, for any fixed $k$. This is an improvement over the previous result of Kannan, as $ZPP^{NP}$ is "closer" to NP than $\Sigma_2 \cap \Pi_2$ is (i.e. $NP \subseteq ZPP^{NP} \subseteq \Sigma_2 \cap \Pi_2$).&lt;br /&gt;&lt;br /&gt;In a recent result, Rahul Santhanam gets even closer to NP by showing an almost polynomial circuit lower bound for MA. He shows that for any fixed $k&gt;0$, there are languages in the class MA/1 (MA with $1$ bit of advice) which are not decided by non-uniform circuit families of size $n^k$. Why is this result important ? Intuitively, MA is like the probabilistic version of NP, and therefore such lower bounds automatically gain much value, as it is widely believed that ''randomness'' to NP does not give much more power than the basic NP class (that is, MA $=$ NP is believed to hold). This therefore nearly implies polynomial circuit lower bounds for MA, which sits just above NP in the hierarchy. We say &lt;span style="font-style: italic;"&gt;nearly&lt;/span&gt; because the class for which he shows a lower bound assumes $1$ additional bit of advice (MA/1).&lt;br /&gt;&lt;br /&gt;Now let's look at the high level picture of proving such lower bounds. Imagine we want to show a lower bound for a class C, where NP $\subseteq$ C. If it is the case that NP is not contained in P/poly, then we are done because C is only larger than NP. On the other hand, if NP $\subseteq$ P/poly, then we \emph{use} this fact to show that the polynomial hierarchy collapses to C. But there are complete problems in PH which are not decided by SIZE($n^k$) --- recall this from HW1; because of the collapse, these problems are in $C$, and this completes the proof. If we recall, we did the exact same thing for showing such lower bounds for $\Sigma_2 \cap \Pi_2$: we showed that if NP $\subseteq$ P/poly, then PH collapses to $\Sigma_2 \cap \Pi_2$. Since we know that PH has problems which are not decided by SIZE($n^k$), we have that $\Sigma_2 \cap \Pi_2 $ is not contained in SIZE($n^k$).&lt;br /&gt;&lt;br /&gt;In fact, the argument need not always be based on the two cases of whether or not NP is in P/poly. There are cases where it helps to consider a class which \emph{contains} C, and then argue depending on it's containment in P/poly.  For instance, we have the result that if PSPACE $\subseteq$ P/poly, then PSPACE $=$ MA (this problem figures in HW4). Intuitively, the proof goes as follows: if PSPACE $\subseteq$ P/poly, then the prover of the IP protocol for QBF (a complete problem for PSPACE $\subseteq$ IP) can be represented by a poly-sized circuit. Merlin can therefore simply give Arthur the circuit for the correct input size and Arthur can use the circuit to simulate any query to the prover. Completeness is direct, and intuitively, soundness holds because we know no adaptive prover can cheat Arthur, so no fixed prover can! Therefore, QBF $\in$ MA.&lt;br /&gt;&lt;br /&gt;Using the ideas defined above, we are now ready to show the main theorem that MA/1 is not in SIZE($n^k$).&lt;br /&gt;We require the following lemma, whose proof is rather technical (using Shamir's proof for IP = PSPACE) and we omit.&lt;br /&gt;&lt;br /&gt;There exists a PSPACE-complete problem $L$ and a probabilistic polynomial time turing machine $M$ such that for any input $x$,&lt;br /&gt;1. $M$ asks only queries of length $|x|$.&lt;br /&gt;2. If $M$ is given the language $L$ as oracle and if $x \in L$, then $M$ accepts $x$ with probability $1$.&lt;br /&gt;3. If $x \notin L$, then no matter what oracle $M$ gets, it accepts with probability only at most $1/2$.&lt;br /&gt;&lt;br /&gt;Such a complete problem is known to exist, and we shall make use of it. Just as an aside, this definition of $L$ seems similar to the notion of checkers in HW4.&lt;br /&gt;&lt;br /&gt;If this language $L \in $ P/poly, then PSPACE $\in $ P/poly, meaning PSPACE $=$ MA, and this would give us the desired result since PSPACE is not contained in SIZE($n^k$). Therefore, we assume that $L \notin $ P/poly, and create the following \emph{padded} language $L'$. For what follows, let $s(n)$ denote the size of the smallest circuit which can decide $L$ on inputs of size $n$. Consider the following language $L'$:&lt;br /&gt;&lt;br /&gt;$L' = \{ x1^{y} | x \in L, |x| = n, y \geq n, y$  is a power of $2, s(n) \in ((y + n)^{k+1}, (2y+n)^{k+1}] \}$.&lt;br /&gt;&lt;br /&gt;We show that $L' \in $ MA/1 but $L' \notin $ SIZE($n^k$). We first show the latter result: In some sense, the magic is already done as the padding has sort of diagonalized the input.&lt;br /&gt;Because $L \notin $  SIZE($n^k$) (we are in the case where $L \notin$ P/poly), there exists some input size $n_0$ such that $s(n_0) &gt; (n_0+1)^k$, where $s(n)$ is the size of the smallest circuit deciding $L$ on inputs of size $n$. Define $y_0$ to be the power of $2$ such that $(n_0 + y_0)^k &lt; s(n_0) \leq (n_0 + 2y_0)^k$. Notice that this is the same $y$ as defined in $L'$.&lt;br /&gt;&lt;br /&gt;Now, suppose $L'$ has a circuit family of size $m^k$. We now create a "small" circuit for deciding $L$ on input size $n_0$: the circuit simply hardwires $y_0$ additional $1$'s to the input $x$ and subsequently mimics the circuit of $L'$ on inputs of size $n_0 + y$. However, the size of this circuit is at most $(n_0+y)^k$, which contradicts the definition of $s(n)$. This shows that $L' \notin $ SIZE($n^k$).&lt;br /&gt;&lt;br /&gt;All that remains is to show that $L' \in $ MA/1. The key here is in knowing if the input size $m$ of a given $x1^y$ is \emph{valid}, in that it satisfies the circuit size condition. It would be difficult to have the MA protocol figure it out if the circuit size is large (which it probably is), but here is where we use the $1$ bit of advice. Given an input size of $m$, the advice is $1$ if and only if $m$ can be decomposed into $n$ and $y = 2^k$ such that $y \geq n$, and the smallest circuit size for deciding $L$ on inputs of size $n$ is between $(y+n)^{k+1}$ and $(2y + n)^{k+1}$. Notice that if such a valid $(n,y)$ decomposition exists, it is unique: if we try to increase $y$ to $2y$ and decrease $n$ accordingly, it would make the resulting decomposition infeasible as we have $y \geq n$.&lt;br /&gt;&lt;br /&gt;Thus, given $x1^y$ for which we need to decide membership in $L'$, the MA protocol does the following: Merlin sends Arthur the circuit of size $s \in ((n+y)^{k+1}, (n+2y)^{k+1}]$ which solves $L$ on inputs of length $n$. Arthur checks if the advice is $1$, and rejects if it is not. If it is, then the $m$ is of a valid length, and Arthur looks at the circuit and identifies $n$ (which is the input size of the received circuit) and makes other necessary checks, like $y \geq n$, $y$ is a power of $2$, and $(y+n)^{k+1} &lt; s \leq (2y+n)^{k+1}$. It then simulates $M$ (recall $M$, the probabilistic turing machine which decided $L$ with some  oracle given), and accepts or rejects based on $M$.&lt;br /&gt;&lt;br /&gt;It is easy to see that if $x1^y \in L'$, then Merlin could send the correct circuit, and Arthur would always accept. On the other hand, if $x1^y \notin L'$, then Merlin ``commits'' to an oracle by sending a circuit and by the properties of $L$ and $M$, Arthur accepts with only a small probability. This completes the proof.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-2006851756081097548?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/2006851756081097548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/in-this-post-we-look-at-recent-circuit.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2006851756081097548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2006851756081097548'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/in-this-post-we-look-at-recent-circuit.html' title='Fixed-polynomial circuit lower bounds for MA/1'/><author><name>Ravi</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-3639211086562969653</id><published>2009-03-06T18:11:00.013-05:00</published><updated>2009-05-03T14:02:10.287-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Encoding'/><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><category scheme='http://www.blogger.com/atom/ns#' term='Learning Theory'/><title type='text'>On the power of membership queries in agnostic learning</title><content type='html'>In class, the &lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/docs/lecture6-abridged.pdf"&gt;BCGKT theorem&lt;/a&gt; was introduced as an illustration of approximate sampling. It's also a complexity-theoretic result for query learning, wherein learning algorithms can draw examples of their choosing, not just those from a fixed dataset or a rigid oracle. Much as interactive proofs exploit the ability to ask (randomized) questions, query learning algorithms exploit the ability to perform experiments, ask users for feedback, and examine surroundings. These varying capabilities correspond to different models of query learning. In the BCGKT theorem, the NP oracle answers to equivalence querying: it either accepts the candidate hypothesis or returns a counterexample. Other interesting models include membership querying, which allows examples to be constructed from scratch and submitted to an oracle who labels it positive or negative, and active learning, in which artificial construction is disallowed but many unlabeled examples are available. Many positive results, such as &lt;a href="http://www.learningtheory.org/colt2008/108-Balcan.pdf"&gt;exponential improvements&lt;/a&gt; in sample complexity, make query learning a topic of major interest in learning theory.&lt;br /&gt;&lt;br /&gt;Query learners tend to work well because pivotal examples can falsify large swaths of the hypotheses under consideration. It's not surprising that they encounter difficulty when the true function is never a candidate and may not even exist. This impairs the ability to rule out hypotheses on the basis of a single inconsistency and often forces the learner to satisfy a &lt;a href="http://portal.acm.org/citation.cfm?id=1464775"&gt;conservative elimination criterion&lt;/a&gt;. This so-called agnostic setting is rife with &lt;a href="http://research.microsoft.com/apps/pubs/default.aspx?id=77673"&gt;hardness results&lt;/a&gt;, including &lt;a href="http://www.cs.washington.edu/homes/venkat/pubs/papers/halfspace.pdf"&gt;a contribution&lt;/a&gt; by &lt;a href="http://www.cs.washington.edu/homes/venkat/"&gt;one of our wise masters&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The marginal distribution of the examples is often critical. Negative results for distribution-independent learning are often paired with positive results for distribution-specific learning; see, for example, the &lt;a href="http://www.cs.cmu.edu/~odonnell/papers/chow-params.pdf"&gt;reply&lt;/a&gt; from our &lt;a href="http://www.cs.cmu.edu/~odonnell/"&gt;other wise master&lt;/a&gt; to his counterpart. This phenomenon is exemplified by Vitaly Feldman's recent work, which appeared &lt;a href="http://www.learningtheory.org/colt2008/129-Feldman.pdf"&gt;in short&lt;/a&gt; at COLT '08 and &lt;a href="http://jmlr.csail.mit.edu/papers/volume10/feldman09a/feldman09a.pdf"&gt;in full&lt;/a&gt; a few days ago in JMLR.&lt;br /&gt;&lt;br /&gt;The bad news comes first. When the examples come from an unknown distribution, membership queries don't offer any additional power. Much like boosting relies on a learner's ability to handle any marginal distribution on the examples, this proof relies on the learner's ability to find the best hypothesis regardless of how the joint example-label distribution changes. This robustness admits simulation of a membership query oracle: draw a sample, evaluate queries against the sample when possible, and return dummy answers for queries outside the sample. If error rates on the sample-conjured oracle are representative of those on the original distribution - something that can be ensured with Vapnik-Chervonenkis bounds - then the existence of a membership query learner implies the existence of a standard oracle learner. Feldman actually proves a stronger result involving finer details of agnostic learning, but those aren't of particular interest to this complexity class.&lt;br /&gt;&lt;br /&gt;The juicier result, and the main topic of this post, is the separation proof: when the examples are uniformly distributed, some concept classes are learnable through membership queries but not through a standard oracle. Random samples may not reveal knowledge crucial to learning; since the distribution is fixed, this weakness can be systematically exploited. In the agnostic PAC model - noise free in the sense that the conditional expectation $\phi$ of the labels is a consistent boolean function of the examples - the exploit is very simple: carve out a small portion of the domain and therein hide a suitably short encoding of the target function. The encoding can be easily recovered by membership queries, but it is unlikely to be found by random examples due to the relatively large size of the entire domain.&lt;br /&gt;&lt;br /&gt;This trick doesn't work in the agnostic setting, where such hiding places cannot be safe or small. Functions can be arbitrarily noisy on any part of the domain, so it's impossible to find a safe area to keep a brittle encoding. This issue is mitigated by the Hadamard code, which encodes an $n$-bit vector as all the $2^n$ values taken by the parity function $\chi$ for that vector. This approach seems suspicious, since all the values clearly can't be recovered, and learning parity functions in the agnostic setting is a major open problem. These worries are resolved by the Goldreich-Levin theorem, which was covered recently in &lt;a href="http://lucatrevisan.wordpress.com/2009/02/25/cs276-lecture-12-draft/"&gt;Luca's class&lt;/a&gt;. For the purpose of this proof, the Goldreich-Levin theorem allows efficient recovery of the largest Fourier coefficients of $\phi$. We could stop here if we were happy to assume the intractibility of learning parities from a noisy standard oracle.&lt;br /&gt;&lt;br /&gt;But we're not, so we're left to worry about how the Hadamard bloat might expose our secret to detection. Even an efficient coding scheme, like that described by &lt;a href="http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.7.6975"&gt;Guruswami and Sudan&lt;/a&gt;, doesn't save us from a hefty lower bound on the size of the secret region. Assuming the concept class cannot be learned without the secret region, the region must occupy at least $(1-2\epsilon)2^n$ proportion of the domain.&lt;br /&gt;&lt;br /&gt;The trick of sampling a fixed part of the domain is preserved by a technique from a &lt;a href="http://jmlr.csail.mit.edu/papers/volume8/elbaz07a/elbaz07a.pdf"&gt;2007 paper&lt;/span&gt;&lt;/a&gt; by Elbaz et al. Instead of storing the Hadamard code in plain sight, it is obscured by a pseudorandom function. Recall that $\pi_y$ is a pseudorandom boolean function if its output cannot be distinguished from a completely random function with more than negligible probability in polynomial time. Such functions exist if one-way functions exist, which is the cryptographic assumption underlying the proof. Here they are used to build concepts of the following form (meaning will soon be given to the undefined variables; treat them as opaque for now):&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$g_{\bar{d}}\left(k,z,\bar{x}\right)=\pi_{d_k}(z)\oplus \chi_{\bar{d}(k)}\left(\bar{x}\right)$&lt;br /&gt;&lt;br /&gt;View the arguments as a single binary string of length $m$ and suppose $k$ is fixed. The value of $g$ on a random example $(z,\bar{x})$ is pseudorandom but, if $z$ is fixed, then $\{g(z,x)\}_x$ recovers the Hadamard encoding of $\bar{d}(k)$. Of course, this is possible only if $d_k$ is encoded and recovered; this will require another secret, and so forth. Thus a sequence of pseudorandom functions and secrets are used. There are $p-1$ such secrets $\bar{d}=\left(d_1,d_2,\ldots ,d_{p-1}\right)$, each indexing a family of pseudorandom boolean functions $\mathcal{F}_n=\left\{\pi_y\right\}_{y\in \{0,1\}^n}$. To combat adversarial noise, the sequence is highly redundant: each secret doesn't unlock one previous secret, but all previous secrets. &lt;br /&gt; &lt;br /&gt;All the secrets except one can be recovered by membership queries, but doing the same from random examples would be akin to distinguishing a random function from a pseudorandom function.  The proof details are a little hairy. I encourage you to read the original paper, but please don't be led astray by the figure; it's missing an arrow and it's labeled incorrectly. Vitaly says he'll post a corrected version on &lt;a href="http://www.eecs.harvard.edu/~vitaly/"&gt;his site&lt;/a&gt;, most likely &lt;a href="http://www.eecs.harvard.edu/~vitaly/papers/F_AgnosticMQ_08.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In short, membership queries offer no advantage in the fully agnostic setting. Cryptographic evidence suggests that membership queries are more powerful than a standard oracle when the examples are uniformly distributed. I suggest &lt;a href="http://www.springerlink.com/content/h8dfjt7w6qqkndan/"&gt;Dana Angluin's survey&lt;/a&gt; to interested readers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-3639211086562969653?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/3639211086562969653/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/on-power-of-membership-queries-in_06.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3639211086562969653'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3639211086562969653'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/on-power-of-membership-queries-in_06.html' title='On the power of membership queries in agnostic learning'/><author><name>Shiva Kaul</name><uri>http://www.blogger.com/profile/10496690820337439878</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-6207085548487214644</id><published>2009-03-05T16:11:00.002-05:00</published><updated>2009-05-03T14:03:59.972-04:00</updated><title type='text'>Factoring</title><content type='html'>Sam asked me about the complexity of factoring, and the fastest known algorithms for it.  Here is a &lt;a href="http://www.ams.org/notices/199612/pomerance.pdf"&gt;very nice survey&lt;/a&gt; by Pomerance about the best known algorithms.  Some light reading for you over Spring Break!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-6207085548487214644?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/6207085548487214644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/factoring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6207085548487214644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6207085548487214644'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/factoring.html' title='Factoring'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-1377866554398042398</id><published>2009-03-05T16:06:00.006-05:00</published><updated>2009-03-06T11:32:12.385-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 15</title><content type='html'>In this lecture we finished the proof of the Switching Lemma and showed how it implied Håstad's Theorem:  Computing Parity by depth-$k$ circuits (unbounded fan-in) requires size $2^{\Omega(n^{1/(k-1)})}$.&lt;br /&gt;&lt;br /&gt;We then stated and sketched the proof of the Linial-Mansour-Nisan (LMN) Theorem:  If $f$ is computed by depth-$k$, size-$S$ circuits, then there is a multilinear real polynomial $p$ of degree at most $t = O(\log(S/\epsilon))^{k}$ which approximates $f$ in the following sense:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;E&lt;/span&gt;${}_{x}[(f(x_1, ..., x_n) - p(x_1, ..., x_n))^2] \leq \epsilon$,&lt;br /&gt;&lt;br /&gt;where $x = (x_1, ... x_n)$ is a uniformly random string.&lt;br /&gt;&lt;br /&gt;By the way, Håstad subsequently slightly sharpened this; he improved $t$ to &lt;br /&gt;&lt;br /&gt;$O(\log(S/\epsilon))^{k-1} \cdot min\{\log S, \log (1/\epsilon)\}$.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-1377866554398042398?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/1377866554398042398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-15.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1377866554398042398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1377866554398042398'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-15.html' title='Lecture 15'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-9019350312458326719</id><published>2009-03-03T15:51:00.002-05:00</published><updated>2009-03-06T11:32:12.386-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 14</title><content type='html'>In this class we reviewed DNF/CNF size and width decision tree size and depth.  We then began the proof of the Switching Lemma, which we will finish next time.  If you want to read up on it, we are following &lt;a href="http://www.cs.washington.edu/homes/beame/papers/primer.ps"&gt;Paul Beame's exposition&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Also, Homework #4 is out.  It is due in 3 weeks, after which we will have the midterm. This midterm will occupy either 5 or 7 days.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-9019350312458326719?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/9019350312458326719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/9019350312458326719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/9019350312458326719'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/03/lecture-14.html' title='Lecture 14'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-5961053361940526302</id><published>2009-02-28T15:04:00.003-05:00</published><updated>2009-05-03T14:04:26.617-04:00</updated><title type='text'>Recognizing/printing real numbers in real time</title><content type='html'>In the first blog post for the course, on the history of complexity, I saw mention of the question of whether the number $\sqrt{2}$ could be printed out by a Turing Machine at a rate of $O(1)$ time per digit.  I had never heard of the problem before.  Apparently one can ask similar questions about &lt;span style="font-style:italic;"&gt;recognizing&lt;/span&gt; in "real time" whether a number is, say, $\sqrt{2}$; for more, see this post on &lt;a href="http://rjlipton.wordpress.com/2009/02/24/a-conjecture-of-hartmanis/"&gt;Dick Lipton's blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-5961053361940526302?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/5961053361940526302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/recognizingprinting-real-numbers-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5961053361940526302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5961053361940526302'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/recognizingprinting-real-numbers-in.html' title='Recognizing/printing real numbers in real time'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-2428820711509654231</id><published>2009-02-26T15:09:00.000-05:00</published><updated>2009-03-06T11:32:12.386-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 13</title><content type='html'>Today we covered: Parity has unbounded fan-in circuits of depth-$d$ size-$2^{\Theta(n^{1/(d-1)})}$. Hastad's Theorem statement: This is also a lower bound for constant $d$. Proof in the case $d = 2$ (CNF, DNF).  Razborov-Smolensky proof with $1/(4d)$ rather than $1/(d-1)$.  Its main tool: For any $k$, $\epsilon$, there is a probability distribution on $k$-variable polynomials of degree $O(\log k \log(1/\epsilon))$ such that for &lt;i&gt;every&lt;/i&gt; $k$-bit input $x$ we have $\Pr[p(x) = OR(x)] \geq 1 - \epsilon$ when $p$ is chosen from the distribution. Expanding functions $f : \{-1,1\}^n \to \mathbb{R}$ in the Fourier basis.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-2428820711509654231?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/2428820711509654231/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-13.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2428820711509654231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2428820711509654231'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-13.html' title='Lecture 13'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-8671577446708286882</id><published>2009-02-25T09:30:00.002-05:00</published><updated>2009-03-06T11:32:26.961-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Homework 2 wrapup</title><content type='html'>By the way:  #4 is a theorem of Krentel; the class in #5 is actually called &lt;a href = "http://qwiki.stanford.edu/wiki/Complexity_Zoo:S#s2p"&gt;$S_2P$&lt;/a&gt; (not $S$) and the problem is a theorem of Cai; #6 is a theorem of Mulmuley-Valiant-Vazirani.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-8671577446708286882?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/8671577446708286882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/homework-2-wrapup.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8671577446708286882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8671577446708286882'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/homework-2-wrapup.html' title='Homework 2 wrapup'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-134610824803182969</id><published>2009-02-24T14:48:00.000-05:00</published><updated>2009-03-06T11:32:12.387-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 12</title><content type='html'>Today we covered: Definitions of $AM[k]$ and $MA[k]$; $AM[k]$ and $MA[k]$ unchanged if perfect completeness required (statement); $MA = MA[2] \subseteq AM[2] = AM$; $AM[k] = AM[2]$ for all constant $k$; indeed, $AM[4r] \subseteq AM[2r+1]$ for any $r = r(n)$; $AM \subseteq \Pi_2$; Boppana-Hastad-Zachos Theorem, $coNP \subseteq AM \Rightarrow PH = AM$; Graph-Non-Isomorphism is not $NP$-complete unless the hierarchy collapses to $\Simga_2$; Goldwasser-Sipser Theorem, $k$-round private-coin interactive proofs are doable with $(k+10)$-round public-coin interactive proofs, hence $AM$ is unchanged if public coins are required; set size lower bound protocol in public coins $AM$.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-134610824803182969?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/134610824803182969/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-12.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/134610824803182969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/134610824803182969'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-12.html' title='Lecture 12'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-8763870988326053380</id><published>2009-02-24T13:12:00.003-05:00</published><updated>2009-02-24T13:14:23.049-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Solutions to Homework 2</title><content type='html'>I will be returning Homework 2 in class today.  The class average on this homework is 79%.  Solutions for the homework will once again be available upon request; please email me if you would like a copy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-8763870988326053380?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/8763870988326053380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/solutions-to-homework-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8763870988326053380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8763870988326053380'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/solutions-to-homework-2.html' title='Solutions to Homework 2'/><author><name>Eric Blais</name><uri>http://www.blogger.com/profile/12295883537274138238</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7980105388167206888</id><published>2009-02-21T13:03:00.040-05:00</published><updated>2009-05-03T14:03:18.389-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Derandomization of space classes</title><content type='html'>Understanding the exact computational power of randomness is an intriguing and very challenging problem in computer science. Although we are far away from an answer, a lot of nice results have emerged in the last two decades, particularly in the area of space bounded computations. In this post, we will look at a couple of such results. We will restrict our attention to randomized log-space machines, or the complexity class BPL, but the results we mentioned generalize to BSPACE($s(n)$) for any space constructible function $s(n) \ge \log n$. Recall that a BPL machine M&lt;br /&gt;for a language L is a randomized machine running in log-space and satisfying the following conditions:&lt;br /&gt;$x \in$ L $\Rightarrow$ Pr[M accepts $x$] $\ge \frac{2}{3}$&lt;br /&gt;$x \notin$ L $\Rightarrow$ Pr[M accepts $x$] $\le \frac{1}{3}$&lt;br /&gt;Also we know that, the computation of such a machine on input $x$ can be seen as a random walk on a graph $G$, called the ``configuration graph''. Each node in this graph represents a configuration of the machine and each edge represents a valid transition. Let us denote by $d$, the total number of nodes in this graph and let us assume that that the graph has a unique start state $c_{start}$ and unique accept and reject states $c_{accept}$ and $c_{reject}$. Since, the machine runs in log-space we know that $d$ is polynomial in the length of the input. We can also associate, with this graph, a matrix Q called the ``transition matrix''. The entry Q[i,j] in this matrix contains the probability that the machine M goes from configuration $i$ to configuration $j$ in one step. This way of looking at a BPL machine is very convenient since now simulating the machine is equivalent to computing the $p$ step transition probability $Q^p$[$c_{start}$ , $c_{accept}$], for any $p \ge d$. If this probability is more than $\frac{2}{3}$ we accept. If this probability is less than $\frac{1}{3}$, we reject. Savitch's idea of repeated matrix squaring computes this probability exactly giving us the following derandomization result $ BPL \subseteq L^2$. We would also be interested in the running time used by these simulations, hence we will rewrite the above result as BPL $\subseteq$ DTISP($n^{O(\log n)}$,$(\log n)^2$).&lt;br /&gt;&lt;br /&gt;Further improvements to this result are all based on a very nice ``duality'' between hardness and randomness. This relationship was made concrete in a paper by Noam Nisan and Avi Wigderson. The high level idea is as follows: Suppose we have pseudo-random generator which takes as input a &lt;br /&gt;short truly random seed and can produce a very long sequence of bits which look random to any probabilistic machine. We can then use these pseudo-random bits instead of truly random bits to simulate the machine thereby reducing the amount of randomness used. This in turn has the potential to lead to better deterministic simulations. Unfortunately, pseudo-random generators are known to exist only under the assumption that certain cryptographic objects called one way functions exist. However, it is possible to construct specialized unconditional pseudo-random&lt;br /&gt;generators which can fool a particular class of machines C. Here is one way to do it, choose a class of functions, one for each input length, which is hard for the class C. In other words for every $n \ge 1$, for every machine M $ \in$ C, we must have |$Pr_{x \in U_n}$[M($x$) = f($x$)] $-$ $\frac{1}{2}$| $ \le \epsilon$, where $U_n$ is uniform distribution over $\{0,1\}^n$ and $\epsilon $ is very small(lets say $\frac{1}{n^2}$). What this means is that any machine in C can not do much better then random guessing when asked to predict the values of the hard functions. If we have such a class of functions, then here is a very simple pseudo-random generator which stretches its seed by 1 bit: $G_f : s \mapsto (s,f(s))$. Notice, that although we are only appending $f(s)$ at the end, no machine in C can distinguish that from a truly random bit with significant probability. This was roughly the idea behind the pseudo-random generator proposed by Nisan and Wigderson.&lt;br /&gt;&lt;br /&gt;Later, in a breakthrough result, Noam Nisan gave a pseudo-random generator which can fool all probabilistic log-space machines and uses only $(\log n)^2$ bits of randomness. Notice, that this is an exponential improvement since a BPL machine can potentially use poly($n$) random bits, where $n$ is the length of the input. Virtually, every result in derandomizing space complexity classes has used some ideas from Nisan's paper. Before stating Nisan's result some definitions:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Definition 1:&lt;/span&gt;&lt;br /&gt;For a vector $x \in {\Re}^d$, we define the $L_1$ norm of $x$ to be ||$x$|| = $\sum_i x_i$. For a $d \times d$ matrix over $\Re$, we define the &lt;span style="font-style:italic;"&gt;norm&lt;/span&gt; of M, ||M||, to be the maximum over all the rows M[$i$,.] of ||M[$i$,.]||.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Definition 2:&lt;/span&gt;&lt;br /&gt;If M and N are square matrices of the same dimension and $a$ is a positive real number, we say that M approximates N with accuracy a if ||M $-$ N||  $ \le 2^{-a}$.&lt;br /&gt; &lt;br /&gt;Recall that simulating a BPL machine is equivalent to calculating the matrix $Q^p$, for some $p \ge d$. Hence, we now state and view Nisan's result as as randomized algorithm for approximating this matrix. We will call Nisan's algorithm PRS which stands for &lt;span style="font-style:italic;"&gt;pseudorandom repeated squaring&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Theorem:&lt;/span&gt;&lt;br /&gt;Let $a$ be an integer. Given as input a $d \times d$ transition matrix Q and an integer $r$, the PRS algorithm takes a random string $h$ of size $O(r(\log n))$ as input, runs in space $O(r + \log n)$ and computes another matrix $Q^\prime$, such that $Q^\prime$ approximates $Q^{2^{r}}$ with accuracy $a$ and error probability $2^{-2a}$.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notice, that it is enough to approximate the entries in the matrix $Q^{2^r}$, since we only want to detect a significant gap in the acceptance probability of $\frac{2}{3}$ when $x \in $ L and the probability of $\frac{1}{3}$, when $x \notin$ L. For simulating BPL, we need to choose $r$ such that $2^r \ge d$. Choosing $r = O(\log n)$, gives us the desired log-space simulation which uses $O((\log n)^2)$ bits of randomness. A straightforward derandomization of this algorithm, i.e. enumerating through all the possible choices of the random seed, will not help us improve on the bound given by Savitch's theorem(WHY?). But, in a later paper Nisan observed that most of the bits in the random seed can actually be calculated deterministically, reducing the randomness used by the algorithm to $O(\log n)$. Derandomizing this new algorithm gives a deterministic simulation of BPL which uses $O((\log n)^2)$ space and $n^{O(1)}$ time! Hence, Nisan was able to show that BPL $\subseteq$ DTISP($n^{O(1)}$,$(\log n)^2$). In other words, Nisan showed that BPL $\subseteq SC$(``Steve's'' class). In a later work Nisan, Endre Szemer$\grave{\textrm{e}}$di, and Wigderson, in 1992, showed that undirected s-t connectivity(USTCONN) is in $L^{\frac{3}{2}}$. Of course, from Omar Reingold's result in 2004, we now know that USTCONN $\in$ L. But at that point the USTCONN $\in$ $L^{\frac{3}{2}}$ was a major indication that may be deterministic simulation of BPL could be done in $L^{\frac{3}{2}}$. This was achieved by Michael Saks and Shiyu Zhou and will be the last result covered in this post. &lt;br /&gt;&lt;br /&gt;The main idea behind Saks and Zhou's result is to somehow balance the space usage and the randomness usage of the PRS algorithm. One way to do this is to try and combine Savitch's theorem and Nisan's PRS algorithm, i.e. try to do repeated matrix squaring but at each level of recursion, instead of calculating the matrix exactly, approximate it using the PRS algorithm. Lets see how it works in detail. &lt;br /&gt;Consider the PRS algorithm again. Lets divide the input $r$ into two parts $r_1$ and $r_2$ such that $r = r_1r_2$. We can calculate $Q^{2^r}$ as a sequence matrices $Q_0$,$Q_1$,$\ldots$,$Q_{r_2}$, such that $Q_0$ = $Q^{2^{r_1}}$, $Q_{i+1}$ = ${Q_i}^{2^{r_1}}$ and $Q_{r_2}$ = $Q^{2^r}$. At each of the $r_2$ levels of the recursion we can use the PRS algorithm&lt;br /&gt;to approximately calculate the matrices. We are going to use $O(\log n)$ space at each level for a total of $O(r_2 \log n)$ space. Also we are going to use $O(r_1 \log n)$ bits of randomness at each level for a total of $O(r \log n)$ bits of randomness. At present this does not seem very impressive, but what Saks and Zhou show is that we can actually use the same seed for the PRS algorithm at each level of recursion. This reduces the randomness complexity to $O(r_1 \log n)$. The reason why we can do that is the following: The analysis of the PRS algorithm shows that most of the seeds are good for a given fixed matrix. Hence, by union bound we must be able to show that most of the seeds are also good for a fixed set of matrices. If we can do that then we can set $r = O(\log n)$, and $r_1=r_2$, to get an algorithm with space complexity $O({(\log n }^{\frac{3}{2}})$ and randomness complexity $O({(\log n)}^{\frac{3}{2}})$. Then, a straightforward derandomization will give us the desired result that BPL $\subseteq L^{\frac{3}{2}}$. But there is a catch.&lt;br /&gt;&lt;br /&gt;Notice that we cannot really apply the union bound argument to the matrices produced by the PRS algorithm since each of them depends on the seed used in the previous level of recursion. Saks and Zhou get around this problem by introducing the idea of random perturbations. The main observation is that we can apply the union bound argument to the sequence of matrices if they are not approximately calculated but exactly calculated as in Savitch's theorem. Now, the PRS algorithm guarantees that the matrices will be very close to the exact ones. Hence, if we just truncate the values in the matrices ignoring the lower order bits, we should be done. Except that we might have some bad roundings at boundary cases. Hence, what Saks and Zhou do is that they reduce the value of each entry in the matrix at each level by some random quantity and then truncate the values. In this way, the new matrices are independent of the seed used and we can then say that most of the seeds will be good for all these matrices. For random perturbations we increase the space usage at each level by $O(\log n)$. But the final space usage still is $O((\log n)^{\frac{3}{2}})$. That's it, we can now state Saks and Zhou's result that&lt;br /&gt;$ BPL \subseteq DTISP(n^{O({(\log n)}^{.5})},{(\log n)}^{1.5}) $&lt;br /&gt;&lt;br /&gt;Some follow-up work has been done after Saks and Zhou's result. For example, Jin-Yi Cai, Venkatesan Chakaravarthy and Dieter Van Melkebeek give a time-space tradeoff version of Saks and Zhou which says that, for any rational number $0 \le \alpha \le .5$, BPL $\subseteq$ DTISP($n^{O({(\log n)}^{.5-\alpha})}$,${(\log n)}^{1.5 + \alpha}$). Since then, Reingold's log-space algorithm for USTCONN has been a major result.&lt;br /&gt;&lt;br /&gt;There is a general feeling in the community that we might be close to proving RL$=$L. In fact, Omar Reingold, Luca Trevisan and Salil Vadhan, in a paper in 2005, gave some strong evidence in favor of this.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Aside:&lt;/span&gt;&lt;br /&gt;If you have read so far then a natural question to ask is: What about derandomization of time complexity classes. Can similar ideas be applied. Conceptually, Yes. Nisan's idea is pretty neat and generic. I have not done much survey but some initial reading seems to suggest that it is difficult to give unconditional pseudorandom generators which can fool time bounded complexity classes. May be the instructors can shed more light on this issue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7980105388167206888?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7980105388167206888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/derandomization-of-space-classes.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7980105388167206888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7980105388167206888'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/derandomization-of-space-classes.html' title='Derandomization of space classes'/><author><name>pranjal</name><uri>http://www.blogger.com/profile/02310973918876559133</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-8986231523268058603</id><published>2009-02-19T16:47:00.005-05:00</published><updated>2009-02-22T08:24:33.154-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 11</title><content type='html'>In Lecture 11, we covered:&lt;br /&gt;&lt;br /&gt;Telling coke and pepsi apart: Interactive protocol for Graph nonisomorphism; &lt;br /&gt;Interactive proof for Counting-SAT (and so PH is a subset of IP);&lt;br /&gt;The precise power of interaction: IP = PSPACE ; &lt;br /&gt;Perfect completeness and public coins don't change power of IP.&lt;br /&gt;&lt;br /&gt;Graded problem set 1 was handed back.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-8986231523268058603?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/8986231523268058603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-11.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8986231523268058603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8986231523268058603'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-11.html' title='Lecture 11'/><author><name>Venkat</name><uri>http://www.blogger.com/profile/04589958297589172601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-5950100769376192788</id><published>2009-02-17T15:27:00.003-05:00</published><updated>2009-02-22T08:24:33.154-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 10</title><content type='html'>Topics covered in Lecture 10:&lt;br /&gt;&lt;br /&gt;Barrington's theorem: NC^1 has constant width branching programs (Ben-Or &amp;amp; Cleve's proof which showed width 7)&lt;br /&gt;Lipton-Viglas theorem: SAT can't be solved in simultaneous n^{o(1)} space and n^{1.41} time.&lt;br /&gt;Comments on relativization and limits of diagonalization&lt;br /&gt;Introduction to Interactive proofs&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-5950100769376192788?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/5950100769376192788/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-10.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5950100769376192788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5950100769376192788'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-10.html' title='Lecture 10'/><author><name>Venkat</name><uri>http://www.blogger.com/profile/04589958297589172601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-5322067619755017952</id><published>2009-02-16T13:46:00.001-05:00</published><updated>2009-02-17T15:11:06.398-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Homework 2 -- CORRECTION</title><content type='html'>A correction has been made to Problem (6c) on the homework.  Thanks to Or for pointing out the mistake and giving the correction.  The new statement (which is also in the file on the course home page) is:&lt;br /&gt;&lt;br /&gt;c) Suppose we form $G'$ by blowing up each node $v$ in $G$ to a clique of size $2nk + w(v)$; we put either all possible edges or no possible edges between the "$u$-clique" and the "$v$-clique", depending on whether or not $(u,v)$ was an edge in $G$.  Let $k' = 2nk^2 + r$, where $r \in [2nk]$ is chosen randomly. Show that if $G$'s maximum clique has size $&lt; k$ then with probability $1$, $G'$ has no $k'$-clique; and, if $G$'s maximum clique has size $k$ then $G'$ has a unique $k'$-clique with probability at least $1/(4nk)$.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-5322067619755017952?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/5322067619755017952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/homework-2-correction.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5322067619755017952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5322067619755017952'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/homework-2-correction.html' title='Homework 2 -- CORRECTION'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-6978939679998482957</id><published>2009-02-16T13:08:00.002-05:00</published><updated>2009-02-17T15:12:14.475-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Solutions to Homework 1</title><content type='html'>I have just added the solutions to Homework 1 to the course webpage.  I am still marking the homeworks, but I hope to return them to you before the end of the week.  Thanks for your patience!&lt;br /&gt;&lt;br /&gt;UPDATE: I have removed the link to the solutions from the course webpage, but they are still available upon request.  If you want a copy, please email me.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-6978939679998482957?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/6978939679998482957/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/solutions-to-homework-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6978939679998482957'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6978939679998482957'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/solutions-to-homework-1.html' title='Solutions to Homework 1'/><author><name>Eric Blais</name><uri>http://www.blogger.com/profile/12295883537274138238</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-8114818610708868088</id><published>2009-02-16T09:03:00.002-05:00</published><updated>2009-02-16T13:10:02.786-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Homework 2</title><content type='html'>Not that I imagine anyone worried about this, but for #4, it's okay to show completeness under poly-time many-one reductions.  (I.e., don't bother about log-space reductions.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-8114818610708868088?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/8114818610708868088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/homework-2_16.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8114818610708868088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8114818610708868088'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/homework-2_16.html' title='Homework 2'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-1113978694188459893</id><published>2009-02-14T16:52:00.017-05:00</published><updated>2009-05-03T14:04:51.874-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>A Quadratic Lower Bound for the Determinant and Permanent Problem</title><content type='html'>Join me, fellow students, in a quest to discover Complexity-Theory's version of the 'Holy Grail': lower bounds on the size of circuits. This quest began at the 1970s, when the question of $P$ vs. $NP$ first arose. At those early ages, when people were naive, optimistic, and still new to the question $P \stackrel {?} {=} NP$, they sought to separate $NP$ from $P$. One direction, that initially seemed promising, was though circuit size. Clearly, $P \subset P/poly$. Furthermore, Karp showed that many functions belong to $NP$, and we know many functions with super-polynomial circuit-complexity do exist. So the hope was one would be able to show that some function in $NP$ must have large circuit-size, thus proving $P \neq NP$. In fact, one can show super-polynomial lower bound for some function in &lt;span style="font-style: italic;"&gt;any&lt;/span&gt; level of the $PH$, and that will prove such a separation. And since Toda's theorem gives, $PH \subset P^{#P}$, the hope was that the Permanent, a $#P$-complete function, will have super-polynomial large circuits.&lt;br /&gt;&lt;br /&gt;Recall that the Permanent is a function of numbers: $Perm = \sum_{\sigma \in S_n} \Pi_{i} M_{i, \sigma(i)}$, whereas circuits were defined over boolean values. So we introduce &lt;span style="font-style: italic;"&gt;arithmetics circuits&lt;/span&gt;. Arithmetic circuits have $\oplus, \otimes$ gates (with fan-in 2), and $\ominus$ gates (with fan-in 1), representing the arithmetic $+, \times, -$ operations over some field $F$, and additionally uses constants in $F$. Clearly, every polynomial (and in particular the Permanent and the Determinant) can be represented as an arithmetic circuit, and furthermore, one can reduce any boolean circuit to an arithmetic circuit (representing NOT as $1 \ominus x$ and AND as $x\otimes y$). Using arithmetic circuits, Valiant defined in 1979 the arithmetics analogs of $P$ and $NP$:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definition 1&lt;/span&gt;: A polynomial $p(\bar x)$ of degree $n^{O(1)}$ is in &lt;span style="font-weight: bold;"&gt;$VP$&lt;/span&gt; if there exists a arithmetic circuit family of size $n^{O(1)}$ that computes it.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definition 2: &lt;/span&gt;A polynomial $p(\bar x)$ of degree $n^{O(1)}$ is in &lt;span style="font-weight: bold;"&gt;$VNP$&lt;/span&gt; if for some $m$ (polynomially bounded in $n$) there exists a family of polynomials $q_{n+m} \in VP$ s.t. $p(\bar x) = \sum_{\bar y \in \{0,1\}^m} q(\bar x, \bar y)$. For such $p$ and $q$, we say that $p$ is a &lt;span style="font-style: italic;"&gt;projection of&lt;/span&gt; $q$.&lt;br /&gt;&lt;br /&gt;Valiant showed that any polynomial in $VNP$ is a projection of the Permanent. He also showed a nice characterization of the functions of $VP$, which will take us back to linear algebra. Recall that an affine transformation of vector spaces is a combination of a linear transformation and a translation. We look at affine functions from the vector space $F[x_1, x_2, \ldots, x_d]$ of polynomials in $d$ variables over $F$, to the vector space $M_n(F)$ of all $n\times n$ matrices.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definition 3&lt;/span&gt;: We say that a polynomial $p\in F[x_1, \ldots, x_d]$ has &lt;span style="font-style: italic;"&gt;determinant complexity&lt;/span&gt; $n$ if any affine mapping $f:F[x_1, \ldots, x_d] \rightarrow M_n(F)$ s.t. $p \equiv \det\circ f$, must map $F[x_1, \ldots, x_d]$ to matrices of size $n\times n$ (or larger).&lt;br /&gt;&lt;br /&gt;Valiant showed that if $p$ has circuit complexity $c$, then its determinant complexity is $\leq 2c$, so all functions in $VP$ have polynomially bounded determinant complexity. Hence, in order to separate $VNP$ from $VP$, one aspires to show that the determinant complexity of the Permanent is super-polynomial. Alas, until 2004, the best determinant-complexity lower bounds were linear in $n$. In 2004, Mignon and Ressayre showed a quadratic lower bound:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Theorem&lt;/span&gt;: If the characteristic of $F$ is $0$, then the determinant-complexity of the Permanent is at least $n^2/2$.&lt;br /&gt;&lt;br /&gt;The proof of this theorem naturally involves some linear algebra, and requires the definition of a special linear operator. If $f:V\rightarrow F$ is a differentiable function, then we can define the &lt;span style="font-style: italic;"&gt;tangent map&lt;/span&gt; $Tf: V\rightarrow V^*$, by: $Tf(v) = \langle \frac {\partial f}{\partial x_i}(v), \cdot \rangle$. I.e., we map every $v\in V$ to a linear functional $T_vf$, where $T_vf(w)$ is the scalar product of $\nabla f(v)$ and $w$. Using the tangent and the fact that the space of linear functionals is a vector space, we can now define a tangent to the tangent. Let $T^2f: V \rightarrow \textrm{Hom}(V, V^*)$ be defined by $T^2f(v) = (\cdot)^TH_f(v)(\cdot)$, where $H_f(v) = \left(\frac {\partial^2 f}{\partial x_i \partial x_j}(v)\right)_{i,j=1}$. I.e., we map every $v\in V$ to a bilinear function $A_v(\cdot, \cdot)$ where $A_v$ is constructed by the 2nd order partial derivatives of $f$ at $v$. Alternatively, one can think of $f(v)$ as a map $T_{v}^2f:V\rightarrow V^*$, where $(T_{v}^2f)(w)$ is the linear functional $\langle A_v w, \cdot\rangle$. Recall that any bilinear function (and in particular $A_v$) has a rank, which is the rank of the matrix.&lt;br /&gt;&lt;br /&gt;Here is the proof of Mignon and Ressayre's theorem in a nutshell. Let $f:M_n(F)\rightarrow M_m(F)$ be an affine function s.t. $Perm_n = \det_m\circ f$. Then the following 3 claims hold:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Claim 1.&lt;/span&gt; $Perm_n$ is isomorphic to restricting $\det_m$ to the image of $f$, i.e. $Perm_n \simeq  g$ where $g = \det_m |_{\textrm{Im}(f)}$. Since $g$ is a restriction of $\det_m$, we get $\textrm{rank}(T_{A}^{2} g) \leq \textrm{rank}(T_{A}^{2}\det_m)$.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Claim 2.&lt;/span&gt; There exists some non-invertible $A\in M_n(F)$, s.t. $T_{A}^{2} Perm_n$ has rank $= n^2$. (This is the most non-trivial part.)&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Claim 3.&lt;/span&gt; For any non-invertible matrix $A$ it must hold that $\textrm{rank}(T_{A}^{2} \det_m) \leq 2m$.&lt;br /&gt;&lt;br /&gt;Combining the 3 steps together, we deduce the inequalities $n^2 = \textrm{rank}(T_{A}^2Perm_n) = \textrm{rank}(T_A^2 g) \leq \textrm{rank}(T_A^2\det\_m) \leq 2m$&lt;br /&gt;&lt;br /&gt;None of the proofs of &lt;span style="font-weight: bold;"&gt;1&lt;/span&gt;,&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt; or &lt;span style="font-weight: bold;"&gt;3&lt;/span&gt; is hard, and they all boil down to looking at the matrix generated by the $T^2$ operator. If &lt;a href="http://www.codecogs.com/eqnedit.php?latex=$X%20=%20%5Cbegin%7Bpmatrix%7D%7Bx_%7B1,1%7D%20&amp;amp;%20x_%7B1,2%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%20x_%7B1,n%7D%20%5Ccr%20x_%7B2,1%7D%20&amp;amp;%20x_%7B2,2%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%20x_%7B2,n%7D%20%5Ccr%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cddots%20&amp;amp;%20%5Cvdots%20%5Ccr%20x_%7Bn,1%7D%20&amp;amp;%20x_%7Bn,2%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%20x_%7Bn,n%7D%20%5Ccr%7D%20%5Cend%7Bpmatrix%7D" target="_blank"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?$X%20=%20%5Cbegin%7Bpmatrix%7D%7Bx_%7B1,1%7D%20&amp;amp;%20x_%7B1,2%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%20x_%7B1,n%7D%20%5Ccr%20x_%7B2,1%7D%20&amp;amp;%20x_%7B2,2%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%20x_%7B2,n%7D%20%5Ccr%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cddots%20&amp;amp;%20%5Cvdots%20%5Ccr%20x_%7Bn,1%7D%20&amp;amp;%20x_%7Bn,2%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%20x_%7Bn,n%7D%20%5Ccr%7D%20%5Cend%7Bpmatrix%7D" title="$X = \begin{pmatrix}{x_{1,1} &amp;amp; x_{1,2} &amp;amp; \ldots &amp;amp; x_{1,n} \cr x_{2,1} &amp;amp; x_{2,2} &amp;amp; \ldots &amp;amp; x_{2,n} \cr \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \cr x_{n,1} &amp;amp; x_{n,2} &amp;amp; \ldots &amp;amp; x_{n,n} \cr} \end{pmatrix}" /&gt;&lt;/a&gt; is our variable matrix, then we denote $P = Perm_n(X)$. For the minor $X_{i,j}$ (removing the $i$th row and the $j$th column of $X$), we denote $P_{i,j} = Perm_{n-1}(X_{i,j})$. For any $i\neq i', j\neq j'$, we denote $X_{\{i,i'\},\{j,j'\}}$ to be the minor of $X$ we get by removing both $i$ and $i'$ rows, and $j$ and $j'$ columns, and denote $P_{\{i,i'\},\{j,j'\}} = Perm_{n-2}(X_{\{i,i'\},\{j,j'\}})$. Then observe the following: $T^{2}Perm_n$ is the $n^2\times n^2$ matrix &lt;a href="http://www.codecogs.com/eqnedit.php?latex=J = \begin{pmatrix} 0 &amp; J_{1,2} &amp; \ldots &amp; J_{1,n} \cr J_{2,1} &amp; 0 &amp; \ldots &amp; J_{2,n} \cr \vdots &amp; \vdots &amp; \ddots &amp; \vdots \cr J_{n,1} &amp; J_{n,2} &amp; \ldots &amp; 0 \cr\end{pmatrix}" target="_blank"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?J = \begin{pmatrix} 0 &amp; J_{1,2} &amp; \ldots &amp; J_{1,n} \cr J_{2,1} &amp; 0 &amp; \ldots &amp; J_{2,n} \cr \vdots &amp; \vdots &amp; \ddots &amp; \vdots \cr J_{n,1} &amp; J_{n,2} &amp; \ldots &amp; 0 \cr\end{pmatrix}" title="J = \begin{pmatrix} 0 &amp; J_{1,2} &amp; \ldots &amp; J_{1,n} \cr J_{2,1} &amp; 0 &amp; \ldots &amp; J_{2,n} \cr \vdots &amp; \vdots &amp; \ddots &amp; \vdots \cr J_{n,1} &amp; J_{n,2} &amp; \ldots &amp; 0 \cr\end{pmatrix}" /&gt;&lt;/a&gt; where for every $i \neq i'$, we have &lt;a href="http://www.codecogs.com/eqnedit.php?latex=J_%7Bi,%20i%27%7D%20=%20%5Cbegin%7Bpmatrix%7D%200%20&amp;amp;%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7B1,2%5C%7D%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7B1,n%5C%7D%7D%20%5Ccr%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7B2,1%5C%7D%7D%20&amp;amp;%200%20&amp;amp;%20%5Cldots%20&amp;amp;%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7B2,n%5C%7D%7D%20%5Ccr%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cddots%20&amp;amp;%20%5Cvdots%20%5Ccr%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7Bn,1%5C%7D%7D%20&amp;amp;%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7Bn,2%5C%7D%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%200%5Cend%7Bpmatrix%7D" target="_blank"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?J_%7Bi,%20i%27%7D%20=%20%5Cbegin%7Bpmatrix%7D%200%20&amp;amp;%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7B1,2%5C%7D%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7B1,n%5C%7D%7D%20%5Ccr%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7B2,1%5C%7D%7D%20&amp;amp;%200%20&amp;amp;%20%5Cldots%20&amp;amp;%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7B2,n%5C%7D%7D%20%5Ccr%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cddots%20&amp;amp;%20%5Cvdots%20%5Ccr%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7Bn,1%5C%7D%7D%20&amp;amp;%20P_%7B%5C%7Bi,i%27%5C%7D,%5C%7Bn,2%5C%7D%7D%20&amp;amp;%20%5Cldots%20&amp;amp;%200%5Cend%7Bpmatrix%7D" title="J_{i, i'} = \begin{pmatrix} 0 &amp;amp; P_{\{i,i'\},\{1,2\}} &amp;amp; \ldots &amp;amp; P_{\{i,i'\},\{1,n\}} \cr P_{\{i,i'\},\{2,1\}} &amp;amp; 0 &amp;amp; \ldots &amp;amp; P_{\{i,i'\},\{2,n\}} \cr \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \cr P_{\{i,i'\},\{n,1\}} &amp;amp; P_{\{i,i'\},\{n,2\}} &amp;amp; \ldots &amp;amp; 0\end{pmatrix}" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Proving &lt;span style="font-weight: bold;"&gt;Claim 2&lt;/span&gt; is the result of looking at &lt;a href="http://www.codecogs.com/eqnedit.php?latex=A%20=%20%5Cbegin%7Bpmatrix%7D%201-n%20&amp;amp;%201%20&amp;amp;%201%20&amp;amp;%20%5Cldots%20&amp;amp;%201%20%5Ccr%201%20&amp;amp;%201%20&amp;amp;%201%20&amp;amp;%20%5Cldots%20&amp;amp;%201%20%5Ccr%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cddots%20&amp;amp;%20%5Cvdots%20%5Ccr%201%20&amp;amp;%201%20&amp;amp;%201%20&amp;amp;%20%5Cldots%20&amp;amp;%201%20%5Ccr%20%5Cend%7Bpmatrix%7D" target="_blank"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?A%20=%20%5Cbegin%7Bpmatrix%7D%201-n%20&amp;amp;%201%20&amp;amp;%201%20&amp;amp;%20%5Cldots%20&amp;amp;%201%20%5Ccr%201%20&amp;amp;%201%20&amp;amp;%201%20&amp;amp;%20%5Cldots%20&amp;amp;%201%20%5Ccr%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cddots%20&amp;amp;%20%5Cvdots%20%5Ccr%201%20&amp;amp;%201%20&amp;amp;%201%20&amp;amp;%20%5Cldots%20&amp;amp;%201%20%5Ccr%20%5Cend%7Bpmatrix%7D" title="A = \begin{pmatrix} 1-n &amp;amp; 1 &amp;amp; 1 &amp;amp; \ldots &amp;amp; 1 \cr 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; \ldots &amp;amp; 1 \cr \vdots &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \ddots &amp;amp; \vdots \cr 1 &amp;amp; 1 &amp;amp; 1 &amp;amp; \ldots &amp;amp; 1 \cr \end{pmatrix}" /&gt;&lt;/a&gt;. By sheer computation, they show that $T_A^{2}Perm_n$ is of the form &lt;a href="http://www.codecogs.com/eqnedit.php?latex=%5Cbegin%7Bpmatrix%7D0%20&amp;amp;%20B%20&amp;amp;%20B%20&amp;amp;%20B%20&amp;amp;%20%5Cldots%20&amp;amp;%20B%20%5Ccr%20B%20&amp;amp;%200%20&amp;amp;%20C%20&amp;amp;%20C%20&amp;amp;%20%5Cldots%20&amp;amp;%20C%20%5Ccr%20B%20&amp;amp;%20C%20&amp;amp;%200%20&amp;amp;%20C%20&amp;amp;%20%5Cldots%20&amp;amp;%20C%20%5Ccr%20B%20&amp;amp;%20C%20&amp;amp;%20C%20&amp;amp;%200%20&amp;amp;%20%5Cldots%20&amp;amp;%20C%20%5Ccr%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%5Cddots%20&amp;amp;%20%5Cvdots%20%5Ccr%20B%20&amp;amp;%20C%20&amp;amp;%20C%20&amp;amp;%20C%20&amp;amp;%20%5Cldots%20&amp;amp;%200%5Cend%7Bpmatrix%7D" target="_blank"&gt;&lt;img src="http://latex.codecogs.com/gif.latex?%5Cbegin%7Bpmatrix%7D0%20&amp;amp;%20B%20&amp;amp;%20B%20&amp;amp;%20B%20&amp;amp;%20%5Cldots%20&amp;amp;%20B%20%5Ccr%20B%20&amp;amp;%200%20&amp;amp;%20C%20&amp;amp;%20C%20&amp;amp;%20%5Cldots%20&amp;amp;%20C%20%5Ccr%20B%20&amp;amp;%20C%20&amp;amp;%200%20&amp;amp;%20C%20&amp;amp;%20%5Cldots%20&amp;amp;%20C%20%5Ccr%20B%20&amp;amp;%20C%20&amp;amp;%20C%20&amp;amp;%200%20&amp;amp;%20%5Cldots%20&amp;amp;%20C%20%5Ccr%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%20%5Cvdots%20&amp;amp;%5Cddots%20&amp;amp;%20%5Cvdots%20%5Ccr%20B%20&amp;amp;%20C%20&amp;amp;%20C%20&amp;amp;%20C%20&amp;amp;%20%5Cldots%20&amp;amp;%200%5Cend%7Bpmatrix%7D" title="\begin{pmatrix}0 &amp;amp; B &amp;amp; B &amp;amp; B &amp;amp; \ldots &amp;amp; B \cr B &amp;amp; 0 &amp;amp; C &amp;amp; C &amp;amp; \ldots &amp;amp; C \cr B &amp;amp; C &amp;amp; 0 &amp;amp; C &amp;amp; \ldots &amp;amp; C \cr B &amp;amp; C &amp;amp; C &amp;amp; 0 &amp;amp; \ldots &amp;amp; C \cr \vdots &amp;amp; \vdots &amp;amp; \vdots &amp;amp; \vdots &amp;amp;\ddots &amp;amp; \vdots \cr B &amp;amp; C &amp;amp; C &amp;amp; C &amp;amp; \ldots &amp;amp; 0\end{pmatrix}" /&gt;&lt;/a&gt;, for two particular, invertible, $B$ and $C$, and show that this gives a $n^2 \times n^2$-matrix of full rank. We comment that the elements of $B$ and $C$ are multiplications of large factorials, so $B$ and $C$ are invertible because of the zero characteristic of $F$.&lt;br /&gt;&lt;br /&gt;Proving &lt;span style="font-weight: bold;"&gt;Claim 3&lt;/span&gt; uses a similar observation, based on the structure of $T^2$. If $X$ is a non-invertible matrix, then by changing basis, $X$ can be turned into $X'$, which is a diagonal matrix with some 0 entries on the main diagonal. $T_X^2\det$ and $T_{X'}^2\det$ will have the same rank. If we replace $Perm$ in $\det$, we get that $T_{X'}^2\det$ has the exact same structure as it had for the Permanent (replacing $P_{\{i,i'\},\{j,j'\}}$ with $D_{\{i,i'\},\{j,j'\}}$, the determinant of the same minor). However, since $X'$ is diagonal and non-invertible, then the determinant is $0$ for almost everywhere.&lt;br /&gt;&lt;br /&gt;Proving &lt;span style="font-weight: bold;"&gt;Claim 1&lt;/span&gt; boils down to showing the $f$ is injective, thus isomorphic over its image. If $f$ isn't injective, then exists a non-zero $v \in \textrm{Ker}(f)$. Hence, $\forall x, \forall \lambda \in F$ it holds that $Perm_n(x+\lambda v) = \det_m(f(x)+\lambda f(v)) = Perm_n(x)$, so the gradient of $Perm_n$ at $v$ must be $0$. Alternatively, every $T_xPerm_n$ maps $v$ into the $0$-functional. So for every $y$ it holds that $T_y^2Perm_n$ is a bilinear mapping, that maps every $x$ into a functional $\phi_x$ which is $0$ over $v$. Thus for every $y$ it holds that $T_y^2Perm_n$ is not of full rank. In particular, $T_A^2Perm_n$ has of rank  strictly smaller than $n^2$, which contradicts &lt;span style="font-weight: bold;"&gt;Claim 2&lt;/span&gt;. The proof of the theorem is done.&lt;br /&gt;&lt;br /&gt;SPOILER ALERT: The quest for lower bounds on circuits is (thus far) unsuccessful. Obviously, we still don't know how to show super-polynomial lower bounds on the determinant complexity of the Permanent. To this day, lower bounds are known only to a very restricted class of circuits (such as $AC^0$ or monotone circuits). In fact, Razborov and Rudich showed in 1995 that proving lower bounds using the currently known techniques is intrinsically difficult. However, there is some positive sign: in 2004, Kabanets and Impagliazzo showed that under the assumption $coRP = P$, either the Permanent or some function in $NEXP$ doesn't have polynomial-size circuits.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-1113978694188459893?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/1113978694188459893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/quadratic-lower-bound-for-determinant.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1113978694188459893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1113978694188459893'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/quadratic-lower-bound-for-determinant.html' title='A Quadratic Lower Bound for the Determinant and Permanent Problem'/><author><name>Or Sheffet</name><uri>http://www.blogger.com/profile/11477726518146892459</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-2700279329584520926</id><published>2009-02-13T10:29:00.003-05:00</published><updated>2009-05-03T14:05:08.247-04:00</updated><title type='text'>Combinatorial Complexity</title><content type='html'>There is a certain broad area of complexity theory which does not have a proper name.  &lt;br /&gt;&lt;br /&gt;As far as it occurs to me at this instant, there are (at least) three big areas of complexity theory:&lt;br /&gt;&lt;br /&gt;1. "Structural complexity theory".  This refers to understanding the relationships between complexity classes, bounding and classifying time vs. space vs. randomness, understanding reductions, etc.&lt;br /&gt;&lt;br /&gt;2. "Algorithmic complexity theory".  I just made this name up, but I'm thinking here about the area of understanding the complexity of various &lt;span style="font-style:italic;"&gt;specific problems&lt;/span&gt;; I think of proving NP-hardness results as falling into this area, so I would put inapproximability and PCPs into this category.&lt;br /&gt;&lt;br /&gt;3. The mystery area I referred to at the beginning of this post.  I guess my best attempt at naming this category would be either "Combinatorial complexity", or "Lower bounds".  Here I mean the study of things like formula size/depth, constant-depth circuit size, branching program sizes, decision tree size, DNF size... roughly, the study of non-uniform classes of computation that are "small" enough that one can make reasonable progress on proving lower bounds.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The impetus for this post is to point you to a nice-looking &lt;a href="http://www.cs.columbia.edu/~rocco/Teaching/S09/6998/"&gt;graduate course on this 3rd area&lt;/a&gt; being taught by Rocco Servedio at Columbia this term.  If the lecture notes continue, this should be a great resource for this huge area of complexity theory.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-2700279329584520926?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/2700279329584520926/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/combinatorial-complexity.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2700279329584520926'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2700279329584520926'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/combinatorial-complexity.html' title='Combinatorial Complexity'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7475520234151298959</id><published>2009-02-12T14:45:00.002-05:00</published><updated>2009-02-12T14:48:48.547-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 9</title><content type='html'>Topics covered in Lecture 9:&lt;br /&gt;&lt;br /&gt;Randomized space: $RL \subseteq BPL \subseteq L^{3/2}$ (Saks-Zhou Theorem), USTCON $\in RL$.  Circuits (as parallel computation): $NC$ vs. $P$, $NC^0$,  $NC^1 \subseteq L \subseteq NL \subseteq NC^2$, matrix multiplication in $NC^1$, nonuniform $NC^1 = $ poly-size formulas.  Branching programs: non-uniform $L = $ poly-size branching programs, small-width branching programs, statement of Barrington's Theorem (nonuniform $NC^1 = $ constant-width poly-size branching programs).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7475520234151298959?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7475520234151298959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7475520234151298959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7475520234151298959'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-9.html' title='Lecture 9'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-8032497587389990169</id><published>2009-02-10T08:46:00.003-05:00</published><updated>2009-02-10T09:08:32.325-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Office hours today</title><content type='html'>Just a reminder that while class is canceled today, I will still be holding my office hours between 12:30pm and 1:30pm today, in Wean 3709. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-8032497587389990169?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/8032497587389990169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/office-hours-today.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8032497587389990169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8032497587389990169'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/office-hours-today.html' title='Office hours today'/><author><name>Eric Blais</name><uri>http://www.blogger.com/profile/12295883537274138238</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-8274702482783833098</id><published>2009-02-09T12:01:00.000-05:00</published><updated>2009-02-10T09:08:32.325-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Tuesday's class canceled</title><content type='html'>Don't forget :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-8274702482783833098?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/8274702482783833098/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/tuesdays-class-canceled.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8274702482783833098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8274702482783833098'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/tuesdays-class-canceled.html' title='Tuesday&apos;s class canceled'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-5226636458914312178</id><published>2009-02-06T19:04:00.009-05:00</published><updated>2009-05-03T14:08:29.467-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Average Case Hardness</title><content type='html'>In 1971, Stephen Cook showed that the boolean satisfiability problem is NP-Complete under polynomial time reductions.  Soon afterward, Karp showed that many natural combinatorial problems (Vertex Cover, Clique, Hamiltonian Circuit etc..) were also NP-Complete.  However, these results are often misinterpreted.  Because most computer scientists believe $P \neq NP$ it is easy to assume that it is always hard to solve $3-SAT$.  This is not true.  In fact most randomly generated $3-SAT$ instances can be solved efficiently by algorithms like DPLL.  Assuming that $P \neq NP$ then all we may conclude is that there is no efficient algorithm to solve these problems in the worst case.  It is conceivable that $NP-Complete$ problems could still admit polynomial time algorithms for average instances.&lt;br /&gt;&lt;br /&gt;Notice that problems which are not hard on average are poor candidates for cryptography and one-way functions.  Protocols such as Diffie-Hellman would absolutely fail if it was easy to compute the discrete logarithm (given a multiplicative generator $g$ in a finite field &lt;span style="font-style: italic;"&gt;mod p&lt;/span&gt;, and an integer $x$ compute $a$ such that $g^a \equiv x$ &lt;span style="font-style: italic;"&gt;mod p&lt;/span&gt;) for average instances.  Russel Impagliazzo (&lt;span style="font-style: italic;"&gt;A Personal View of Average-Case Complexity&lt;/span&gt;) describes several possible worlds and their applications to cryptography.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;World 1:&lt;/span&gt; Algorithmica $P = NP$ or $NP \subseteq BPP$.  We all know that such a result would revolutionize computer science and machine learning.  However, cryptography would be impossible in this world.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;World 2:&lt;/span&gt; Heuristica $P \neq NP$, but, over any efficiently computable distribution, $NP-Complete$ problems are tractable on average.  Intuitively, there are hard instances of $NP$ problems, but the problem of finding hard instances is itself intractable.  Once again, crytography would most likely not be feasible in Heuristica because eavesdroppers could solve problems in a time comparable to the time it took to generate the problem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;World 3: &lt;/span&gt;Pessiland $P\neq NP$ AND there are problems which are hard in the average-case for efficiently computable distribution.  However, there are no one way functions.  This means that given $f(x)$ it is usually possible to find some $x'$ such that $f(x') = f(x)$ in time comparable to the ammount of time needed to compute $f(x)$.  In Pessiland, it would be easy to generate hard instances of $NP$ problems, but there would be no way of generating hard (presolved) instances of $NP$ problems.  Public key crytography would still not be possible.  Thus, Average Case Hardness is a necessary (but not sufficient) condition for cryptography.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Worlds 4 and 5:&lt;/span&gt; Minicrypt and Cryptomania. In Cryptomania, almost any cryptographic task is possible.  This is the world we typically assume we live in, because we assume protocols like RSA and Diffie-Hellman are secure.   However, the only evidence that the Discrete Logarithm problem is hard is that fact that we don't know of an efficient algorithm to compute it.  In reality, there is no theoretical reason why the problem should be hard. In fact, Peter Shor recently showed that Discrete Logarithms can be solved efficiently on a Quantum Computer.&lt;br /&gt;&lt;br /&gt;Fortunately for cryptographers, the Discrete Logarithm problem is a beautiful example of self reducibility.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lemma&lt;/span&gt;: Suppose that we had an algorithm $A$ which computes the the discrete logarithm efficiently (in time $poly(n)$, $n = \log p$) for at least $\frac{p}{poly(n)}$ values of $x$, then there is an efficient ZPP algorithm $A'$ to compute the discrete logarithm efficiently.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Proof (Sketch)&lt;/span&gt;:  We can pick $k$ such that $A$ solves at least $\frac{p}{n^k}$ instances in time $O(n^k)$, let $m = n^{2k}$.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Input&lt;/span&gt;: Generator g, Integer x, Prime p&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Output&lt;/span&gt;: $a$ such that $g^a \equiv x$ &lt;span style="font-style: italic;"&gt;mod p&lt;/span&gt; or FAIL&lt;br /&gt;&lt;br /&gt; For $i = 1...m$&lt;br /&gt;---$a_i \leftarrow Unif(0,p-2)$&lt;br /&gt;--- $x_i = g^{a_i}$ mod p&lt;br /&gt; ---// Number Theory Fact: this is equivalent to picking $x_i\leftarrow Unif(1,...,p-2)$&lt;br /&gt;&lt;br /&gt; ---If $A(g,x\times x_i,p)$ returns $a'$ in $n^k$ steps then&lt;br /&gt;    ------// Now we know the answer due to number theory:&lt;br /&gt;                 ------// $x \times x_i \equiv g^{a_i} g^{a}$ &lt;span style="font-style: italic;"&gt;mod p&lt;/span&gt;&lt;br /&gt;                 ------// $ g^{a_i} g^{a} = g^{a_i + a} \equiv g^{a'} $ &lt;span style="font-style: italic;"&gt;mod p&lt;/span&gt;&lt;br /&gt;                 ------// $a = a' - a_i$&lt;br /&gt;                ------return $a = a' - a_i$&lt;br /&gt;Output Failed&lt;br /&gt;&lt;br /&gt;It is not too hard to verify that the algorithm takes polynomial time and with high probability computes the correct answer. QED&lt;br /&gt;&lt;br /&gt;I am unaware of any NP-Complete problems which are self reducible in a similar sense as the Discrete Logarithm problem.  If such a self reduction was found I suspect that this would be a very interesting result in complexity theory.&lt;br /&gt;&lt;br /&gt;A more common approach to the problem of defining average case hardness is that of Leonid Levin.   Levin (&lt;span style="font-style: italic;"&gt;Average Case Complete Problems&lt;/span&gt;) defines the notion of a&lt;span style="font-style: italic;"&gt; random NP problem&lt;/span&gt; and a  &lt;span style="font-style: italic;"&gt;complete &lt;/span&gt;random NP problem.  His definitions are tedious and hard to follow at times, but they are worth the time and energy to understand.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definition&lt;/span&gt;: A random problem is a pair $(\mu, R)$ where $R \subset \mathbb{N}^2$ is an instance witness and $\mu: \mathbb{N} \rightarrow [0,1]$ is a &lt;span style="font-style: italic;"&gt;probability distribution function.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A problem instance is an integer $x$ is the problem instance.  $x \in L$ if and only if there is $y$ such that $(x,y) \in R$. The a probability distribution function $\mu(x)$ gives the probability of all problem instances which do not exceed $x$.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Notation&lt;/span&gt;: $\mu'(x) = \mu(x)-\mu(x-1)$ is the &lt;span style="font-style: italic;"&gt;probability density function&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Also, by convention&lt;br /&gt;&lt;ul&gt;&lt;li&gt;$|x| = \lceil \log x \rceil$&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;$R(x,y)$ is true if and only if $(x,y) \in R$.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definition&lt;/span&gt;: A &lt;span style="font-style: italic;"&gt;random problem&lt;/span&gt; is in NP if both $R$ and $\mu$ are both computable in polynomial time.  We call such a problem a &lt;span style="font-style: italic;"&gt;random NP Problem.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In other words, given a tuple $(x,y)$ (a problem instance and a verifier) we can decide whether or not $(x,y) \in R$ in polynomial time in $|x|$.  We can also sample from the distribution $\mu$ in polynomial time.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definition&lt;/span&gt;: A random problem $(\mu, R)$ is &lt;span style="font-style: italic;"&gt;polynomial on average&lt;/span&gt; if there is a Turing Machine $M$, which runs in time $t(x)^k$ such that:&lt;br /&gt;&lt;ol&gt;&lt;li&gt; $M(x) \leftrightarrow \exists y R(x,y)$&lt;/li&gt;&lt;li&gt; $\Sigma_{x=1}^\infty \mu'(x) \frac{t(x)}{|x|}$ converges.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;The first condition guarantees that $M$ actually decides the problem.  The second condition guarantees that the Turing Machine must run quickly on average instances sampled from our distribution $\mu$.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definition&lt;/span&gt;: We say that the probability distribution function $\mu_1$ dominates $\mu$ if $\exists k \forall x \frac{\mu'(x)}{\mu_1(x)} \leq |x|^k$.  In such a case we write $\mu \prec \mu_1$.&lt;br /&gt;&lt;br /&gt;Intuitively, this definition guarantees that all of the '&lt;span style="font-style: italic;"&gt;likely&lt;/span&gt;' instances of $\mu$ are also the 'likely' inputs of $\mu_1$&lt;br /&gt;&lt;br /&gt;We are finally ready to define the notion of reduction between &lt;span style="font-style: italic;"&gt;random NP problems&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Definition&lt;/span&gt;:A polynomial time computable function $f$ reduces a random NP problem $(\mu_1, R_1)$ to another random NP problem $(f(\mu_2), R_2)$ if the following conditions hold:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;$f(\mu_2)(x) = \Sigma_{f(y) \leq x} \mu'(y)$&lt;/li&gt;&lt;li&gt; $\mu_1 \prec \mu_2$&lt;br /&gt;&lt;/li&gt;&lt;li&gt;$\exists y_1 R(x,y_1) \leftrightarrow \exists y_2 R(f(x),y_2)$&lt;/li&gt;&lt;/ol&gt;Condition 1 and 2 say that likely instances of problem 1 are mapped to likely instances of problem 2.  Condition 3 guarantees that yes instances of problem 1 are mapped to yes instances problem (also no instances are mapped to no instances).&lt;br /&gt;&lt;br /&gt;Levin shows that these reductions are closed under composition.  If $A(x)$ is an algorithm that is fast on average for $(f(\mu_2), R_2)$ then $A(f(x))$ runs at most polynomially slower for $(\mu_1, R_1)$.&lt;br /&gt;&lt;br /&gt;Definition: A &lt;span style="font-style: italic;"&gt;random NP problem &lt;/span&gt;is &lt;span style="font-style: italic;"&gt;complete&lt;/span&gt; if every &lt;span style="font-style: italic;"&gt;random NP problem&lt;/span&gt; is reducible to it.&lt;br /&gt;&lt;br /&gt;Levin proved that Tiling is an NP-complete random problem.  Other natural combinatorial problems such as Graph Coloring and Matrix Decomposition have also been shown to be NP-complete random problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-5226636458914312178?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/5226636458914312178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/average-case-hardness.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5226636458914312178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5226636458914312178'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/average-case-hardness.html' title='Average Case Hardness'/><author><name>jblocki</name><uri>http://www.blogger.com/profile/08267861133300203008</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-9023246584420869083</id><published>2009-02-05T15:57:00.003-05:00</published><updated>2009-02-10T09:06:42.520-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 8</title><content type='html'>Today we proved the following five theorems:&lt;br /&gt;&lt;br /&gt;1. $NSPACE(s(n)) \subseteq DTIME(2^{O(s(n))}).&lt;br /&gt;&lt;br /&gt;2. ST-Connectivity is $NL$-complete.&lt;br /&gt;&lt;br /&gt;3. Savitch's Theorem: $NSPACE(s(n)) \subseteq DSPACE(s(n)^2)$.&lt;br /&gt;&lt;br /&gt;4. TQBF is $PSPACE$-complete.&lt;br /&gt;&lt;br /&gt;5. Immerman-Szelepcsényi Theorem: $NSPACE(s(n)) \subseteq coNSPACE(s(n))$.  &lt;br /&gt;&lt;br /&gt;Here $s(n) \geq \log n$ is a space-constructible bound.  (I believe that for most of these, if you want to get really really technical, you can even drop space-constructibility :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-9023246584420869083?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/9023246584420869083/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-8.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/9023246584420869083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/9023246584420869083'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-8.html' title='Lecture 8'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-438349582329330209</id><published>2009-02-03T15:28:00.002-05:00</published><updated>2009-02-10T09:06:42.520-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 7</title><content type='html'>Today we covered: Permanent is #P-complete (statement); Toda's Theorem; statements of basic space theorems (non-deterministic space $s$ in deterministic $2^{O(s)}$ time, Savitch's Theorem, Immerman-Szelepcsenyi Theorem).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-438349582329330209?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/438349582329330209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-7.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/438349582329330209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/438349582329330209'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/lecture-7.html' title='Lecture 7'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-5709140106169676742</id><published>2009-02-02T20:49:00.001-05:00</published><updated>2009-02-10T09:08:32.325-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Homework 2</title><content type='html'>Homework 2 has been posted slightly early for your enjoyment!  It's linked to on the course home page.  Due Feb. 17.&lt;br /&gt;&lt;br /&gt;I assume you all saw the hints for Homework 1 in the comments to the previous post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-5709140106169676742?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/5709140106169676742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/homework-2.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5709140106169676742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5709140106169676742'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/02/homework-2.html' title='Homework 2'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-1603855812056152549</id><published>2009-01-31T12:55:00.006-05:00</published><updated>2009-05-03T14:12:12.490-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Details'/><title type='text'>Misc. Definitions</title><content type='html'>In the lectures we've skipped some technical definitions so as to not get bogged down.  But these are good things to know; they'll come up again and again if you study Complexity Theory.&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight:bold;"&gt;Constructibility:&lt;/span&gt;A function $f : \mathbb{N} \to \mathbb{N}$ is &lt;span style="font-weight:bold;"&gt;time-constructible&lt;/span&gt; if there is a DTM which, on input $1^n$, outputs $1^{f(n)}$ in time $O(f(n))$.  It is &lt;span style="font-weight:bold;"&gt;space-constructible&lt;/span&gt; if outputting $1^{f(n)}$ is doable in space exactly $f(n)$.  As mentioned in class, we also invariably restrict attention to time bounds that are at least $n$ and space bounds that are at least $\log n$.  In this case, every non-ridiculous time bound you would ever use is time-constructible, and similarly for space.  The Time and Space Hierarchy Theorems require constructibility.&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight:bold;"&gt;Promise problems:&lt;/span&gt;  This is a generalization of a "language".  A promise problem is a pair $(Y,N)$ of disjoint subsets of $\{0,1\}^*$.  A TM "decides" the promise problem if it accepts all strings in $Y$ and rejects all strings in $N$.  Note that a promise promise is a language iff $Y \cup N = \{0,1\}^*$.  The name "promise" here refers to the fact that you can think of the TM as being "promised" that the input string is always in $Y \cup N$.  Generally speaking, if there is an "efficient" algorithm for checking if $x \in Y \cup N$ then the promise problem is not much different from a language (one can put the "easily decidable" strings in $\{0,1\}^* \setminus (Y \cup N)$ into either $Y$ or $N$, say).  &lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight:bold;"&gt;Syntactic/semantic classes:&lt;/span&gt;  This is not a 100% rigorous definition; we illustrate it via examples.  A complexity class defined via time-bounded machines (TMs, NTMs, counting TMs, etc.) is said to be &lt;span style="font-weight:bold;"&gt;syntactic&lt;/span&gt; if there is an "effective enumeration" of the machines defining the class.  For example, if $f(n)$ is a time-constructible function, the class $DTIME(f(n))$ is a syntactic class, since you can effectively enumerate the TMs running in time at most $O(f(n))$.  Similarly for $NTIME(f(n))$ -- the NTMs running in time at most $O(f(n))$ are effectively enumerable.  Classes like $P$, $NP$, $PSPACE$ are "syntactic".  Syntactic class have Hierarchy Theorems and they also tend to have "generic complete problems".  A &lt;span style="font-weight:bold;"&gt;semantic class&lt;/span&gt; is one which is not syntactic; generally, this means it is defined by a machine class "with a promise".  The classic example is $BPP$:  Here there is no way to effectively enumerate randomized TMs with the property that for each $x$ they either accept with probability at least $3/4$ or reject with probability at least $3/4$.  (Indeed, checking whether an RTM has this property is undecidable.)  Instead, languages in $BPP$ are defined only by machines $M$ that satisfy the promise "$M$ is a BPP machine".&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight:bold;"&gt;Promise classes:&lt;/span&gt;  For semantic classes like $RP$ and $BPP$ there is an associated "promise class" of promise problems, denoted $prRP$, $prBPP$, etc.  For example, $prRP$ is the class of all promise problems $(Y,N)$ such that there is a polynomial-time RTM which accepts all strings $x \in Y$ with probability at least $1/2$ and accepts all strings $x \in N$ with probability $0$.  The RTM may have any behavior on strings not in $Y \cup N$.&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight:bold;"&gt;Uniformity:&lt;/span&gt; Again, this is not 100% well-defined, but a complexity class is said to be &lt;span style="font-weight:bold;"&gt;uniform&lt;/span&gt; if it is defined by one machine that operates for all input lengths.  It is said to be &lt;span style="font-weight:bold;"&gt;nonuniform&lt;/span&gt; if there is a different machine defining it for each input lengths.  Roughly, classes with TM-based definitions are "uniform", and classes with circuit-based definitions are "nonuniform".&lt;br /&gt;&lt;br /&gt;6. &lt;span style="font-weight:bold;"&gt;Reductions:&lt;/span&gt;  We've talked about how it is important to specify the complexity of reductions (poly-time, log-space, even $AC^0$), but there's also another distinction.  A &lt;span style="font-weight:bold;"&gt;many-one (or Karp) reduction&lt;/span&gt; $R$ from $L$ to $L'$ is one which maps $x$ to $R(x)$ such that $x \in L \iff R(x) \in L'$.  An &lt;span style="font-weight:bold;"&gt;oracle (or Cook) reduction&lt;/span&gt; $R$ is one which solves $L$ by using an algorithm for $L'$ as an oracle.  Having a Karp reduction is "stronger" than having a Cook reduction, and we generally define completeness for complexity classes in terms of having a Karp reduction because we can: e.g., all textbook $NP$-completeness reductions are many-one.  But sometimes it's better to define completeness in terms of Cook reductions; for example, as we saw in class with $\#\P$.&lt;br /&gt;&lt;br /&gt;7. &lt;span style="font-weight:bold;"&gt;-hard:&lt;/span&gt;  For a class $C$ we said that $L$ is $C$-complete if: (a) $L \in C$; (b) every problem in $C$ reduces to $L$.  We say that $L$ is $C$&lt;span style="font-weight:bold;"&gt;-hard&lt;/span&gt; when (b) holds.&lt;br /&gt;&lt;br /&gt;8. &lt;span style="font-weight:bold;"&gt;Self-reducibility:&lt;/span&gt;  A language $L$ is said to be &lt;span style="font-weight:bold;"&gt;downward self-reducible&lt;/span&gt; if one can decide $x \in L$ efficiently using an &lt;span style="font-style:italic;"&gt;oracle for $L$ on instances of size $&lt; |x|$&lt;/span&gt;.  This sounds funny, but it makes sense. The classic example is $SAT$:  If you have a black box which can solve any $SAT$ instance of size at most $n$, you can use it to efficiently solve any instance of size at most $n+1$; you use the classic trick of setting $x_1$ to $0$ and checking satisfiability, and setting $x_1$ to $1$ and checking satisfiability.  A language $L$ is said to be &lt;span style="font-weight:bold;"&gt;randomly self-reducible&lt;/span&gt; if one can decide $x \in L$ efficiently with high probability using an oracle for $L$ which works with high probability on &lt;span style="font-style:italic;"&gt;randomly chosen instances&lt;/span&gt;.  An example (as we'll see at some point in class) is the 0-1 PERMANENT problem: If you can solve randomly chosen 0-1 PERMANENT instances with high probability, you can actually solve &lt;span style="font-style:italic;"&gt;all&lt;/span&gt; 0-1 PERMANENT instances with high probability.&lt;br /&gt;&lt;br /&gt;9. &lt;span style="font-weight:bold;"&gt;Padding:&lt;/span&gt;  Padding is the general idea of taking a language $L$ and considering the language $L' = \{ x\#1^{f(|x|)} : x \in L \}$, where $f$ is some fast-growing functions.  I.e., it's the idea of "padding" all inputs with a large number of "blanks".  It is used for classic &lt;span style="font-weight:bold;"&gt;upward collapse&lt;/span&gt; results such as "$NP = P \Rightarrow NEXP = EXP$".  To see this, suppose $NP = P$.  Let $L$ be a language in $NEXP$; say it's in $NTIME(2^{n^c})$.  Let $L'$ be the padded version of $L$, where $f(x) = 2^{n^c}$.  Now it's easy to see that $L'$ is in $NP$:  just run the $NTIME(2^{n^c})$ algorithm for $L$, which is now "polynomial time" because the input length in $L'$ has been padded.  Hence by assumption, $L'$ is in $P$.  But then clearly $L$ is in $EXP$: to decide $x \in L$ in exponential time, just pad $x$ and then run the $P$-algorithm for $L'$.  &lt;br /&gt;&lt;br /&gt;10. &lt;span style="font-weight:bold;"&gt;Succinctness:&lt;/span&gt; This is the spiritual opposite of padding.  For some languages $L$, there is a version $L'$ where the inputs for $L$ are &lt;span style="font-weight:bold;"&gt;succinctly described&lt;/span&gt;.  The classic example is where $L$ is CIRCUIT-VALUE, and $L'$ is SUCCINCT-CIRCUIT-VALUE.  Here, an input $E$ for $L'$ is a "succinct encoding" of an (exponentially large) circuit $C$:  The input $E$ itself is a circuit, which on input $i$ "outputs the $i$th gate in $C$" -- its type (AND, OR, NOT, input, output), and the indices of the gates that feed into it.  Typically, the "succinct" version of a complete language is itself complete for the "exponentially larger" class.  For example, you can check that since CIRCUIT-VALUE is $P$-complete, SUCCINCT-CIRCUIT-VALUE is $EXP$-complete.  And since SAT is $NP$-complete, SUCCINCT-SAT (where the input is a circuit describing an exponentially long formula) is $NEXP$-complete.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-1603855812056152549?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/1603855812056152549/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/misc-definitions.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1603855812056152549'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1603855812056152549'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/misc-definitions.html' title='Misc. Definitions'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7913260341879163931</id><published>2009-01-30T16:06:00.020-05:00</published><updated>2009-05-03T14:08:29.467-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Partial Derandomization of Polynomial Identity Checking (II)</title><content type='html'>Given the blackbox model, a direct way to test whether there's a zero polynomial inside is just to try (maybe a lot of) inputs. Then if it is a zero polynomial you'll always get the right answer; but if it isn't, you need to have a reasonable bound on the number of tests you need to make. Hence the key observation that makes an efficient randomized algorithm possible is the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(Schwartz-Zippel) &lt;/span&gt;Let $P(x_1,...,x_n)\in F[x_1,...,x_n]$ be a nonzero polynomial and $d=\sum d_i$. Pick points in some set $S^n\subseteq\bar F^n$ ($\bar F$ denotes the algebraic closure of $F$, which is just a technicality, since sometimes you need to go into extensions of $F$) and feed them to the blackbox, then you get at most $d|S|^{n-1}$ zeros as output.&lt;br /&gt;&lt;br /&gt;An inductive argument (on the number of variables) easily shows its validity. This is saying: if you choose a reasonably big $S$, say $|S|&gt;cd$ for some constant $c$, then the possibility of getting zero as output is at most $c^{-1}$. The number of random bits used is $n\log cd$. Evidently the algorithm can be boosted to arbitrary precision at the cost of using more random bits (bigger $S$ or repetitive runs).&lt;br /&gt;&lt;br /&gt;This is a practical enough algorithm, but can we possibly have some magic inputs to try on the blackboxes, so that zero polynomials can be &lt;span style="font-style: italic;"&gt;deterministically&lt;/span&gt; detected from the output? Consider, for example, when you know the polynomial only has integer coefficients, maybe you can feed it with some numbers whose weirdness will not be affected by the integer coefficients, and the whole polynomial evaluates to zero iff all the coefficients are zero! This is the idea of Chen-Kao: use  &lt;span style="font-style: italic;"&gt;irrational numbers&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Suppose we feed $P(x_1,...,x_n)$ (which contains only integer coefficients) with an input $(\pi_1,...,\pi_n)$ satisfying $\pi_i=\sum_{j=1}^{\log (d_i+1)} \sqrt p_{ij}$ where $p_{ij}$s are arbitrary (different) prime numbers. Then, $P(x_1,...,x_n)\neq 0$ iff $P(\pi_1,...,\pi_n)\neq 0$. (Proof: In the inductive step, first evaluate $P$ on $\pi_1,...,\pi_{n-1}$, which results in a univariate polynomial $P'(x_n)$, with coefficients in the extension field $F'=F[\pi_1,...,\pi_{n-1}]$. But notice that the dimension of $F'[\pi_n]$ over $F'$ is $2^{\log(d_n+1)}$, which is bigger than the degree $d_n$, implying that $\pi_n$ can never be a root of $P'(x_n)$.)&lt;br /&gt;&lt;br /&gt;But isn't that saying we have a deterministic algorithm already? No - you can never evaluate irrational numbers at infinite precision! We can only truncate the binary expansion of the irrationals at certain decimal positions, say $l$, and &lt;span style="font-style: italic;"&gt;randomly&lt;/span&gt; choose the signs of $p_{ij}$s -the error probability then drops proportionally to $l^{-1}$ (calculation is needed and contained in Chen-Kao's original paper (Lemma2.2)). Rethink about this: the precision of the algorithm depends on $l$, which is not in the random bits! So arbitrarily precision can be achieved without changing the number of random bits (which is $\sum_{i=1}^n \log (d_i+1)$), the number of different signs we picked).&lt;br /&gt;&lt;br /&gt;Chen-Kao's ingenious method has one drawback - it's dependent on the properties of numbers (coefficients need to be integers; prime numbers need to exist - not the case for, say, finite fields). This is where Lewin-Vadhan came in, with an abstraction of the method applicable to arbitrary field.&lt;br /&gt;&lt;br /&gt;The idea of Lewin-Vadhan is to find a substitute notion of &lt;span style="font-style: italic;"&gt;irrationals &lt;/span&gt;in arbitrary fields. Note that the underlying strategy of Chen-Kao is to find some evaluation points that are provably non-vanishable for nonzero polynomials. Lewin-Vadhan carefully showed that the following analogy works: let prime numbers be abstracted to irreducible polynomials in $F[x]$; binary expansion of the square roots be abstracted to power series (in $F[[x]]$) of the square roots of the irreducible polynomials, which are approximated by truncating modulo some $x^l$.&lt;br /&gt;&lt;br /&gt;For the whole scheme to work, two things need to be affirmed:&lt;br /&gt;&lt;br /&gt;1. The irreducible polynomials indeed work as prime numbers, i.e., when any nonzero polynomials $P(x_1,...,x_n)$, let $\pi_i=\sum_{j=1}^{\log (d_i+1)} \sqrt f_{ij}$ ($f_{ij}$s are now univariate polynomials) then $P(\pi_1,...,\pi_n)$ is never zero (in $F[x]$!). The proof for this goes similarly as the simpler proof above for prime numbers.&lt;br /&gt;&lt;br /&gt;2. The irreducible polynomials that have square root expansions (this is not always the case since the constant term has to be quadratic residue) need to be easy enough to find. In fact, it is proved using &lt;span style="font-style: italic;"&gt;Hensel's Lemma&lt;/span&gt; that polynomials have a power series expansion in $F[[x]]$ iff the constant term is a quadratic residue (except for finite fields of characteristic 2, which are handled independently). Also, the number of irreducible polynomials in $F[x]$ of degree less than $n$ is at least $(|F|^n-1)/n$. Please refer to the original paper for the full proofs (actually the &lt;a href="http://www.eecs.harvard.edu/%7Esalil/papers/polys-prelim.pdf"&gt;extended version&lt;/a&gt; of it).&lt;br /&gt;&lt;br /&gt;Finally, the approximation using power series needs to give the desirable error probability. For any given error $\epsilon$, the power series can be truncated at $x^l$ where $l=0.5 \epsilon^{-1} d \max (\deg (f_{ij}))$. This is technically more complicated than just probability calculation as for the prime number case. But, (very "luckily", which is a word used multiple times in the paper), everything works out. The random bits are, still, only used for choosing signs of $\sqrt f_{ij}$, and the number of them is $\sum_i\log (d_i+1)$.&lt;br /&gt;&lt;br /&gt;In a sense, the problem is &lt;span style="font-style: italic;"&gt;solved&lt;/span&gt; after Lewin-Vadhan's construction. It is provable that under the given model (i.e., only $n$ and $d_i$ are known as parameters), the number of random bits used is already optimal - since any deterministic algorithm requests at least $\prod_i (d_i+1)$ queries to decide the polynomial (if the number of queries is smaller than $\prod_i (d_i+1)$ which is the number of possible monomials, you'll get polynomials indistinguishable from the zero polynomial), any random algorithm necessarily needs $r=(1-O(1))\sum_i \log(d_i+1)$ bits (a trivial derandomization is to try out all the $2^r$ possibilities which shouldn't be smaller than the deterministic queries needed).&lt;br /&gt;&lt;br /&gt;This should be a good success story in randomized algorithm design, had there not been the tragic death of Daniel Lewin on 9-11, 2001.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7913260341879163931?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7913260341879163931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/partial-derandomization-of-polynomial_30.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7913260341879163931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7913260341879163931'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/partial-derandomization-of-polynomial_30.html' title='Partial Derandomization of Polynomial Identity Checking (II)'/><author><name>Sean Gao</name><uri>http://www.blogger.com/profile/17687679611637666673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-894106888610777133</id><published>2009-01-29T22:42:00.003-05:00</published><updated>2009-05-03T14:21:33.672-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 6</title><content type='html'>In this class we finished the proof of the &lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/docs/lecture6-abridged.pdf"&gt;Approximate Counting/Sampling and the Bshouty-Cleve-Gavalda-Kannan-Tamon Theorem&lt;/a&gt;.  We also introduced #P.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-894106888610777133?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/894106888610777133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-6-approximate-countingsampling.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/894106888610777133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/894106888610777133'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-6-approximate-countingsampling.html' title='Lecture 6'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-2806734691321255767</id><published>2009-01-29T21:48:00.009-05:00</published><updated>2009-05-03T14:08:29.467-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>Partial Derandomization of Polynomial Identity Checking (I)</title><content type='html'>(To Ryan and Venkat: my post is getting too long so I'm breaking it into two (hopefully not three) parts and the second part will come out tomorrow...)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Checking multivariate polynomial identities&lt;/span&gt; is a problem central to algorithm design and complexity theory.&lt;br /&gt;&lt;br /&gt;I didn't inline a formal definition  in the previous sentence, because there's a catch in defining the problem. A polynomial $P(x_1,...,x_n)$ (say, in $F[x_1,...,x_n]$ for some field $F$) can be viewed as, at least, two things: &lt;span style="font-style: italic;"&gt;syntactically&lt;/span&gt;, it is just a formal expression recursively built up from variables, coefficients from $F$, arithmetic operators and parentheses; &lt;span style="font-style: italic;"&gt;semantically&lt;/span&gt;, it is a function from $F^n$ to $F$. Correspondingly, when we say a polynomial is identical to zero, we can have two different meanings:&lt;br /&gt;&lt;br /&gt;1. It is indeed the zero element in the ring $F[x_1,...,x_n]$. Namely, when written in sparse form (that is, when parentheses are no longer needed), all coefficients turn out to be zero.&lt;br /&gt;2. It is a constant function that maps all the points in $F^n$ to $0\in F$.&lt;br /&gt;&lt;br /&gt;The two definitions coincide only over an infinite field $F$ (reason: a syntactically non-zero polynomial can not vanish on all the points in $F^n$ (but note that it can definitely vanish on an infinite number of points, some online notes are wrong about this), since you can fix values to $n-1$ variables and get a univariate polynomial which can only have finitely many roots (less or equal than its degree). For a finite field of size $q$, the polynomial $(x^q-x)\in F[x]$ vanishes on every point in $F$ (reason: the nonzero elements are in a cyclic group under multiplication, obeying Lagrange's theorem).&lt;br /&gt;&lt;br /&gt;We fix definition #1. If you need, two reasons can be provided:&lt;br /&gt;1. For definition #2, the problem is coNP-complete over finite fields. It's in coNP since you can decide its complement language by checking certificates for their nonzero-ness. It's complete since Boolean tautologies are just polynomials that are always evaluated to 1 over the finite field of size 2.&lt;br /&gt;2. Applications: &lt;a href="http://scholar.google.com/scholar?hl=en&amp;amp;rlz=1B3GGGL_enUS284US284&amp;amp;q=author:%22Lov%C3%A1sz%22+intitle:%22On+determinants,+matchings,+and+random+algorithms%22+&amp;amp;um=1&amp;amp;ie=UTF-8&amp;amp;oi=scholarr"&gt;Biparitite matching&lt;/a&gt;, &lt;a href="http://portal.acm.org/citation.cfm?doid=146585.146609"&gt;IP=PSPACE&lt;/a&gt;, &lt;a href="http://books.google.com/books?id=QKVY4mDivBEC&amp;amp;dq=randomized+algorithms+book&amp;amp;printsec=frontcover&amp;amp;source=bn&amp;amp;hl=en&amp;amp;sa=X&amp;amp;oi=book_result&amp;amp;resnum=7&amp;amp;ct=result"&gt;etc&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Now the problem is clear: given a multivariate polynomial $P(x_1,...,x_n)\in F[x_1,...,x_n]$, we would like to decide whether $P(x_1,...,x_n)=0\in F[x_1,...,x_n]$. Next we need to decide the description format of the input polynomials. In the trivial case, polynomials can be given in sparse form and you just take a look at the coefficients. Of course that shouldn't be what we are concerned about here, since expanding polynomials easily takes exponential time. Rather, we take the &lt;span style="font-style: italic;"&gt;black-box&lt;/span&gt; &lt;span style="font-style: italic;"&gt;model &lt;/span&gt;of the polynomials, which is just something that efficiently evaluates the polynomial given any point in $F^n$. The only parameters of the polynomial that we have access are: the number of variables $n$, and the highest degree on each variable $d_i, i\in \{1,...,n\}$. Note that if we are allowed to know other parameters, the problem can be &lt;a href="http://portal.acm.org/citation.cfm?id=644108.644233"&gt;different&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So (Too) much for the preparation. The problem was given a randomized polynomial time algorithm first by &lt;a href="http://portal.acm.org/citation.cfm?id=322225"&gt;Schwartz-Zippel&lt;/a&gt;. Twenty years after that, &lt;a href="http://portal.acm.org/citation.cfm?id=258533.258583"&gt;Chen-Kao&lt;/a&gt; gave a partial derandomization of Schwartz-Zippel's algorithm (i.e., reduced the number of random bits needed in the algorithm) for polynomials with integer coefficients. Later, &lt;a href="http://portal.acm.org/citation.cfm?id=276856"&gt;Lewin-Vadhan&lt;/a&gt;, which will be the focus of (the coming second part of) my post, generalized Chen-Kao's method to the problem in its full generality, and proved the optimality of the number of random bits used under the given model (blackbox, same parameters). As mentioned in class, whether the algorithm can be fully derandomized is open.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-2806734691321255767?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/2806734691321255767/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/partial-derandomization-of-polynomial.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2806734691321255767'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2806734691321255767'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/partial-derandomization-of-polynomial.html' title='Partial Derandomization of Polynomial Identity Checking (I)'/><author><name>Sean Gao</name><uri>http://www.blogger.com/profile/17687679611637666673</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-3555988642935746353</id><published>2009-01-28T13:27:00.005-05:00</published><updated>2009-05-03T14:11:06.607-04:00</updated><title type='text'>Trivial lemma =&gt; powerful circuit lower bounds</title><content type='html'>Remember the very first lemma we used in the proof of the Valiant-Vazirani Theorem?  Though simple, it's actually extremely useful.  Here is an equivalent way to state it:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Lemma:&lt;/span&gt; &lt;span style="font-style:italic;"&gt;There is a degree-2 "randomized $F_2$-polynomial" for the OR function.  Precisely, the degree-2 polynomial&lt;br /&gt;&lt;br /&gt;$p(x,r) = \sum_{i=1}^n r_i x_i$ mod 2&lt;br /&gt;&lt;br /&gt;computes the function OR($x$) with one-sided error $1/2$ when its "random bits" $r$ are chosen uniformly.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It's an easy exercise to show from this that there is a degree-$O(\log n)$ "randomized $F_2$-polynomial" which computes the OR function with one-sided error $1/n^{100}$.  Of course, there is similarly one for AND.  By combining these, you can get a polylog$(n)$-degree  randomized polynomial for any "$AC^0$" circuit.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Definition:&lt;/span&gt;  &lt;span style="font-style:italic;"&gt;A circuit is in "$AC^0$" if it is of polynomial size and constant depth.  Here we allow AND and OR gates of &lt;span style="font-weight:bold;"&gt;unbounded&lt;/span&gt; fan-in (otherwise you couldn't even compute the AND of all bits in constant depth!).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;But for some basic functions -- e.g., the function &lt;br /&gt;&lt;br /&gt;$f(x_1, ... , x_n) = \sum_{i=1}^n x_i$ mod 3&lt;br /&gt;&lt;br /&gt;-- it's not too hard to show that they can't have a polylog$(n)$-degree randomized polynomial.  Hence we get a rare circuit lower bound: this $f$ cannot be computed in $AC^0$.&lt;br /&gt;&lt;br /&gt;We will probably do this more explicitly later in the course.  This idea is also used crucially in Braverman's remarkable paper, discussed in an earlier blog post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-3555988642935746353?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/3555988642935746353/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/trivial-lemma-powerful-circuit-lower.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3555988642935746353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/3555988642935746353'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/trivial-lemma-powerful-circuit-lower.html' title='Trivial lemma =&gt; powerful circuit lower bounds'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-8528847791881150893</id><published>2009-01-27T14:57:00.000-05:00</published><updated>2009-02-10T09:06:42.521-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 5</title><content type='html'>The topics in Lecture 5 were:  Why having an algorithm for SAT is different from having an oracle for SAT; the Valiant-Vazirani theorem ("Unique-SAT $\in P \Rightarrow$ SAT $\in RP$"); pairwise-independent hash families; most of the Approximate Counting Theorem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-8528847791881150893?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/8528847791881150893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8528847791881150893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/8528847791881150893'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-5.html' title='Lecture 5'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-1336887823083337737</id><published>2009-01-26T13:12:00.005-05:00</published><updated>2009-05-03T14:11:06.607-04:00</updated><title type='text'>If pigs could whistle, then horses could fly</title><content type='html'>Sometimes a result in Complexity Theory is described (or disparaged?) with the phrase, "If pigs could whistle, then horses could fly".  (I can't figure out how this got started; the earliest online example I could find was from &lt;a href="http://math.mit.edu/~spielman/AdvComplexity/2001/lecture4_2001.ps"&gt;Dan Spielman's lecture notes&lt;/a&gt; but I'm pretty sure I heard it well before this.  Can someone antedate this reference?)&lt;br /&gt;&lt;br /&gt;The meaning is that the result is of the form "(something probably false) implies (something probably false)".  An example is the Karp-Lipton Theorem:&lt;br /&gt;&lt;br /&gt;$NP \subseteq P/poly \Rightarrow$ the Hierarchy collapses.&lt;br /&gt;&lt;br /&gt;If you really believe "$NP \subseteq P/poly$" is false, then in some sense the statement is vacuous.  If you somehow intuitively feel that "the Hierarchy collapses" is even more probably false than "$NP \subseteq P/poly$" then the statement has value; its contrapositive is that "assuming the Hierarchy doesn't collapse" (which you strongly believe), $NP$ does not have polynomial-size circuits (which maybe you believed less)?  &lt;br /&gt;&lt;br /&gt;In this particular case, I don't know what your intuition is, but I suppose mine is that I feel $NP \subseteq P/poly$ is &lt;span style="font-style:italic;"&gt;more&lt;/span&gt; false-seeming than that the Hierarchy collapse.  So does the Karp-Lipton tell me anything?!  Or is it just, "If pigs could whistle, then horses could fly"?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In this case, the theorem &lt;span style="font-weight:bold;"&gt;is very meaningful&lt;/span&gt; -- but for another reason.  As Scott Aaronson once wrote in a blog comment on this subject, "It gives one of the few known bridges between [TM-based complexity classes] and [circuits] -- and thereby lets us prove interesting circuit lower bounds."  By this he means the fact that $\Sigma_2$ does not have polynomial-size circuits -- Problem 4c on your homework!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-1336887823083337737?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/1336887823083337737/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/if-pigs-could-whistle-then-horses-could.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1336887823083337737'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/1336887823083337737'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/if-pigs-could-whistle-then-horses-could.html' title='If pigs could whistle, then horses could fly'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-6771410140617520752</id><published>2009-01-23T21:10:00.009-05:00</published><updated>2009-05-03T14:08:29.468-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='descriptive complexity theory'/><category scheme='http://www.blogger.com/atom/ns#' term='NP'/><category scheme='http://www.blogger.com/atom/ns#' term='complexity classes'/><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>The many characterizations of NP</title><content type='html'>When I first heard of nondeterministic Turing machines and the complexity class NP, I thought the idea was somewhat contrived. &lt;span style="font-size:100%;"&gt; &lt;/span&gt;&lt;span style="font-size:100%;"&gt;Alan Turing’s original work laid out a computational model which Turing believed captured all of the important artifacts of a person performing a computation.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;If you want to take a look at Turing’s paper (it’s a good read!), you can find a copy of it here: &lt;a href="http://www.thocp.net/biographies/papers/turing_oncomputablenumbers_1936.pdf"&gt;http://www.thocp.net/biographies/papers/turing_oncomputablenumbers_1936.pdf.&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;Today, we are taught to think of Turing machines like specific computer programs or computers (universal TMs).&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;Most programmers would be aghast at the thought of a computer being able to guess inputs to functions or take different courses of action in the middle of a computation.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;It turns out that despite some of the strangeness of thinking about nondeterministic machines, the complexity class NP has many interesting equivalent definitions without the use of nondeterminism.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;The goal of this blog post is to explore these various equivalences in more detail.&lt;/span&gt;&lt;p&gt;&lt;/p&gt;  &lt;p  style="color: rgb(0, 0, 0);font-family:arial;" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;We first saw robustness in our definitions when we showed that polytime multi-tape TMs have equivalent polytime single-tape TMs.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;Thus, the class P is robust in the sense that it doesn’t matter whether we use a single or multi-tape TM to solve problems in P, EXP, etc.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;  &lt;/span&gt;&lt;span style="font-size:100%;"&gt;In a somewhat similar looking result, Savatch’s theorem relates the amount of space required by a deterministic simulation of a nondeterministic machine as follows: $NSPACE(f(n)) \subseteq DSPACE(f^2(n))$.  &lt;/span&gt; Hence, the class PSPACE is robust to whether we use deterministic or nondeterministic machines.&lt;span style=""&gt;  &lt;/span&gt;In the area of low space complexity, we still don’t know whether L = NL. &lt;span style=""&gt; &lt;/span&gt;However, Immerman and Szelepcsenyi independently showed that NL = co-NL.&lt;span style=""&gt;  &lt;/span&gt;We’ll return back to this later when we mention descriptive complexity theory.&lt;/p&gt;  &lt;p style="color: rgb(0, 0, 0);"&gt;&lt;/p&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;Of course, one of the most important question about nondeterministic TMs is whether P = NP. &lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;While it’s straightforward to go about simulating a nondeterministic TM using only a quadratic space blowup, it’s not at all clear whether one can avoid doing an exhaustive search of computation paths in the simulation.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;Steve Cook has an excellent overview of the P vs. NP problem on the Clay Mathematics website that you should check out &lt;/span&gt;&lt;a href="http://www.claymath.org/millennium/P_vs_NP/Official_Problem_Description.pdf"&gt;here.&lt;/a&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;Overall, the study of complexity started early on when von Neumann, Cobham and Edmonds took interest in problems which have polytime solutions.&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;Over time, there have been proofs that certain theories are difficult to decide (look at Presberger arithmetic or type-checking in ML for example).&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;W&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;hether we should consider polynomial run time feasible is questionable (consider an O(n^100) algorithm and doubling the input size).  Alas, this argument seems like one best left to people actually implementing systems, where constant factors matter. :-)&lt;br /&gt;&lt;br /&gt;The P = NP is important from a theoretical and practical viewpoint.  It deserves a better response than "not unless P = 0 or N = 1."  I want to argue why NP is 'natural' in the sense that even without strange nondeterministic machines we still define NP in many different ways.  So with that, let's take a look at a few different characterizations of NP!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Characterization 1: &lt;span style=""&gt; &lt;/span&gt;You only need to easily verify a 'solution'.&lt;/p&gt;  &lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;&lt;span style="font-size:100%;"&gt;As we saw in class, NP is exactly those languages for which there’s a polynomial time ‘verifier’ V for the language.&lt;span style=""&gt;  &lt;/span&gt;We showed that for a language L in NP there’s some polytime TM V(.,.) and constant c such that V verifies x’s membership in L given the existence of some certificate string y, where |y| &lt; |x|^c.&lt;span style=""&gt;  If you don't have such a certificate, then x isn't in L.    &lt;/span&gt;The most basic and intuitive example we saw was SAT: given a propositional formula and truth assignment, you can easily check whether the assignment satisfies the formula.&lt;span style=""&gt;  &lt;/span&gt;If there is no such satisfying assignment, then the formula is not in SAT.&lt;span style=""&gt;  &lt;/span&gt;Sometimes it’s much more tangible to work with this characterization of NP- come up with an appropriate notion of a certificate and simply write a reasonably fast program which checks certificate validity.  Furthermore, this definition of NP doesn’t require the machinery of nondeterministic TMs.&lt;span style=""&gt;  &lt;/span&gt;A consequence of P = NP and this characterization of NP would be that finding solutions (certificates) is no harder (up to polynomial factors) than verifying solutions.&lt;span style=""&gt;  &lt;/span&gt;Alternatively, if P != NP, then there is some language for which it’s hard to find solutions. &lt;span style=""&gt; &lt;/span&gt;As SAT is NP-complete, SAT would need to be one such difficult language and we couldn't quickly find satisfying assignments for Boolean formulas.&lt;/span&gt;&lt;/p&gt; &lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;Characterization 2: Probabilistic Checkable Proofs&lt;/p&gt;  &lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;For the sake of this blog post, I'll provide a high-level view of PCPs without going into details about the formalities.&lt;span style=""&gt;  &lt;/span&gt;Arora’s and Barak’s complexity book provide nice coverage of interactive proof systems and PCPs.&lt;span style=""&gt; &lt;/span&gt;In the case of SAT we can determine whether a formula A is in SAT by verifying some satisfying assignment to the variables.&lt;span style=""&gt;  &lt;/span&gt;An incredible result known as the PCP Theorem tells us that each NP languages has a probabilistic certificate verifier which only looks at a constant number of bits in the certificate w, and is allowed O(log(n)) random bits to perform the check.&lt;span style=""&gt;  &lt;/span&gt;Like we did in the case of BPP and RP, we'll look at a probability distribution over random input strings r.  In the case that the certificate is valid, the verifier must always accept (x,w,r).&lt;span style=""&gt;  &lt;/span&gt;In the case that the certificate is actually incorrect, the probability that the verifier incorrectly accepts (x,w,r) must be less than 1 /2.&lt;span style=""&gt;  &lt;/span&gt;&lt;/p&gt;  &lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;What implications does this have in practice?&lt;span style=""&gt;  One example is that you &lt;/span&gt;can be arbitrarily certain of the correctness of a supposed satisfying assignment A to a 3-CNF formula Phi while checking only a constant number of variable assignments and using a small number of random bits.&lt;span style=""&gt;M &lt;/span&gt;athematicians trying to verify that a long (but still polynomial length) proof of a theorem is correct can do so with great certainty without reading the whole thing!&lt;span style=""&gt;  &lt;/span&gt;Since theorems with polynomial length proofs are a language in NP, reviewers would only need to spot check the proof in order to confident of the proof’s correctness.&lt;span style=""&gt;  &lt;/span&gt;That sure cuts down on the amount of work a reviewer has to perform, but surely doesn’t satisfy a mathematician’s desire for 100% certainty that a proof holds.  The PCP theorem provides an interesting probabilistic definition for NP.&lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Characterization 3: Descriptive Complexity Theory and doing away with machines&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Up to this point we’ve focused on looking at NP languages in terms of computational models.&lt;span style=""&gt;  &lt;/span&gt;So far we’ve seen two verifier-based approaches, but what about a view of NP which makes no reference to Turing at all?&lt;span style=""&gt;  &lt;/span&gt;Immerman’s “Descriptive Complexity: a Logician’s Approach to Computation” provides a nice introduction to the topic of descriptive complexity.&lt;span style=""&gt;  &lt;/span&gt;In general, NP languages characterize some property of strings.&lt;span style=""&gt;  &lt;/span&gt;For example, the language SAT contains those formulas which satisfy the property “This formula is satisfiable.”&lt;span style=""&gt;  &lt;/span&gt;Descriptive complexity theory attempts to characterize the hardness of defining these properties in a logical framework.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Immerman says that “we view inputs as finite logical structures, e.g., a binary string w” which can be encoded as an element in structure that encodes all n-bit strings, functions to test whether a particular bit i is set, and an order relation over all of the binary strings.  We've done this sort of thing before when arguing that we only need to consider TMs over the alphabet {0,1}.  Let’s look at how we can express the language of 3-colorable graphs in this context using these structures, unary ‘color’ relations, a binary edge relation, and existential quantification.&lt;span style=""&gt;  &lt;/span&gt;The structure contains an encoding of the graph vertices and edges, and the relationship Edge(.,.) determines whether two vertices are adjacent or not.  A graph is 3-colorable iff there’s an assignment of one of three colors to every vertex and no two adjacent vertices are colored the same.&lt;span style=""&gt;  &lt;/span&gt;Logically, this is expressed as&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Exists unary relations R, G, and B such that for all x [ (R(x) or G(x) or B(x)) and [for all y Edge(x,y) implies {not (R(x) and R(y)) and not (G(x) and G(y)) and not (B(x) and B(y)) } ]]&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;span style="line-height: 115%;font-family:&amp;quot;;font-size:100%;"  &gt;The unary relationships assign colors to all of the vertices and the second part makes sure that no two adjacent vertices are colored the same.&lt;span style=""&gt;  &lt;/span&gt;This formula is an example of a second order existential formula; a 2nd order existential formula begins with a second order existential quantification and the rest of the formula is a first order statement.&lt;span style=""&gt; &lt;/span&gt;These formulas look like “Exists relations R, S, T, … such that (first order formula over the universe).”&lt;span style=""&gt;  &lt;/span&gt;The first result in descriptive complexity theory happened when Ronald Fagin showed that a set of structures (collections of binary strings) Q is in NP if and only if Q is the set of structures which satisfy some second order existential formula.&lt;span style=""&gt;  &lt;/span&gt;Notice that this definition makes no mention of Turing machines *or* time!&lt;span style=""&gt;  &lt;/span&gt;Earlier I made a comment about NL = co-NL, and I will finish commenting on it here.&lt;span style=""&gt;  &lt;/span&gt;Immerman proves that NL is equivalent to “the set of problems describable in first-order logic with the addition of a transitive closure operation.”&lt;span style=""&gt;  &lt;/span&gt;After playing around with the logic and properties of transitive closure operations, Immerman is able to show that for s(n) &gt;= log(n), NSPACE[s(n)] is closed under complement.&lt;span style=""&gt;  &lt;/span&gt;Describing complexity classes in terms of logical formulas provides a different perspective on computation and introduces an interesting set of tools for approaching various problems in complexity theory. &lt;/span&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;Hopefully this post gives you some perspective about all kinds of interesting characterizations of NP.  Based on some of the logic I've studied, I'm interested in looking more at descriptive complexity theory.  If you're interested in exploring this approach to complexity theory in more detail, please get in touch with me.&lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="color: rgb(0, 0, 0);" class="MsoNormal"&gt;Note to future bloggers: DO NOT write your post in MS Word and copy it into the rich text edit box.  It ends up copying over a bunch of wacky HTML that you have to edit out by hand in order to get your post to work... :-(&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:arial;font-size:100%;"  &gt;  &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-6771410140617520752?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/6771410140617520752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/many-characterizations-of-np.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6771410140617520752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6771410140617520752'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/many-characterizations-of-np.html' title='The many characterizations of NP'/><author><name>Brendan Meeder</name><uri>http://www.blogger.com/profile/00100201266620714100</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-2236423192414615406</id><published>2009-01-23T09:46:00.002-05:00</published><updated>2009-01-23T09:59:35.553-05:00</updated><title type='text'>Polylog-wise independence fools constant-depth circuits</title><content type='html'>Well, the big buzz around the blogosphere, occasioned by an &lt;a href="http://lucatrevisan.wordpress.com/2009/01/20/at-last/#comments"&gt;anonymous comment on Luca's blog&lt;/a&gt; Wednesday night is a new preprint by the mighty &lt;a href = "http://www.cs.toronto.edu/~mbraverm/"&gt;Mark Braverman&lt;/a&gt;, currently a postdoc at Microsoft Research, soon a faculty member at the University of Toronto.&lt;br /&gt;&lt;br /&gt;Mark paper proves a conjecture of Linial and Nisan from 1990; namely, that no $n$-input circuit with constant depth and polynomial size can distinguish truly random inputs from inputs that are &lt;a href="http://www.wisdom.weizmann.ac.il/~oded/PS/aghp.ps"&gt;$k$-wise independent&lt;/a&gt; for $k = polylog(n)$.&lt;br /&gt;&lt;br /&gt;The preprint is discussed in some detail on &lt;a href="http://scottaaronson.com/blog/?p=381"&gt;Scott's blog&lt;/a&gt; and also on Lance/Bill's blog.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;There is a good chance we'll have the tools to cover this paper toward the end of the course. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-2236423192414615406?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/2236423192414615406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/polylog-wise-independence-fools.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2236423192414615406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/2236423192414615406'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/polylog-wise-independence-fools.html' title='Polylog-wise independence fools constant-depth circuits'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-4276151142461990995</id><published>2009-01-22T14:41:00.003-05:00</published><updated>2009-02-10T09:06:42.521-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 4</title><content type='html'>The topics covered in Lecture 4 were:  Adleman's Theorem, $BPP \in P/poly$; Poly-time hierarchy; Min-Circuit; Infinite Hierarchy Assumption, Collapse Lemma; $PSPACE =$ Alternating Poly Time statement; Oracles, $\Sigma_2 = NP^{NP}$, etc; Sipser-Gacs-Lautemann Theorem, $BPP \in \Sigma_2$; Karp-Lipton(-Sipser) Theorem, $NP \subseteq P/poly \Rightarrow PH = \Sigma_2$; Valiant-Vazirani Theorem statement, UniqueSat $\in P \Rightarrow NP = RP$.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-4276151142461990995?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/4276151142461990995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4276151142461990995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4276151142461990995'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-4.html' title='Lecture 4'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-5077308116919881633</id><published>2009-01-20T20:51:00.001-05:00</published><updated>2009-02-10T09:06:42.522-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 3</title><content type='html'>Lecture 3 covered the following topics: NP vs. coNP and the theme of proof complexity; nondeterministic time hierarchy via lazy diagonalization; Ladner's Theorem statement; Randomized TMs, BPP, RP, ZPP; problems in BPP but not known to be in P (Berlekamp's algorithm vs. factoring cubics mod p) and primality; lack of hierarchy and complete problems for BPP; polynomial identity testing; error amplification for BPP (and statement about randomness reduction); poly-size circuit families; Adleman's Theorem BPP in P/poly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-5077308116919881633?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/5077308116919881633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-3.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5077308116919881633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5077308116919881633'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-3.html' title='Lecture 3'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-6095188287850343220</id><published>2009-01-19T09:47:00.003-05:00</published><updated>2009-05-03T14:06:58.141-04:00</updated><title type='text'>Blogroll</title><content type='html'>Computer scientists seem to be a blogging bunch, and there are several great blogs out there for complexity theory.&lt;br /&gt;&lt;br /&gt;The granddaddy of them all is certainly Lance Fortnow's &lt;a href="http://weblog.fortnow.com"&gt;Computational Complexity Weblog&lt;/a&gt;.  This blog was amazing for starting as early as 2002 and for posting extremely regularly.  I can't recommend enough Lance's amazing output on complexity; try reading the &lt;a href="http://weblog.fortnow.com/archive/archive.html"&gt;archives &lt;/a&gt;here.  These days the blog is cowritten by Lance and Bill Gasarch and the output has slowed -- but one a day from the archives makes for great reading.&lt;br /&gt;&lt;br /&gt;Two other great, long-running blogs concerned mostly with complexity are those by Scott Aaronson (&lt;a href="http://scottaaronson.com/blog"&gt;"Shtetl-Optimized"&lt;/a&gt;) and Luca Trevisan (&lt;a href="http://lucatrevisan.wordpress.com/"&gt;"in theory"&lt;/a&gt;).  &lt;br /&gt;&lt;br /&gt;Of course it's hard to draw the line between "complexity theory" and "theory of computer science", so rather than try to decide if, say, James Lee's &lt;a href="http://tcsmath.wordpress.com/"&gt;"tcs math"&lt;/a&gt; is "complexity" enough to be listed, I thought I'd just point you to Arvind Narayanan's comprehensive &lt;a href = "http://feedworld.net/toc/"&gt;Theory of Computing Blog Aggregator&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;And I would be remiss if I didn't mention what is probably the most amazing mathy blog of all, Terry Tao's extraordinarily voluminous &lt;a href="http://terrytao.wordpress.com/"&gt;"What's new"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Happy reading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-6095188287850343220?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/6095188287850343220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/blogroll.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6095188287850343220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6095188287850343220'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/blogroll.html' title='Blogroll'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-5934258828676859380</id><published>2009-01-15T22:27:00.002-05:00</published><updated>2009-02-10T09:08:32.325-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Tentative syllabus</title><content type='html'>Here is a very rough guideline for the list of topics we might cover in the course.  This is almost certainly an ambitious plan and is subject to change based on time constraints.  We will probably only be able to discuss a subset of these topics, and may not cover the topics necessarily in the order listed.&lt;br /&gt;&lt;br /&gt;-------------------&lt;br /&gt;&lt;br /&gt;Introducton: the big questions, Turing machines, Basic time and space&lt;br /&gt;classes (P,NP,L,PSPACE,NL), Universal Turing machines, Hierarchy&lt;br /&gt;theorems, Nondeterminism, NP-completeness and Cook-Levin theorem,&lt;br /&gt;P-completeness;&lt;br /&gt;&lt;br /&gt;Randomized complexity classes, Polynomial identity testing, Polynomial&lt;br /&gt;time hierarchy, Non-uniform (circuit) classes, Karp-Lipton theorem.&lt;br /&gt;&lt;br /&gt;Complexity of Unique-SAT, Approximate counting in the&lt;br /&gt;hierarchy, Exact learning of circuits with oracles.&lt;br /&gt;&lt;br /&gt;Space complexity: PSPACE and NL-completeness, Savitch's theorem, NL =&lt;br /&gt;coNL, Relationship to parallel computation and NC circuit classes.&lt;br /&gt;&lt;br /&gt;Counting classes, #P-completeness, The power of counting (Toda's&lt;br /&gt;theorem).&lt;br /&gt;&lt;br /&gt;The power of interaction: Graph nonisomorphism protocoal, Interactive&lt;br /&gt;proofs for #SAT, IP=PSPACE, coNP unlikely to have short interactive&lt;br /&gt;proofs.&lt;br /&gt;&lt;br /&gt;Lower bounds and concrete complexity:&lt;br /&gt;      Parity doesn't have small depth circuits.&lt;br /&gt;      Some frontiers in circuit complexity:&lt;br /&gt;          - ACC_0 and multiparty communication complexity&lt;br /&gt;          - Log depth and rigidity&lt;br /&gt;      Time space trade-offs: Lower bounds for SAT;&lt;br /&gt;              Non-uniform model: Branching programs. Barrington's theorem.&lt;br /&gt;&lt;br /&gt;Derandomization:&lt;br /&gt;    - Nisan's generator for low space machines&lt;br /&gt;     - Nisan-Wigderson: hardness vs randomness&lt;br /&gt;    - Hardness amplification and average-case hardness&lt;br /&gt;   &lt;br /&gt;Some vignettes:&lt;br /&gt;     - Cryptography in constant parallel time&lt;br /&gt;     - Natural proofs: a barrier to proving stronger circuit lower bounds&lt;br /&gt;     - Derandomization needs circuit lower bounds&lt;br /&gt;     - Quantum computing&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-5934258828676859380?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/5934258828676859380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/tentative-syllabus.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5934258828676859380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5934258828676859380'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/tentative-syllabus.html' title='Tentative syllabus'/><author><name>Venkat</name><uri>http://www.blogger.com/profile/04589958297589172601</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-7453932398211348562</id><published>2009-01-15T14:30:00.002-05:00</published><updated>2009-02-10T09:06:42.522-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 2</title><content type='html'>The topics covered in Lecture 2 were Universal Turing Machines, the Time and Space Hierarchy Theorems, Nondeterminism and NP as poly-time verification, poly-time reductions and NP-completeness, the Cook-Levin Theorem and Circuit-Sat being NP-complete, Circuit-Val is P-complete under log-space reductions, coNP.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-7453932398211348562?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/7453932398211348562/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-2.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7453932398211348562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/7453932398211348562'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-2.html' title='Lecture 2'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-4532533492278149662</id><published>2009-01-13T15:14:00.004-05:00</published><updated>2009-05-03T14:22:04.075-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Lecture Summary'/><title type='text'>Lecture 1</title><content type='html'>The topics covered in Lecture 1 were: the "big questions" like "P ?= NP", "P ?= PSPACE", "P ?= LOGSPACE", "SC ?= NL", "P ?= NC", "EXP ?$\subseteq$ P/poly", and "P ?= BPP"; search vs. decision problems and languages; the multitape Turing Machine model; the Extended Church-Turing Thesis; Linear Speedup Theorem; and the classes TIME($f(n)$), SPACE($f(n)$), P, PSPACE, and L (aka LOGSPACE).&lt;br /&gt;&lt;br /&gt;If you need a refresher on basic stuff such as the Turing Machine Model (the details of which are as finicky as they are ultimately boring) you might look at &lt;a href = "http://www.cs.princeton.edu/theory/complexity/modelchap.pdf"&gt;Chapter 1 of the Arora-Barak book&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-4532533492278149662?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/4532533492278149662/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-1.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4532533492278149662'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/4532533492278149662'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/lecture-1.html' title='Lecture 1'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-916343442506416723</id><published>2009-01-12T16:45:00.003-05:00</published><updated>2009-02-10T09:08:32.326-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Homework Template</title><content type='html'>Hello everyone, and welcome to the Complexity class!  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I just wanted to let you know that I have added a sample homework solution to the class website.  The source files for the homework can be found &lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/docs/sample.tex"&gt;here&lt;/a&gt; (.tex), &lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/docs/sample.bib"&gt;here&lt;/a&gt; (.bib), and &lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/docs/complexity.sty"&gt;here&lt;/a&gt; (.sty).  Downloading all three files into a common directory and compiling with Latex, you should obtain &lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/docs/sample.pdf"&gt;this output&lt;/a&gt;.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the homeworks, you should only have to rename and modify the "sample" files as needed.  If you have any problems with the files or if you have any other questions, please don't hesitate to ask me.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-916343442506416723?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/916343442506416723/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/homework-template.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/916343442506416723'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/916343442506416723'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/homework-template.html' title='Homework Template'/><author><name>Eric Blais</name><uri>http://www.blogger.com/profile/12295883537274138238</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-5592260858440006266</id><published>2009-01-12T15:51:00.006-05:00</published><updated>2009-05-03T14:13:43.751-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Beyond the Lectures'/><title type='text'>History of Complexity</title><content type='html'>For an early blog post, I was planning on reading a little about the history of complexity, checking out the original sources, and writing a little about "who first thought of measuring running time in terms of input string length?" and "what were Cobham and Edmonds thinking when they suggested P as a good class to study?"&lt;br /&gt;&lt;br /&gt;But after a bunch of research I found this &lt;a href="http://www.jdl.ac.cn/turing/pdf/p400-cook.pdf"&gt;article by Stephen Cook&lt;/a&gt; on the very subject, on the occasion of him winning the &lt;a href="http://en.wikipedia.org/wiki/Turing_award"&gt;Turing Award&lt;/a&gt;.  And it seemed hard to imagine how I could write anything more authentic or instructive.  &lt;br /&gt;&lt;br /&gt;So I encourage you to read the article.  But as you do so, let me add a few random comments that spring to my mind.  Also, please post any questions or comments that &lt;span style="font-weight:bold;"&gt;you&lt;/span&gt; might have...&lt;br /&gt;&lt;br /&gt;. Cook's article was written five years before the &lt;a href="http://dspace.library.cornell.edu/bitstream/1813/6910/2/89-994.ps"&gt;discovery&lt;/a&gt; of the famous &lt;a href="http://weblog.fortnow.com/2006/04/kurt-gdel-1906-1978.html"&gt;1956 letter from Gödel to von Neumann&lt;/a&gt; -- in which Gödel quite explicitly asks whether NP could be in P.  Bear in mind that the notions of P and NP didn't even exist in 1956!&lt;br /&gt;&lt;br /&gt;. I've never heard of Cook's problem about printing out $\sqrt{2}$ at a linear rate -- anyone got a reference for it?  Is it still open?&lt;br /&gt;&lt;br /&gt;. As Cook himself notes, much of the key development of computational complexity took place among the graduate students at Princeton in the early-to-mid 1960's.  I suppose this shouldn't be too surprising, given that it was at Princeton and the Institute for Advanced Studies in the '30s and '40s that you had all the folks working on foundations of mathematics but with a "computer science" slant (&lt;a href="http://en.wikipedia.org/wiki/Godel"&gt;Gödel&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Von_Neumann"&gt;von Neumann&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Alonzo_Church"&gt;Church&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Alan_Turing"&gt;Turing&lt;/a&gt;), plus other folks like &lt;a href="http://en.wikipedia.org/wiki/Harold_W._Kuhn"&gt;Kuhn&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Albert_W._Tucker"&gt;Tucker&lt;/a&gt;, and &lt;a href="http://en.wikipedia.org/wiki/Marvin_Minsky"&gt;Minsky&lt;/a&gt;.  This is the gang that begat the complexity-theory founders Cook mentions -- &lt;a href="http://en.wikipedia.org/wiki/Michael_O._Rabin"&gt;Rabin&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Richard_Stearns_(computer_scientist)"&gt;Stearns&lt;/a&gt;, &lt;a href="http://www.genealogy.ams.org/id.php?id=8030"&gt;Bennett&lt;/a&gt;, and &lt;a href="http://www.genealogy.ams.org/id.php?id=8028"&gt;Ritchie&lt;/a&gt;, as well as &lt;a href="http://en.wikipedia.org/wiki/Al_Aho"&gt;Aho&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Hopcroft"&gt;Hopcroft&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Jeffrey_Ullman"&gt;Ullman&lt;/a&gt;, and CMU's own Turing Award winners &lt;a href="http://en.wikipedia.org/wiki/Manuel_Blum"&gt;Manuel Blum&lt;/a&gt; and &lt;a href="http://en.wikipedia.org/wiki/Dana_Scott"&gt;Dana Scott&lt;/a&gt;.  The only original complexity theory folks from this era I could find not out of Princeton or Princetonians were &lt;a href="http://en.wikipedia.org/wiki/Hartmanis"&gt;Hartmanis&lt;/a&gt; (from Caltech) and the very mysterious Alan Cobham, who appears to have no PhD and to hail from parts unknown.  Anyone got any information on him?  &lt;br /&gt;&lt;br /&gt;. These are all men, by the way; of course, Princeton didn't even &lt;span style="font-style:italic;"&gt;have&lt;/span&gt; women undergraduates until the end of the '60s.  Harvard, where Cook was, seems to have been the only non-backwards place of the time, producing several female complexity-theory folks, most notably &lt;a href="http://en.wikipedia.org/wiki/Sheila_Greibach"&gt;Greibach&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;. The "right" definition of how to define a RAM (random access machine) is not so controversial today as I guess it was when Cook was writing.  I think everyone agrees that most sensible definitions are okay and about equal, up to log factors.  I think the "random access Turing Machine" (see &lt;a href="http://pages.cs.wisc.edu/~dieter/Courses/2007s-CS810/Scribes/PS/lecture01.ps"&gt;here&lt;/a&gt;) is a reasonable standard.  &lt;br /&gt;&lt;br /&gt;. Cook writes "The identification of P with the tractable (or feasible) problems has been generally accepted in the field since the early 1970's."  I'm not completely sure about this today.  Certainly everyone agrees that P is the most reasonable, natural, and best class to study, but there is a great deal of interest these days in linear, quasilinear (linear times log factors), and even sublinear time algorithms.  In fact, it's not so unreasonable to argue that an algorithm is truly efficient in practice only if it is quasilinear time.  Perhaps more on this in a future post...&lt;br /&gt;&lt;br /&gt;. Regarding Cook's list of the most interesting and important problems in P...  &lt;br /&gt;&lt;br /&gt;- 35 years after the Schönhage-Strassen algorithm Cook mentions, a faster multiplication algorithm was found.  It runs in time $n \log n 2^{O(\log^* n)}$ (!!) and was given in an award-winning 2007 paper of &lt;a href="http://www.cse.psu.edu/~furer/Papers/mult.pdf"&gt;Fürer&lt;/a&gt; over at Penn State.&lt;br /&gt;&lt;br /&gt;- Coppersmith and Winograd soon thereafter improved the matrix multiplication time &lt;a href="http://www.cs.umd.edu/~gasarch/ramsey/matrixmult.pdf"&gt;to roughly $n^{2.38}$&lt;/a&gt;.  This has stood for 20 years.&lt;br /&gt;&lt;br /&gt;- &lt;a href="http://www.cse.iitk.ac.in/users/manindra/algebra/primality_v6.pdf"&gt;Primes is in P&lt;/a&gt;, thanks to Agrawal, Kayal, and Saxena in 2004.&lt;br /&gt;&lt;br /&gt;- Linear Programming being in P has subsequently proven to be of enormous importance. &lt;br /&gt;&lt;br /&gt;- To be honest, there aren't so many additional notable polynomial-time algorithms discovered since then.  I might point to the Convex Programming work due to &lt;a href="http://www.springerlink.com/index/T465834W0213715R.pdf"&gt;Grötschel, Lovász and Schrijver&lt;/a&gt; (1981), the theory of Markov Chain Monte Carlo due to &lt;a href="http://portal.acm.org/citation.cfm?id=62212.62234"&gt;Jerrum-Sinclair&lt;/a&gt; and &lt;a href="http://portal.acm.org/citation.cfm?id=102782.102783"&gt;Dyer-Frieze-Kannan &lt;/a&gt;(1988), and recognizing minor-closed graph families due to &lt;a href="http://en.wikipedia.org/wiki/Robertson%E2%80%93Seymour_theorem"&gt;Robinson and Seymour&lt;/a&gt; (1983--2004).  Any other candidates?&lt;br /&gt;&lt;br /&gt;. Cook devotes a lot more space to #P-completeness than NP-completeness (probably out of modesty), but the latter continues to be much more important and influential, though we will certainly study the former in our class.  &lt;br /&gt;&lt;br /&gt;. Similarly, the study of parallel complexity and the class NC has not proven quite so influential as it looked in the '80s, but we will certainly study it too.&lt;br /&gt;&lt;br /&gt;. Re lower bounds: "Structured lower bounds" we're pretty good at.  But genuine lower bounds?  We still have absolutely no clue; people feel even less enthusiastic about the prospect of proving good time lower bounds than they did when Cook wrote.  Cook's speculation about separating P from L at the end of the article looks overly optimistic today.&lt;br /&gt;&lt;br /&gt;. That said, and on the Section 4.3 topic of time-space product lower bounds, there has been a lot of good work done recently in this area, &lt;a href="http://www.cs.cmu.edu/~ryanw/thesis.pdf"&gt;especially by recent CMU complexity grad Ryan Williams.&lt;/a&gt;  We plan to cover some of this in our course.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-5592260858440006266?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/5592260858440006266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/history-of-complexity.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5592260858440006266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/5592260858440006266'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2009/01/history-of-complexity.html' title='History of Complexity'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4975263359731311867.post-6740612255379150060</id><published>2008-12-18T17:26:00.000-05:00</published><updated>2009-02-10T09:08:32.326-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Announcement'/><title type='text'>Read this blog</title><content type='html'>This is the class blog for CMU's Spring 2009 graduate CS course 15-855*, "An intensive introduction to computational complexity".  &lt;br /&gt;&lt;br /&gt;The instructors for this course are Venkat Guruswami and Ryan O'Donnell.  The TA is Eric Blais.&lt;br /&gt;&lt;br /&gt;The course homepage is &lt;a href="http://www.cs.cmu.edu/~odonnell/complexity/"&gt;http://www.cs.cmu.edu/~odonnell/complexity/&lt;/a&gt;.  That page will be mostly static, except for postings of the homeworks and midterm.  Please read &lt;span style="font-weight:bold;"&gt;this&lt;/span&gt; blog regularly, or add it to your RSS feed.  We will use the blog to post announcements (e.g., "There is a correction to problem 3 on the homework..."), lecture corrigenda and updates, homework hints, etc.  &lt;br /&gt;&lt;br /&gt;Students in the class will also be required to make one significant blog post, for credit.  This will be discussed in Lecture 1.&lt;br /&gt;&lt;br /&gt;Finally, we will use MathML in these posts; if it is working correctly for you, the following statements should look basically the same:&lt;br /&gt;&lt;center&gt;&lt;br /&gt;A set system &lt;i&gt;L&lt;/i&gt; is "laminar" if for all &lt;i&gt;A&lt;/i&gt;, &lt;i&gt;B&lt;/i&gt; ∈ &lt;i&gt;L&lt;/i&gt;, either &lt;I&gt;A&lt;/I&gt;∩&lt;I&gt;B&lt;/I&gt; = Ø, &lt;i&gt;A&lt;/i&gt; ⊆ &lt;i&gt;B&lt;/i&gt;, or &lt;i&gt;B&lt;/i&gt; ⊆ &lt;i&gt;A&lt;/i&gt;.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;A set system $L$ is "laminar" if for all $A$, $B$ $\in$ $L$, either $A \cap B = \emptyset$, $A \subseteq B$, or $B \subseteq A$.&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;To get this to work, on IE I believe you download an ActiveX control here:&lt;br /&gt;&lt;a href = "http://www.dessci.com/en/products/mathplayer/download.htm"&gt;http://www.dessci.com/en/products/mathplayer/download.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you use Firefox, try going here:&lt;br /&gt;&lt;a href = "http://www.mozilla.org/projects/mathml/fonts"&gt;http://www.mozilla.org/projects/mathml/fonts&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4975263359731311867-6740612255379150060?l=cmu-complexity.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://cmu-complexity.blogspot.com/feeds/6740612255379150060/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://cmu-complexity.blogspot.com/2008/12/read-this-blog.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6740612255379150060'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4975263359731311867/posts/default/6740612255379150060'/><link rel='alternate' type='text/html' href='http://cmu-complexity.blogspot.com/2008/12/read-this-blog.html' title='Read this blog'/><author><name>Ryan O'Donnell</name><uri>http://www.blogger.com/profile/01760886084136827344</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry></feed>
