Finding Cycles and Trees in Sublinear Time Oded Goldreich Weizmann Institute of Science Joint work with Artur Czumaj, Dana Ron, C. Seshadhri, Asaf Shapira, and Christian Sohler Preliminaries (boring, but needed…) Consider algorithms in the bounded-degree graph model (for a fixed degree bound, d): • The algorithms use queries of the form (v,i) (where id) that are answered with the ith neighbor of v. • Distances are measured as fractions of the maximum possible number of edges (i.e., dN/2). For simplicity, far = being (1)-far. (The results extend to the case that the algorithm is given a proximity parameter , but then the complexity depends on .) cycle = simple cycle Our results at a glance – take 1 (naïve) In the bounded-degree graph model cycle = simple cycle THM 1: An Õ(N1/2)-time algorithm for finding (small) cycles in N-vertex graphs that are far from being cycle-free. THM 2: For every fixed k>3, an Õ(N1/2)-time algorithm for finding (small) cycles of length at least k in N-vertex graphs that are far from lacking cycles of such length. Optimality: No o(N1/2)-query algorithm can find such cycles. THM 3: For every fixed k>1, an O(1)-time algorithm for finding trees with at least k leaves in graphs that are far from lacking such trees. small = polylog(N)-size Our results at a glance – take 2 (minors) Def: A graph G has an H-minor if H can be obtained from G by vertex and edge removal and edge contraction. In the bounded-degree graph model cycle = simple cycle Ck = k-vertex cycle THM 1: An Õ(N1/2)-time algorithm for finding (small) C3-minors in N-vertex graphs that are far from being C3-minor free. THM 2: For every fixed k>3, an Õ(N1/2)-time algorithm for finding (small) Ck-minors in N-vertex graphs that are far from being Ck-minor free. Optimality: For any H that contains a cycle, no o(N1/2)-query algorithm can find H-minors in a N-vertex graphs that is far from being H-minor free. THM 3: For every fixed k>1, an O(1)-time algorithm for finding Tk-minors in graphs that are far from Tk–minor free, where Tk denotes the k-vertex star. THM 4: For any cycle-free H, an O(1)-time algorithm for finding H-minors in graphs that are far from H–minor free. Dichotomy: H with/w.o. cycles. (Aux. slide) Property Testing: One-sided versus two-sided error Specialized to testing graph properties (in the bounded degree model) A (two-sided error) tester is a probabilistic oracle machine T that is given input n (#vertices) and oracle access to a nvertex graph G and satisfies: • If G has the property, then Prob[TG(n)=1] ≥ 2/3 (1 for one-sided error). • If G is far from having the property, then Prob[TG(n)=1] ≤ 1/3. The definition extend to the case that the tester is also given a proximity parameter (and input), and then “far” = “-far”. One-sided error testing and finding structures Observation: When a one-sided error tester for a property rejects a graph G, it must be the case that the subgraph viewed by the tester is inconsistent with any graph in . In some cases, this subgraph has a natural appeal. E.g., if is being bipartite, then the subgraph must be a non-bipartite graph; if is being H-minor free, then the subgraph must be an H-minor. Thus, all our results can be stated in terms of results regarding one-sided error testers (see next slide…). Recall that two-sided error testers of O(1)-time are known for H-minor freeness (cf. [BSS] vastly extending [GR]). N.B.: These testers do not yield algorithms for finding minors. Dichotomy: one/two-sided error. Our results at a glance – take 3 (1-sided-error-testers) Def: A graph G has an H-minor if H can be obtained from G by vertex and edge removal and edge contraction. In the bounded-degree graph model cycle = simple cycle Ck = k-vertex cycle THM 1: An Õ(N1/2)-time one-sided error tester for C3-minor freeness (a.k.a cycle-freeness). THM 2: For every fixed k>3, an Õ(N1/2)-time one-sided error tester for Ck-minor freeness. Optimality: For any H that contains a cycle, no o(N1/2)-query one-sided error tester for H-minor freeness. Yet, an O(1)-time two-sided error tester exists (cf. [BSS])! THM 4: For any cycle-free H, an O(1)-time one-sided error tester for H–minor freeness. Techniques: testing cycle-freeness THM 1: An Õ(N1/2)-time one-sided error tester for cycle-freeness. In the bounded-degree graph model cycle = simple cycle The two-sided error tester just compares the # of edges to the # of cc. Idea: randomly reduce testing cycle-freeness to testing bipartiteness, by replacing each edge with a 2-path w.p. ½ (and leaving it intact otherwise). A cycle-free graph is always mapped to a bipartite graph, whereas each cycle is mapped with probability ½ to an odd cycle. CLM: A graph that is -far from being cycle-free is mapped, w.v.h.p, to a graph that is ()-far from being bipartite. Details: Local implementation of the reduction. Operations of the bipartite-tester are emulated via queries to the original graph. Techniques: testing Ck-minor freeness THM 2: An Õ(N1/2)-time one-sided error tester for Ck-minor freeness. • Two triangles sharing an model edge In the bounded-degree graph contain a cycle of length four. cycle = simple cycle • A C4-minor free graph is a C cycleand edges. k = k-vertex “tree” of triangles Idea: (deterministically) reduce testing Ck-minor freeness to testing cycle-freeness, by replacing cycles of length < k with adequate gadgets. E.g., for k=4, replace each triangle by a 3-star. A C4-minor free graph is always mapped to a cycle-free graph, whereas any C4-minor is mapped to a cycle. (See next slide) CLM: A graph that is -far from being C4-minor free is mapped to a graph that is ()-far from being cycle-free. Details: Local implementation of the reduction. Operations of the bipartite-tester are emulated via queries to the original graph. (Aux. slide) Testing C4-minor freeness (via a reduction): Replacing triangles by 3-stars The reduction replaces red edges by blue edges. (Black edges remain intact.) • Two triangles sharing an edge contain a cycle of length four. They are replaced by edges that contain a 4-cycle. • A C4-minor free graph is a “tree” of triangles and edges. These triangles disappear (in replacement) and the tree remains. Techniques: testing Tk-minor freeness THM 3: An poly(k/)-time one-sided error tester for Tk-minor freeness. In the bounded-degree graph model Tk = the k-vertex star The tester performs a BFS from a randomly chosen start vertex till either encountering k vertices in a layer or visiting 4k/ layers. Accept iff the explored subgraph is Tk-minor free. Call a vertex v bad if it is contained in a set S such that the subgraph induced by S contains a Tk-minor and has radius at most 4k/ from v. Observe that if the graph has few bad vertices, then it is close to being Tkminor free (by isolating all bad vertices and omitting the edges that separate each 4k/-depth BFS from the rest of the graph). A few open problems • Main: Sublinear-time one-sided error tester of H-minor freeness for every fixed H. Recall: we only handle cycles and trees (actually forests). • For sake of curiosity: Deterministic (local) reduction of testing cycle-freeness to testing bipartiteness? Recall: Our reduction was randomized. • One-sided error tester of sublinear-time for Ck-minor freeness also for d > sqrt(n)? Our tester (via reduction) has a hidden poly(dk) factor. • One-sided error tester of query complexity poly(k/) for Pk-minor freeness (i.e., absence of k-paths). There is an obvious exp(k)/-time tester. The End The slides of this talk are available at http://www.wisdom.weizmann.ac.il/~oded/T/minor.ppt The paper itself is available at http://www.wisdom.weizmann.ac.il/~oded/p_minor.html