Presentation is loading. Please wait.

Presentation is loading. Please wait.

On Local Partition Oracles and their Applications

Similar presentations


Presentation on theme: "On Local Partition Oracles and their Applications"— Presentation transcript:

1 On Local Partition Oracles and their Applications
Dana Ron, Tel Aviv University

2 Partition Oracles Introduced by [Hassidim,Kelner,Nguyen,Onak] ([HKNO])
Let G=(V,E) by an undirected (simple) graph, |V|=n, |E|=m, max degree d, can probe any vertex for its degree and neighbors. Suppose there is a partition P of V into small connected subsets with few edges between subsets. size  k  n Partition P is an (,k)-partition. If G has an (,(1/))-partition for every , then G is -hyperfinite For example, planar graphs are -hyperfinite for poly . v When queried on any v in V, a Partition Oracle returns the subset S(v) that v belongs to in P. Can use oracle as a subroutine for various approximation algorithms. Will first describe one example application, then discuss how to implement such an oracle locally, and finish with more applications.

3 Approximating Size of Min-Vertex-Cover
Let vc(G) denote size of minimum vertex cover in graph G. Given approx parameter , want to obtain an estimate  such that   [vc(G)- n, vc(G)+ n] Suppose have PO for partition P with (/4)n edges between parts, and each part of size poly(1/) Let C(P) be vertex cover defined as follows: For each of the (/4)n edges between parts, put both endpoints in C(P). For each part S in P, cover edges in G(S) by optimal vertex cover.

4 Approximating Size of Min-Vertex-Cover II
C(P): For each edge between parts, put both endpoints in C(P). For each part S in P, cover edges in G(S) by optimal vertex cover. |C(P)|[vc(G),vc(G)+(/2)n] Can estimate |C(P)| to within (/2)n using PO for P and sampling: - Select (1/2) vertices uniformly at random. - For each sampled vertex v determine whether in C(P) as follows: * Query PO on v to obtain S(v). * Probe all neighbors of vertices in S(v) to obtain G(S(v)). * If v has neighbor(s) outside of S(v) or is in min-vc of G(S(v)), then v in C(P). - Return fraction of sampled vertices in C(P) times n. v

5 Approximating Size of Min-Vertex-Cover III
Queries to PO: (1/2) probes to G: depends on implementation of the oracle Running time exp(poly(1/)) (recall that problem hard also for planar graphs) Same approach gives approximation for other optimization problems (e.g., size of min dominating set) If can implement PO using number of probes to G that is sublinear in n (independent of n), then get approximation algorithm(s) with sublinear query complexity

6 Approximating Size of Min-Vertex-Cover IV
To put in context: have sublinear-probe algorithms for approx min-VC in general graphs (not partition based), but all ([Parnas,R], [Marko,R], [Nguyen,Onak], [Yoshida,Yamamoto,Ito], [Onak,R,Rosen,Rubinfeld]) give   [vc(G), 2vc(G)+ n] and going below 2 requires (n1/2) queries to graph [Trevisan]

7 Back to Partition Oracles (POs)
POs work under a promise that the graph belongs to a known family of graphs POs may be randomized. Randomization determines partition (must answer all queries consistently with same partition) Bound of n on number of edges between parts is ensured with high constant probability (whcp). (Bound of k on size of parts, w.p. 1.) * For -hyperfinite graphs: exp(d(poly(d/))) probes to graph (per query to PO), for (,(poly(d/))) partition [HKNO] * For minor-free graphs (constant-size minor): dpoly(1/) for (,O((d/)2) partition [HKNO]. Improved to (d/)O(log(1/)) [Levi,R] * For constant-treewidth graphs: poly(d/) for (,poly(d/)) partition [Edelman,Hassidim,Nguyen,Onak].

8 A PO for Hyperfinite Graphs [HKNO]
First design a global partition algorithm, and then describe how the PO can emulate locally (common to all POs). Build on random-order technique of Nguyen and Onak [NO]. Definition: A set SV is a (k,) isolated neighborhood of vV if: vS, |S|k, G(S) is connected and |E(S,V\S)|  |S|. v S Global Partition Algorithm Let =(1,…,n) be random permutation of vertices. Initialize P:= , G1=G. For i=1,…,n do: If i not in Gi, then continue to i+1 (Gi+1=Gi) If exists (k,)-isolated neighborhood of i in Gi, then let S be this neighborhood Else S:={i} Add S to P Let Gi+1 be graph obtained from Gi by removing S determine by BFS to depth k+1

9 A PO for Hyperfinite Graphs – Analysis
Global Partition Algorithm Let =(1,…,n) be random permutation (ordering) of vertices. Initialize P:= , G1=G. For i=1,…,n do: If i not in Gi, then continue to i+1 (Gi+1=Gi) If exists (k,)-isolated neighborhood of i in Gi (run BFS) then let S be this neighborhood Else S:={i} Add S to P and let Gi+1 be graph obtained from Gi by removing S Prove that for every sufficiently large subgraph G’ of G and for k=(poly(d/)), =(/d), random vertex in G’ has (k,)-isolated neighborhood with prob > 1- /(100 d). This can be shown to imply that whcp over random permutation, resulting partition is (,k)-hyperfinite.

10 A PO for Hyperfinite Graphs – Local Emulation
Global Partition Algorithm Let =(1,…,n) be random permutation (ordering) of vertices. Initialize P:= , G1=G. For i=1,…,n do:  If i not in Gi, then continue to i+1 (Gi+1=Gi) If exists (k,)-isolated neighborhood of i in Gi (run BFS) then let S be this neighborhood, else S:={i} Add S to P and let Gi+1 be graph obtained from Gi by removing S Local emulation performed by the oracle: * Random permutation implemented by assigning each vertex v a random number r(v) in [0,1] (can be done “on the fly”) 1) Given a vertex v, perform BFS to depth (at most) 2k. 2) For each vertex u encountered, if r(u) < r(v), make recursive call to oracle on u. If vS(u), then return S(u). 3) Otherwise, search for (k,)-isolated neighborhood S of v in Gi, returning it or S={v}. (Return S={v} also when num of probes too high.) Oracle answers according to refinement P’ of P (ensures size k and connectedness). Theorem of [NO] bounds extra cut edges (whcp) and bounds recursive calls and probe complexity exp(d(poly(d/)))

