Solving functional constraints by variable substitution

Functional constraints and bi-functional constraints are an important constraint class in Constraint Programming (CP) systems, in particular for Constraint Logic Programming (CLP) systems. CP systems with finite domain constraints usually employ Constraint Satisfaction Problem(s)-based solvers which use local consistency, for example, arc consistency. We introduce a new approach which is based instead on variable substitution. We obtain efficient algorithms for reducing systems involving functional and bi-functional constraints together with other nonfunctional constraints. It also solves globally any CSP where there exists a variable such that any other variable is reachable from it through a sequence of functional constraints. Our experiments on random problems show that variable elimination can significantly improve the efficiency of solving problems with functional constraints.

[1]  Rina Dechter,et al.  Bucket Elimination: A Unifying Framework for Reasoning , 1999, Artif. Intell..

[2]  Roland H. C. Yap,et al.  Efficient Algorithms for Functional Constraints , 2008, ICLP.

[3]  Martin C. Cooper,et al.  Characterising Tractable Constraints , 1994, Artif. Intell..

[4]  Pedro Barahona,et al.  PSICO: Solving Protein Structures with Constraint Programming and Optimization , 2002, Constraints.

[5]  Hachemi Bennaceur,et al.  A Labelling Arc Consistency Method for Functional Constraints , 1996, CP.

[6]  Gerald J. Sussman,et al.  Forward Reasoning and Dependency-Directed Backtracking in a System for Computer-Aided Circuit Analysis , 1976, Artif. Intell..

[7]  Lefteris M. Kirousis Fast Parallel Constraint Satisfaction , 1993, ICALP.

[8]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[9]  Roland H. C. Yap,et al.  Functional Elimination and 0/1/All Constraints , 1999, AAAI/IAAI.

[10]  Joxan Jaffar,et al.  Constraint logic programming , 1987, POPL '87.

[11]  Roland H. C. Yap,et al.  An optimal coarse-grained arc consistency algorithm , 2005, Artif. Intell..

[12]  Mike Paterson,et al.  Linear Unification , 1978, J. Comput. Syst. Sci..

[13]  Philippe David,et al.  Using Pivot Consistency to Decompose and Solve Functional CSPs , 1994, J. Artif. Intell. Res..

[14]  Malik Ghallab,et al.  A Practically Efficient and Almost Linear Unification Algorithm , 1988, Artif. Intell..

[15]  Bing Liu,et al.  Increasing Functional Constraints Need to Be Checked Only Once , 1995, IJCAI.

[16]  Christian Schulte,et al.  Views and Iterators for Generic Constraint Implementations , 2005, CSCLP.

[17]  Roland H. C. Yap,et al.  The CLP( R ) language and system , 1992, TOPL.

[18]  Roland H. C. Yap,et al.  Linear Equation Solving for Constraint Logic Programming , 1995, ICLP.

[19]  Pascal Van Hentenryck,et al.  A Generic Arc-Consistency Algorithm and its Specializations , 1992, Artif. Intell..

[20]  Alan Bundy,et al.  Proceedings of the Fourteenth International Joint Conference on Artificial Intelligence - IJCAI-95 , 1995 .

[21]  Roland H. C. Yap,et al.  Incrementally solving functional constraints , 2002, AAAI/IAAI.