Exploiting Functional Dependencies in Declarative Problem Specifications

In this paper we tackle the issue of the automatic recognition of functional dependencies among guessed predicates in constraint problem specifications. Functional dependencies arise frequently in pure declarative specifications, because of the intermediate results that need to be computed in order to express some of the constraints, or due to precise modelling choices, e.g., to provide multiple viewpoints of the search space in order to increase propagation. In either way, the recognition of dependencies greatly helps solvers, letting them avoid spending search on unfruitful branches, while maintaining the highest degree of declarativeness. By modelling constraint problem specifications as second-order formulae, we provide a characterization of functional dependencies in terms of semantic properties of first-order ones. Additionally, we show how suitable search procedures can be automatically synthesized in order to exploit recognized dependencies. We present OPL examples of various problems, from bio-informatics, planning and resource allocation fields, and show how in many cases OPL greatly benefits from the addition of such search procedures.

[1]  Brian W. Kernighan,et al.  AMPL: A Modeling Language for Mathematical Programming , 1993 .

[2]  Toby Walsh,et al.  Permutation Problems and Channelling Constraints , 2001, LPAR.

[3]  Mihalis Yannakakis,et al.  On the Complexity of Protein Folding , 1998, J. Comput. Biol..

[4]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[5]  Enrico Giunchiglia,et al.  Applying the Davis-Putnam Procedure to Non-clausal Formulas , 1999, AI*IA.

[6]  Jimmy Ho-Man Lee,et al.  Increasing Constraint Propagation by Redundant Modeling: an Experience Report , 1999, Constraints.

[7]  Jörg Flum,et al.  Finite model theory , 1995, Perspectives in Mathematical Logic.

[8]  Toby Walsh,et al.  Why Channel? Multiple viewpoints for branching heuristics , 2003 .

[9]  Marco Cadoli,et al.  Compiling Problem Specifications into SAT , 2001, ESOP.

[10]  Bart Selman,et al.  Pushing the Envelope: Planning, Propositional Logic and Stochastic Search , 1996, AAAI/IAAI, Vol. 2.

[11]  Pascal Van Hentenryck The OPL optimization programming language , 1999 .

[12]  Ilkka Niemelä,et al.  Logic programs with stable model semantics as a constraint programming paradigm , 1999, Annals of Mathematics and Artificial Intelligence.

[13]  James M. Crawford,et al.  Symmetry-Breaking Predicates for Search Problems , 1996, KR.

[14]  Toni Mancini,et al.  Automated reformulation of specifications by safe delay of constraints , 2004, Artif. Intell..

[15]  K. Dill,et al.  A lattice statistical mechanics model of the conformational and sequence spaces of proteins , 1989 .

[16]  Gerald Pfeifer,et al.  The KR System dlv: Progress Report, Comparisons and Benchmarks , 1998, KR.

[17]  Paul Walton Purdom,et al.  Backtrack Searching in the Presence of Symmetry , 1988, Nord. J. Comput..

[18]  Toni Mancini,et al.  USING A THEOREM PROVER FOR REASONING ON CONSTRAINT PROBLEMS , 2005, AI*IA.

[19]  Nils J. Nilsson,et al.  Principles of Artificial Intelligence , 1980, IEEE Transactions on Pattern Analysis and Machine Intelligence.

[20]  Toby Walsh,et al.  Using Auxiliary Variables and Implied Constraints to Model Non-Binary Problems , 2000, AAAI/IAAI.

[21]  Chu Min Li,et al.  Integrating Equivalency Reasoning into Davis-Putnam Procedure , 2000, AAAI/IAAI.