3 research outputs found
Propagating Conjunctions of AllDifferent Constraints
We study propagation algorithms for the conjunction of two AllDifferent
constraints. Solutions of an AllDifferent constraint can be seen as perfect
matchings on the variable/value bipartite graph. Therefore, we investigate the
problem of finding simultaneous bipartite matchings. We present an extension of
the famous Hall theorem which characterizes when simultaneous bipartite
matchings exists. Unfortunately, finding such matchings is NP-hard in general.
However, we prove a surprising result that finding a simultaneous matching on a
convex bipartite graph takes just polynomial time. Based on this theoretical
result, we provide the first polynomial time bound consistency algorithm for
the conjunction of two AllDifferent constraints. We identify a pathological
problem on which this propagator is exponentially faster compared to existing
propagators. Our experiments show that this new propagator can offer
significant benefits over existing methods.Comment: AAAI 2010, Proceedings of the Twenty-Fourth AAAI Conference on
Artificial Intelligenc
Conjunctions of Among Constraints
Many existing global constraints can be encoded as a conjunction of among
constraints. An among constraint holds if the number of the variables in its
scope whose value belongs to a prespecified set, which we call its range, is
within some given bounds. It is known that domain filtering algorithms can
benefit from reasoning about the interaction of among constraints so that
values can be filtered out taking into consideration several among constraints
simultaneously. The present pa- per embarks into a systematic investigation on
the circumstances under which it is possible to obtain efficient and complete
domain filtering algorithms for conjunctions of among constraints. We start by
observing that restrictions on both the scope and the range of the among
constraints are necessary to obtain meaningful results. Then, we derive a
domain flow-based filtering algorithm and present several applications. In
particular, it is shown that the algorithm unifies and generalizes several
previous existing results.Comment: 15 pages plus appendi
Extending the Finite Domain Solver of GNU Prolog
International audienceThis paper describes three significant extensions for the Finite Domain solver of GNU Prolog. First, the solver now supports negative integers. Second, the solver detects and prevents integer overflows from occurring. Third, the internal representation of sparse domains has been redesigned to overcome its current limitations. The preliminary performance evaluation shows a limited slowdown factor with respect to the initial solver. This factor is widely counterbalanced by the new possibilities and the robustness of the solver. Furthermore these results are preliminary and we propose some directions to limit this overhead