2,433 research outputs found
Clear and Compress: Computing Persistent Homology in Chunks
We present a parallelizable algorithm for computing the persistent homology
of a filtered chain complex. Our approach differs from the commonly used
reduction algorithm by first computing persistence pairs within local chunks,
then simplifying the unpaired columns, and finally applying standard reduction
on the simplified matrix. The approach generalizes a technique by G\"unther et
al., which uses discrete Morse Theory to compute persistence; we derive the
same worst-case complexity bound in a more general context. The algorithm
employs several practical optimization techniques which are of independent
interest. Our sequential implementation of the algorithm is competitive with
state-of-the-art methods, and we improve the performance through parallelized
computation.Comment: This result was presented at TopoInVis 2013
(http://www.sci.utah.edu/topoinvis13.html
A Three-Level Parallelisation Scheme and Application to the Nelder-Mead Algorithm
We consider a three-level parallelisation scheme. The second and third levels
define a classical two-level parallelisation scheme and some load balancing
algorithm is used to distribute tasks among processes. It is well-known that
for many applications the efficiency of parallel algorithms of the second and
third level starts to drop down after some critical parallelisation degree is
reached. This weakness of the two-level template is addressed by introduction
of one additional parallelisation level. As an alternative to the basic solver
some new or modified algorithms are considered on this level. The idea of the
proposed methodology is to increase the parallelisation degree by using less
efficient algorithms in comparison with the basic solver. As an example we
investigate two modified Nelder-Mead methods. For the selected application, a
few partial differential equations are solved numerically on the second level,
and on the third level the parallel Wang's algorithm is used to solve systems
of linear equations with tridiagonal matrices. A greedy workload balancing
heuristic is proposed, which is oriented to the case of a large number of
available processors. The complexity estimates of the computational tasks are
model-based, i.e. they use empirical computational data
Independence in constraint logic programs
Studying independence of literals, variables, and substitutions has proven very useful in the context of logic programming (LP). Here we study independence in the broader context of constraint logic programming (CLP). We show that a naive extrapolation of the LP definitions of independence to CLP is unsatisfactory (in fact, wrong) for two reasons. First, because interaction between variables through constraints is more complex than in the case of logic programming. Second, in order to ensure the efUciency of several optimizations not only must independence of the search space be considered, but also an orthogonal issue - "independence of constraint solving." We clarify these issues by proposing various types of search independence
and constraint solver independence, and show how they can be combined to allow different independence-related optimizations, from parallelism to intelligent backtracking. Sufficient conditions for independence which can be evaluated "a-priori" at run-time are also proposed. Our results suggest that independence, provided a suitable definition is chosen, is even more useful in CLP than in LP
- …