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 n-node tree of height h 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 distributed-memory machine with p processors. For backtrack search, we give a deterministic algorithm running in O(n/p + h log p) time, and a Las Vegas algorithm requiring optimal O(n/p + h) time, with high probability. Building on the backtrack search algorithm, we also derive a Las Vegas algorithm for branch-and-bound which runs in O((n/p + h log p log n)h log n) 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 previously known algorithms whose space requirements per processor depend on the (possibly huge) tree to be explored (Ω(h) for backtrack search and Ω(n/p) for branch-and-bound).
Space-Efficient Parallel Algorithms for Combinatorial Search Problems
PIETRACAPRINA, ANDREA ALBERTO;PUCCI, GEPPINO;SILVESTRI, FRANCESCO;VANDIN, FABIO
2013
Abstract
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 n-node tree of height h 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 distributed-memory machine with p processors. For backtrack search, we give a deterministic algorithm running in O(n/p + h log p) time, and a Las Vegas algorithm requiring optimal O(n/p + h) time, with high probability. Building on the backtrack search algorithm, we also derive a Las Vegas algorithm for branch-and-bound which runs in O((n/p + h log p log n)h log n) 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 previously known algorithms whose space requirements per processor depend on the (possibly huge) tree to be explored (Ω(h) for backtrack search and Ω(n/p) for branch-and-bound).Pubblicazioni consigliate
I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.