Exploiting parallelism in decomposition methods for constraint satisfaction
Constraint Satisfaction Problems (CSPs) are NP-complete in general, however, there are many tractable subclasses that rely on the restriction of the structure of their underlying hypergraphs. It is a well-known fact, for instance, that CSPs whose underlying hypergraph is acyclic are tractable. Trying to deﬁne “nearly acyclic” hypergraphs led to the deﬁnition of various hypergraph decomposition methods. An important member in this class is the hypertree decomposition method, introduced by Gottlob et al. It possesses the property that CSPs falling into this class can be solved eﬃciently, and that hypergraphs in this class can be recognized efﬁciently as well. Apart from polynomial tractability, complexity analysis has shown, that both afore-mentioned problems lie in the low complexity class LOGCFL and are thus moreover eﬃciently parallelizable. A parallel algorithm has been proposed for the “evaluation problem”, however all algorithms for the “recognition problem” presented to date are sequential. The main contribution of this dissertation is the creation of an object oriented programming library including a task scheduler which allows the parallelization of a whole range of computational problems, fulﬁlling certain complexity-theoretic restrictions. This library merely requires the programmer to provide the implementation of several classes and methods, representing a general alternating algorithm, while the mechanics of the task scheduler remain hidden. In particular, we use this library to create an eﬃcient parallel algorithm, which computes hypertree decompositions of a ﬁxed width. Another result of a more theoretical nature is the deﬁnition of a new type of decomposition method, called Balanced Decompositions. Solving CSPs of bounded balanced width and recognizing such hypergraphs is only quasi-polynomial, however still parallelizable to a certain extent. A complexity-theoretic analysis leads to the deﬁnition of a new complexity class hierarchy, called the DC-hierarchy, with the ﬁrst class in this hierarchy, DC1 , precisely capturing the complexity of solving CSPs of bounded balanced width.