280 likes | 294 Views
Explore property testing in bounded degree graphs, distinguish between close and far objects from properties, and apply expansion testing algorithms. Learn the formal framework, definitions, and complexities involved. Discover related research and advanced techniques for graph expansion analysis.
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).