33,199 research outputs found
JGraphT -- A Java library for graph data structures and algorithms
Mathematical software and graph-theoretical algorithmic packages to
efficiently model, analyze and query graphs are crucial in an era where
large-scale spatial, societal and economic network data are abundantly
available. One such package is JGraphT, a programming library which contains
very efficient and generic graph data-structures along with a large collection
of state-of-the-art algorithms. The library is written in Java with stability,
interoperability and performance in mind. A distinctive feature of this library
is the ability to model vertices and edges as arbitrary objects, thereby
permitting natural representations of many common networks including
transportation, social and biological networks. Besides classic graph
algorithms such as shortest-paths and spanning-tree algorithms, the library
contains numerous advanced algorithms: graph and subgraph isomorphism; matching
and flow problems; approximation algorithms for NP-hard problems such as
independent set and TSP; and several more exotic algorithms such as Berge graph
detection. Due to its versatility and generic design, JGraphT is currently used
in large-scale commercial, non-commercial and academic research projects. In
this work we describe in detail the design and underlying structure of the
library, and discuss its most important features and algorithms. A
computational study is conducted to evaluate the performance of JGraphT versus
a number of similar libraries. Experiments on a large number of graphs over a
variety of popular algorithms show that JGraphT is highly competitive with
other established libraries such as NetworkX or the BGL.Comment: Major Revisio
Decoherence in quantum walks - a review
The development of quantum walks in the context of quantum computation, as
generalisations of random walk techniques, led rapidly to several new quantum
algorithms. These all follow unitary quantum evolution, apart from the final
measurement. Since logical qubits in a quantum computer must be protected from
decoherence by error correction, there is no need to consider decoherence at
the level of algorithms. Nonetheless, enlarging the range of quantum dynamics
to include non-unitary evolution provides a wider range of possibilities for
tuning the properties of quantum walks. For example, small amounts of
decoherence in a quantum walk on the line can produce more uniform spreading (a
top-hat distribution), without losing the quantum speed up. This paper reviews
the work on decoherence, and more generally on non-unitary evolution, in
quantum walks and suggests what future questions might prove interesting to
pursue in this area.Comment: 52 pages, invited review, v2 & v3 updates to include significant work
since first posted and corrections from comments received; some non-trivial
typos fixed. Comments now limited to changes that can be applied at proof
stag
Minimum cycle and homology bases of surface embedded graphs
We study the problems of finding a minimum cycle basis (a minimum weight set
of cycles that form a basis for the cycle space) and a minimum homology basis
(a minimum weight set of cycles that generates the -dimensional
()-homology classes) of an undirected graph embedded on a
surface. The problems are closely related, because the minimum cycle basis of a
graph contains its minimum homology basis, and the minimum homology basis of
the -skeleton of any graph is exactly its minimum cycle basis.
For the minimum cycle basis problem, we give a deterministic
-time algorithm for graphs embedded on an orientable
surface of genus . The best known existing algorithms for surface embedded
graphs are those for general graphs: an time Monte Carlo
algorithm and a deterministic time algorithm. For the
minimum homology basis problem, we give a deterministic -time algorithm for graphs embedded on an orientable or non-orientable
surface of genus with boundary components, assuming shortest paths are
unique, improving on existing algorithms for many values of and . The
assumption of unique shortest paths can be avoided with high probability using
randomization or deterministically by increasing the running time of the
homology basis algorithm by a factor of .Comment: A preliminary version of this work was presented at the 32nd Annual
International Symposium on Computational Geometr
Fast Computation of Small Cuts via Cycle Space Sampling
We describe a new sampling-based method to determine cuts in an undirected
graph. For a graph (V, E), its cycle space is the family of all subsets of E
that have even degree at each vertex. We prove that with high probability,
sampling the cycle space identifies the cuts of a graph. This leads to simple
new linear-time sequential algorithms for finding all cut edges and cut pairs
(a set of 2 edges that form a cut) of a graph.
In the model of distributed computing in a graph G=(V, E) with O(log V)-bit
messages, our approach yields faster algorithms for several problems. The
diameter of G is denoted by Diam, and the maximum degree by Delta. We obtain
simple O(Diam)-time distributed algorithms to find all cut edges,
2-edge-connected components, and cut pairs, matching or improving upon previous
time bounds. Under natural conditions these new algorithms are universally
optimal --- i.e. a Omega(Diam)-time lower bound holds on every graph. We obtain
a O(Diam+Delta/log V)-time distributed algorithm for finding cut vertices; this
is faster than the best previous algorithm when Delta, Diam = O(sqrt(V)). A
simple extension of our work yields the first distributed algorithm with
sub-linear time for 3-edge-connected components. The basic distributed
algorithms are Monte Carlo, but they can be made Las Vegas without increasing
the asymptotic complexity.
In the model of parallel computing on the EREW PRAM our approach yields a
simple algorithm with optimal time complexity O(log V) for finding cut pairs
and 3-edge-connected components.Comment: Previous version appeared in Proc. 35th ICALP, pages 145--160, 200
- …