908 research outputs found
Space-Efficient Parallel Algorithms for Combinatorial Search Problems
We present space-efficient parallel strategies for two fundamental
combinatorial search problems, namely, backtrack search and branch-and-bound,
both involving the visit of an -node tree of height under the assumption
that a node can be accessed only through its father or its children. For both
problems we propose efficient algorithms that run on a -processor
distributed-memory machine. For backtrack search, we give a deterministic
algorithm running in time, and a Las Vegas algorithm requiring
optimal time, with high probability. Building on the backtrack
search algorithm, we also derive a Las Vegas algorithm for branch-and-bound
which runs in time, with high probability. A
remarkable feature of our algorithms is the use of only constant space per
processor, which constitutes a significant improvement upon previous algorithms
whose space requirements per processor depend on the (possibly huge) tree to be
explored.Comment: Extended version of the paper in the Proc. of 38th International
Symposium on Mathematical Foundations of Computer Science (MFCS
Multi-threading a state-of-the-art maximum clique algorithm
We present a threaded parallel adaptation of a state-of-the-art maximum clique
algorithm for dense, computationally challenging graphs. We show that near-linear speedups
are achievable in practice and that superlinear speedups are common. We include results for
several previously unsolved benchmark problems
Accelerating backtrack search with a best-first-search strategy
Backtrack-style exhaustive search algorithms for NP-hard problems
tend to have large variance in their runtime. This is because ``fortunate''
branching decisions can lead to finding a solution quickly, whereas
``unfortunate'' decisions in another run can lead the algorithm to
a region of the search space with no solutions. In the literature,
frequent restarting has been suggested as a means to overcome this
problem.
In this paper, we propose a more sophisticated approach: a best-first-search heuristic
to quickly move between parts of the search space, always concentrating
on the most promising region. We describe how this idea can be efficiently
incorporated into a backtrack search algorithm, without
sacrificing optimality. Moreover, we demonstrate
empirically that, for hard solvable problem instances, the new approach
provides significantly higher speed-up than frequent restarting
- …