1. A method comprising: partitioning a graph of nodes into a plurality of clusters at least in part by performing the steps of: for each node of a plurality of nodes in the graph, determining whether to exclude edges between said each node and one or more of the other nodes; wherein, for at least a particular node of the plurality of nodes, the step of determining whether to exclude edges comprises determining to exclude one or more particular edges based at least in part on a degree of overlap between, for each particular neighbor of the particular node, neighbors of the particular node and neighbors of the particular neighbor; determining that a subset of the plurality of nodes without the one or more particular edges is sufficiently partitioned; re-performing the step of determining whether to exclude edges for nodes that are not in the subset; wherein the method is performed by one or more computing devices.