<?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-15836709</id><updated>2011-06-22T11:06:35.836-07:00</updated><title type='text'>A Blogscursion into the World of Expanders</title><subtitle type='html'>Course Blog for "An Excursion into the World of Expanders," offered this Fall at the CS Dept, UIUC.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Manoj Prabhakaran</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><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>25</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-15836709.post-113478052009862739</id><published>2005-12-16T16:48:00.000-08:00</published><updated>2005-12-16T16:52:10.933-08:00</updated><title type='text'>Recap: A Randomness-Efficient Sampler for Matrix-valued Functions and Applications</title><content type='html'>Recap: A Randomness-Efficient Sampler for Matrix-valued Functions and Applications&lt;br /&gt;&lt;br /&gt;We are given an expander graph G.&lt;br /&gt;&lt;br /&gt;We are interested in functions f:V-&gt;[-1, 1] and aim to calculate the&lt;br /&gt;expectation E[f].  For this analysis we are given that E[f] = 0, but we can also consider estimating E[g] for functions g where&lt;br /&gt;E[g] != 0.  To do so let f = g - E[g], so that E[f] = 0. &lt;br&gt;&lt;br /&gt;&lt;br /&gt;We consider taking a sample W=(Y&lt;sub&gt;1&lt;/sub&gt;, ..., Y&lt;sub&gt;k&lt;/sub&gt;) of vertices of V.  We consider three bounds:&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Chernoff &lt;/b&gt;&lt;br /&gt;e &lt;sup&gt;( -&amp;gamma;^2 k/2.4) &lt;/sup&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Walk on G (strong bound) &lt;/b&gt;&lt;br /&gt;e &lt;sup&gt; -&amp;gamma;^2 &amp;epsilon; k/60 &lt;/sup&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Walk on G (weak bound) &lt;/b&gt;&lt;br /&gt;((2/&amp;epsilon; log 8/(&amp;gamma; &amp;epsilon;)) e &lt;sup&gt; -(&amp;gamma;^2 k &amp;epsilon;^3)/(12(2 log 8/(&amp;gamma; &amp;epsilon;))) &lt;/sup&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In the first case, W is a random, independent sample, resulting in a trivial Chernoff bound. &lt;br&gt;&lt;br /&gt;&lt;br /&gt;In the second and third cases, W is a random walk on G. &lt;br&gt;&lt;br /&gt;&lt;br /&gt;Chernoff bound and the weak bound for the random walk.&lt;br /&gt;The proof for the Chernoff bound uses Markov's inequality and other simple algebraic&lt;br /&gt;manipulations to arrive at a point where the independence of the Y &lt;sub&gt; i &lt;/sub&gt;&lt;br /&gt;can be used. &lt;br&gt;&lt;br /&gt;&lt;br /&gt;When W is a walk, we cannot use the independence of the Y &lt;sub&gt; i &lt;/sub&gt;, since the&lt;br /&gt;Y &lt;sub&gt; i &lt;/sub&gt; are not independent.  Instead we apply linear algebra to show &lt;br /&gt;that a summation is bounded by a dot product, and then bound the dot product by&lt;br /&gt;an algebraic expression.  We minimize over an arbitrary constant t to get the desired bound.&lt;br /&gt;We then boost this result by dividing the walk W into samples and applying the union bound.&lt;br /&gt;&lt;br&gt;&lt;br /&gt;&lt;br /&gt;Lastly, we consider another paper, A Simple Chernoff Bound for Random Walks on a Weighted Graph, by David Gillman.  In this paper a walk is taken on a &lt;br /&gt;weighted graph, and the objective is to estimate the weight of the vertices in A, where&lt;br /&gt;A is a subset of V, by sampling&lt;br /&gt;(the weight of a vertex is equal to the sum of the weights of its edges). &lt;br&gt;&lt;br /&gt;&lt;br /&gt;In the setting of the previous paper, it is as though f is being taken as a 0-1 function, 0 for the vertices not in A and 1 for the vertices in A. &lt;br&gt;&lt;br /&gt;&lt;br /&gt;The main result of the paper quantifies the rate convergence of estimates of the weight of A to the actual weight of A as the length of the sample walk increases. &lt;br /&gt;&lt;br /&gt;Then we explore three approximation algorithms, the Standard Procedure, Aldous's Procedure, and&lt;br /&gt;Aldous's Procedure with Statistical Technique.  The Standard Procedure takes multiple walks, sampling the last vertex of each walk.&lt;br /&gt;Aldous's Procedure takes a walk and samples every verex after a certain count.&lt;br /&gt;Aldous's Procedure with statistical techniques runs Aldous's Procedure multiple times to get&lt;br /&gt;more accurate results.&lt;br /&gt;&lt;br /&gt;The paper shows that Aldous's Procedure with Statistical Technique always beats the Standard Procedure, as does Aldous's Procedure given certain conditions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113478052009862739?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113478052009862739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113478052009862739' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113478052009862739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113478052009862739'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/12/recap-randomness-efficient-sampler-for.html' title='Recap: A Randomness-Efficient Sampler for Matrix-valued Functions and Applications'/><author><name>Chris Osborn</name><uri>http://www.blogger.com/profile/12565829541366918794</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-15836709.post-113514546602133867</id><published>2005-12-12T22:10:00.000-08:00</published><updated>2005-12-20T22:11:44.236-08:00</updated><title type='text'>Recap: Expanders and Coding Theory</title><content type='html'>We looked at applications of Expanders to Coding Theory and saw that they could be used to obtain efficient encoding and decoding algorithms, with good error-detection and recovery properties.&lt;br /&gt;&lt;br /&gt;We first considered codes which used the adjacency matrix of a bipartite expander as the parity check matrix. The simple FLIP algorithm allowed us to decode from a constant fraction of errors in linear time. In this algorithm, vertices of the left partite set are labelled with the bits of the received word, and a vertex of the right partite set is satisfed if an even number of its neighbors are set to '1'. As long as any vertex on the left has more unsatisfied than satisfied neighbors, we flip the bit corresponding to that vertex.&lt;br /&gt;&lt;br /&gt;A similar idea could be tried for efficient encoding, but in order to obtain a linear time algorithm, the adjacency matrix must be sparse. Codes with low-density generating matrices have poor error correcting capabilities, but Spielman showed that such codes could be used for error reduction. Using Spielman's error-reducing codes, we can inductively construct error-correcting codes which allow linear-time encoding.&lt;br /&gt;&lt;br /&gt;Another use of expanders is in the algorithm of Alon, Bruck, Naor, Naor and Roth; their construction allows us to obtain linear-time encodable and decodable codes with very large minimum distance (and hence good error correction); the price we pay is a significantly increased alphabet size. Finally, we considered list decoding, in which we output all codewords (not just the nearest codeword) that are sufficiently close to the received word. The ABNNR construction allowed us to construct a (1,2,2)-list recoverable code: that is, if in the received codeword, we have a list of two possible symbols for each position of the codeword, we output each of the (at most 2) codewords that are compatible with all the lists. We also saw that a similar construction could be used to obtain list-decodable codes from list-recoverable codes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113514546602133867?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113514546602133867/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113514546602133867' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113514546602133867'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113514546602133867'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/12/recap-expanders-and-coding-theory.html' title='Recap: Expanders and Coding Theory'/><author><name>Nitish</name><uri>http://www.blogger.com/profile/07554352128342702471</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-15836709.post-113427121614904989</id><published>2005-12-10T19:19:00.000-08:00</published><updated>2005-12-10T19:25:43.856-08:00</updated><title type='text'>Recap: The PCP Theorem by Gap Amplification</title><content type='html'>The PCP theorem (almost) states this surprising property that given a proof of answer of some YES/NO problem, there is some scheme that checks just some constant pieces of the proof and decides whether the proof is correct or not, and this decision is with high probability a correct decision.&lt;br /&gt;&lt;br /&gt;It is almost easily known that NP-hardness of GAP-3SAT problem is equivalent to correctness of PCP theorem where GAP-3SAT is the following problem: given a 3-SAT formula and a real number c, whether the formula is satisfiable or under every truth assignment at least c fraction of clauses remain unsatisfied. It is obvious that for small values of c this problem is NP-hard (since it is just SAT for small c), so the difficult question is the case of larger c values. Arora and Safra established a proof of PCP theorem which was long and algebraic. This paper presents a more combinatorial proof using reduction of a variant of GAP-3SAT for small values of c to the same variant of GAP-3SAT for larger values (actually constant values) of c. The variant of 3SAT is this: given a graph where each vertex of graph is a variable over a finite alphabet and each edge is a relation over that alphabet, and given a real value c, whether there is satisfying assignment to the vertices of the graph or always c fraction of edges remain unsatisfied.&lt;br /&gt;&lt;br /&gt;The tool to prove this, is almost a standard approach: first we convert the graph to an expander using replacement and graph superimposition (union of a graph with an expander). Then using powering (an operation similar to zigzag product) we increase the "expansion" in the graph and it turns out that this increases the fraction of unsatisfied edges. In the last step using a technical method we decrease the size of the alphabet of the graph (which the powering operation increases that by an exponential factor). All these operations can be done in polytime and  as a result the farction of unsatisfied edges double. If we repeat these steps for a logarithmic number of times, the fraction of unsatisfied edges becomes as large as a constant, which is the desired property.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113427121614904989?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113427121614904989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113427121614904989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113427121614904989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113427121614904989'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/12/recap-pcp-theorem-by-gap-amplification.html' title='Recap: The PCP Theorem by Gap Amplification'/><author><name>reza</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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15836709.post-113410981618886605</id><published>2005-12-08T22:26:00.000-08:00</published><updated>2005-12-08T22:30:16.266-08:00</updated><title type='text'>David's Lectures</title><content type='html'>Sorry, I forgot to post the url of the lecture notes for David's lectures. Meanwhile, I made a few changes. I could not write it up in html so prepared a pdf file:&lt;br /&gt;&lt;br /&gt;&lt;a&gt;http://www.geocities.com/hemanta_maji/lecture.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113410981618886605?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113410981618886605/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113410981618886605' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113410981618886605'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113410981618886605'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/12/davids-lectures.html' title='David&apos;s Lectures'/><author><name>Hemanta K. Maji</name><uri>http://www.blogger.com/profile/07786896439040399765</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-15836709.post-113410802373925496</id><published>2005-12-08T21:44:00.000-08:00</published><updated>2005-12-08T22:00:41.070-08:00</updated><title type='text'>Recap: Are Bitvectors Optimal?</title><content type='html'>In the paper "Are Bitvectors Optimal?" we aim to answer the static membership problem -- that is, given a Universe U = {1, 2, ..., m} and a set S of keys from U, we want to know whether an element u known to be in the universe is in S.  This, of course, could be answered with a simple idea of lying out all elements and querying a large number of elements to find if u is among them; however, we aim to minimize storage space and use as few probes as possible.  We look at two types of randomized schemes to implement this, each using only one bitprobe.  One has one-sided error (where an answer of "Yes, u is in S" might be incorrect) and another has two-sided error (where either a "Yes" or a "No" answer might be incorrect).&lt;br /&gt;&lt;br /&gt;We start by making a bipartite graph G=(U,V,E) where U is the Universe and V are locations in memory.  For the two-sided error problem we seek a two-coloring of V such that ∀ u ∈ S, at least (1-ε)|Γ(u)| locations are colored 1, and ∀ u' ∉ S, at least (1-ε)|Γ(u)| locations are colored 0 (where 0 maps to an answer of "no" and 1 to "yes").  This is also referred to as being "(n,ε)-two-colorable."  The general idea about how we go about this is to separate out those vertices which can be colored 0 and 1 and have no potential for error, and then show that the error on the remaining vertices is bounded by ε.  In particular, we use specific properties of the graph as an expander, showing that V has the "(n,ε) Intersection Property," which in essense says that the number of sets of locations which would be "offending" a simple greedy 0/1 coloring is less than the original number of sets.  Thus, we take this smaller set of offenders and inductively find a good (n,ε)-two-coloring for it, then adding back in the original non-offender sets which were already properly colored.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113410802373925496?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113410802373925496/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113410802373925496' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113410802373925496'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113410802373925496'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/12/recap-are-bitvectors-optimal.html' title='Recap: Are Bitvectors Optimal?'/><author><name>Tracy</name><uri>http://www.blogger.com/profile/06451829708725784131</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-15836709.post-113346745439981433</id><published>2005-12-01T12:03:00.000-08:00</published><updated>2005-12-01T12:19:58.506-08:00</updated><title type='text'>Recap: Extractors</title><content type='html'>For randomization it is common practice to assume some uniformally random source. However, such an assumption is unrealistic as most sources found in nature are biased. We therefore wish to utilize these biased sources of randomness to produce a perfectly random source. For some cases, this can be accomplished deterministically, however for many sources this is not the case. An example of which are Santha-Vazirani sources (δ-SV sources defined in the post of 10/22/05).&lt;br /&gt;By construction of a δ-SV-source for any deterministic extractor of even a single bit such that the extractor using the source is as biased as the source itself in Proposition 1 we showed this.&lt;br /&gt;&lt;br /&gt;A (k, ε)-extractor is then a function which takes some purely random seed of length d and any k-source X on {0,1}&lt;sup&gt;n&lt;/sup&gt; and outputs some m length bitstring which is ε-close to unifom.&lt;br /&gt;The proof of the existence of such extractors comes from the application of the probabilistic method considering a random choice of deterministic extractors (zero length seeds).&lt;br /&gt;Constructive proofs such as the Leftover Hash Lemma guarantee extractors with specific bounds (A table of some of these bounds is located in the post of 10/22/05).&lt;br /&gt;&lt;br /&gt;Extractors and expanders are interrelated as any extractor Ext: {0,1}&lt;sup&gt;n&lt;/sup&gt; × {0,1}&lt;sup&gt;d&lt;/sup&gt; → {0,1}&lt;sup&gt;m&lt;/sup&gt; can be viewed as a bipartite multigraph G = { [N], [M], E } where an edge exists between v ∈ [N] and u ∈ [M] if and only if for some random seed the extractor on u outputs v.&lt;br /&gt;On expection of the resulting graph the extraction property is equivalent to the expander mixing lemma thus the graph is an expander.&lt;br /&gt;Similarly an expander can be used to create an extractor by making the expander into a bipartite graph in the usual way.&lt;br /&gt;&lt;br /&gt;In the end we examined extractors over block sources. A block source is a generalization of a δ-SV-source where single bits are replaced with constant sized blocks of bits. Such sources can be used by extractors via the repeated application of an extractor on the individual blocks of the source. In doing so, the initial seed is applied only to the first iteration of the extractor generating some random bitstring r&lt;sub&gt;i&lt;/sub&gt;z&lt;sub&gt;i&lt;/sub&gt;. On the next iteration i - 1  the r&lt;sub&gt;i&lt;/sub&gt; bits resulting from the previous extraction are used as the seed. The resulting output is then r&lt;sub&gt;1&lt;/sub&gt;z&lt;sub&gt;1&lt;/sub&gt;z&lt;sub&gt;2&lt;/sub&gt;...z&lt;sub&gt;i&lt;/sub&gt; (note that the first iteration is i and each subsequent iteration has index i - 1). The proof of these bits' randomness is found by induction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113346745439981433?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113346745439981433/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113346745439981433' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113346745439981433'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113346745439981433'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/12/recap-extractors.html' title='Recap: Extractors'/><author><name>Phillip</name><uri>http://www.blogger.com/profile/14327894009628297397</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-15836709.post-113305310285583200</id><published>2005-11-26T16:56:00.000-08:00</published><updated>2005-11-26T17:00:39.496-08:00</updated><title type='text'>The PCP Theorem by Gap Amplification</title><content type='html'>I have temporarily put my post here:  &lt;a href="http://www.cs.uiuc.edu/homes/zamani/mypost.xml"&gt;http://www.cs.uiuc.edu/homes/zamani/mypost.xml &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Seems I have to change something(s) in blog template to incorporate this soundly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113305310285583200?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113305310285583200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113305310285583200' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113305310285583200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113305310285583200'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/11/pcp-theorem-by-gap-amplification_26.html' title='The PCP Theorem by Gap Amplification'/><author><name>reza</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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15836709.post-113262689772816907</id><published>2005-11-21T18:34:00.000-08:00</published><updated>2005-11-21T19:02:13.603-08:00</updated><title type='text'>Are Bitvectors Optimal?</title><content type='html'>&lt;b&gt;Static Membership&lt;/b&gt; problem&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Given &lt;/b&gt;&lt;br /&gt;Universe U = [m] &lt;br /&gt;Set S containing keys of U&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Query &lt;/b&gt;&lt;br /&gt;For some u, is u in S? &lt;br /&gt;&lt;br /&gt;&lt;b&gt; Main goal &lt;/b&gt;&lt;br /&gt;Use few probes &lt;br /&gt;Small storage space &lt;br /&gt;&lt;br /&gt;&lt;b&gt; Errors in Responding to Query &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;One-sided &lt;br /&gt;if u is in S, correct ("yes") &lt;br /&gt; if u is not in S, sometimes correct ("no"), sometimes incorrect ("yes") &lt;br /&gt;&lt;br /&gt;Two-sided &lt;br /&gt;if us is in S, sometimes correct ("yes"), sometimes incorrect ("no")&lt;br /&gt;  if us is not in S, sometimes correct ("no"), sometimes incorrect ("yes")&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Space requirements &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;table border=1&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt; Error &lt;td&gt; Probes &lt;td&gt; Space (upper) &lt;td&gt; Space (lower)&lt;br /&gt;&lt;tr&gt; &lt;td&gt; 2-sided &lt;td&gt; 1 &lt;td&gt; O(n/&amp;epsilon;&lt;sup&gt;2&lt;/sup&gt; log m) &lt;td&gt; &amp;Omega; &lt;br /&gt; (n/(&amp;epsilon; log(1/&amp;epsilon;)) log m)&lt;br /&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt; 1-sided &lt;td&gt; 1 &lt;td&gt; O((n/&amp;epsilon;)&lt;sup&gt;2&lt;/sup&gt; log m) &lt;td&gt;&lt;br /&gt; &amp;Omega;(n&lt;sup&gt;2&lt;/sup&gt;/(&amp;epsilon;&lt;sup&gt;2&lt;/sup&gt; log n/&amp;epsilon;)log m)&lt;br /&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt; One-sided Error (minor result) &lt;/b&gt;&lt;br /&gt;S is a subset of U. &lt;br /&gt;&lt;br /&gt;Let G = (U,V) be a bipartite graph where U is the universe and&lt;br /&gt;V is locations in memory. &lt;br /&gt;&lt;br /&gt;For each u in S, color each of u's neighbors 1.&lt;br /&gt;&lt;br /&gt;Note that if u is NOT in S, there may nevertheless&lt;br /&gt;exist an edge from u to one of its neighbors.  &lt;br /&gt;&lt;br /&gt;Thus the one-sided error.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Query &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Suppose we are given the query "is u in S?" for some u in U. &lt;br /&gt;&lt;br /&gt;Then we probe a random neighbor of u.  If this neighbor is 1, then&lt;br /&gt;we return true, else false. &lt;br /&gt;&lt;br /&gt;&lt;b&gt; Result &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We aim to exhibit a construction of G such that for all u' not in S,&lt;br /&gt;fewer than &amp;epsilon; |&amp;Gamma;(u')| neighboring locations are 1. &lt;br /&gt;&lt;br /&gt;This guarantees that when probing u', the probability of an incorrect&lt;br /&gt;response is less than &amp;epsilon; |&amp;Gamma;(u')|. &lt;br /&gt;&lt;br /&gt;We assume that |S| &amp;le; n.  &lt;br /&gt;&lt;br /&gt;Our construction is an &lt;b&gt; (m,l,a)-design &lt;/b&gt;.  &lt;br /&gt;&lt;br /&gt;A family F is an (m,l,a)-design if F has m sets each of size l,&lt;br /&gt;and any two sets in F have at most a elements in common.   &lt;br /&gt;&lt;br /&gt;A Theorem from an earlier work shows that an (m,l,a)-design can be guaranteed&lt;br /&gt;when m, s, a and l are related in a certain way.   &lt;br /&gt;&lt;br /&gt;We use an (m,l,a)-design with a = log m, l = (n log m)/&amp;epsilon;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Correctness &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If u is in S, then all of &amp;Gamma; are 1, thus we correctly return "yes". &lt;br /&gt;If u is NOT in S, then we have that |U &amp;cap; &amp;Gamma;(u)| &amp;le; na.  Thus&lt;br /&gt;we have that the probability of erroneously getting a 1 is bounded by&lt;br /&gt;na/|&amp;Gamma;(u)| = na/l &amp;le; &amp;epsilon;.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt; Two-sided Error (main result)&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Consider bipartite graph (U, V, E) where U=[m] and V=[s].  &lt;br /&gt;&lt;br /&gt;We store the set S, where |S| &amp;le; n.  &lt;br /&gt;&lt;br /&gt;We use the same query scheme as before: for the query "is u in S?" we return&lt;br /&gt;true if a random vertex of &amp;Gamma;(u) is colored 1, false otherwise.  &lt;br /&gt;&lt;br /&gt;We want the error probability to be at most &amp;epsilon;.  We seek a two-coloring&lt;br /&gt;&amp;X:V &amp;rarr;{0,1} such that:  &lt;br /&gt;&lt;br /&gt;&amp;forall; u &amp;isin; S, at least (1-&amp;epsilon;)|&amp;Gamma;(u)| locations are colored 1 &lt;br /&gt;&amp;forall; u' &amp;notin; S, at least (1-&amp;epsilon;)|&amp;Gamma;(u)| locations are colored 0 &lt;br /&gt;&lt;br /&gt;&lt;b&gt; Definition: &lt;/b&gt; Let C&lt;sub&gt;1&lt;/sub&gt;, C&lt;sub&gt;0&lt;/sub&gt; be subsets of 2&lt;sup&gt;V&lt;/sup&gt;.  We say that&lt;br /&gt;(C&lt;sub&gt;1&lt;/sub&gt;,C&lt;sub&gt;0&lt;/sub&gt;) is &amp;epsilon;-2-colorable if there exists&lt;br /&gt;X:V &amp;rarr;{0,1} such that:  &lt;br /&gt;&lt;br /&gt;&lt;table border=1&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt; For all T in C&lt;sub&gt;0&lt;/sub&gt; &lt;td&gt; &amp;nbsp; |X&lt;sup&gt;-1&lt;/sup&gt;(1) &amp;cap; T| &amp;le; &amp;epsilon; |T|&lt;br /&gt;&lt;tr&gt; &lt;td&gt; For all T in C&lt;sub&gt;1&lt;/sub&gt; &lt;td&gt; &amp;nbsp; |X&lt;sup&gt;-1&lt;/sup&gt;(0) &amp;cap; T| &amp;le; &amp;epsilon; |T|&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;Further, we say that C is (n,&amp;epsilon;)-2-colorable if for all subsets &lt;br /&gt;&lt;br /&gt;(C&lt;sub&gt;1&lt;/sub&gt;,C&lt;sub&gt;0&lt;/sub&gt;) of C&lt;br /&gt;such that |C&lt;sub&gt;1&lt;/sub&gt;| &amp;le; n and C&lt;sub&gt;0&lt;/sub&gt;=C-C&lt;sub&gt;1&lt;/sub&gt;, we have that &lt;br /&gt;&lt;br /&gt;(C&lt;sub&gt;1&lt;/sub&gt;,C&lt;sub&gt;0&lt;/sub&gt;) is &amp;epsilon;-2-colorable.&lt;br /&gt; &lt;br /&gt;&lt;b&gt; Our Goal &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;We wish to find a bipartite graph G=(U,V,E) such that U=[m], V=[s]&lt;br /&gt;and {&amp;Gamma;(u)}&lt;sub&gt;u in U&lt;/sub&gt; is (n,&amp;epsilon;)-2-colorable.  This will give&lt;br /&gt;ensure that our query procedure is never wrong more than &amp;epsilon; fraction of the&lt;br /&gt;time.  &lt;br /&gt;&lt;br /&gt;We show that such a graph exists, with |V|=O(n/&amp;epsilon;&lt;sup&gt;2&lt;/sup&gt; log m):  &lt;br /&gt;&lt;br /&gt;&lt;table border=0&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt; G = (U, V, E) is an (m, s, n, d, &amp;epsilon;)-expander &lt;br /&gt;&lt;tr&gt; &lt;td&gt; &lt;center&gt; \/ &lt;/center&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt; {&amp;Gamma;(u)}&lt;sub&gt;u in U&lt;/sub&gt; has the (n, &amp;epsilon;)-intersection property &lt;br /&gt;&lt;tr&gt; &lt;td&gt; &lt;center&gt; \/ &lt;/center&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt; {&amp;Gamma;(u)}&lt;sub&gt;u in U&lt;/sub&gt; is (n, &amp;epsilon;)-2-colorable&lt;br /&gt;&lt;tr&gt; &lt;td&gt; &lt;center&gt; \/ &lt;/center&gt;&lt;br /&gt;&lt;tr&gt; &lt;td&gt; (n, m, s, 1)-randomized scheme with error &amp;epsilon;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;G = (U, V, E) is an (m, s, n, d &amp;epsilon;)-expander &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt; G=(U,V,E) is an &amp;epsilon;-expander =&gt; {&amp;Gamma;(u)}&lt;sub&gt;u in U&lt;/sub&gt; has (n,&amp;epsilon;)&lt;br /&gt;intersection property &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;!-- We need the following&lt;br /&gt;definition of the (n,&amp;epsilon;)-intersection property:&lt;br /&gt;&lt;br /&gt;C&lt;sub&gt;1&lt;/sub&gt;, C&lt;sub&gt;0&lt;/sub&gt; collections of sets has (n,&amp;epsilon;)-intersection&lt;br /&gt;property if:&lt;br /&gt;--&gt;&lt;br /&gt;&lt;br /&gt;This is proved via induction on |C&lt;sub&gt;1&lt;/sub&gt;| and |C&lt;sub&gt;0&lt;/sub&gt;|.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt; C has (n,&amp;epsilon;)-intersection property =&gt; C is (n,&amp;epsilon;)-two-colorable &lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt; Definition: G=(U,V,E) is an (ms,n,d,&amp;epsilon;)-expander if U=[m], V=[s],&lt;br /&gt;each vertex in U has degree d and for all subsets S of size less than or equal&lt;br /&gt;to 2n we have that |&amp;Gamma;(s)| &amp;ge; (1-&amp;epsilon;/2) |S|d &lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;We prove the contrapositive.  We assume that we do not have the (n,&amp;epsilon;)-intersection&lt;br /&gt;property.  Then we show that:  &lt;br /&gt;&lt;br /&gt;|&amp;Gamma;(S)| &lt; (1-&amp;epsilon;/2)|S|d, a violation of the definition of an expander.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113262689772816907?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113262689772816907/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113262689772816907' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113262689772816907'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113262689772816907'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/11/are-bitvectors-optimal.html' title='Are Bitvectors Optimal?'/><author><name>Chris Osborn</name><uri>http://www.blogger.com/profile/12565829541366918794</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-15836709.post-113139955354952326</id><published>2005-11-07T13:35:00.000-08:00</published><updated>2005-11-14T18:31:45.510-08:00</updated><title type='text'>Undirected ST-connectivity in logspace</title><content type='html'>The &lt;b&gt;undirected ST connectivity&lt;/b&gt; (USTC) problem is: given an undirected graph &lt;i&gt;G=(V,E)&lt;/i&gt; and two vertices &lt;i&gt;s,t&lt;/i&gt;, decide whether or not &lt;i&gt;s&lt;/i&gt; and &lt;i&gt;t&lt;/i&gt; are in the same connected component of &lt;i&gt;G&lt;/i&gt;. The proof that USTC is in L (deterministic logspace) makes good use of expanders.&lt;br /&gt;&lt;br /&gt;We first reviewed what results were known about USTC and the logspace complexity classes. It was known that USTC is complete for SL, languages accepted by nondeterministic logspace machines whose transition functions are "symmetric" in a certain sense. The directed version of ST connectivity is complete for NL, while connectivity in undirected forests is complete for L.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;L &amp;sube; SL &amp;sube; NL &amp;sube; DSPACE(log&lt;sup&gt;2&lt;/sup&gt; n)&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;The last inclusion is from Savitch's theorem. Showing that USTC &amp;isin; L yields L = SL.&lt;br /&gt;&lt;br /&gt;The algorithm for USTC proceeds roughly as follows. Given input &lt;i&gt;&amp;lang;G,s,t&amp;rang;&lt;/i&gt;:&lt;br /&gt;&lt;ol&gt;&lt;li&gt; Convert &lt;i&gt;G&lt;/i&gt; to a regular graph &lt;i&gt;G&lt;/i&gt;&lt;sub&gt;reg&lt;/sub&gt; in a way that preserves connected components.&lt;br /&gt;  &lt;li&gt; Amplify &lt;i&gt;G&lt;/i&gt;&lt;sub&gt;reg&lt;/sub&gt;'s expansion properties by powering operations and taking zig-zag products appropriately (again preserving connected components). Call the result &lt;i&gt;G&lt;sub&gt;L&lt;/sub&gt;&lt;/i&gt;.&lt;br /&gt;  &lt;li&gt; Since &lt;i&gt;G&lt;sub&gt;L&lt;/sub&gt;&lt;/i&gt; is a good expander, it has logarithmic diameter. Thus we can simply perform a bounded-depth DFS on this graph from &lt;i&gt;s'&lt;/i&gt; to determine reachibility of &lt;i&gt;t'&lt;/i&gt;.&lt;/ol&gt;&lt;br /&gt;Of course, these intermediate graphs are not computed in memory. To do the last step, we only need to be able to compute &lt;i&gt;G&lt;sub&gt;L&lt;/sub&gt;&lt;/i&gt;'s rotation map in logspace. This is possible, with recursive calls to the intermediate graphs, and finally using the original &lt;i&gt;G&lt;/i&gt;'s adjacency relation as the base case.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Converting &lt;i&gt;G&lt;/i&gt; to &lt;i&gt;G&lt;/i&gt;&lt;sub&gt;reg&lt;/sub&gt;:&lt;/b&gt; Assuming &lt;i&gt;V(G) = {1, ..., n}&lt;/i&gt;, we perform a replacement product on &lt;i&gt;G&lt;/i&gt;, where each vertex &lt;i&gt;u&lt;/i&gt; is replaced with an &lt;i&gt;n&lt;/i&gt;-cycle whose vertices are &lt;i&gt;{ &amp;lang;u,v&amp;rang; | v &amp;isin; V(G) }&lt;/i&gt;. If &lt;i&gt;u&lt;/i&gt; and &lt;i&gt;v&lt;/i&gt; were connected in &lt;i&gt;G&lt;/i&gt;, we connect new vertices &lt;i&gt;&amp;lang;u,v&amp;rang;&lt;/i&gt; and &lt;i&gt;&amp;lang;v,u&amp;rang;&lt;/i&gt;. We add self-loops everywhere else so that the degree becomes &lt;i&gt;D&lt;/i&gt;&lt;sup&gt;16&lt;/sup&gt;, where &lt;i&gt;D&lt;/i&gt; is a constant we'll define later.&lt;br /&gt;&lt;br /&gt;We label edges in the replacement cycle as 1 &amp;amp; 2, and possible edges between cycles as 3. In terms of the rotation map, this looks like:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;R( &amp;lang;u,i&amp;rang;, 1 ) = ( &amp;lang;u, (i-1)%n&amp;rang;, 2 )&lt;/i&gt;&lt;br /&gt;&lt;i&gt;R( &amp;lang;u,i&amp;rang;, 2 ) = ( &amp;lang;u, (i+1)%n&amp;rang;, 1 )&lt;/i&gt;&lt;br /&gt;&lt;i&gt;R( &amp;lang;u,v&amp;rang;, 3 ) = ( &amp;lang;v,u&amp;rang;, 3 )&lt;/i&gt;, if &lt;i&gt;u&lt;/i&gt; and &lt;i&gt;v&lt;/i&gt; are connected in &lt;i&gt;G&lt;/i&gt;, and &lt;i&gt;( &amp;lang;u,v&amp;rang;, 3 )&lt;/i&gt; otherwise&lt;br /&gt;&lt;i&gt;R( &amp;lang;u,v&amp;rang;, i ) = ( &amp;lang;u,v&amp;rang;, i )&lt;/i&gt;, for &lt;i&gt;i &gt; 3&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;It is easy to see that this construction preserves connected components, and that this rotation map can be computed in constant space. The size of the graph increases quadratically, so logarithmic quantities in the size of &lt;i&gt;G&lt;/i&gt;&lt;sub&gt;reg&lt;/sub&gt; are also logarithmic in &lt;i&gt;G&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Converting &lt;i&gt;G&lt;/i&gt;&lt;sub&gt;reg&lt;/sub&gt; to an expander:&lt;/b&gt; This operation uses powering and zig-zag operations, so let's review how these operations affect expander properties. We say a graph is &lt;i&gt;(N, D, &amp;lambda;)&lt;/i&gt; if it has &lt;i&gt;N&lt;/i&gt; vertices, is &lt;i&gt;D&lt;/i&gt;-regular, and &amp;lambda; is its 2nd largest normalized eigenvalue magnitude.&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Powering a graph (&lt;i&gt;G &amp;rarr; G&lt;sup&gt;k&lt;/sup&gt;&lt;/i&gt;) changes it from a &lt;i&gt;(N, D, &amp;lambda)&lt;/i&gt; graph to a &lt;i&gt;(N, D&lt;sup&gt;k&lt;/sup&gt;, &amp;lambda;&lt;sup&gt;k&lt;/sup&gt;)&lt;/i&gt; graph.&lt;br /&gt;&lt;li&gt;The zig-zag product &lt;i&gt;G &lt;b&gt;z&lt;/b&gt; H&lt;/i&gt;, where &lt;i&gt;G&lt;/i&gt; is a &lt;i&gt;(N, D&lt;sup&gt;16&lt;/sup&gt;, &amp;lambda;)&lt;/i&gt; graph, and &lt;i&gt;H&lt;/i&gt; is a &lt;i&gt;(D&lt;sup&gt;16&lt;/sup&gt;, D&lt;sup&gt;2&lt;/sup&gt;, &amp;alpha;)&lt;/i&gt; graph, results in a graph which is &lt;i&gt;(ND&lt;sup&gt;16&lt;/sup&gt;, D, f(&amp;lambda;,&amp;alpha;))&lt;/i&gt;.&lt;br /&gt;&lt;li&gt;Combining these two operations, if we take &lt;i&gt;G&lt;/i&gt; and &lt;i&gt;H&lt;/i&gt; as above, the graph &lt;i&gt;(G &lt;b&gt;z&lt;/b&gt; H)&lt;sup&gt;8&lt;/sup&gt;&lt;/i&gt; is &lt;i&gt;(ND&lt;sup&gt;16&lt;/sup&gt;, D&lt;sup&gt;16&lt;/sup&gt;, f&lt;sup&gt;8&lt;/sup&gt;(&amp;lambda;,&amp;alpha;))&lt;/i&gt;.&lt;/ol&gt;&lt;br /&gt;Note especially that the graph &lt;i&gt;(G &lt;b&gt;z&lt;/b&gt; H)&lt;sup&gt;8&lt;/sup&gt;&lt;/i&gt; has suitable degree for us to zig-zag it again with &lt;i&gt;H&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;The reason for the appearance of &lt;i&gt;D&lt;sup&gt;16&lt;/sup&gt;&lt;/i&gt; is that it is possible to show with a probabilistic argument that there exists some constant &lt;i&gt;D&lt;/i&gt; and a graph &lt;i&gt;H&lt;/i&gt; which is &lt;i&gt;(D&lt;sup&gt;16&lt;/sup&gt;, D, 1/2)&lt;/i&gt;. This will be the value of &lt;i&gt;D&lt;/i&gt; we'll use, and the graph &lt;i&gt;H&lt;/i&gt; will be a constant that is hard-coded into the algorithm.&lt;br /&gt;&lt;br /&gt;Now, we define a sequence of graphs as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;  &lt;i&gt;G&lt;sub&gt;0&lt;/sub&gt; = G&lt;/i&gt;&lt;sub&gt;reg&lt;/sub&gt;&lt;br /&gt;    &lt;li&gt;  &lt;i&gt;G&lt;sub&gt;i+1&lt;/sub&gt; = (G&lt;sub&gt;i&lt;/sub&gt; &lt;b&gt;z&lt;/b&gt; H)&lt;sup&gt;8&lt;/sup&gt;&lt;/i&gt;&lt;/ul&gt;&lt;br /&gt;It follows that &lt;i&gt;G&lt;sub&gt;i&lt;/sub&gt;&lt;/i&gt; has &lt;i&gt;ND&lt;sup&gt;16 i&lt;/sup&gt;&lt;/i&gt; vertices and degree &lt;i&gt;D&lt;sup&gt;16&lt;/sup&gt;&lt;/i&gt;. Let us now see how these operations affect the &amp;lambda; parameter.&lt;br /&gt;&lt;br /&gt;Let &lt;i&gt;&amp;lambda&lt;sub&gt;i&lt;/sub&gt;&lt;/i&gt; be the &amp;lambda; parameter of &lt;i&gt;G&lt;sub&gt;i&lt;/sub&gt;&lt;/i&gt;. Using a bound on the &lt;i&gt;f()&lt;/i&gt; function from the zig-zag product, we inductively proved a lemma that &lt;i&gt;&amp;lambda&lt;sub&gt;i&lt;/sub&gt;&lt;/i&gt; &amp;lt; max{ &lt;i&gt;(&amp;lambda;&lt;sub&gt;0&lt;/sub&gt;)&lt;sup&gt;2&lt;sup&gt;i&lt;/sup&gt;&lt;/sup&gt;, 1/2&lt;/i&gt; }. In other words, the eigenvalues of the &lt;i&gt;G&lt;sub&gt;i&lt;/sub&gt;&lt;/i&gt; sequence decrease geometrically until they reach 1/2, after which they stay below 1/2. (Actually, the argument is more subtle. We actually apply this bound to each of &lt;i&gt;G&lt;sub&gt;i&lt;/sub&gt;&lt;/i&gt;'s connected components separately, since it is only valid for connected graphs).&lt;br /&gt;&lt;br /&gt;We also proved a lemma that for &lt;b&gt;any&lt;/b&gt; &lt;i&gt;D&lt;/i&gt;-regular non-bipartite graph on &lt;i&gt;N&lt;/i&gt; vertices, its 2nd largest normalized eigenvalue magnitude is at most 1 - 1/&lt;i&gt;DN&lt;sup&gt;2&lt;/sup&gt;&lt;/i&gt;. That is, every regular graph has a nonnegligable spectral gap. Our graph &lt;i&gt;G&lt;sub&gt;0&lt;/sub&gt;&lt;/i&gt; is non-bipartite (it has self-loops at every vertex). So combining these two observations about the eigenvalues, we see that for &lt;i&gt;L = O(log N)&lt;/i&gt;, the graph &lt;i&gt;G&lt;sub&gt;L&lt;/sub&gt;&lt;/i&gt; has &lt;i&gt;&amp;lambda;&lt;sub&gt;L&lt;/sub&gt;&lt;/i&gt; &lt; 1/2. Its size is also polynomial in &lt;i&gt;N&lt;/i&gt;. The graph &lt;i&gt;G&lt;sub&gt;L&lt;/sub&gt;&lt;/i&gt; will be our final expander.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Computing &lt;i&gt;G&lt;sub&gt;L&lt;/sub&gt;&lt;/i&gt;'s rotation map in logspace:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Vertices in &lt;i&gt;G&lt;sub&gt;i&lt;/sub&gt;&lt;/i&gt; correspond to a vertex in &lt;i&gt;G&lt;sub&gt;i-1&lt;/sub&gt;&lt;/i&gt; along with an edge number (which together comprise a vertex in the replacement product), and edges in &lt;i&gt;G&lt;sub&gt;i&lt;/sub&gt;&lt;/i&gt; consist of 16 "zig-zag" edge labels (due to powering the graph to the 8th power). Once the description of such a vertex &lt;i&gt;&amp;lang;v,a&amp;rang;&lt;/i&gt; and edge label &lt;i&gt;&amp;lang;i&lt;sub&gt;1&lt;/sub&gt;,...,i&lt;sub&gt;16&lt;/sub&gt;&amp;rang;&lt;/i&gt; are written down in memory, we can compute the rotation map with very little memory overhead:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;To compute &lt;i&gt;R&lt;sub&gt;G&lt;sub&gt;i&lt;/sub&gt;&lt;/sub&gt;(&amp;lang;v,a&amp;rang;, &amp;lang;i&lt;sub&gt;1&lt;/sub&gt;,...,i&lt;sub&gt;16&lt;/sub&gt;&amp;rang;)&lt;/i&gt;:&lt;br /&gt;  &lt;ul&gt;&lt;li&gt;For &lt;i&gt;j&lt;/i&gt; = 1 to 16 do:&lt;br /&gt;      &lt;li&gt;&lt;i&gt;&amp;lang;a,i&lt;sub&gt;j&lt;/sub&gt;&amp;rang; = R&lt;sub&gt;H&lt;/sub&gt;(a,i&lt;sub&gt;j&lt;/sub&gt;)&lt;/i&gt;&lt;br /&gt;      &lt;li&gt;If &lt;i&gt;i&lt;/i&gt; is odd, then do &lt;i&gt;&amp;lang; v,a&amp;rang; = R&lt;sub&gt;G&lt;sub&gt;i-1&lt;/sub&gt;&lt;/sub&gt;(v,a)&lt;/i&gt;&lt;/ul&gt;&lt;/ul&gt;&lt;br /&gt;The final result is is &lt;i&gt;&amp;lang;v,a&amp;rang;, &amp;lang;i&lt;sub&gt;16&lt;/sub&gt;,...,i&lt;sub&gt;1&lt;/sub&gt;&amp;rang;&lt;/i&gt;. Note that we use a recursive call to compute the rotation map of &lt;i&gt;G&lt;sub&gt;i-1&lt;/sub&gt;&lt;/i&gt;, which is allowed to rewrite the memory of its argument in the same manner. Analyzing this algorithm, we see that at each level of recursion, we only need to keep track of loop variable &lt;i&gt;j&lt;/i&gt; and our position &lt;i&gt;i&lt;/i&gt; in the recursion, taking O(log &lt;i&gt;N&lt;/i&gt;) space.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Putting it together:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Finally, to determine connectivity between &lt;i&gt;s&lt;/i&gt; and &lt;i&gt;t&lt;/i&gt;, we perform a DFS on &lt;i&gt;G&lt;sub&gt;L&lt;/sub&gt;&lt;/i&gt; starting at a representative for &lt;i&gt;s&lt;/i&gt; and looking for a representative of &lt;i&gt;t&lt;/i&gt;. Since it is an expander with a constant spectral gap, it has logarithmic diameter, and we can bound our DFS to O(log &lt;i&gt;N&lt;/i&gt;) steps without loss of generality.&lt;br /&gt;&lt;br /&gt;To keep track of our position in the DFS, we only need to keep track of the current vertex's description, and the last edge label we traversed, which takes only O(log &lt;i&gt;N&lt;/i&gt;) bits. The symmetric nature of the rotation map allows us to "back up" in the DFS tree. When we back up, we will have the label of the edge that was just taken from the vertex, which we can increment to recurse again (or back up again if it is this vertex's last unvisited edge).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113139955354952326?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113139955354952326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113139955354952326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113139955354952326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113139955354952326'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/11/undirected-st-connectivity-in-logspace.html' title='Undirected ST-connectivity in logspace'/><author><name>mikero</name><uri>http://www.blogger.com/profile/09572620704102140524</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-15836709.post-113079510114354450</id><published>2005-10-31T13:34:00.000-08:00</published><updated>2005-10-31T17:37:59.926-08:00</updated><title type='text'>Recap: Amplifying one-way functions</title><content type='html'>One-way functions are functions that are computable in polynomial time but not invertible on average in randomize polynomial time. We formalized this by defining α-one-way permutations (α-OWP) where α is essentially the fraction of inputs on which the function is hard to invert.&lt;br /&gt;&lt;br /&gt;To use an OWP &lt;i&gt;f&lt;/i&gt; to construct an even harder-to-invert OWP &lt;i&gt;F&lt;/i&gt;, it is essential that the construction apply &lt;i&gt;f&lt;/i&gt; to many different inputs. Instead of naïvely applying &lt;i&gt;f&lt;/i&gt; to some number of &lt;i&gt;independent&lt;/i&gt; inputs, our construction applies &lt;i&gt;f&lt;/i&gt; to inputs along a random expander walk, which turn out to be "independent enough."&lt;br /&gt;&lt;br /&gt;To compute &lt;i&gt;F&lt;/i&gt; on input &lt;i&gt;〈x,σ&lt;sub&gt;1&lt;/sub&gt;,...,σ&lt;sub&gt;k&lt;/sub&gt;〉&lt;/i&gt;:&lt;br /&gt;&lt;ul&gt;&lt;li&gt; For &lt;i&gt;i&lt;/i&gt; &amp;larr; 1 to &lt;i&gt;k&lt;/i&gt;:&lt;ul&gt;&lt;br /&gt;   &lt;li&gt; &lt;i&gt;x &amp;larr; f(x)&lt;/i&gt;&lt;br /&gt;   &lt;/li&gt;&lt;li&gt; &lt;i&gt;x &amp;larr; R&lt;sub&gt;G&lt;/sub&gt;(x,σ&lt;sub&gt;i&lt;/sub&gt;)&lt;/i&gt;, the &lt;i&gt;σ&lt;sub&gt;i&lt;/sub&gt;&lt;/i&gt;-th neighbor of &lt;i&gt;x&lt;/i&gt; in an appropriate expander graph &lt;i&gt;G&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt; &lt;/li&gt;&lt;li&gt; return &lt;i&gt;〈σ&lt;sub&gt;1&lt;/sub&gt;,...,σ&lt;sub&gt;k&lt;/sub&gt;,x〉&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;The input to &lt;i&gt;F&lt;/i&gt; is the description of a walk on &lt;i&gt;G&lt;/i&gt;, and as such the length of inputs to the OWPs increases by an additive factor of &lt;i&gt;O(k)&lt;/i&gt; (taking the degree of &lt;i&gt;G&lt;/i&gt; to be constant), instead of by a multiplicative polynomial factor if we were using independent inputs to &lt;i&gt;f&lt;/i&gt;. This is a significant increase in efficiency.&lt;br /&gt;&lt;br /&gt;The construction of &lt;i&gt;F&lt;/i&gt; from &lt;i&gt;f&lt;/i&gt; can be viewed as a walk on the graph whose edges are &lt;i&gt;{ &amp;lang;f(u),v&amp;rang; | &amp;lang;u,v&amp;rang; &amp;isin; E(G) }&lt;/i&gt;, which is also an expander with the same properties as &lt;i&gt;G&lt;/i&gt; since we take &lt;i&gt;f&lt;/i&gt; to be a permutation. Using a random walk lemma (very similar in flavor to previous random walk lemmas) and a simulation argument, we can show that if &lt;i&gt;f&lt;/i&gt; is a (1-&lt;i&gt;&amp;alpha;&lt;/i&gt;)-OWP, then &lt;i&gt;F&lt;/i&gt; is a (1-&lt;i&gt;&amp;alpha;&lt;sup&gt;k/2&lt;/sup&gt;&lt;/i&gt;)-OWP.&lt;br /&gt;&lt;br /&gt;Starting with any 1/poly-OWP &lt;i&gt;f&lt;/i&gt;, we can apply this construction several times with the appropriate parameters to get a (1-1/&lt;i&gt;q(n)&lt;/i&gt;)-OWP, for any polynomial &lt;i&gt;q(n)&lt;/i&gt;, and the overall increase in input length is only an additive factor of &lt;i&gt;O&lt;/i&gt;(log &lt;i&gt;n&lt;/i&gt;). This is significantly better than previously-known constructions which increased the input length by a multiplicative factor of at least &lt;i&gt;n&lt;sup&gt;2&lt;/sup&gt;&lt;/i&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-113079510114354450?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/113079510114354450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=113079510114354450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113079510114354450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/113079510114354450'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/10/recap-amplifying-one-way-functions.html' title='Recap: Amplifying one-way functions'/><author><name>mikero</name><uri>http://www.blogger.com/profile/09572620704102140524</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-15836709.post-112995430527382042</id><published>2005-10-22T14:16:00.000-07:00</published><updated>2005-10-22T17:11:15.276-07:00</updated><title type='text'>Extractors (Phillip Mienk, lecturer)</title><content type='html'>&lt;b&gt;Motivation:&lt;/b&gt; For most of what we've been talking about in the past, we've been assuming we've had perfectly random sources, but these creatures simply can't always be found in "nature." The question then arises -- can we take a source which is biased and bring it as close as possible to purely random?&lt;br /&gt;&lt;br /&gt;We take to start a result from vonNeumann: For any &lt;math&gt;X&lt;sub&gt;1&lt;/sub&gt;, X&lt;sub&gt;2&lt;/sub&gt;,...,X&lt;sub&gt;n&lt;/sub&gt;∈{0,1} with Pr[X&lt;sub&gt;i&lt;/sub&gt; = 1] = δ&lt;sub&gt;i&lt;/sub&gt;, where 0&amp;#60;δ≤δ&lt;sub&gt;i&lt;/sub&gt;≤1-δ, then for l such bits, we can bound the parity to be exponentially close to 1/2.  That is, |Pr[ XOR&lt;sub&gt;i=1...l&lt;/sub&gt; X&lt;sub&gt;i&lt;/sub&gt; = 1] - &lt;sup&gt;1&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt;| = 2 &lt;sup&gt;-Ω(l)&lt;/sup&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;δ-SV-sources&lt;/b&gt; (Santha-Vazirani): ∀i ∀x&lt;sub&gt;1&lt;/sub&gt;, ..., x&lt;sub&gt;i-1&lt;/sub&gt; such that δ≤Pr[X&lt;sub&gt;i&lt;/sub&gt;=1 | X&lt;sub&gt;1&lt;/sub&gt;=x&lt;sub&gt;1&lt;/sub&gt;, ..., X&lt;sub&gt;i-1&lt;/sub&gt;=x&lt;sub&gt;i-1&lt;/sub&gt;] ≤ 1-δ&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Proposition 1:&lt;/b&gt; ∀δ for all deterministic extractors f(x)=b (functions which output one bit), ∃ an SV-source X such that Pr[b = 1] is as biased as the SV-source.&lt;br /&gt;&lt;i&gt;Proof:&lt;/i&gt; Consider X&lt;sub&gt;i&lt;/sub&gt;, ..., X&lt;sub&gt;n&lt;/sub&gt; &amp;isin; D = {0,1}&lt;sup&gt;n&lt;/sup&gt;.  Let f(x)=b.  Note that |D|=2&lt;sup&gt;n&lt;/sup&gt;.  Divide the domain, D, into two pieces, D&lt;sub&gt;0&lt;/sub&gt; where the extractor outputs 0, and D&lt;sub&gt;1&lt;/sub&gt; where the extractor outputs 1.  D&lt;sub&gt;0&lt;/sub&gt;={x: f(x)=0}, D&lt;sub&gt;1&lt;/sub&gt;={x: f(x)=1}.  We want to show there is an SV-source such that f is &amp;delta;-biased; if the uniform distribution doesn't work, then the difference between the sizes of our two domains must be | |D&lt;sub&gt;0&lt;/sub&gt;| - |D&lt;sub&gt;1&lt;/sub&gt;| | &amp;le; 2&lt;sup&gt;n&lt;/sup&gt;&amp;delta;.  WLOG, we say |D&lt;sub&gt;0&lt;/sub&gt;| &amp;ge; |D&lt;sub&gt;1&lt;/sub&gt;|.  Then there are |D&lt;sub&gt;0&lt;/sub&gt;|&amp;le; (&lt;sup&gt;2&lt;sup&gt;n&lt;/sup&gt;&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt;) + (&lt;sup&gt;2&lt;sup&gt;n&lt;/sup&gt;&amp;delta;&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt;) = &lt;sup&gt;(1 + &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; &amp;middot;2&lt;sup&gt;n&lt;/sup&gt;.  Thus,  |D&lt;sub&gt;1&lt;/sub&gt;|&amp;ge; &lt;sup&gt;(1 - &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; &amp;middot;2&lt;sup&gt;n&lt;/sup&gt;.  Let X be an SV-source such that &lt;sup&gt;(1 + &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; on D&lt;sub&gt;0&lt;/sub&gt; and &lt;sup&gt;(1 - &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; on D&lt;sub&gt;1&lt;/sub&gt;.  If x &amp;isin; D&lt;sub&gt;0&lt;/sub&gt;, Pr[x] = &lt;sup&gt;(1 + &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; &amp;middot; &lt;sup&gt;1&lt;/sup&gt;/&lt;sub&gt;|D&lt;sub&gt;0&lt;/sub&gt;|&lt;/sub&gt;.  If x &amp;isin; D&lt;sub&gt;1&lt;/sub&gt;, Pr[x] = &lt;sup&gt;(1 - &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; &amp;middot; &lt;sup&gt;1&lt;/sup&gt;/&lt;sub&gt;|D&lt;sub&gt;1&lt;/sub&gt;|&lt;/sub&gt;.  Now let's say we have strings a=y0 and b=y1, where |y|=n-1 (we would like to show that |Pr[a|y]-Pr[b|y]|&lt;&amp;delta;).  It is enough to bound the ratio of &lt;sup&gt;Pr[a|y]&lt;/sup&gt;/&lt;sub&gt;Pr[b|y]&lt;/sub&gt; = &lt;sup&gt;Pr[a]&lt;/sup&gt;/&lt;sub&gt;Pr[b]&lt;/sub&gt;.  If a,b&amp;isin;D&lt;sub&gt;0&lt;/sub&gt; or a,b&amp;isin;D&lt;sub&gt;1&lt;/sub&gt;, this ratio is obviously exactly 1; thus we assume WLOG that a&amp;isin;D&lt;sub&gt;0&lt;/sub&gt; and b&amp;isin;D&lt;sub&gt;1&lt;/sub&gt;.  Then, &lt;sup&gt;Pr[a]&lt;/sup&gt;/&lt;sub&gt;Pr[b]&lt;/sub&gt; = (&lt;sup&gt;(1 + &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; &amp;middot; &lt;sup&gt;1&lt;/sup&gt;/&lt;sub&gt;|D&lt;sub&gt;0&lt;/sub&gt;|&lt;/sub&gt;)/(&lt;sup&gt;(1 - &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; &amp;middot; &lt;sup&gt;1&lt;/sup&gt;/&lt;sub&gt;|D&lt;sub&gt;1&lt;/sub&gt;|&lt;/sub&gt;) = &lt;sup&gt;(1 + &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;(1 - &amp;delta;)&lt;/sub&gt; &amp;middot; &lt;sup&gt;|D&lt;sub&gt;1&lt;/sub&gt;|&lt;/sup&gt;/&lt;sub&gt;|D&lt;sub&gt;0&lt;/sub&gt;|&lt;/sub&gt; &amp;le;&lt;sup&gt;(1 + &amp;delta;)&lt;/sup&gt;/&lt;sub&gt;(1 - &amp;delta;)&lt;/sub&gt;.  With some more elementary algebra (which would just look overly intimidating with the terrible typsetting on this blog), we can also get a lower bound of 1.  Thus, for all f we have constructed  a &amp;delta;-SV-source, namely &lt;sup&gt;(1+&amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; on D&lt;sub&gt;0&lt;/sub&gt;, &lt;sup&gt;(1-&amp;delta;)&lt;/sup&gt;/&lt;sub&gt;2&lt;/sub&gt; on D&lt;sub&gt;1&lt;/sub&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;More motivation&lt;/b&gt;: Why are we doing this?  We want to run randomized algorithms given an extractor and input.  If it doesn't yield significantly random output, then we can allow a purely random seed into the extractor, and we hope that this will make the output more uniformly random.  From an algorithm A(w,r) we can make a new algorithm A'(w,X) with the same input and k-source X and generates all possible bits it can from a given seed, d.  For small d, we can iterate over all seeds until we find the one that gives optimal output, and thus we'd like to prove there exist extractors with small seeds.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Definition&lt;/b&gt;: Ext: {0,1}&lt;sup&gt;n&lt;/sup&gt; &amp;times; {0,1}&lt;sup&gt;d&lt;/sup&gt; &amp;rarr; {0,1}&lt;sup&gt;m&lt;/sup&gt; is a (k,&amp;epsilon;)-extractor if for any k-source X on {0,1}&lt;sup&gt;n&lt;/sup&gt; then Ext(X,U&lt;sub&gt;d&lt;/sub&gt;) is &amp;epsilon;-close to U&lt;sub&gt;m&lt;/sub&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Definition&lt;/b&gt;: The statistical difference, &amp;Delta;, is half the L&lt;sub&gt;1&lt;/sub&gt;-difference.  That is, &amp;Delta;(x,y) = max&lt;sub&gt;T&amp;sube;U&lt;/sub&gt; |Pr[x&amp;isin;T]-Pr[y&amp;isin;T]|&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Definition&lt;/b&gt;: Supp(X)={x : x&amp;isin;X, Pr[x]&amp;#62;0}&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Proposition 2&lt;/b&gt;: For any n and for any k&amp;le;n, and a flat (uniform over {0,1}&lt;sup&gt;k&lt;/sup&gt;) k-source X, &amp;exist; Ext: {0,1}&lt;sup&gt;n&lt;/sup&gt; &amp;rarr; {0,1}&lt;sup&gt;m&lt;/sup&gt; with m=k-2log(&lt;sup&gt;1&lt;/sup&gt;/&lt;sub&gt;&amp;epsilon;&lt;/sub&gt;)-O(1) such that Ext(X) is &amp;epsilon;-close to U&lt;sub&gt;m&lt;/sub&gt;.&lt;br /&gt;&lt;i&gt;Proof&lt;/i&gt;: Consider a random deterministic Extractor.  We want &amp;forall;T &amp;sube; [2&lt;sup&gt;m&lt;/sup&gt;] |Pr[Ext(X)&amp;isin;T] - Pr[U&lt;sub&gt;m&lt;/sub&gt;&amp;isin;T]|&amp;le;&amp;epsilon;.  This would imply that &lt;sup&gt;|{x&amp;isin;supp(X) : Ext(x)&amp;isin;T}|&lt;/sup&gt;/&lt;sub&gt;2&lt;sup&gt;k&lt;/sup&gt;&lt;/sub&gt; differs from density &amp;mu;(T) by less than &amp;epsilon;.  (The rest of the proof is left to the reader, as class ended and notes were left incomplete.)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Deterministic Extractors&lt;/b&gt;: Fix Y a flat l-source on {0,1}&lt;sup&gt;t&lt;/sup&gt;.  As there are L=2&lt;sup&gt;l&lt;/sup&gt; desired elements from T=2&lt;sup&gt;t&lt;/sup&gt; possible, we have (T choose L) candidates for Y.  By Stirling's approximation, this is ≈(&lt;sup&gt;Te&lt;/sup&gt;/&lt;sub&gt;L&lt;/sub&gt;)&lt;sup&gt;L&lt;/sup&gt;.  Consider a random extractor Ext: {0,1}&lt;sup&gt;t&lt;/sup&gt; &amp;rarr; {0,1}&lt;sup&gt;m&lt;/sup&gt;. Pr[Ext not an extractor on Y] &amp;le; 2&lt;sup&gt;&amp;Omega;(L&amp;epsilon;&lt;sup&gt;2&lt;/sup&gt;)&lt;/sup&gt;.  This implies that Pr[Ext not an extractor for some Y] &amp;le; (T choose L) &amp;middot; 2&lt;sup&gt;-&amp;Omega;(L&amp;epsilon;&lt;sup&gt;2&lt;/sup&gt;)&lt;/sup&gt; &amp;le; (&lt;sup&gt;Te&lt;/sup&gt;/&lt;sub&gt;L&lt;/sub&gt;)&lt;sup&gt;L&lt;/sup&gt; &amp;middot; 2&lt;sup&gt;-&amp;Omega;(L&amp;epsilon;&lt;sup&gt;2&lt;/sup&gt;)&lt;/sup&gt; &amp;#62; 1.  Thus the deterministic extractor fails.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Randomized Extractors&lt;/b&gt;:  Consider Y=(X,U&lt;sub&gt;d&lt;/sub&gt;), where X is a flat k-source with t=n+d.  (Notation: T=2&lt;sup&gt;t&lt;/sup&gt;,  N=2&lt;sup&gt;n&lt;/sup&gt;, D=2&lt;sup&gt;d&lt;/sup&gt;, K=2&lt;sup&gt;k&lt;/sup&gt;).  Then T=ND, L=KD, and there are (N choose K) candidates for Y.  Pr[Ext fails for some Y] &amp;le; (N choose K) &amp;middot; 2&lt;sup&gt;-&amp;Omega;(KD&amp;epsilon;&lt;sup&gt;2&lt;/sup&gt;)&lt;/sup&gt; &amp;le; (&lt;sup&gt;Ne&lt;/sup&gt;/&lt;sub&gt;K&lt;/sub&gt;)&lt;sup&gt;K&lt;/sup&gt; &amp;middot; 2&lt;sup&gt;-&amp;Omega;(KD&amp;epsilon;&lt;sup&gt;2&lt;/sup&gt;)&lt;/sup&gt;, which is less than 1 if d=log(n-k) + 2log(&lt;sup&gt;1&lt;/sup&gt;/&lt;sub&gt;&amp;epsilon;&lt;/sub&gt;)+O(1).  Since this probability is less than one, there is a high probability we have an extractor for all Y, and thus we can have randomized algorithms.&lt;br /&gt;&lt;br /&gt;Recall that we're looking to find a small seed, d, while giving good output, m.  What do we know?&lt;table cellpadding="0" cellspacing="0" cols="3" align="center"&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" width="50%"&gt; &lt;/td&gt;&lt;td align="center" width="25%"&gt;d&lt;/td&gt;&lt;td align="center" width="25%"&gt;m&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" width="50%"&gt;Necessary for BPP simulation&lt;/td&gt;&lt;td align="center" width="25%"&gt;O(log n)&lt;/td&gt;&lt;td align="center" width="25%"&gt;k&lt;sup&gt;&amp;Omega;(1)&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" width="50%"&gt;Pairwise Independant Hashing&lt;/td&gt;&lt;td align="center" width="25%"&gt;O(n)&lt;/td&gt;&lt;td align="center" width="25%"&gt;k+d-O(1)&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" width="50%"&gt;Spectral Expanders&lt;/td&gt;&lt;td align="center" width="25%"&gt;O(n-k)&lt;/td&gt;&lt;td align="center" width="25%"&gt;n&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" width="50%"&gt;Lu, Reingold, Vadhan, Widgerson&lt;/td&gt;&lt;td align="center" width="25%"&gt;O(log n)&lt;/td&gt;&lt;td align="center" width="25%"&gt;(1-&amp;gamma;)k, &amp;forall;&amp;gamma;&amp;#62;0&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;tr&gt;&lt;td align="left" width="50%"&gt;Zig-Zag Product&lt;/td&gt;&lt;td align="center" width="25%"&gt;O(log&lt;sup&gt;2&lt;/sup&gt;n)&lt;/td&gt;&lt;td align="center" width="25%"&gt;k+d-O(1)&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;b&gt;Definition&lt;/b&gt;: A family of functions H={h&lt;sub&gt;i&lt;/sub&gt; : [N] &amp;rarr; [M]} is pairwise independent if&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(1) &amp;forall;x&amp;isin;[N], h(x) is uniformally distributed in [M]&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(2) &amp;forall;x,y&amp;isin;[N], x≠y, h(x) and h(y) are independent.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Leftover Hash Lemma&lt;/b&gt;: If H={h : {0,1}&lt;sup&gt;n&lt;/sup&gt; &amp;rarr; [0,1}&lt;sup&gt;l&lt;/sup&gt;} is a pairwise independent family where l=k-2log(&lt;sup&gt;1&lt;/sup&gt;/&lt;sub&gt;&amp;epsilon;&lt;/sub&gt;)-O(1), then Ext(x,h) = (h, h(x)) is a (k,&amp;epsilon;)-extractor. (Not enough time for the &lt;i&gt;Proof&lt;/i&gt; in class)&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Extractors and Expanders&lt;/b&gt;: We can interpret Ext: {0,1}&lt;sup&gt;n&lt;/sup&gt; &amp;times; {0,1}&lt;sup&gt;d&lt;/sup&gt; &amp;rarr; {0,1}&lt;sup&gt;m&lt;/sup&gt; as a bipartite multigraph G=([N],[M],E) where (u,v)&amp;isin;E iff &amp;exist;r&amp;isin;U&lt;sub&gt;d&lt;/sub&gt; such that Ext(u,r)=v.  Consider the extraction property that Ext is a (k,&amp;epsilon;)-extractor iff &amp;forall;S&amp;sube;[N], |S|=K, &amp;Delta;(Ext(U&lt;sub&gt;s&lt;/sub&gt;,U&lt;sub&gt;d&lt;/sub&gt;),U&lt;sub&gt;m&lt;/sub&gt;) =  max&lt;sub&gt;T&amp;sube;[M]&lt;/sub&gt; |Pr[Ext(U&lt;sub&gt;s&lt;/sub&gt;,U&lt;sub&gt;d&lt;/sub&gt;)&amp;isin;T] - Pr[U&lt;sub&gt;m&lt;/sub&gt;&amp;isin;T]| &amp;le; &amp;epsilon;  Therefore, for any T&amp;sube;[M], this implies that |(&lt;sup&gt;e(S,T)&lt;/sup&gt;/&lt;sub&gt;|S|&amp;middot;D&lt;/sub&gt;) - (&lt;sup&gt;|T|&lt;/sup&gt;/&lt;sub&gt;M&lt;/sub&gt;)|&amp;le;&amp;epsilon;.  This looks familiar; recall the...&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Expander Mixing Lemma&lt;/b&gt;: For S,T&amp;sube;G and &amp;lambda; the second largest eigenvalue of the adjacency matrix A, |(&lt;sup&gt;E(S,T)&lt;/sup&gt;/&lt;sub&gt;|S|&amp;middot;|T|&lt;/sub&gt;) - (&lt;sup&gt;D&lt;/sup&gt;/&lt;sub&gt;N&lt;/sub&gt;)| &amp;le; &amp;lambda;√(|S|&amp;middot;|T|).  Note that we can make G bipartite by making a copy of G, selecting S in G&lt;sub&gt;1&lt;/sub&gt;, T in G&lt;sub&gt;2&lt;/sub&gt;, and if uv&amp;isin;G, &amp;exist;uv&amp;isin;G&lt;sub&gt;1&lt;/sub&gt;G&lt;sub&gt;2&lt;/sub&gt; such that u&amp;isin;G&lt;sub&gt;1&lt;/sub&gt; and v&amp;isin;G&lt;sub&gt;2&lt;/sub&gt;.  Through some manipulation of the two similar equations, one can see that if &amp;lambda; is "small enough," an expander yields an extractor (and vice versa).&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Definition&lt;/b&gt;: X is a (k,l) block source if X=B&lt;sub&gt;1&lt;/sub&gt;...B&lt;sub&gt;t&lt;/sub&gt; where &amp;forall;i&amp;isin;[t], |B&lt;sub&gt;i&lt;/sub&gt;|=l and &amp;forall;b&lt;sub&gt;1&lt;/sub&gt;, ..., b&lt;sub&gt;i-1&lt;/sub&gt;&amp;isin;{0,1}&lt;sup&gt;l&lt;/sup&gt;, B&lt;sub&gt;i&lt;/sub&gt;|&lt;sub&gt;B&lt;sub&gt;1&lt;/sub&gt;=b&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i-1&lt;/sub&gt;=b&lt;sub&gt;i-1&lt;/sub&gt;&lt;/sub&gt; is a k-source.  Alternatively, X is a (k,l) block source if it can be partitioned into l blocks of equal size such taht conditional distribution of each block given previous history is a k-source.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Theorem&lt;/b&gt;:  Given explicit construction for (k,&amp;epsilon;)-extractor  Ext: {0,1}&lt;sup&gt;l&lt;/sup&gt; &amp;times; {0,1}&lt;sup&gt;d&lt;/sup&gt; &amp;rarr; {0,1}&lt;sup&gt;d+m&lt;/sup&gt;, then &amp;forall;t&amp;ge;1 &amp;exist; Ext': {0,1}&lt;sup&gt;tl&lt;/sup&gt; &amp;times; {0,1}&lt;sup&gt;d&lt;/sup&gt; &amp;rarr; {0,1}&lt;sup&gt;d+tm&lt;/sup&gt; such that Ext'(X,U&lt;sub&gt;d&lt;/sub&gt; is t&amp;epsilon;-close to U&lt;sub&gt;d+tm&lt;/sub&gt; for all (k,l) block sources X with t blocks.  Formally, consider Ext'.  For x&amp;isin;{0,1}&lt;sup&gt;tl&lt;/sup&gt;, x=b&lt;sub&gt;1&lt;/sub&gt;...b&lt;sub&gt;t&lt;/sub&gt; for |b&lt;sub&gt;i&lt;/sub&gt;|=l.  For each b&lt;sub&gt;i&lt;/sub&gt;, Ext yields r&lt;sub&gt;i&lt;/sub&gt;z&lt;sub&gt;i&lt;/sub&gt; with |r&lt;sub&gt;i&lt;/sub&gt;|=d.  Then Ext(b&lt;sub&gt;i&lt;/sub&gt;,r&lt;sub&gt;i+1&lt;/sub&gt;), where r&lt;sub&gt;i+1&lt;/sub&gt; is the initial seed, d.  Thus, &amp;delta(Ext'(X,U&lt;sub&gt;d&lt;/sub&gt;), U&lt;sub&gt;d+tm&lt;/sub&gt;)&amp;le;t&amp;epsilon;&lt;br /&gt;&lt;i&gt;Proof&lt;/i&gt;: X=B&lt;sub&gt;1&lt;/sub&gt;...B&lt;sub&gt;t&lt;/sub&gt;.  Let R&lt;sub&gt;1&lt;/sub&gt;, ..., R&lt;sub&gt;t+1&lt;/sub&gt; and Z&lt;sub&gt;1&lt;/sub&gt;, ..., Z&lt;sub&gt;t&lt;/sub&gt; be random variables representing the output of Ext'(X,U&lt;sub&gt;d&lt;/sub&gt;) and internal output.  Let M&lt;sub&gt;1&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt; be samples of U&lt;sub&gt;m&lt;/sub&gt;.  Define &amp;forall;i&amp;isin;[t+1]: D&lt;sub&gt;i&lt;/sub&gt; = (B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i-1&lt;/sub&gt;, R&lt;sub&gt;i&lt;/sub&gt;, Z&lt;sub&gt;i&lt;/sub&gt;, ..., Z&lt;sub&gt;t&lt;/sub&gt;) and E&lt;sub&gt;i&lt;/sub&gt; = (B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i-1&lt;/sub&gt;, U&lt;sub&gt;d&lt;/sub&gt;, M&lt;sub&gt;i&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt;).  We want to show that &amp;Delta;(D&lt;sub&gt;i&lt;/sub&gt;,E&lt;sub&gt;i&lt;/sub&gt;)&amp;le;(t+1-i)&amp;epsilon;, and we shall proceed by induction.  Base case: i=t+1.  Since R&lt;sub&gt;t+1&lt;/sub&gt; is a seed, it is uniform in U&lt;sub&gt;d&lt;/sub&gt;.  Inductive hypothesis: &amp;Delta;(D&lt;sub&gt;i+1&lt;/sub&gt;,E&lt;sub&gt;i+1&lt;/sub&gt;) &amp;le; ((t+1) - (i+1))&amp;epsilon; &amp;leq; (t-i)&amp;epsilon;.  Inductive step:  &amp;Delta (D&lt;sub&gt;i+1&lt;/sub&gt;,E&lt;sub&gt;i+1&lt;/sub&gt;) = &amp;Delta;( (B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i&lt;/sub&gt;, R&lt;sub&gt;i+1&lt;/sub&gt;, Z&lt;sub&gt;i+1&lt;/sub&gt;, ..., Z&lt;sub&gt;t&lt;/sub&gt;), (B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i&lt;/sub&gt;, U&lt;sub&gt;d&lt;/sub&gt;, M&lt;sub&gt;i+1&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt;) ) = &amp;Delta;( (B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i&lt;/sub&gt;, Ext(B&lt;sub&gt;i&lt;/sub&gt;, R&lt;sub&gt;i+1&lt;/sub&gt;), Z&lt;sub&gt;i+1&lt;/sub&gt;, ..., Z&lt;sub&gt;t&lt;/sub&gt;), (B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i&lt;/sub&gt;, Ext(B&lt;sub&gt;i&lt;/sub&gt;, U&lt;sub&gt;d&lt;/sub&gt;), M&lt;sub&gt;i+1&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt;) ).  But Ext(B&lt;sub&gt;i&lt;/sub&gt;, R&lt;sub&gt;i+1&lt;/sub&gt;) = R&lt;sub&gt;i&lt;/sub&gt;Z&lt;sub&gt;i&lt;/sub&gt;.  Thus, the same quantity = &amp;Delta;(D&lt;sub&gt;i&lt;/sub&gt;, (B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i&lt;/sub&gt;, Ext(B&lt;sub&gt;i&lt;/sub&gt;, U&lt;sub&gt;d&lt;/sub&gt;), M&lt;sub&gt;i+1&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt;)).  We know that B&lt;sub&gt;i&lt;/sub&gt; is a k-source conditioned on B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i-1&lt;/sub&gt;, that Ext is a (k,&amp;epsilon;)-extractor, and that M&lt;sub&gt;i&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt; are independent.  Thus, our quantity = &amp;Delta;((B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i&lt;/sub&gt;, Ext(B&lt;sub&gt;i&lt;/sub&gt;, U&lt;sub&gt;d&lt;/sub&gt;), M&lt;sub&gt;i+1&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt;), (B&lt;sub&gt;i&lt;/sub&gt;, ..., B&lt;sub&gt;i-1&lt;/sub&gt;, U&lt;sub&gt;d+m&lt;/sub&gt;, M&lt;sub&gt;i+1&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt;))&amp;le;&amp;epsilon;  Consider the triangle inequality: &amp;Delta(D&lt;sub&gt;i&lt;/sub&gt;, E&lt;sub&gt;i&lt;/sub&gt;)&amp;le; &amp;Delta;(D&lt;sub&gt;i&lt;/sub&gt;, (B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i&lt;/sub&gt;, Ext(B&lt;sub&gt;i&lt;/sub&gt;, U&lt;sub&gt;d&lt;/sub&gt;), M&lt;sub&gt;i+1&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt;)) + &amp;Delta;((B&lt;sub&gt;1&lt;/sub&gt;, ..., B&lt;sub&gt;i&lt;/sub&gt;, Ext(B&lt;sub&gt;i&lt;/sub&gt;, U&lt;sub&gt;d&lt;/sub&gt;), M&lt;sub&gt;i+1&lt;/sub&gt;, ..., M&lt;sub&gt;t&lt;/sub&gt;), E&lt;sub&gt;i&lt;/sub&gt;) &amp;le; (t-i)&amp;epsilon; + &amp;epsilon; &amp;le; (t+1-i)&amp;epsilon;&lt;br /&gt;&lt;br /&gt;Since this has worked for any block source, we can then generate similarly for an SV-source.&lt;br /&gt;&lt;/math&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112995430527382042?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112995430527382042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112995430527382042' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112995430527382042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112995430527382042'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/10/extractors-phillip-mienk-lecturer.html' title='Extractors (Phillip Mienk, lecturer)'/><author><name>Tracy</name><uri>http://www.blogger.com/profile/06451829708725784131</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-15836709.post-112958102502164217</id><published>2005-10-17T13:26:00.000-07:00</published><updated>2005-10-17T18:37:01.903-07:00</updated><title type='text'>Recap: Randomness conductors and lossless expanders</title><content type='html'>In the next lectures (9/28-10/5), we showed how to construct explicit constant-degree lossless bipartite expanders (&lt;a href="http://www.wisdom.weizmann.ac.il/%7Ereingold/publications/conductors-prelim.ps"&gt;Capalbo, Reingold, Vadhan and Wigderson, 2002&lt;/a&gt;). The main idea is to use a variation of the zig-zag product with added "buffers" to catch randomness that would otherwise be wasted. It is known that some Ramanujan graphs are not lossless expanders so the paper needs to use something beyond standard eigenvalue methods. Instead it introduces conductors, functions to manipulate random distributions, and uses min-entropy to measure their performance.&lt;br /&gt;&lt;br /&gt;The modified zig-zag product takes three conductors arranged as shown below.&lt;br /&gt;&lt;br /&gt;&lt;img alt="zigzag product" title="zigzag product" src="http://www.cs.uiuc.edu/class/fa05/cs598man/blog/bufferzigzag.gif"&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The largest component (C&lt;sub&gt;1&lt;/sub&gt; in the figure) is a permutation on (node,walk) pairs in an expander graph (which takes a pair (node&lt;sub&gt;0&lt;/sub&gt;,walk) to  (node',walk') where node' is the endpoint of the walk starting from node&lt;sub&gt;0&lt;/sub&gt;, and walk' is walk "viewed backwards"). The other two components have constant size and so can be found via exhaustive search.&lt;br /&gt;&lt;br /&gt;The output of the first two conductors preserve all the entropy present in their inputs, and C&lt;sub&gt;3&lt;/sub&gt; is a lossless conductor applied to the "buffers" of these conductors. &lt;br /&gt;&lt;br /&gt;(Instead, if C&lt;sub&gt;3&lt;/sub&gt; is an &lt;i&gt;extractor&lt;/i&gt;, the resulting conductor is also an extractor; note that since the output of the first component itself is almost as long as the input, this is true only for high min-entropy inputs (i.e. inputs with at most a constant number of bits of entropy deficiency).)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112958102502164217?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112958102502164217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112958102502164217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112958102502164217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112958102502164217'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/10/recap-randomness-conductors-and.html' title='Recap: Randomness conductors and lossless expanders'/><author><name>David Bunde</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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15836709.post-112952709990495119</id><published>2005-10-16T22:28:00.000-07:00</published><updated>2005-10-16T22:46:39.470-07:00</updated><title type='text'>Recap: The Zig-Zag Product</title><content type='html'>Given a large graph and a small(er) graph, the zig-zag product of the two graph is a larger graph with degree equal to the size of the small graph squared, which has 2nd largest eigenvalue bounded by the sum of the 2nd largest eigenvalues of the original graphs.  &lt;br /&gt;&lt;br /&gt;To see what the zig-zag is, we use an intermediate graph, the replacement graph.   Note that the degree of G&lt;sub&gt;1&lt;/sub&gt; is equal to the number of vertices in G&lt;sub&gt;2&lt;/sub&gt;.  Then the replacement graph G&lt;sub&gt;1&lt;/sub&gt; r G&lt;sub&gt;2&lt;/sub&gt; consists of replacing each vertex of G&lt;sub&gt;1&lt;/sub&gt; with a copy of G&lt;sub&gt;2&lt;/sub&gt;, so that each vertex in the new graph has all its edges in the local copy of G&lt;sub&gt;2&lt;/sub&gt; as well as 1 edge from G&lt;sub&gt;1&lt;/sub&gt; which leads to a different copy of G&lt;sub&gt;2&lt;/sub&gt;.&lt;br /&gt;&lt;br /&gt;Then the zig-zag product, G&lt;sub&gt;1&lt;/sub&gt; z G&lt;sub&gt;2&lt;/sub&gt;, has an edge for every path of length 3 in the replacement graph which consists of an edge in a local copy of G&lt;sub&gt;2&lt;/sub&gt; followed by an edge from G&lt;sub&gt;1&lt;/sub&gt; followed by an edge in the new local copy of G&lt;sub&gt;2&lt;/sub&gt;.  So the degree of a vertex in the zig-zag is the degree of G&lt;sub&gt;2&lt;/sub&gt; squared.&lt;br /&gt;&lt;br /&gt;Intuitively, the zig-zag works well because if the starting distribution is far from uniform, then the first step in the path of length 3 increases entropy by simply being a step in an expander.  If the starting distribution is close to uniform on the component corresponding to the local copies of G&lt;sub&gt;2&lt;/sub&gt;, then the middle edge in the path of length 3 steals some of the entropy for the first component corresponding to the larger graph G&lt;sub&gt;1&lt;/sub&gt;, and then the G&lt;sub&gt;2&lt;/sub&gt; componenet will be further from uniform so that the third step will increase overall entropy.&lt;br /&gt;&lt;br /&gt;The zig-zag product can be iterated to yield an infinite family of expanders where degree remains constant.  They are not Ramanujan, since the best possible eigenvalue bound we can get is O(1/D&lt;sup&gt;1/4&lt;/sup&gt;) for a D-regular expander.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112952709990495119?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112952709990495119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112952709990495119' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112952709990495119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112952709990495119'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/10/recap-zig-zag-product.html' title='Recap: The Zig-Zag Product'/><author><name>emwc</name><uri>http://www.blogger.com/profile/09121429425809507159</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-15836709.post-112942242990979630</id><published>2005-10-15T17:26:00.000-07:00</published><updated>2005-10-17T18:41:08.966-07:00</updated><title type='text'>Recap: Edge and Vertex Expansion</title><content type='html'>In the edge expansion lecture, we saw a proof that for a d-regular graph G,&lt;br /&gt;&lt;br /&gt;&lt;center&gt;(d - &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;)/2 ≤ h&lt;sub&gt;G&lt;/sub&gt; ≤ sqrt(2d(d - &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;))&lt;/center&gt;&lt;br /&gt;(See Manoj's post below for definitions.)  As a consequence, we see that our two definitions of an expander family are equivalent.&lt;br /&gt;&lt;br /&gt;In the vertex expansion lecture, we saw that vertex expansion is also related to the spectral gap.  Analogously to edge expansion, define the vertex expansion h'&lt;sub&gt;G&lt;/sub&gt; as&lt;br /&gt;&lt;br /&gt;&lt;center&gt;h'&lt;sub&gt;G&lt;/sub&gt; = min&lt;sub&gt;|S|≤n/2&lt;/sub&gt; |N(S)|/|S|&lt;/center&gt;&lt;br /&gt; where the minimization is over all subsets S of at most half the vertices of G, and where N(S) = { v : there exists u in S with uv an edge }.&lt;br /&gt;&lt;br /&gt;Let &amp;lambda;&lt;sup&gt;*&lt;/sup&gt; be max {| &amp;lambda;&lt;sub&gt;i&lt;/sub&gt;|}.  For any d-regular graph G,&lt;br /&gt;&lt;br /&gt;&lt;center&gt; 2/((&amp;lambda;&lt;sup&gt;*&lt;/sup&gt;/d)&lt;sup&gt;2&lt;/sup&gt; + 1) ≤ h'&lt;sub&gt;G&lt;/sub&gt; ≤ sqrt(2d(d - &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;)) + 1 &lt;/center&gt;&lt;br /&gt;Note that &amp;lambda;&lt;sup&gt;*&lt;/sup&gt; appears in the lower bound and &amp;lambda;&lt;sub&gt;1&lt;/sub&gt; appears in the upper bound.  The upper bound follows from the relatively simple observation that h'&lt;sub&gt;G&lt;/sub&gt; ≤ h&lt;sub&gt;G&lt;/sub&gt; + 1.&lt;br /&gt;&lt;br /&gt;Solving the second inequality for &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;, we obtain an upper bound&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&amp;lambda;&lt;sub&gt;1&lt;/sub&gt; ≤ d - (h'&lt;sub&gt;G&lt;/sub&gt; - 1)&lt;sup&gt;2&lt;/sup&gt;/2d &lt;/center&gt;&lt;br /&gt;Finally, we note that, when d is large, better bounds on &amp;lambda;&lt;sub&gt;1&lt;/sub&gt; are known.  A result of Noga Alon (1986) shows that &lt;br /&gt;&lt;br /&gt;&lt;center&gt;&amp;lambda;&lt;sub&gt;1&lt;/sub&gt; ≤ d - (h'&lt;sub&gt;G&lt;/sub&gt; - 1)&lt;sup&gt;2&lt;/sup&gt;/(4 + 2(h'&lt;sub&gt;G&lt;/sub&gt; - 1)&lt;sup&gt;2&lt;/sup&gt;)&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112942242990979630?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112942242990979630/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112942242990979630' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112942242990979630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112942242990979630'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/10/recap-edge-and-vertex-expansion.html' title='Recap: Edge and Vertex Expansion'/><author><name>Kevin</name><uri>http://www.blogger.com/profile/07490417152061359613</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-15836709.post-112929846210552441</id><published>2005-10-14T07:00:00.000-07:00</published><updated>2005-10-16T10:07:37.020-07:00</updated><title type='text'>Summary of first few lectures</title><content type='html'>We defined an expander family as a familty of undirected, regular graphs on n vertices (for increasing n) such that the degree is constant and&lt;br /&gt;&lt;ul&gt; &lt;li&gt;the edge expansion (h&lt;sub&gt;G&lt;/sub&gt;=min&lt;sub&gt;|S|≤1/2&lt;/sub&gt; |E(S,S')|/|S|) is at least a constant, OR&lt;/li&gt; &lt;li&gt;the spectral gap (d-λ&lt;sub&gt;1&lt;/sub&gt;) is at least a constant.&lt;/li&gt; &lt;/ul&gt;&lt;br /&gt;(The equivalence follows from (d-λ&lt;sub&gt;1&lt;/sub&gt;)/2 ≤ h&lt;sub&gt;G&lt;/sub&gt; ≤ sqrt[2d(d-λ&lt;sub&gt;1&lt;/sub&gt;)], proven later.)&lt;br /&gt;&lt;br /&gt;A slightly stronger definition of spectral expansion requires d-λ to be at least a constant, where λ=max(|λ&lt;sub&gt;1&lt;/sub&gt;|,|λ&lt;sub&gt;n-1&lt;/sub&gt;|). Then we have the following for an expander G (writing α for λ/d).&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt; &lt;b&gt;Optimal Expanders:&lt;/b&gt; If we allowed "fractional edges," a clique (with self-loops) with all edge weights d/n would be the best degree d expander (with &amp;lambda;=0). However, with "integral edges," &amp;lambda; &amp;ge; 2 sqrt[d-1] - o(1). So called Ramanujan Graphs have &amp;lambda; = 2 sqrt[d-1]. So one can think of &amp;alpha; being  O(1/sqrt d).  &lt;/li&gt;&lt;br /&gt;&lt;li&gt; &lt;b&gt;Expander Mixing Lemma:&lt;/b&gt; For any cut (S,T) in G, number of edges across the cut is in the range (d/n)|S| |T| ± dα sqrt[|S| |T|].  (Note that the smaller the α the closer this is to the value for the "d/n-clique.")&lt;br /&gt;&lt;br /&gt;An application of this lemma is in a simple "deterministic amplification" of BPP algorithms: the algorithm is run not just on one random-tape, but on all its d "neighbors" too -- neighbors in an arbitrary expander with the space of all random-tapes as the vertex set -- driving the error probability down to O(α&lt;sup&gt;2&lt;/sup&gt;), starting from say 1/4.  &lt;/li&gt;&lt;br /&gt;&lt;li&gt; &lt;b&gt;Rapid Mixing:&lt;/b&gt; Starting from a distribution &lt;b&gt;p&lt;/b&gt; on the n vertices, a t-step random walk on G results in a new distribution &lt;b&gt;M&lt;/b&gt;&lt;sup&gt;t&lt;/sup&gt;&lt;b&gt;p&lt;/b&gt; exponentially close to the uniform distribution &lt;b&gt;u&lt;/b&gt;. More precisely, the L&lt;sub&gt;2&lt;/sub&gt;-norm of the difference &lt;b&gt;M&lt;/b&gt;&lt;sup&gt;t&lt;/sup&gt;&lt;b&gt;p&lt;/b&gt; - &lt;b&gt;u&lt;/b&gt; is at most α&lt;sup&gt;t&lt;/sup&gt; (and hence the L&lt;sub&gt;1&lt;/sub&gt;-norm, which measures twice the statistical difference, is at most (sqrt n)α&lt;sup&gt;t&lt;/sup&gt;).  &lt;/li&gt;&lt;br /&gt;&lt;li&gt; &lt;b&gt;Sampling by Random Walks:&lt;/b&gt; Probability that a t-step random walk is confined to a set B of size βn is between (β-2α)&lt;sup&gt;t&lt;/sup&gt; and (β+α)&lt;sup&gt;t&lt;/sup&gt;. (Note that the smaller the α the closer this is to β&lt;sup&gt;t&lt;/sup&gt; corresponding to the random walk on the clique.)&lt;br /&gt;&lt;br /&gt;The upperbound lets one amplify a BPP algorithm to reduce the error probability exponentially in t using only t log d &lt;i&gt;extra&lt;/i&gt; random bits than the original BPP algorithm (if its error probability is a sufficiently small constant to begin with).&lt;br /&gt;&lt;br /&gt;The two bounds together can be used to &lt;i&gt;deterministically&lt;/i&gt; sample a graph such that the relative size of the max-clique is preserved. This lets one reduce the approximation factor of an algorithm for approximating the size of a largest clique, by first using a graph exponentiation which preserves the relative &lt;i&gt;log-size&lt;/i&gt; of the max-clique and then sampling it down as above to a polynomial sized graph in which the original approximation algorthm is then run. (Such an improvement in approximation factor can be used to amplify &lt;i&gt;hardness of approximation&lt;/i&gt; results.)&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112929846210552441?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112929846210552441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112929846210552441' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112929846210552441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112929846210552441'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/10/summary-of-first-few-lectures.html' title='Summary of first few lectures'/><author><name>Manoj Prabhakaran</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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15836709.post-112973622628037136</id><published>2005-10-13T08:32:00.000-07:00</published><updated>2005-10-21T00:04:44.456-07:00</updated><title type='text'>Amplifying the hardness of one-way functions</title><content type='html'>We began by defining a &lt;i&gt;negligible&lt;/i&gt; function. A function &amp;beta;(n) is said to be negligible if &amp;forall; c &amp;gt; 0 &amp;beta;(n) &amp;lt 1/(n^c) for sufficiently large n.&lt;br /&gt;&lt;br /&gt;We then defined a one-way permutation: a polynomial-time computable permutation f is &lt;i&gt;&amp;alpha;(n)-one way&lt;/i&gt; (denoted by &amp;alpha;-OWP) if for any probabilistic polynomial-time algorithm A:&lt;br /&gt;Pr[A(f(x)) = x] &amp;le; 1 - &amp;alpha;(n) + &amp;beta;(n)&lt;br /&gt;where the probability is over all strings x of length n &lt;i&gt;and&lt;/i&gt; the coin-flips used by the algorithm, and &amp;beta;(n) is some negligible function. Intuitively, f is &amp;alpha;-OWP if the fraction of 'hard' inputs is close to &amp;alpha;.&lt;br /&gt;&lt;br /&gt;Finally, for sets X and Y where X &amp;sube; Y, we say that X has density &amp;mu; if |X| = &amp;mu;|Y|&lt;br /&gt;&lt;br /&gt;It is not obvious that one-way permutations exist, but our first theorem (due to Yao) shows that we can construct strong one-way permutations from weak ones. Given f, a (1/p(n))-OWP on n-bit strings for some polynomial p(n), we define:&lt;br /&gt;F(x&lt;sub&gt;1&lt;/sub&gt;, x&lt;sub&gt;2&lt;/sub&gt;, ..., x&lt;sub&gt;t&lt;/sub&gt;) = f(x&lt;sub&gt;1&lt;/sub&gt;)f(x&lt;sub&gt;2&lt;/sub&gt;)...f(x&lt;sub&gt;t&lt;/sub&gt;)&lt;br /&gt;where |x&lt;sub&gt;i&lt;/sub&gt;| = n, and t = n&amp;sdot;p(n). That is, F is a function on n&lt;sup&gt;2&lt;/sup&gt;&amp;sdot;p(n)-bit strings formed by applying f to each part of size n, and concatenating the results. To invert F, we must invert f on each part; the large number of parts means that we expect several of them to be hard for f. It can be shown that in fact, F is hard to invert on all but a negligible fraction of the range.&lt;br /&gt;&lt;br /&gt;The chief problem with this method is that the input length blows up by a large polynomial factor. If f used n bits, F uses n&lt;sup&gt;2&lt;/sup&gt;p(n) bits. Therefore, the hardness of inverting F on large inputs (say of length m) relates to the hardness of inverting f on much smaller inputs (those of length m&lt;sup&gt;&amp;epsilon;&lt;/sup&gt;, where &amp;epsilon; is a constant &amp;le; 1/2).&lt;br /&gt;&lt;br /&gt;A better idea to amplify hardness is to run f on many inputs, but instead of selecting the inputs independently at random, construct an expander graph where each node corresponds to an n-bit input string. Now, select the first node randomly, and then perform a random walk in the graph. Run f on every node v in the walk; the nodes are 'independent enough' that with good probability, we will find some node v such that f(v) is hard to invert.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lemma 1:&lt;/b&gt; Let &amp;alpha;(n) be at least 1/p(n) for some polynomial p. The following are equivalent:&lt;br /&gt;(a) f is &amp;alpha;-OWP&lt;br /&gt;(b) For any polynomial-time randomized algorithm A, &amp;exist; H &amp;sube; &amp;Sigma;&lt;sup&gt;n&lt;/sup&gt; of density &amp;ge; &amp;alpha; such that&lt;br /&gt;Pr[A(f(x)) = x | x &amp;isin; H] is negligible.&lt;br /&gt;&lt;br /&gt;Intuitively, H is the 'hard' set for algorithm A; that is, the lemma says that if f is an &amp;alpha;-OWP, there is some set H (of density at least &amp;alpha;) of inputs that is hard to invert, and the converse. It follows almost immediately from the definition of an &amp;alpha;-OWP that (b) implies (a). The other direction is also not difficult to prove; if there is an algorithm A with a hard set of density &amp;lt; &amp;alpha;, repeated applications of this algorithm allow us to invert f with probability &amp;gt; 1 - &amp;alpha;, contradicting the fact that f is &amp;alpha;-OWP.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Lemma 2:&lt;/b&gt; Let G be an (N, d, &amp;lambda;) expander. (G has N vertices, is d-regular, and &amp;lambda; is the normalized second-largest eigenvalue.) For any subset S of the vertices, with density &amp;mu;, the probability that a random walk of length k is contained entirely within S is &amp;le; &amp;mu;&lt;sup&gt;k/2&lt;/sup&gt;.&lt;br /&gt;&lt;br /&gt;The proof of this lemma uses &lt;a href="http://expanders.blogspot.com/2005/09/last-week-in-class.html"&gt;a technique we saw earlier&lt;/a&gt;. Let P be the projection vector with 1s in positions corresponding to elements of S, and A the normalized adjacency matrix of G. If u is the uniform unit vector, the desired probability is ||(PA)&lt;sup&gt;k&lt;/sup&gt; u|| &lt;sub&gt;1&lt;/sub&gt;. (To see this, observe that we begin with a vertex picked uniformly at random; the probability that we are in S after a single step is given by the L&lt;sub&gt;1&lt;/sub&gt;-norm of PA(u) because Au gives us the probability distribution over vertices after a single step, and we sum over all the probabilities in S.)&lt;br /&gt;&lt;br /&gt;The algebra required to bound ||(PA)&lt;sup&gt;k&lt;/sup&gt; u|| is a little too tedious for a blog post (with applications of the law of cosines, the Cauchy-Schwartz inequality, etc.), but it is fairly straightforward.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Theorem 1: (Main)&lt;/b&gt; If f is (1-&amp;alpha;)-OWP on n-bit input strings (where &amp;alpha; &amp;ge; 1/2), we can construct F&lt;sub&gt;k&lt;/sub&gt;, which is (1 - &amp;alpha;&lt;sup&gt;k/2&lt;/sup&gt;)-OWP on input strings of length n + k log d, where k is a polynomial and d a constant.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Proof:&lt;/b&gt; Let {G&lt;sub&gt;n&lt;/sub&gt;} be an expander family on 2&lt;sup&gt;n&lt;/sup&gt; vertices, with degree d, and &amp;lambda; &amp;le; 1/2. We label edges such that R&lt;sub&gt;G_n&lt;/sub&gt;(v, i) = (u,i) for all v and i. That is, we label edges such that if the edge between v and u is the i&lt;sup&gt;th&lt;/sup&gt; edge of v, it is also the i&lt;sup&gt;th&lt;/sup&gt; edge of u; an alternate way to think about this is that the edge labels give us d disjoint perfect matchings in the graph. We now define F&lt;sub&gt;k&lt;/sub&gt;(x, &amp;sigma;&lt;sub&gt;1&lt;/sub&gt;, &amp;sigma;&lt;sub&gt;2&lt;/sub&gt;, ..., &amp;sigma;&lt;sub&gt;k&lt;/sub&gt;) (where |x| = n, and each &amp;sigma;&lt;sub&gt;i&lt;/sub&gt; &amp;isin; {1...d}) as the output of the function:&lt;br /&gt;for i &amp;larr; 1 to k&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;x &amp;larr; f(x)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;x &amp;larr; R&lt;sub&gt;G_n&lt;/sub&gt;(x, &amp;sigma;&lt;sub&gt;i&lt;/sub&gt;)&lt;br /&gt;return (&amp;sigma;&lt;sub&gt;1&lt;/sub&gt;, &amp;sigma;&lt;sub&gt;2&lt;/sub&gt;, ..., &amp;sigma;&lt;sub&gt;k&lt;/sub&gt;, x)&lt;br /&gt;&lt;br /&gt;That is, we apply f on x, take a step in the graph, and repeat this process k times. Another interpretation is that we take a k-step walk based on the &amp;sigma;&lt;sub&gt;i&lt;/sub&gt;s in the graph G'&lt;sub&gt;n&lt;/sub&gt;, which has the same vertex set as G&lt;sub&gt;n&lt;/sub&gt;, but has an edge between u and v &amp;iff; G&lt;sub&gt;n&lt;/sub&gt; has an edge between f(u) and v. Since f is a permutation, G'&lt;sub&gt;n&lt;/sub&gt; is also an expander with the same properties as G&lt;sub&gt;n&lt;/sub&gt;.&lt;br /&gt;&lt;br /&gt;To see that the function F&lt;sub&gt;k&lt;/sub&gt; is a permutation, it is sufficient to see that it is injective. Suppose two different inputs produced the same output; this implies that the walks ended at the same vertex and that the sequence of &amp;sigma&lt;sub&gt;i&lt;/sub&gt;s is identical. But two such walks that begin at distinct vertices can never converge, because f is one-to-one, and  the &amp;sigma&lt;sub&gt;i&lt;/sub&gt;&lt;sup&gt;th&lt;/sup&gt; edges from two different vertices cannot lead to the same vertex, because of the way edges are labelled.&lt;br /&gt;&lt;br /&gt;We show that F&lt;sub&gt;k&lt;/sub&gt; is a (1-&amp;alpha;&lt;sup&gt;k/2&lt;/sup&gt;)-OWP, by using any algorithm A that inverts F&lt;sub&gt;k&lt;/sub&gt; to construct an algorithm A' that inverts f; if the hard set for A has size &amp;lt; 1-&amp;alpha;&lt;sup&gt;k/2&lt;/sup&gt;, the hard set for A' will have size &amp;lt; &amp;alpha;. Given A, the algorithm A' works as follows to invert an input y:&lt;br /&gt;Pick i from {1, 2, ..., k}&lt;br /&gt;&amp;forall; 1 &amp;le; j &amp;le; k Pick &amp;sigma;&lt;sub&gt;j&lt;/sub&gt; uniformly at random from {1, 2, ..., d}&lt;br /&gt;Set y' &amp;larr; F&lt;sub&gt;k-i-1&lt;/sub&gt;(R&lt;sub&gt;G_n&lt;/sub&gt;(y, &amp;sigma;&lt;sub&gt;i&lt;/sub&gt;), &amp;sigma;&lt;sub&gt;i+1&lt;/sub&gt;, ..., &amp;sigma;&lt;sub&gt;k&lt;/sub&gt;&lt;br /&gt;Use A to find (x', &amp;sigma;&lt;sub&gt;1&lt;/sub&gt;, &amp;sigma;&lt;sub&gt;2&lt;/sub&gt;,...,&amp;sigma;&lt;sub&gt;k&lt;/sub&gt;) &amp;larr; F&lt;sub&gt;k&lt;/sub&gt;&lt;sup&gt;-1&lt;/sup&gt;(y', &amp;sigma;&lt;sub&gt;1&lt;/sub&gt;, &amp;sigma;&lt;sub&gt;2&lt;/sub&gt;,...,&amp;sigma;&lt;sub&gt;k&lt;/sub&gt;)&lt;br /&gt;Return x &amp;larr; F&lt;sub&gt;i-1&lt;/sub&gt;(x', &amp;sigma;&lt;sub&gt;1&lt;/sub&gt;, &amp;sigma;&lt;sub&gt;2&lt;/sub&gt;,...,&amp;sigma;&lt;sub&gt;i-1&lt;/sub&gt;)&lt;br /&gt;&lt;br /&gt;Intuitively, to find the pre-image of y, A' picks i to be some position in a k-step walk. The algorithm follows the walk to the end, inverts it, and then follows the first part of the walk, stopping just before it reaches y. This vertex will be the predecessor of y in the walk. If A successfully inverts F&lt;sub&gt;k&lt;/sub&gt;, A' will invert f. &lt;br /&gt;&lt;br /&gt;Since f is a (1-&amp;alpha;)-OWP, A' must have a hard set of density &amp;ge; 1-&amp;alpha;. Let H be the set of vertices corresponding to the inputs in the hard set, and H* be the set of length k-walks in the graph that intersect H. From lemma 1, we know that H* has density at least (1-&amp;alpha;&lt;sup&gt;k/2&lt;/sup&gt;). If we can show that H* is a hard set for A, it follows that F&lt;sub&gt;k&lt;/sub&gt; is a (1-&amp;alpha;&lt;sup&gt;k/2&lt;/sup&gt;)-OWP.&lt;br /&gt;&lt;br /&gt;If H* is &lt;i&gt;not&lt;/i&gt; a hard set for A, then the algorithm succeeds with non-negligible probability (&amp;ge; 1/p(n)) on H*. For every invocation of A by A', with probability &amp;ge; 1/k, the index i points to some vertex x &amp;isin; H. Considering all paths in H*, the probability of A succeeding is &amp;ge; 1/p(n). Therefore, the probability of A' succeeding on H is &amp;ge; 1/(k &amp;sdot;p(n)), which is non-negligible; this implies that H is not hard for A'. But this is a contradiction, and so H* must be a hard set for A. This completes our proof of the main theorem.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Theorem 2:&lt;/b&gt; If f is a 1/p(n)-OWP for some polynomial p(n), then for &lt;i&gt;any&lt;/i&gt; polynomial q(n), &amp;exist; a (1- 1/q(n))-OWP with only an O(log n) (additive) increase in input length.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Proof:&lt;/b&gt; We use the construction of theorem 1 in two stages: First, starting with a (1 - (1-1/p(n)))-OWP, set k = O(1) and construct a (1 - (1-1/p(n))&lt;sup&gt;k/2&lt;/sup&gt;)-OWP by applying theorem 1; this only increases the input length by &amp;Theta;(1) bits. Repeating this process O(log p(n)) = O(n) times, we can achieve a (1- 1/2)-OWP, with a total of O(log n) increase in input size. Now, set k = log q(n) = O(log n) and apply the construction to the (1- 1/2)-OWP; this gives us the desired (1-1/q(n))-OWP. The total increase in the iterations of stage 1 was O(log n), as it was in the single iteration of stage 2.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112973622628037136?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112973622628037136/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112973622628037136' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112973622628037136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112973622628037136'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/10/amplifying-hardness-of-one-way.html' title='Amplifying the hardness of one-way functions'/><author><name>Nitish</name><uri>http://www.blogger.com/profile/07554352128342702471</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-15836709.post-112820380652564548</id><published>2005-10-01T14:55:00.000-07:00</published><updated>2005-10-06T12:25:50.173-07:00</updated><title type='text'>Introduction to Zig-Zag</title><content type='html'>Starting September 21st, Erin introduced us to the Zig-Zag product as a means of expander construction.&lt;br /&gt;&lt;br /&gt;In leading up to the construction, we first defined a rotation map of a graph G = (V,E) to be a function from pairs (v, i) to (w, j) where v,w &amp;isin; V and the i-th incident edge to v leads to w, and it leads through the j-th incident edge to w.  Further, we will use the notation that G is a (N, D, &amp;lambda;)-graph if G has N-vertices, is D-regular, and has second largest eigenvalue in absolute value, &amp;lambda; = max &lt;sub&gt; &amp;alpha; &amp;perp; 1&lt;sub&gt;n&lt;/sub&gt;&lt;/sub&gt; | &amp;lang; &amp;alpha;, M &amp;alpha; &amp;rang; | / &amp;lang; &amp;alpha;, &amp;alpha; &amp;rang;.&lt;br /&gt;&lt;br /&gt;Next we explored the results of squaring and the tensor product of a graph.  Namely, we considered G&lt;sup&gt;t&lt;/sup&gt; for G an (N,D, &amp;lambda;)-graph.  Proposition 1 stated that G&lt;sup&gt;t&lt;/sup&gt; is an (N, D&lt;sup&gt;t&lt;/sup&gt;, &amp;lambda;&lt;sup&gt;t&lt;/sup&gt;)-graph.  To see this, consider the normalized adjacenty matrix for M&lt;sup&gt;t&lt;/sup&gt; for G&lt;sup&gt;t&lt;/sup&gt;.  Then M&lt;sup&gt;t&lt;/sup&gt;u = &amp;lambda;&lt;sup&gt;t&lt;/sup&gt;u from repeated iterations of Mu = &amp;lambda;u.&lt;br /&gt;&lt;br /&gt;We then defined the tensor product G of G&lt;sub&gt;1&lt;/sub&gt; and G&lt;sub&gt;2&lt;/sub&gt; where G&lt;sub&gt;1&lt;/sub&gt; is N&lt;sub&gt;1&lt;/sub&gt;-vertex D&lt;sub&gt;1&lt;/sub&gt;-regular and G&lt;sub&gt;2&lt;/sub&gt; is N&lt;sub&gt;2&lt;/sub&gt;-vertex D&lt;sub&gt;2&lt;/sub&gt;-regular to be a N&lt;sub&gt;1&lt;/sub&gt; &amp;#183; N&lt;sub&gt;2&lt;/sub&gt;-vertex D&lt;sub&gt;1&lt;/sub&gt; &amp;#183; D&lt;sub&gt;2&lt;/sub&gt;-regular graph such that the rotation map of the tensor product G is&lt;br /&gt;&lt;br /&gt;R&lt;sub&gt;G&lt;/sub&gt;( (v,w), (i,j) ) = ( (v',w'), (i',j') ) where v &amp;isin; G&lt;sub&gt;1&lt;/sub&gt;, w &amp;isin; G&lt;sub&gt;2&lt;/sub&gt;, i &amp;le; D&lt;sub&gt;1&lt;/sub&gt;, j &amp;le; D&lt;sub&gt;2&lt;/sub&gt; and R&lt;sub&gt;G&lt;sub&gt;1&lt;/sub&gt;&lt;/sub&gt;(v,i) = (v',i'), R&lt;sub&gt;G&lt;sub&gt;2&lt;/sub&gt;&lt;/sub&gt;(w,j) = (w',j')&lt;br /&gt;&lt;br /&gt;This is a replacement of each vertex in G&lt;sub&gt;1&lt;/sub&gt; with a copy G&lt;sub&gt;2&lt;/sub&gt; and connecting all vertices based on the vertices they represent in G&lt;sub&gt;1&lt;/sub&gt;.&lt;br /&gt;&lt;br /&gt;As the graph can be represented by the adjacency matrix, we consider the tensors effect on the two adjacency matricies A and B.  If we let Au = &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;u and Bv = &amp;lambda;&lt;sub&gt;2&lt;/sub&gt;v and let C be the tensor of A and B and let w be the tensor of u and v, then the product of Cw = &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;&amp;lambda;&lt;sub&gt;2&lt;/sub&gt;w.  We see this by considering the tensor of Au and Bv, extracting the appropriate position (i,j) in the resulting matrix.&lt;br /&gt;&lt;br /&gt;Now, we consider the effect of the tensor.  We considered Proposition 1 which states,&lt;br /&gt;&lt;br /&gt;Let G&lt;sub&gt;1&lt;/sub&gt; be a (N&lt;sub&gt;1&lt;/sub&gt;, D&lt;sub&gt;1&lt;/sub&gt; &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;) and G&lt;sub&gt;2&lt;/sub&gt; be a (N&lt;sub&gt;2&lt;/sub&gt;, D&lt;sub&gt;2&lt;/sub&gt;, &amp;lambda;&lt;sub&gt;2&lt;/sub&gt;) graph.  Then the tensor of the two is (N&lt;sub&gt;1&lt;/sub&gt; &amp;#183; N&lt;sub&gt;2&lt;/sub&gt;, D&lt;sub&gt;1&lt;/sub&gt; &amp;#183; D&lt;sub&gt;2&lt;/sub&gt;, max{ &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;, &amp;lambda;&lt;sub&gt;2&lt;/sub&gt; }).&lt;br /&gt;&lt;br /&gt;To see this, consider the eigenvalues of the normalized adjacency matrix of the tensor.  These eigenvalues depend on the normalized adjancency matricies of the original graphs G&lt;sub&gt;1&lt;/sub&gt; and G&lt;sub&gt;2&lt;/sub&gt;.  As the result of the tensoring of these normalized adjacency matricies results in a largest eigenvalue of 1, the second largest value is either &amp;lambda;&lt;sub&gt;1&lt;/sub&gt; or &amp;lambda;&lt;sub&gt;2&lt;/sub&gt;.&lt;br /&gt;&lt;br /&gt;From here we defined the Zig-Zag product.  Consider G&lt;sub&gt;1&lt;/sub&gt; a D&lt;sub&gt;1&lt;/sub&gt;-regular graph on N-vertices and G&lt;sub&gt;2&lt;/sub&gt; a D&lt;sub&gt;2&lt;/sub&gt;-regular graph on D&lt;sub&gt;1&lt;/sub&gt;-vertices.  Replacing each vertex in G&lt;sub&gt;1&lt;/sub&gt; with a copy of G&lt;sub&gt;2&lt;/sub&gt;, we create an edge in this resulting graph on [N] &amp;times; [D&lt;sub&gt;1&lt;/sub&gt;] by adding an edge for every path of length 3 of the following form:&lt;br /&gt;&lt;br /&gt;(1) Take a random step inside a copy of G&lt;sub&gt;2&lt;/sub&gt;&lt;br /&gt;(2) Take an edge inside G&lt;sub&gt;1&lt;/sub&gt; which represents the jump from the current embedded G&lt;sub&gt;2&lt;/sub&gt; to another.&lt;br /&gt;(3) Take a random step inside the copy of G&lt;sub&gt;2&lt;/sub&gt;&lt;br /&gt;&lt;br /&gt;Thus, an edge between vertex i and j exists if there is some verticies i' and j' such that there is an edge between i and i' in am embedded copy of G&lt;sub&gt;2&lt;/sub&gt;, an edge in the tensor product between i' and j', and an edge in an embedded copy of G&lt;sub&gt;2&lt;/sub&gt; between j' and j.&lt;br /&gt;&lt;br /&gt;This can be expressed formally via the rotation map of G, G&lt;sub&gt;1&lt;/sub&gt;, and G&lt;sub&gt;2&lt;/sub&gt; as follows:&lt;br /&gt;&lt;br /&gt;Let v &amp;isin; [N], k &amp;isin; [D&lt;sub&gt;1&lt;/sub&gt;], and i,j &amp;isin; [D&lt;sub&gt;2&lt;/sub&gt;].&lt;br /&gt;Let (k', i') = R&lt;sub&gt;G&lt;sub&gt;2&lt;/sub&gt;&lt;/sub&gt;(k,i), the first step within a cloud.&lt;br /&gt;Let (w, l') = R&lt;sub&gt;G&lt;sub&gt;1&lt;/sub&gt;&lt;/sub&gt;(v, k), the step in G&lt;sub&gt;1&lt;/sub&gt;.&lt;br /&gt;Let (l, j') = R&lt;sub&gt;G&lt;sub&gt;2&lt;/sub&gt;&lt;/sub&gt;(l' j), the second step within a cloud.&lt;br /&gt;&lt;br /&gt;Then R&lt;sub&gt;G&lt;/sub&gt;( (v,k), (i,j)) = ((w,l), (j',i')).&lt;br /&gt;&lt;br /&gt;The point of exploring the zig-zag product is that if the two graphs G&lt;sub&gt;1&lt;/sub&gt; and G&lt;sub&gt;2&lt;/sub&gt; are good expanders we expect that their product G will also be a good expander.&lt;br /&gt;&lt;br /&gt;To this end, we have Theorem 4 which follows.  Let G&lt;sub&gt;1&lt;/sub&gt; be a (N, D&lt;sub&gt;1&lt;/sub&gt;, &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;) graph and G&lt;sub&gt;2&lt;/sub&gt; be a (D&lt;sub&gt;1&lt;/sub&gt;, D&lt;sub&gt;2&lt;/sub&gt;, &amp;lambda;&lt;sub&gt;2&lt;/sub&gt;) graph.  Then the zig-zag G of G&lt;sub&gt;1&lt;/sub&gt; and G&lt;sub&gt;2&lt;/sub&gt; is (N &amp;#183; D&lt;sub&gt;1&lt;/sub&gt;, D&lt;sub&gt;2&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt;, f( &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;, &amp;lambda;&lt;sub&gt;2&lt;/sub&gt; )) where f( &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;, &amp;lambda;&lt;sub&gt;2&lt;/sub&gt; ) &amp;le; &amp;lambda;&lt;sub&gt;1&lt;/sub&gt; + &amp;lambda;&lt;sub&gt;2&lt;/sub&gt; + &amp;lambda;&lt;sub&gt;2&lt;/sub&gt;&lt;sup&gt;2&lt;/sup&gt; and f( &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;, &amp;lambda;&lt;sub&gt;2&lt;/sub&gt; ) &lt; 1 if &amp;lambda;&lt;sub&gt;1&lt;/sub&gt;, &amp;lambda;&lt;sub&gt;2&lt;/sub&gt; &lt; 1.&lt;br /&gt;&lt;br /&gt;Intuitively, we can think of the construction as trying evenly distribute entropy thoughout the resulting graph.  We claim that a step in the zig-zag results in a more uniform distribution of the entropy given that the entropy was not already uniformly distributed.  To see this we consider two cases based on the initial probability distribution.&lt;br /&gt;&lt;br /&gt;If the distributions are not too close to uniform then the random first step used to produce an edge in the zig-zag contributes some amount of entropy.  As the deterministic step across clouds and the following random step cannot decrease the contribution from step one, some amount of reallocation is done making the graph entropy more uniform.&lt;br /&gt;&lt;br /&gt;If instead the entropy is close to uniform then the first step is unproductive.  However the deterministic step is now effectively random due to the uniformity of the choice of vertex in the cloud and so a contribution is still made for the resulting step in the zig-zag.&lt;br /&gt;&lt;br /&gt;The proof follows along the lines of considering any action in terms of its component breakdown into the above two cases, making use of the above propositions.  While I believe I understand the intuition behind the idea, the algebraic manipulation seems a bit tedious for this post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112820380652564548?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112820380652564548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112820380652564548' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112820380652564548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112820380652564548'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/10/introduction-to-zig-zag.html' title='Introduction to Zig-Zag'/><author><name>Phillip</name><uri>http://www.blogger.com/profile/14327894009628297397</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-15836709.post-112786205836084086</id><published>2005-09-27T14:38:00.000-07:00</published><updated>2005-09-27T16:05:41.563-07:00</updated><title type='text'>Some updates</title><content type='html'>So far we have seen a few different definitions of expanders (edge expansion, vertex expansion, spectral expansion with second largest or second largest in absolute value eigenvalue), some mixing properties and its applications to reducing the number of random bits used in a BPP algorithm. Kevin presented quantitative connections between the various definitions. Last week we had Erin present the first zig-zag paper. This week David will present the second zig-zag paper on "lossless" (bipartite) expanders.&lt;br /&gt;&lt;br /&gt;Coming up are applications of expanders. Some of you have already signed up for some topics. (The sign-up process has been a little ad hoc. The dates below are a little flexible, especially for the last few presentations; if anyone who hasn't signed up for a presentation wants to take one of the following dates -- or topics -- let me know ASAP.)&lt;br /&gt;&lt;br /&gt;Oct 5, 7: Mike will present a cryptographic application, of amplifying the hardness of inverting a "one-way function."&lt;br /&gt;&lt;br /&gt;Oct 12, 14: Phil will present some results on "extractors," which are devices used for refining "imperfect" sources of randomness to obtain "pure randomness." (We will see some of this in David's presentation, but won't have enough time to do justice to the topic at that point.)&lt;br /&gt;&lt;br /&gt;Oct 19, 21: Hemanta will present a log-space algorithm for undirected connectivity in graphs (the celebrated SL=L result).&lt;br /&gt;&lt;br /&gt;Oct 26, 28: Reza will present Irit Dinur's proof of the PCP theorem.&lt;br /&gt;&lt;br /&gt;That leaves Chris, Nitish and Tracy for November. I'll get you some choices for what to present.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112786205836084086?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112786205836084086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112786205836084086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112786205836084086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112786205836084086'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/09/some-updates.html' title='Some updates'/><author><name>Manoj Prabhakaran</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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15836709.post-112731666940527985</id><published>2005-09-21T08:27:00.000-07:00</published><updated>2005-09-21T08:31:09.406-07:00</updated><title type='text'>Be careful with &lt; and &gt;</title><content type='html'>The first version of my last post didn't come out so well.  Basically, using "&lt; u" (without the space) started an underline and "&lt; x" (without the space) disappeared.  In retrospect, using notation other than &lt; , &gt; for inner product is probably a good idea since html uses greater than and less than for tags.  (Using &amp; followed by "lang" and "rang" probably would have also worked...)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112731666940527985?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112731666940527985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112731666940527985' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112731666940527985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112731666940527985'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/09/be-careful-with.html' title='Be careful with &lt; and &gt;'/><author><name>David Bunde</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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15836709.post-112731530776245303</id><published>2005-09-21T08:07:00.000-07:00</published><updated>2005-10-17T13:54:23.750-07:00</updated><title type='text'>Last week: Eigenvalues and expansion</title><content type='html'>Last week, Kevin showed how two measures of graph expansion are related to the size the second largest eigenvalue.&lt;br /&gt;&lt;br /&gt;On Wednesday, we talked about edge expansion.  This is denoted h(G) and is the min (over all sets B containing at most half the vertices) of the number of edges between B and its complement divided by the size of B.&lt;br /&gt;&lt;br /&gt;The main result for the day was showing&lt;br /&gt;&lt;br /&gt;    (d-&amp;lambda;)/2 &amp;le; h(G) &amp;le; sqrt(2d(d-&amp;lambda;))&lt;br /&gt;&lt;br /&gt;for a d-regular graph whose adjacency matrix has second largest eignvalue &amp;lambda; (the largest eigenvalue is always d). This implies that a family of graphs has constant edge expansion if&lt;br /&gt;and only if there is a constant gap between d and &amp;lambda;.&lt;br /&gt;&lt;br /&gt;Before approaching the main result, we showed a couple of technical lemmas based on the Laplacian L(G) of a graph G.  For a d-regular n-vertex graph, L(G)=dI-A(G), where A(G) is the adjacency matrix.  It is not hard to show that L(G) has the same eigenvectors as A(G), but that the eigenvalues are shifted so that eigenvalue &amp;mu; corresponds to eigenvector v in A(G), eigenvalue (d-&amp;mu;) corresponds to v in L(G).  In addition, for any vector &amp;lang;x, x,Lx&amp;rang; is the sum of&lt;br /&gt;(x&lt;sub&gt;i&lt;/sub&gt;-x&lt;sub&gt;j&lt;/sub&gt;)&lt;sup&gt;2&lt;/sup&gt; for each edge (v&lt;sub&gt;i&lt;/sub&gt;,v&lt;sub&gt;j&lt;/sub&gt;) in the corresponding graph. (Note that we are using &amp;lang;u,v&amp;rang; to denote the inner product of vectors u and v.)&lt;br /&gt;&lt;br /&gt;Now for the first half of the main result ((d-&amp;lambda;)/2 &amp;le; h(G)):&lt;br /&gt;&lt;br /&gt;The bulk of the work is done by the following theorem:&lt;br /&gt;&lt;br /&gt;Th. If G is an n-vertex d-regular graph and B,C partitions its vertices, then&lt;br /&gt;e(B,C) &amp;ge; (1/n)(d-&amp;lambda;) |B| |C|.&lt;br /&gt;&lt;br /&gt;Kevin presented a proof from the Probabilistic Method by Alon &amp; Spencer.  The main idea is to create a vector x based on the partition into B and C.  Those elements corresponding to members of B are given value |C| and those corresponding to members of C are given value -|B|.  Then we look at &amp;lang;x,Lx&amp;rang;.  By writing x in terms of an orthonormal eigenbasis and using the definition of inner product, we are able to show that this is at least (d-&amp;lambda;)&amp;lang;x,x&amp;rang;.  Then we use the technical lemma relating to &amp;lang;x,Lx&amp;rang; and notice that non-zero terms in the resulting sum correspond to edges between B and C.  The result&lt;br /&gt;follows quickly by algebra.&lt;br /&gt;&lt;br /&gt;(d-&amp;lambda;)/2 &amp;le; h(G) follows quickly from the theorem by assuming B is a set of size at most n/2 and letting C be the complement of B.&lt;br /&gt;&lt;br /&gt;Now for the second half of the main result (h(G) &amp;le; sqrt(2d(d-&amp;lambda;))):&lt;br /&gt;&lt;br /&gt;The main work for this is done by the following:&lt;br /&gt;&lt;br /&gt;Lemma: If G is an n-vertex, d-regular graph whose vertices have non-negative weights where the weight vector is not zero but at least half the weights are 0, then h(G) is at most&lt;br /&gt;(sum&lt;sub&gt;edges (v_i,v_j)&lt;/sub&gt; |w&lt;sub&gt;i&lt;/sub&gt;-w&lt;sub&gt;j&lt;/sub&gt;|)/(sum&lt;sub&gt;v_i&lt;/sub&gt; w&lt;sub&gt;i&lt;/sub&gt;) &lt;br /&gt;&lt;br /&gt;(Try saying that 3 times fast...)&lt;br /&gt;&lt;br /&gt;To prove this, we arrange the vertices in order of non-increasing weight and group the total weight by the contribution of edges between v&lt;sub&gt;1&lt;/sub&gt; thru v&lt;sub&gt;i&lt;/sub&gt; and v&lt;sub&gt;i+1&lt;/sub&gt; thru v&lt;sub&gt;n&lt;/sub&gt;.&lt;br /&gt;&lt;br /&gt;To apply it and prove h(G) &amp;le; sqrt(2d(d-&amp;lambda;)), we need to find a weight vector.  To do this, we take an eigenvector of L corresponding to &amp;lambda; orthogonal to the uniform vector.  Without loss of generality, we assume that half its coordinates are at most zero.  To get the vector of weights we take this eigenvector,  zero the negative coordinates, and square each coordinate.  Applying the Lemma and making a series of algebraic steps gives the desired result.&lt;br /&gt;&lt;br /&gt;For Friday, we talked about vertex expansion.  We say that a graph has (&amp;alpha;,&amp;beta;)-vertex expansion if every subset S of size at most &amp;alpha;n has at least &amp;beta;|S| neighbors.  (Instead of counting the number of outgoing edges, we're counting the number of neighbors.) There are two main results, both for n-vertex d-regular graphs:&lt;br /&gt;&lt;br /&gt;1. The vertex expansion is (&amp;alpha;,1/((1-&amp;alpha;)&amp;Theta;&lt;sup&gt;2&lt;/sup&gt;+&amp;alpha;)) &lt;br /&gt;for 0&amp;le;&amp;alpha;&amp;le;1, where &amp;Theta; is (1/d) times the eigenvalue with second largest magnitude (the largest by magnitude other than &amp;lambda;&lt;sub&gt;0&lt;/sub&gt;=d). &lt;br /&gt;&lt;br /&gt;2. A graph with (1/2,1+&amp;delta;)-vertex expansion has &amp;lambda; &amp;le; d-&amp;delta;&lt;sup&gt;2&lt;/sup&gt;/(2d).&lt;br /&gt; &lt;br /&gt;The first is proven by considering a subset S with size at most &amp;alpha;n, looking at a uniform distribution over these vertices, and applying a series of identities (see below).  The second (for which Kevin presented his own simplification) involved showing that &amp;delta;&amp;le;h(G) and then using the second half of Wednesday's main result.&lt;br /&gt;&lt;br /&gt;The algebraic identities used to prove these results are all quite straight-forward:&lt;br /&gt;&lt;br /&gt;1. If G is an n-vertex d-regular graph with adjacency matrix A and&lt;br /&gt;  &amp;lang;x,1&amp;rang;=0, then &lt;br /&gt;  1a. &amp;lang;x,Ax&amp;rang; &amp;le; &amp;lambda;&amp;lang;x,x&amp;rang;&lt;br /&gt;  1b. &amp;lang;Ax,Ax&amp;rang; &amp;le; (d&amp;Theta;)&lt;sup&gt;2&lt;/sup&gt;&amp;lang;x,x&amp;rang;&lt;br /&gt;&lt;br /&gt;(Proven similarly to one of the identities on Wednesday by rewriting x&lt;br /&gt;in terms of an orthonormal eigenbasis.)&lt;br /&gt;&lt;br /&gt;2. If &amp;pi; is a probability distribution over vertices of G and u is&lt;br /&gt;   the uniform vector with coordinates 1/n, &amp;lang;&amp;pi;-u,u&amp;rang;=0.&lt;br /&gt;&lt;br /&gt;(Proven by breaking &amp;lang;&amp;pi;-u,u&amp;rang; into &amp;lang;&amp;pi;,u&amp;rang;-&amp;lang;u,u&amp;rang;.)&lt;br /&gt;&lt;br /&gt;3. &amp;lang;&amp;pi;,&amp;pi;&amp;rang;=1/n + &amp;lang;&amp;pi;-u,&amp;pi;-u&amp;rang;&lt;br /&gt;&lt;br /&gt;(Proven by breaking &amp;lang;&amp;pi;-u,&amp;pi;-u&amp;rang; into &amp;lang;&amp;pi;,&amp;pi;&amp;rang;-2&amp;lang;&amp;pi;,u&amp;rang;+&amp;lang;u,u&amp;rang;.)&lt;br /&gt;&lt;br /&gt;4. &amp;lang;&amp;pi;,&amp;pi;&amp;rang; &amp;ge; 1/support(&amp;pi;), where support(&amp;pi;) is the number&lt;br /&gt;   of non-zero coordinates of &amp;pi;.&lt;br /&gt;&lt;br /&gt;(Proven by considering the distribution over vertices counted in the support and applying the previous identity.) &lt;br /&gt;&lt;br /&gt;I followed most of the steps in the proofs, but don't feel like I have any intuition about these arguments or ideas about how to improve the results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112731530776245303?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112731530776245303/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112731530776245303' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112731530776245303'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112731530776245303'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/09/last-week-eigenvalues-and-expansion.html' title='Last week: Eigenvalues and expansion'/><author><name>David Bunde</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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15836709.post-112656737826567217</id><published>2005-09-12T16:21:00.000-07:00</published><updated>2005-09-27T17:20:40.033-07:00</updated><title type='text'>A handy link</title><content type='html'>Here's a link Manoj sent to me which has help for how to type math nicely on the blog. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.w3.org/Arena/tour/symbols.html"&gt;http://www.w3.org/Arena/tour/symbols.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112656737826567217?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112656737826567217/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112656737826567217' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112656737826567217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112656737826567217'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/09/handy-link.html' title='A handy link'/><author><name>emwc</name><uri>http://www.blogger.com/profile/09121429425809507159</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-15836709.post-112650733844363894</id><published>2005-09-11T23:14:00.000-07:00</published><updated>2005-09-12T16:20:40.400-07:00</updated><title type='text'>Last week in class...</title><content type='html'>Recap of previous results:&lt;br /&gt;&lt;br /&gt;The lecture on 9/7 began with a recap of several definitions and results. Suppose that G is a d-regular expander graph, and &amp;lambda; is the second largest eigenvalue of the adjacency matrix A for G. (The largest eigenvalue will always be d, because it is a d-regular graph.) Let &amp;alpha; be &amp;lambda;/d. This is the second largest eigenvalue of the normalized matrix M = 1/dA, which we will use for doing walks on the graph later.&lt;br /&gt;&lt;br /&gt;The Expander-Mixing Lemma says: Given S and T which are subsets of the vertex set of G, E(S,T) - (d/n)ST &amp;le; &amp;lambda; (ST)&lt;sup&gt;1/2&lt;/sup&gt;. To interpret this, think of a random graph, where we'd expect an edge to be present with probability d/n. There are ST of these edges possible, so we'd expect dST/n edges between S and T. So we're saying here that the number of edges between S and T in an expander is very close to the number of edges in a random graph.&lt;br /&gt;&lt;br /&gt;Application 1: Deterministic Error Amplification for BPP algorithms - See Linial-Wigderson notes, lecture 2, section 4.1&lt;br /&gt;&lt;br /&gt;The first application covered is using the E-M Lemma to improve a &lt;a href="http://en.wikipedia.org/wiki/BPP"&gt;BPP&lt;/a&gt; algorithm. Given some algorithm A which tests membership in a language in BPP, we create a new algorithm A'. A' considers an expander graph on the set of possible m-bit strings that the algorithm A might use. It first picks some random m-bit string r, and then runs algorithm A on x with r and all of r's neighbors in the graph. It then outputs the majority opinion answer for x.&lt;br /&gt;&lt;br /&gt;We now must bound the probability that A' is wrong. For A' to be wrong, more than half of r's neighbors must be bad, in that they return the wrong answer. If we let S be the set of strings that give a wrong answer for A' and T be the set of strings that give a wrong answer for A, we can use the E-M Lemma to bound the number of edges and do some inequality manipulation to get a probability of failure &amp;le; O(1/d). So using the same number of random bits, we have a probability that is O(1/d) instead of constant.&lt;br /&gt;&lt;br /&gt;Random Walks and Markov Chains:&lt;br /&gt;&lt;br /&gt;We now let p be a probability vector on the vertices of the graph G, and M be the normalized matrix for A as defined above. We can consider the operation Mp, which simulates taking a step in the graph along a random edge from your current location (represented by the probability vector p). Then for a random walk, we let p&lt;sup&gt;(t)&lt;/sup&gt; = M&lt;sup&gt;t&lt;/sup&gt; p, which is the probability after t random steps are taken.&lt;br /&gt;&lt;br /&gt;Let u be the uniform vector [1/n 1/n ... 1/n]&lt;sup&gt;T&lt;/sup&gt;, which represents the uniform distribution on a graph. For an expander graph, we get that p&lt;sup&gt;(t)&lt;/sup&gt; - u &lt;sub&gt;2&lt;/sup&gt; &lt;/sub&gt;&amp;amp;le &amp;alpha&lt;sup&gt;t&lt;/sup&gt;. Intuitively, this means that we move quickly towards the uniform distribution, since in an expander the second largest eigenvalue is generally much smaller than the largest eigenvalue (which is 1). So M is somehow greatly increasing the component of p which is the uniform distribution (which corresponds to the largest eigenvalue) while shrinking all other components (which correspond to the much smaller other eigenvalues).&lt;br /&gt;&lt;br /&gt;To prove this fact, we simply consider one step Mp. If we split p into 2 components, one of which is the uniform component, we can bound the second component by the second largest eigenvalue since all other components are altered by at most that value. Iterating this for t steps gives the bound &amp;alpha;&lt;sup&gt;t&lt;/sup&gt;.&lt;br /&gt;&lt;br /&gt;Application 2: Random walks for RP algorithms - See Linial-Wigderson notes, Lecture 3, section 3.1&lt;br /&gt;&lt;br /&gt;We do another error reduction application, this time for an &lt;a href = "http://en.wikipedia.org/wiki/RP_%28complexity%29"&gt; RP &lt;/a&gt; algorithm A. We create our new algorithm A' by picking a random vertex in the space of random strings, and then doing a random walk in the expander graph on this space of strings. We call A(x) for every random string we land on. If all of the strings agree that x is in L, we accept x. If any report x is not in L, we reject x.&lt;br /&gt;&lt;br /&gt;In order for A' to be wrong, our entire walk must stay within the set of strings that A breaks on. To bound this value, we do a random walk in the graph but at each step cancel out all the probabilities that leave the bad region and continue the walk on the subset still in the bad region. In terms of the linear algebra involved, all we need to do is multiply by a characteristic vector for the bad region, where each vertex in the bad region has a 1 and all others have a 0 in the vector. In the end, the probability of the walk staying entirely in the region that A will be wrong on is &amp;le; (&amp;alpha; + &amp;beta;)&lt;sup&gt;t&lt;/sup&gt; in a t step walk.&lt;br /&gt;&lt;br /&gt;Our algorithm uses m + t log d bits of randomness to get a bound of (&amp;alpha; + &amp;beta;)&lt;sup&gt;t&lt;/sup&gt;. Compare this to the algorithm that simply picks t random m-bit strings. We would use mt random bits, and get a bound of &amp;beta;&lt;sup&gt;t&lt;/sup&gt;. So we achieve a similar bound while using far fewer random bits.&lt;br /&gt;&lt;br /&gt;Application 3: Back to BPP algorithms - See Linial-Wigderson, lecture 3, section 3.1&lt;br /&gt;&lt;br /&gt;We now return to our BPP algorithm A. In the first application, we just looked at a node and its neighbors, but using our new tools, we will now analyze the same algorithm where we take a random walk of length t in our expander instead of just looking at the neighbors of our initial vertex.&lt;br /&gt;&lt;br /&gt;To bound the probability that this fails, we have to compute the probability that in a t step random walk, more than half of the vertices are in the bad region, where our algorithm A is incorrect. To calculate this, we consider a subwalk of size &amp;ge; t/2, where each "step" is between two m-bit strings that A fails on. Each new "step" will be a matrix M&lt;sup&gt;i&lt;/sup&gt;, with i &amp;ge; 1. In terms of eigenvalues, this means that the 2nd largest eigenvalue of M&lt;sup&gt;i&lt;/sup&gt; will be &amp;alpha&lt;sup&gt;i&lt;/sup&gt;, which is always &amp;le; &amp;alpha;. Therefore, we get a bound on our failure of (&amp;alpha; + &amp;beta;)&lt;sup&gt;t/2&lt;/sup&gt;. Now going back to the larger walk, we notice that there are 2&lt;sup&gt;t&lt;/sup&gt; walks total, and each is bad with probability &amp;le; (&amp;alpha; + &amp;beta;)&lt;sup&gt;t/2&lt;/sup&gt;, so the probability of getting a bad walk is &amp;le 2&lt;sup&gt;t&lt;/sup&gt;(&amp;alpha; + &amp;beta;)&lt;sup&gt;t/2&lt;/sup&gt;. Since &amp;alpha; and &amp;beta; can be chosen to be less than 1/16, we get a total bound of &amp;le; c&lt;sup&gt;t/2&lt;/sup&gt;, where c&lt;1. &lt;br /&gt;&lt;br /&gt;Application 4: Harness of Approximation - See Linial-Wigderson notes, lecture 3, section 4&lt;br /&gt;&lt;br /&gt;There is a result based on the &lt;a href="http://en.wikipedia.org/wiki/PCP_theorem"&gt; PCP Theorem &lt;/a&gt; which states that there exists an a and b with 0 &lt; a &lt; b &lt; 1 such that we cannot tell if &amp;omega;(G) &amp;le; an or &amp;omega;(G) &amp;ge; bn, where n is the number of vertices in G and &amp;omega;(G) is the size of the largest clique in G. Assuming this result, is it possible to use expanders to show that it is hard to approximate &amp;omega(G) to within n&lt;sup&gt;&amp;epsilon;&lt;/sup&gt; for some &amp;epsilon; &gt; 0.&lt;br /&gt;&lt;br /&gt;The construction for this consisting of creating the randomized graph product, G&lt;sup&gt;k&lt;/sup&gt;. This graph has a vertex for every k-walk in the original grpah G. An edge exists between two vertices if the 2 k-walks were within a common clique in G. By taking a random sample from this new graph, we saw that if there was a N&lt;sup&gt;&amp;epsilon;&lt;/sup&gt; approximation for the sampled graph, then we could distinguish between &amp;omega;(G) &amp;le an and &amp;omega;(G) &amp;ge; bn. &lt;/sub&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112650733844363894?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112650733844363894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112650733844363894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112650733844363894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112650733844363894'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/09/last-week-in-class.html' title='Last week in class...'/><author><name>emwc</name><uri>http://www.blogger.com/profile/09121429425809507159</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-15836709.post-112613246597481682</id><published>2005-09-07T15:29:00.000-07:00</published><updated>2005-10-17T18:17:00.220-07:00</updated><title type='text'>Next presentations</title><content type='html'>I forgot to mention this in the class today.&lt;br /&gt;&lt;br /&gt;After Kevin presents the connections between spectrum&lt;br /&gt;and expansion, the next topic I'd like to see covered&lt;br /&gt;is some constructions of expanders.&lt;br /&gt;&lt;br /&gt;If you read &lt;a href="http://valis.cs.uiuc.edu/~sariel/blog/index.php/archives/2005/09/06/i-am-not-a-number/"&gt;Sariel's recent blog entry&lt;/a&gt; you would have&lt;br /&gt;noticed something about zig-zag products. So we need&lt;br /&gt;*two* volunteers to find out if they are indeed related&lt;br /&gt;to clothing as Sariel claims. Two, because there are&lt;br /&gt;two papers on zig-zag products:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.eecs.harvard.edu/%7Esalil/papers/zigzag-abs.html"&gt;Reingold, Vadhan and Wigderson (2000)&lt;/a&gt;  and&lt;br /&gt;&lt;a href="http://www.wisdom.weizmann.ac.il/%7Ereingold/publications/conductors-prelim.ps"&gt;Capalbo, Reingold, Vadhan and Wigderson (2002)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Both are very beautiful papers, and also contain lot of&lt;br /&gt;intuition that will be of use to us later on.&lt;br /&gt;&lt;br /&gt;Please send me a mail if you think your life wouldn't&lt;br /&gt;be complete without presenting one of these papers! On&lt;br /&gt;Friday, we'll finalize who's presenting which one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112613246597481682?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112613246597481682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112613246597481682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112613246597481682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112613246597481682'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/09/next-presentations.html' title='Next presentations'/><author><name>Manoj Prabhakaran</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>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-15836709.post-112572637971264194</id><published>2005-09-02T22:37:00.000-07:00</published><updated>2005-11-30T06:19:32.496-08:00</updated><title type='text'>Eigenlectures</title><content type='html'>In the last two lectures we covered some very basic linear algebra we'll use to study expanders. We chose our topics mostly following &lt;a href="http://www.math.ias.edu/%7Eboaz/ExpanderCourse/lecture02.ps"&gt;Lecture 2 &lt;/a&gt;from the &lt;a href="http://www.math.ias.edu/%7Eboaz/ExpanderCourse/"&gt;Linial-Wigderson &lt;/a&gt;course. Restricting to undirected graphs makes the linear algebra involved very simple (and beautiful, I must say) for us. Some of the things we saw are:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li size="19px"&gt;A graph G defines a linear transform, namely multiplication by its adjacency matrix A. This transform naturally corresponds to how a probability distribution on the nodes of the graph gets transformed in a single step of the (natural) random walk defined on G. (But now that we have a linear transform in our hands, we need not restrict ourselves to applying it to probability distributions. Any real vector is fair game.) &lt;/li&gt;&lt;br /&gt;&lt;li&gt;We'll consider undirected graphs. Then the adjacency matrix A is symmetric (and of course real). Then &lt;a href="http://www.mathresource.iitb.ac.in/linear%20algebra/proof10.3.4.html"&gt;it can be shown&lt;/a&gt;&lt;sup&gt;&lt;a href="#footnote1"&gt;1&lt;/a&gt;&lt;/sup&gt; that A=P&lt;sup&gt;T&lt;/sup&gt;DP, where D is a diagonal matrix and P is an orthonormal matrix (all real). In plain English that means, in some (orthonormal) basis (defined by the rows of P), A is a transformation which simply scales each dimension independently. This change of basis is extremely useful (as we saw in the proof of the "Expander Mixing Lemma").&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Rows of P are "eigenvectors" of A, with corresponding "eigenvalues" being the diagonal entries of D.&lt;sup&gt;&lt;a href="#footnote2"&gt;2 &lt;/a&gt;&lt;/sup&gt;Most of what we talked in the class about real symmetric matrices becomes fairly intuitive once we look at D instead of A. One of those intuitive things is the characterization of the spectrum using &lt;a href="http://en.wikipedia.org/wiki/Rayleigh_quotient"&gt;Rayleigh quotients&lt;/a&gt;. Since a Rayleigh quotient is defined geometrically (using angles, lengths etc., with no reference to any particular basis), and the same is true for eigenvalues, it is all right to think of D instead of A.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Writing A=P&lt;sup&gt;T&lt;/sup&gt;DP is the same as the "spectral decomposition," A=&amp;Sigma;λ&lt;sub&gt;i&lt;/sub&gt;P&lt;sub&gt;i&lt;/sub&gt;. Here λ&lt;sub&gt;i&lt;/sub&gt; is the i-th diagonal entry of D and P&lt;sub&gt;i&lt;/sub&gt;=v&lt;sub&gt;i&lt;/sub&gt;v&lt;sub&gt;i&lt;/sub&gt;&lt;sup&gt;T&lt;/sup&gt; is the linear transformation which returns the component along v&lt;sub&gt;i&lt;/sub&gt;, the i-th row of P.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;For d-regular (connected, non-bipartite) graphs, we saw that λ&lt;sub&gt;0&lt;/sub&gt; = d, and |λ&lt;sub&gt;i&lt;/sub&gt;|&amp;lt;d for i&amp;gt;0.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;We analyzed the eigenvalues and eigenvectors of our favorite examples, the clique (with self-loops) and the cycle. The clique has a single non-zero eigenvalue (=n). Then we saw that any d-regular graph has a d/n "component" of the clique in it. An ideal expander would behave as if it didn't have any othercomponents.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;We also saw some relations between the spectral gap and the expansion of a graph. Kevin will talk more about this the week after the next.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;______&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a name="footnote1"&gt;&lt;/a&gt;&lt;sup&gt;1. &lt;/sup&gt;The &lt;a href="http://www.mathresource.iitb.ac.in/linear%20algebra/proof10.3.4.html"&gt;proof mentioned above&lt;/a&gt; uses induction and is simple, but is not quite "elementary," because it refers to the &lt;a href="http://www.mathresource.iitb.ac.in/linear%20algebra/mainchapter10.2.html"&gt;existence of at least one real eigenvalue&lt;/a&gt; for A. The &lt;a href="http://www.mathresource.iitb.ac.in/linear%20algebra/proof10.2.1.html"&gt;short proof&lt;/a&gt; for that depends on the &lt;a href="http://en.wikipedia.org/wiki/Fundamental_theorem_of_algebra"&gt;Fundamental Theorem of Algebra&lt;/a&gt;, which I'm sure everyone considers second nature, but I don't think is quite what an elementary proof for the above statement should contain. So, if anyone out there can give (pointers to) a simple(r) proof for &lt;a href="http://en.wikipedia.org/wiki/Spectral_decomposition"&gt;the spectral decomposition theorem&lt;/a&gt;, but restricted to real symmetric matrices, that would be great.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a name="footnote2"&gt;&lt;/a&gt;&lt;sup&gt;2.&lt;/sup&gt; The concept of &lt;a href="http://en.wikipedia.org/wiki/Eigenvalue%2C_eigenvector%2C_and_eigenspace"&gt;eigenvalues/eigenvectors&lt;/a&gt; is not restricted to linear transforms defined by real symmetric matrices. A typical linear algebraic exposition would first introduce you to eigenvalues/eigenvectors for general linear transforms and then specialize it to real symmetric matrices. To keep our focus, and to keep things simple, we started directly with real symmetric matrices. But beware that the nice behavior described above does not hold in general.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;ps: I'm having some very strange problems with the way Firefox is rendering things in my newly acquired powerbook (OS X 10.4). I hope things show up nicely in your browsers... &lt;i&gt;update: &lt;a href="http://www.macosxhints.com/article.php?story=20050516115315910"&gt;fixed it!&lt;/a&gt;&lt;/i&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112572637971264194?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112572637971264194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112572637971264194' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112572637971264194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112572637971264194'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/09/eigenlectures.html' title='Eigenlectures'/><author><name>Manoj Prabhakaran</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-15836709.post-112508626644229218</id><published>2005-08-26T12:54:00.000-07:00</published><updated>2005-08-30T15:43:46.873-07:00</updated><title type='text'>Course-blog for CS 598MAN</title><content type='html'>This is the course-blog for an &lt;a href="http://www.cs.uiuc.edu/graduate/courses.php?course=cs598MAN"&gt;introductory graduate course on Expanders&lt;/a&gt; offered by the &lt;a href="http://www.cs.uiuc.edu/research/areas.php?area=algorithms"&gt;theory group&lt;/a&gt; at &lt;a href="http://www.cs.uiuc.edu/"&gt;UIUC Computer Science&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;We had our first (introductory) lecture today. I'll put up a few things here and we'll get started shortly...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/15836709-112508626644229218?l=expanders.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://expanders.blogspot.com/feeds/112508626644229218/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=15836709&amp;postID=112508626644229218' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112508626644229218'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/15836709/posts/default/112508626644229218'/><link rel='alternate' type='text/html' href='http://expanders.blogspot.com/2005/08/course-blog-for-cs-598man.html' title='Course-blog for CS 598MAN'/><author><name>Manoj Prabhakaran</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>0</thr:total></entry></feed>
