Presentation is loading. Please wait.

Presentation is loading. Please wait.

From dense to sparse and back again: On testing graph properties (and some properties of Oded)

Similar presentations


Presentation on theme: "From dense to sparse and back again: On testing graph properties (and some properties of Oded)"— Presentation transcript:

1 From dense to sparse and back again: On testing graph properties (and some properties of Oded)

2 From dense to sparse and back again: On testing graph properties (and some properties of Oded)
חריג: Unusual, strange, different Also: Exceptional

3 MIT, 1995 Oded and Shafi start talking about a new research project, related to PAC learning, and they invite me to tag along. This eventually led to our joint work: “Property testing and its connection to learning and approximation” [GGR]. Initially, we had several results on the relation between PT and learning and a couple of results on testing graph properties. By the time we submitted the camera-ready version it was already a little monster (though by no means the largest in Oded’s monster-manuscript zoo (and only 23 footnotes)). In this talk I’ll focus on the first graph property we studied: Bipartiteness (2-colorability).

4 Property testing of graphs
Let G = (V,E) be a graph. A Testing Algorithm for graph property P can query the graph G on the neighborhood relations of vertices in G. If G has property P: Accept w.h.p. If G is “-far” from P: Reject w.h.p. “-far”: “-fraction of the graph” should be modified to obtain P.

5 Testing bipartiteness in dense graphs
v The Dense-Graphs model: Graph is represented by n x n adjacency matrix Queries: Is (u,v)  E ? -far: must add/remove > n2 edges 1 u Basic operation that algorithm can perform: Take a (uniform and random) sample of vertices and consider induced subgraph.

6 An algorithm for testing bipartiteness in dense graphs [GGR]
Uniformly and independently select (log(1/)/2) vertices in G. If subgraph induced by selected vertices is bipartite, then accept, otherwise, reject. Query complexity and running time of algorithm: O(log2(1/)/4) . Slight variant yields O(log2(1/)/3). More sophisticated analysis of [Alon Krivelevich] reduced to O(log2(1/)/2) . Correctness: If graph is bipartite then always accepted. Need to prove that if -far from bipartite then rejected w.h.p.

7 High-level idea of analysis (When graph is -far from bipartite)
View sample as two parts: U and S. Suppose every graph vertex has some neighbor in U. (In fact, w.h.p. over U holds for almost all high degree vertices.) Idea: each partition (U1,U2) of U “forces” a partition of all vertices. Since G is -far from bipartite, partition must have many violations. U1 U2 Will show w.h.p. in sample S S Since holds for every partition (U1,U2) of U, w.h.p. do not have any bipartite partition of U and S together (induced subgraph not bipartite). Comment 1: Have more general algorithm for k-colorability Comment 2: Known as “Enforce and Test” approach Comment 3: Implies “approximate partitioning algorithm”

8 Testing bipartiteness in bounded-degree graphs [GR]
1 n Model: Graph is represented by n incidence lists of size d. Queries: Who is i’th neighbor of v? -far: > dn edges should be added/removed. In this model: Algorithm can perform local searches (e.g., BFS/DFS) as well as (less local) random walks. u1 1/2d v u2 u3 ud(v) 1-d(v)/2d max degree d degree of v d(v)

9 An algorithm for testing bipartiteness in bounded-degree graphs [GR]
Uniformly and independently select (1/) vertices in G. For each selected vertex s, perform n1/2poly(log n,1/) random walks, each of length poly(log n,1/) If reached a vertex on both even and odd length walk (an odd-length cycle encountered), then reject. Otherwise, accept Query complexity and running time of algorithm: n1/2poly(log n,1/) s Correctness: If graph is bipartite then always accepted. Need to prove that if -far from bipartite then rejected w.h.p.

10 High-Level idea of Analysis (When Graph is -far from bipartite)
Idea for rapidly mixing case: Suppose distribution on ending vertices is almost uniform: Between 1/(2n) to 2/n . Since graph is far from bipartite: Many vertices on odd-length cycles and so can be reached from s by both even and odd (length) walks. Let A0 denote subset of vertices reached in algorithm on even walks and A1 on odd walks. A0 and A1 can be seen as uniformly selected sets with Õ(n1/2) elements. Using the birthday paradox, with constant probability the same vertex is reached twice by two different walks of different parity. s A0 A1 Random walks of length poly(log n,1/).

11 Illustration for non-rapidly-mixing case

12 A question (an answer) and a comment
Can we do better (than O(n1/2·poly(log n,1/)) )? (Recall that in dense model had no dependence on n.) Not really (in terms of dependence on n): Can show a lower bound of (n1/2) [GR] (for constant  and d=3). Random matching with even cycles Random matching Comment: Random walks also used for testing whether graphs are good expanders [Czumaj,Sohler], [Kale,Seshadhri], [Nachmias,Shapira]

13 Testing bipartiteness in general graphs [Kaufman,Krivelevich,R]
Model for testing properties of general graphs (variant of [Parnas R] ): -far: > m edge modifications are needed to obtain the property where m is (upper bound on) number of edges Queries: Vertex-pair queries : Is (u,v)  E? Neighbor queries : Who is the i’th neighbor of v? Degree queries : what is d(v)? Suitable: General Graphs (dense, sparse, in-between)

14 Testing Bipartiteness in General graphs [KKR]
An upper bound of O(min(n1/2,n2/m)) · poly(log n,1/)) A lower bound of (min(n1/2,n2/m)) (for constant  ) . n1/2 Outline of the upper bound davg n1/2 Give algorithm for “close to regular” graphs: dmax= (davg) (Based on [GR] + pair-queries when davg> n1/2.) Present a reduction from any given G to a graph G’ s.t. : G’ is “close to regular”. G’ has #edges, #vertices of the same order as in G. G’ preserves the distance from bipartiteness of G. Show how to emulate the execution of the bipartiteness tester on G’, by accessing G.

15 Testing bipartiteness in dense graphs, revisited
Recall that can test bipartiteness in dense graphs using poly(1/) queries [GGR]. To be precise: Õ(1/2) queries [Alon Krivelevich] Is quadratic dependence on 1/ necessary? Yes if algorithm is non-adaptive [Bogdanov Trevisan] But for adaptive algorithm l.b. is (1/3/2) [BT] Can use adaptivity to get query complexity Õ(1/3/2) under promise that degrees O( n), which holds in l.b. construction [Gonen R] Idea: emulate [GR] algorithm for bounded-degree graphs on subgraph induced by Õ(1/) random vertices.

16 Summary Can test bipartiteness in dense graphs (vertex-pair queries and distance w.r.t. n2) using poly(1/) queries. Nonadaptively: Õ(1/2), (1/2) Adaptively: (1/3/2), Õ(1/3/2) under small degree promise Can test bipartiteness in bounded-degree graphs (neighbor queries and distance w.r.t. dn) using O(n1/2·poly(log n,1/)) queries Have l.b. of (n1/2) Can test bipartiteness in general graphs (vertex-pair + neighbor queries and distance w.r.t. m) using O(min(n1/2,n2/m))·poly(log n,1/)) queries Have l.b. (min(n1/2,n2/m))

17 Some samples from Oded (and what we can learn from them)

18

19

20

21

22

23

24

25

26


Download ppt "From dense to sparse and back again: On testing graph properties (and some properties of Oded)"

Similar presentations


Ads by Google