Abstract
This paper introduces propagator groups as an abstraction for controlling the execution of propagators as implementations of constraints. Propagator groups enable users of a constraint programming system to program how propagators within a group are executed.
The paper exemplifies propagator groups for controlling both propagation order and propagator interaction. Controlling propagation order is applied to debugging constraint propagation and optimal constraint propagation for Berge-acyclic propagator graphs. Controlling propagator interaction by encapsulating failure and entailment is applied to general reification and constructive disjunction. The paper describes an implementation of propagator groups (based on Gecode) that is applicable to any propagator-centered constraint programming system. Experiments show that groups incur little to no overhead and that the applications of groups are practically usable and efficient.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Beeri, C., Fagin, R., Maier, D., Yannakakis, M.: On the desirability of acyclic database schemes. J. ACM 30(3), 479–513 (1983)
Bessiere, C.: Constraint propagation. In: Rossi, et al. (eds.) [17], ch. 3, pp. 29–84
Bessiere, C., Hebrard, E., Hnich, B., Kiziltan, Z., Walsh, T.: SLIDE: A useful special case of the CARDPATH constraint. In: Ghallab, M., Spyropoulos, C.D., Fakotakis, N., Avouris, N.M. (eds.) ECAI, pp. 475–479 (2008)
Bessiere, C., Hebrard, E., Hnich, B., Kiziltan, Z., Walsh, T.: Range and roots: Two common patterns for specifying and propagating counting and occurrence constraints. Artificial Intelligence (2009)
Bessiere, C., Katsirelos, G., Narodytska, N., Quimper, C.-G., Walsh, T.: Decompositions of all different, global cardinality and related constraints. In: IJCAI (2009)
Carlson, B., Carlsson, M.: Compiling and executing disjunctions of finite domain constraints. In: ICLP, pp. 117–131 (1995)
Codognet, C., Codognet, P.: Guarded constructive disjunction: Angel or demon? In: Montanari, U., Rossi, F. (eds.) CP 1995. LNCS, vol. 976, pp. 345–361. Springer, Heidelberg (1995)
Francis, K., Stuckey, P.J.: Constraint propagation for loose constraint graphs. In: Cho, Y., Wainwright, R.L., Haddad, H., Shin, S.Y., Koo, Y.W. (eds.) SAC, pp. 334–335. ACM, New York (2007)
Gent, I.P., McKay, P., Miguel, I., Nightingale, P., Huczynska, S.: Modelling equidistant frequency permutation arrays in constraints. In: SARA (2009)
Goualard, F., Benhamou, F.: Debugging constraint programs by store inspection. In: Deransart, P., Małuszyński, J. (eds.) DiSCiPl 1999. LNCS, vol. 1870, pp. 273–297. Springer, Heidelberg (2000)
Hentenryck, P.V., Saraswat, V.A., Deville, Y.: Design, implementation, and evaluation of the constraint language cc(FD). In: Podelski, A. (ed.) Constraint Programming: Basics and Trends. LNCS, vol. 910, pp. 293–316. Springer, Heidelberg (1995)
Lagerkvist, M.Z., Schulte, C.: Advisors for incremental propagation. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 409–422. Springer, Heidelberg (2007)
Müller, T., Würtz, J.: Constructive Disjunction in Oz. In: Krall, A., Geske, U. (eds.) 11. Workshop Logische Programmierung, Technische Universität Wien, September 27-29 (1995)
Paltzer, N.: Debugging constraint propagation. Master’s thesis, Saarland Univerity, Germany (March 2008)
Provost, T.L., Wallace, M.: Domain independent propagation. In: FGCS, pp. 1004–1011 (1992)
Quimper, C.-G., Walsh, T.: Global grammar constraints. In: Benhamou, F. (ed.) CP 2006. LNCS, vol. 4204, pp. 751–755. Springer, Heidelberg (2006)
Rossi, F., van Beek, P., Walsh, T.: Handbook of constraint programming (2006)
Schulte, C.: Programming deep concurrent constraint combinators. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 215–229. Springer, Heidelberg (2000)
Schulte, C.: Programming Constraint Services. LNCS (LNAI), vol. 2302. Springer, Heidelberg (2002)
Schulte, C., Carlsson, M.: Finite domain constraint programming systems. In: Rossi, et al. (eds.) [17], ch. 14, pp. 495–526
Schulte, C., Stuckey, P.J.: Efficient constraint propagation engines. Transactions on Programming Languages and Systems 31(1), 2:1–2:43 (2008)
The Gecode team. Generic constraint development environment (2006), http://www.gecode.org
Würtz, J., Müller, T.: Constructive disjunction revisited. In: Görz, G., Hölldobler, S. (eds.) KI 1996. LNCS, vol. 1137, pp. 377–386. Springer, Heidelberg (1996)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Lagerkvist, M.Z., Schulte, C. (2009). Propagator Groups. In: Gent, I.P. (eds) Principles and Practice of Constraint Programming - CP 2009. CP 2009. Lecture Notes in Computer Science, vol 5732. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-04244-7_42
Download citation
DOI: https://doi.org/10.1007/978-3-642-04244-7_42
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-04243-0
Online ISBN: 978-3-642-04244-7
eBook Packages: Computer ScienceComputer Science (R0)