"Tri, Tri again": Finding Triangles and Small Subgraphs in a Distributed Setting

Abstract

Let G = (V,E) be an n-vertex graph and Md a d-vertex graph, for some constant d. Is Md a subgraph of G? We consider this problem in a model where all n processes are connected to all other processes, and each message contains up to O(log n) bits. A simple deterministic algorithm that requires O(n((d-2)/d) / log n) communication rounds is presented. For the special case that Md is a triangle, we present a probabilistic algorithm that requires an expected O(ceil(n(1/3) / (t(2/3) + 1))) rounds of communication, where t is the number of triangles in the graph, and O(minn(1/3) log(2/3) n / (t(2/3) + 1), n(1/3)) with high probability. We also present deterministic algorithms specially suited for sparse graphs. In any graph of maximum degree Delta, we can test for arbitrary subgraphs of diameter D in O(ceil(Delta(D+1) / n)) rounds. For triangles, we devise an algorithm featuring a round complexity of O(A2 / n + log(2+n/A2) n), where A denotes the arboricity of G.

0

Turn this paper into a lesson

ArcXiv compiles a structured reading guide from this paper's metadata: plain-English importance, contributions, prerequisite concepts, which sections to read first, flashcards, and a quiz. Grounded in the abstract, never invented.

Discussion (0)

Sign in to join the discussion.

Loading comments…