34,973 research outputs found
The FastMap Algorithm for Shortest Path Computations
We present a new preprocessing algorithm for embedding the nodes of a given
edge-weighted undirected graph into a Euclidean space. The Euclidean distance
between any two nodes in this space approximates the length of the shortest
path between them in the given graph. Later, at runtime, a shortest path
between any two nodes can be computed with A* search using the Euclidean
distances as heuristic. Our preprocessing algorithm, called FastMap, is
inspired by the data mining algorithm of the same name and runs in near-linear
time. Hence, FastMap is orders of magnitude faster than competing approaches
that produce a Euclidean embedding using Semidefinite Programming. FastMap also
produces admissible and consistent heuristics and therefore guarantees the
generation of shortest paths. Moreover, FastMap applies to general undirected
graphs for which many traditional heuristics, such as the Manhattan Distance
heuristic, are not well defined. Empirically, we demonstrate that A* search
using the FastMap heuristic is competitive with A* search using other
state-of-the-art heuristics, such as the Differential heuristic
Detecting hierarchical and overlapping network communities using locally optimal modularity changes
Agglomerative clustering is a well established strategy for identifying
communities in networks. Communities are successively merged into larger
communities, coarsening a network of actors into a more manageable network of
communities. The order in which merges should occur is not in general clear,
necessitating heuristics for selecting pairs of communities to merge. We
describe a hierarchical clustering algorithm based on a local optimality
property. For each edge in the network, we associate the modularity change for
merging the communities it links. For each community vertex, we call the
preferred edge that edge for which the modularity change is maximal. When an
edge is preferred by both vertices that it links, it appears to be the optimal
choice from the local viewpoint. We use the locally optimal edges to define the
algorithm: simultaneously merge all pairs of communities that are connected by
locally optimal edges that would increase the modularity, redetermining the
locally optimal edges after each step and continuing so long as the modularity
can be further increased. We apply the algorithm to model and empirical
networks, demonstrating that it can efficiently produce high-quality community
solutions. We relate the performance and implementation details to the
structure of the resulting community hierarchies. We additionally consider a
complementary local clustering algorithm, describing how to identify
overlapping communities based on the local optimality condition.Comment: 10 pages; 4 tables, 3 figure
- …