280 likes | 305 Views
Testing Expansion in Bounded Degree Graphs. Christian Sohler University of Dortmund (joint work with Artur Czumaj, University of Warwick). Testing Expansion in Bounded Degree Graphs Introduction. Property Testing[Rubinfeld, Sudan]:
E N D
Testing Expansion in Bounded Degree Graphs Christian Sohler University of Dortmund (joint work with Artur Czumaj, University of Warwick)
Testing Expansion in Bounded Degree GraphsIntroduction • Property Testing[Rubinfeld, Sudan]: • Formal framework to analyze „Sampling“-algorithms for decision problems • Decide with help of a random sample whether a given object has a property or is far away from it Close to property Far away from property Property
Testing Expansion in Bounded Degree GraphsIntroduction • Property Testing[Rubinfeld, Sudan]: • Formal framework to analyze „Sampling“-algorithms for decision problems • Decide with help of a random sample whether a given object has a property or is far away from it • Definition: • An object is e-far from a property P, if it differs in more than an e-fraction of ist formal description from any object with property P.
Testing Expansion in Bounded Degree GraphsIntroduction • Bounded degree graphs • Graph (V,E) with degree bound d • V={1,…,n} • Edges as adjacency lists through function f: V {1,…,d} V • f(v,i) is i-th neighbor of v or ■, if i-th neighbor does not exist • Query f(v,i) in O(1) time 3 1 d 4 2 n
Testing Expansion in Bounded Degree GraphsIntroduction • Definition: • A graph (V,E) with degree bound d and n vertices is e-far from a property P, if more than edn entries in the adjacency lists have to be modified to obtain a graph with property P. • Example (Bipartiteness): 3 1 d 4 2 1/7-far from bipartite n
Testing Expansion in Bounded Degree GraphsIntroduction • Goal: • Accept graphs that have property P with probability at least 2/3 • Reject graphs that are e-far from P with probability at least 2/3 • Complexity Measure: • Query (sample) complexity • Running time
Testing Expansion in Bounded Degree GraphsIntroduction • Definition [Neighborhood] • N(U) denotes the neighborhood of U, i.e. N(U) = {vV-U: uU such that (v,u)E} • Definition [Expander]: • A Graph is an a-Expander, if N(U)a|U| for each UV with |U||V|/2.
Testing Expansion in Bounded Degree GraphsIntroduction • Testing Expansion: • Accept every graph that is an a-expander • Reject every graph that is e-far from an a*-expander • If not an a-expander and not e-far then we can accept or reject • Look at as few entries in the graph representation as possible
Testing Expansion in Bounded Degree GraphsIntroduction • Related results: • Definition of bounded degree graph model; connectivity, k-connectivity, circle freeness • [Goldreich, Ron; Algorithmica] • Conjecture: Expansion can be tested O(n polylog(n)) time • [Goldreich, Ron; ECCC, 2000] • Rapidly mixing property of Markov chains • [Batu, Fortnow, Rubinfeld, Smith, White; FOCS‘00] • Parallel / follow-up work: • An expansion tester for bounded degree graphs • [Kale, Seshadhri, ICALP’08] • Testing the Expansion of a Graph • [Nachmias, Shapira, ECCC’07]
Testing Expansion in Bounded Degree GraphsIntroduction • Difficulty: • Expansion is a rather global property Expander with n/2 vertices Expander with n/2 vertices Case 1: A good expander
Testing Expansion in Bounded Degree GraphsIntroduction • Difficulty: • Expansion is a rather global property Expander with n/2 vertices Expander with n/2 vertices Case 2: e-far from expander
Testing Expansion in Bounded Degree GraphsThe algorithm of Goldreich and Ron • How to distinguish these two cases? • Perform a random walk for L= poly(log n, 1/e) steps • Case 1: Distribution of end points is essentially uniform • Case 2: Random walk will typically not cross cut -> distribution differs significantly from uniform Expander with n/2 vertices Expander with n/2 vertices Expander with n/2 vertices Expander with n/2 vertices Case 1: A good expander Case 2: e-far from expander
Testing Expansion in Bounded Degree GraphsThe algorithm of Goldreich and Ron Idea: Count the number of collisions among end points of random walks • How to distinguish these two cases? • Perform a random walk for L= poly(log n, 1/e) steps • Case 1: Distribution of end points is essentially uniform • Case 2: Random walk will typically not cross cut -> distribution differs significantly from uniform Expander with n/2 vertices Expander with n/2 vertices Expander with n/2 vertices Expander with n/2 vertices Case 1: A good expander Case 2: e-far from expander
Testing Expansion in Bounded Degree GraphsThe algorithm of Goldreich and Ron • ExpansionTester(G,e,l,m,s) • 1. repeat s times • 2. choose vertex v uniformly at random from V • 3. do m random walks of length L starting from v • 4. count the number of collisions among endpoints • if #collisions> (1+e)E[#collisions in uniform distr.] then reject • 6. accept
Testing Expansion in Bounded Degree GraphsMain result • ExpansionTester(G,e,l,m,s) • 1. repeat s times • 2. choose vertex v uniformly at random from V • 3. do m random walks of length L starting from v • 4. count the number of collisions among endpoints • if #collisions> (1+e)E[#collisions in uniform distr.] then reject • 6. accept • Theorem:[This work] • Algorithm ExpansionTester with s=Q(1/e), m=Q(n/poly(e)) and L= poly(log n, d, 1/a, 1/e) accepts every a-expander with probability at least 2/3 and rejects every graph, that is e-far from every a*-expander with probability 2/3, where a* = Q(a²/(d² log (n/e)).
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • Overview of the proof: • Algorithm ExpansionTester accepts every a-expander with probability at least 2/3
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • Overview of the proof: • Algorithm ExpansionTester accepts every a-expander with probability at least 2/3 (Chebyshev inequality)
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • Overview of the proof: • Algorithm ExpansionTester accepts every a-expander with probability at least 2/3 (Chebyshev inequality) • If G is e-far from an a*-expander, then it contains a set U of dn vertices such that N(U) is small U G
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • Overview of the proof: • Algorithm ExpansionTester accepts every a-expander with probability at least 2/3 (Chebyshev inequality) • If G is e-far from an a*-expander, then it contains a set U of dn vertices such that N(U) is small • If G has a set U of dn vertices such that N(U) is small, thenExpansionTester rejects U G
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • Overview of the proof: • Algorithm ExpansionTester accepts every a-expander with probability at least 2/3 (Chebyshev inequality) • If G is e-far from an a*-expander, then it contains a set U of dn vertices such that N(U) is small • If G has a set U of dn vertices such that N(U) is small, thenExpansionTester rejects Random walk is unlikely to cross cut -> more collisions U G
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • If G is e-far from an a*-expander, then it contains a set U of dn vertices such that N(U) is small U G
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • If G is e-far from an a*-expander, then it contains a set U of dn vertices such that N(U) is small • Lemma: • If G is e-far from an a*-expander, then for every AV of size at most en/4 we have that G[V-A] is not a (ca*)-expander U G
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • If G is e-far from an a*-expander, then it contains a set U of dn vertices such that N(U) is small • Lemma: • If G is e-far from an a*-expander, then for every AV of size at most en/4 we have that G[V-A] is not a (ca*)-expander • Procedure to construct U: • As long as U is too small apply lemma with A=U • Since G[V-A] is not an expander, we have a set B of vertices that is badly connected to the rest of G[V-A] • Add B to U U G
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • Lemma: • If G is e-far from an a*-expander, then for every AV of size at most en/4 we have that G[V-A] is not a (ca*)-expander • Proof (by contradiction): • Assume A as in lemma exists with G[V-A] is (ca*)-expander • Construct from G an a*-expanderby changing at most edn edges • Contradiction: G is not e-far from a*-expander G A (ca*)-Expander
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • Lemma: • If G is e-far from an a*-expander, then for every AV of size at most en/4 we have that G[V-A] is not a (ca*)-expander • Proof (by contradiction): G Construction of a*-expander: 1. Remove edges incident to A 2. Add (d-1)-regular c‘-expander to A 3. Remove arbitrary matching M of size |A|/2 from G[V-A] 4. Match endpoints of M with points from A A (ca*)-Expander
Testing Expansion in Bounded Degree GraphsAnalysis of the algorithm • Lemma: • If G is e-far from an a*-expander, then for every AV of size at most en/4 we have that G[V-A] is not a (ca*)-expander • Proof (by contradiction): Show that every set X has large neighborhood by case distinction G Construction of a*-expander: 1. Remove edges incident to A 2. Add (d-1)-regular c‘-expander to A 3. Remove arbitrary matching M of size |A|/2 from G[V-A] 4. Match endpoints of M with points from A A X (ca*)-Expander
Testing Expansion in Bounded Degree GraphsMain result • ExpansionTester(G,e,l,m,s) • 1. repeat s times • 2. choose vertex v uniformly at random from V • 3. do m random walks of length L starting from v • 4. count the number of collisions among endpoints • if #collisions> (1+e)E[#collisions in unif. Distr.] then reject • 6. accept • Theorem:[This work] • Algorithm ExpansionTester with s=Q(1/e), m=Q(n/poly(e)) and L= poly(log n, d, 1/a, 1/e) accepts every a-expander with probability at least 2/3 and rejects every graph, that is e-far from every a*-expander with probability 2/3, where a* = poly(1/log n, 1/d, a, e).