58 research outputs found
A Novel Shortest Paths Algorithm on Unweighted Graphs
The shortest paths problem is a common challenge in graph theory, with a
broad range of potential applications. However, conventional serial algorithms
often struggle to adapt to large-scale graphs. To address this issue,
researchers have explored parallel computing as a solution. The
state-of-the-art shortest paths algorithm is the Delta-stepping implementation
method, which significantly improves the parallelism of Dijkstra's algorithm.
We propose a novel shortest paths algorithm achieving higher parallelism and
scalability, which requires and times on the
connected and unconnected graphs for APSP problems, respectively, where
and denote the number of nodes and edges included in the
largest weakly connected component in graph. To evaluate the effectiveness of
our algorithm, we tested it using real network inputs from Stanford Network
Analysis Platform and SuiteSparse Matrix Collection. Our algorithm outperformed
the solution of BFS and Delta-stepping algorithm from Gunrock, achieving a
speedup of 1,212.523 and 1,315.953, respectively
Path planning with pose SLAM
The probabilistic belief networks that result from standard feature-based simultaneous localization and map building (SLAM) approaches cannot be directly used to plan trajectories. The reason is that they
produce a sparse graph of landmark estimates and their probabilistic relations, which is of little value to find collision free paths for navigation. In contrast, we argue in this paper that Pose SLAM graphs can be directly used as belief roadmaps (BRMs). The original BRM algorithm assumes a known model of the environment from which probabilistic sampling generates a roadmap. In our work, the roadmap is built on-line by the Pose SLAM algorithm. The result is a hybrid BRM-Pose SLAM method that devises optimal navigation strategies on-line by searching for the path with lowest accumulated uncertainty for the robot pose. The method is validated over synthetic data and standard SLAM datasets.Postprint (published version
NEW IDEAS TO SPEED-UP FLOYD-WARSHALL SHORTEST PATHS ALGORITHM
Floyd and Warshall’s algorithm for the all-pairs shortest path problem is a Θ(n3) procedure which revisits n times all the cells of an n×n distance matrix. At each pass, all the cells are checked but only some of them get updated. In this paper, we report some preliminary results on a new version of the algorithm, designed to avoid checking cells which will not be updated, in order to reduce the overall time. Our procedure uses heaps to quickly identify which cells can be good candidates for an update. The new version improves over Floyd-Warshall’s original for those input graphs in which the number of cells updated over all passes is substantially smaller than the number of checks. However, our procedure is worse than the original if the ratio between cell checks and updates is not large enough. To obtain an improvement independently of the particular instance type, we propose a hybrid combination of the two approaches, which starts with the original Floyd and Warshall version and then switches to the new one after some iterations. Preliminary experiments show the effectiveness of this strateg
Compiling Recurrences over Dense and Sparse Arrays
Recurrence equations lie at the heart of many computational paradigms
including dynamic programming, graph analysis, and linear solvers. These
equations are often expensive to compute and much work has gone into optimizing
them for different situations. The set of recurrence implementations is a large
design space across the set of all recurrences (e.g., the Viterbi and
Floyd-Warshall algorithms), the choice of data structures (e.g., dense and
sparse matrices), and the set of different loop orders. Optimized library
implementations do not exist for most points in this design space, and
developers must therefore often manually implement and optimize recurrences. We
present a general framework for compiling recurrence equations into native code
corresponding to any valid point in this general design space. In this
framework, users specify a system of recurrences, the type of data structures
for storing the input and outputs, and a set of scheduling primitives for
optimization. A greedy algorithm then takes this specification and lowers it
into a native program that respects the dependencies inherent to the recurrence
equation. We describe the compiler transformations necessary to lower this
high-level specification into native parallel code for either sparse and dense
data structures and provide an algorithm for determining whether the recurrence
system is solvable with the provided scheduling primitives. We evaluate the
performance and correctness of the generated code on various computational
tasks from domains including dense and sparse matrix solvers, dynamic
programming, graph problems, and sparse tensor algebra. We demonstrate that
generated code has competitive performance to handwritten implementations in
libraries
Geodesics in Heat
We introduce the heat method for computing the shortest geodesic distance to
a specified subset (e.g., point or curve) of a given domain. The heat method is
robust, efficient, and simple to implement since it is based on solving a pair
of standard linear elliptic problems. The method represents a significant
breakthrough in the practical computation of distance on a wide variety of
geometric domains, since the resulting linear systems can be prefactored once
and subsequently solved in near-linear time. In practice, distance can be
updated via the heat method an order of magnitude faster than with
state-of-the-art methods while maintaining a comparable level of accuracy. We
provide numerical evidence that the method converges to the exact geodesic
distance in the limit of refinement; we also explore smoothed approximations of
distance suitable for applications where more regularity is required
Arriving on time: estimating travel time distributions on large-scale road networks
Most optimal routing problems focus on minimizing travel time or distance
traveled. Oftentimes, a more useful objective is to maximize the probability of
on-time arrival, which requires statistical distributions of travel times,
rather than just mean values. We propose a method to estimate travel time
distributions on large-scale road networks, using probe vehicle data collected
from GPS. We present a framework that works with large input of data, and
scales linearly with the size of the network. Leveraging the planar topology of
the graph, the method computes efficiently the time correlations between
neighboring streets. First, raw probe vehicle traces are compressed into pairs
of travel times and number of stops for each traversed road segment using a
`stop-and-go' algorithm developed for this work. The compressed data is then
used as input for training a path travel time model, which couples a Markov
model along with a Gaussian Markov random field. Finally, scalable inference
algorithms are developed for obtaining path travel time distributions from the
composite MM-GMRF model. We illustrate the accuracy and scalability of our
model on a 505,000 road link network spanning the San Francisco Bay Area
Half-tapering strategy for conditional simulation with large datasets
Gaussian conditional realizations are routinely used for risk assessment and
planning in a variety of Earth sciences applications. Conditional realizations
can be obtained by first creating unconditional realizations that are then
post-conditioned by kriging. Many efficient algorithms are available for the
first step, so the bottleneck resides in the second step. Instead of doing the
conditional simulations with the desired covariance (F approach) or with a
tapered covariance (T approach), we propose to use the taper covariance only in
the conditioning step (Half-Taper or HT approach). This enables to speed up the
computations and to reduce memory requirements for the conditioning step but
also to keep the right short scale variations in the realizations. A criterion
based on mean square error of the simulation is derived to help anticipate the
similarity of HT to F. Moreover, an index is used to predict the sparsity of
the kriging matrix for the conditioning step. Some guides for the choice of the
taper function are discussed. The distributions of a series of 1D, 2D and 3D
scalar response functions are compared for F, T and HT approaches. The
distributions obtained indicate a much better similarity to F with HT than with
T.Comment: 39 pages, 2 Tables and 11 Figure
CytoITMprobe: a network information flow plugin for Cytoscape
To provide the Cytoscape users the possibility of integrating ITM Probe into
their workflows, we developed CytoITMprobe, a new Cytoscape plugin.
CytoITMprobe maintains all the desirable features of ITM Probe and adds
additional flexibility not achievable through its web service version. It
provides access to ITM Probe either through a web server or locally. The input,
consisting of a Cytoscape network, together with the desired origins and/or
destinations of information and a dissipation coefficient, is specified through
a query form. The results are shown as a subnetwork of significant nodes and
several summary tables. Users can control the composition and appearance of the
subnetwork and interchange their ITM Probe results with other software tools
through tab-delimited files.
The main strength of CytoITMprobe is its flexibility. It allows the user to
specify as input any Cytoscape network, rather than being restricted to the
pre-compiled protein-protein interaction networks available through the ITM
Probe web service. Users may supply their own edge weights and
directionalities. Consequently, as opposed to ITM Probe web service,
CytoITMprobe can be applied to many other domains of network-based research
beyond protein-networks. It also enables seamless integration of ITM Probe
results with other Cytoscape plugins having complementary functionality for
data analysis.Comment: 16 pages, 6 figures. Version
Combinatorial problems in solving linear systems
42 pages, available as LIP research report RR-2009-15Numerical linear algebra and combinatorial optimization are vast subjects; as is their interaction. In virtually all cases there should be a notion of sparsity for a combinatorial problem to arise. Sparse matrices therefore form the basis of the interaction of these two seemingly disparate subjects. As the core of many of today's numerical linear algebra computations consists of the solution of sparse linear system by direct or iterative methods, we survey some combinatorial problems, ideas, and algorithms relating to these computations. On the direct methods side, we discuss issues such as matrix ordering; bipartite matching and matrix scaling for better pivoting; task assignment and scheduling for parallel multifrontal solvers. On the iterative method side, we discuss preconditioning techniques including incomplete factorization preconditioners, support graph preconditioners, and algebraic multigrid. In a separate part, we discuss the block triangular form of sparse matrices
- …