Find dense subgraphs

(a, b) cluster C

(Tarjan etal.) E(v, C): edges between v and C. External sparsity vs internal density of edges: vC:|E(v,C)|b|C|, uC:|E(u,C)|a|C|. Cliques are (a, 1) clusters.

Bound on cluster overlap known. For certain (a, b) it is possible for one cluster to be contained in another, but not if size of largest : smallest cluster size 1a1b. b>1/2 ensures cluster connectedness: condition may be too strong in practice.

r-champion v of C: v has r|C| neighbors outside C. Gives a stronger argument for C being a good cluster.

Good clusters have small r and a, large b.

Finding (a, b) clusters

If there is a large gap between a/2 and b>1/2+(r+a)/2>1/2, then there are n (a, b) clusters with r-champions of size s, can find them deterministically in O(mn1.2+n2+o(1)). Experimentally shown to find 90% of maximal cliques size 5 or higher.

Alg: Take t(c)=Γ(c)Γ(Γ(c)). For each cV: start with C=ϕ; for each vt(c): add v to C if |Γ(v)Γ(c)|(2b1)s \footnote{Reminiscent of most new edges closing triangles in graph evolution}; if C is an (a, b) cluster, output it.

\oprob extend to weighted graphs.