11 A PO for Bounded-Treewidth Graphs [EHNO]
Similar high-level to hyperfinite oracle, but use stronger properties of bounded treewidth, tw. Definition: A set SV is a (k,,c)-isolated neighborhood of vV if: vS, |S|k, G(S) is connected |E(S,V\S)|  |S|, and |N(S)|c, where N(S) are neighbors of S outside of S. Prove that almost all (1-/100) vertices have (k,,c)-isolated neighborhood for k=poly(d,tw,1/,1/) , c = O(tw). Give algorithm for finding such neighborhood, queries O(dkO(tw)) Global algorithm uses this find-neighborhood algorithm (does not remove covered vertices from the graph) Local emulation uses subroutine that finds all neighborhoods that given vertex belongs to (prove that not too many). Bottom line (roughly): reduction in probe complexity (poly(d/)) due to efficient neighborhood finding procedure(s) and no recursion.

12 A PO for Minor-Free Graphs [HKNO], [LR]
G is H-minor free, if cannot obtain H from G by vertex/edge removals and edge contractions. Theorem 1 (following [Nash-Williams]) If G=(V,E) is H-minor free for H over h vertices, then |E|  c(h)|V| and E can be partitioned into at most c(h) forests. Theorem 2 (following [Alon,Seymour,Thomas]) If G=(V,E) is H-minor free for H over h vertices, then has (,k)-partition for k = c’(h)(d/)2 ( ) Global partition algorithm of [HKNO] is built on edge-contractions. (Similarities to clustering alg of [Czygrinow, Hanckowiak and Wawrzyniak] and Boruvka based distributed algorithm of [Pettie and Ramachandran].)

13 A PO for Minor-Free Graphs [HKNO], [LR]
Global partition algorithm of [HKNO] is built on edge-contractions. Defines sequence of edge-weighted auxiliary graphs. Initial graph G, with edge-weights 1. If contract edge (u,v) with weight w(u,v), and have edges (u,w) and (v,w), then obtain edge (uv,w) with weight w(u,w)+w(v,w) u v w 2 3 uv 5 w Final graph defined partition: Each vertex corresponds to subset of vertices. Weights of edges: number of cut edges.

14 A PO for Minor-Free Graphs [HKNO]
Global Partition Algorithm Set G0=G For i=1,…,r= O(log(1/)) do: Toss fair coin for each vertex in Gi-1 independently For every u in Gi-1 consider heaviest edge (u,v). If u Heads and v Tails, then contract (u,v). Let resulting graph be Gi 3) For each vertex u in Gr that corresponds to subset C(u) in G of size bigger than k = c’(h)(d/)2 , “break it” into subsets of size k with few edges between them. Run alg of Alon, Seymour, Thomas [AST] v 3 u 2 Local emulation needs to determine for v in G what is u in Gr s.t. vC(u). Does so recursively. Num of probes (dpoly(1/)) depends on max size of subsets C(u) for u in G1,…,Gr

15 A PO for Minor-Free Graphs [HKNO],[LR]
Global Partition Algorithm Set G0=G For i=1,…,r= O(log(1/)) do: Toss fair coin for each vertex in Gi-1 independently For every u in Gi-1 consider heaviest edge (u,v). If u Heads and v Tails, then contract (u,v). For each “new” vertex u that corresponds to a subset C(u) in G of size bigger than k’ = c’(h)(d log(1/)/)2 , “break it” into subsets of size k’ with few edges between them. Let resulting graph be Gi 3) For each vertex u in Gr that corresponds to subset (in G) of size bigger than k = c’(h)(d/)2 , “break it” into subsets of size k with few edges between them. Run alg of Alon, Seymour, Thomas [AST] Maintaining smaller subsets C(u) reduces probe complexity of local emulation (to (d/)O(log(1/)) ). Comes at cost of additional cut-edges due to breaking of subsets (can be bounded), and slightly more complex local emulation.

16 Applications of POs [HKNO]
Sublinear size-approximation algorithms for optimization problems (Min VC, Max IS, Min DS) Testing planarity and other minor-closed properties Approximating the distance to hereditary properties Variants of partition oracles as defined here (that is, which ensure different properties of parts and edges between them) can be used to get sparse spanning graphs.

17 Thanks


Download ppt "On Local Partition Oracles and their Applications"

Similar presentations


Ads by Google