Finding Cycles and Trees in Sublinear Time

advertisement
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 id)
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
Download