# Catalogue of Artificial Intelligence Techniques

## Constraint Logic Programming

**Aliases:**
CLP

**Keywords:**
constraint logic programming

### Categories: Inference and Reasoning , Logic Programming

Author(s): **Mark Wallace**

Constraint logic programming is a paradigm coined for solving combinatorial problems. It has been used successfully for a variety of practical applications from scheduling to financial analysis. Constraint handling has been introduced into Logic Programming to simplify the expression of problems and to dramatically improve program efficiency. Essentially the constraints are used to prune the search tree defined by the logic program in which they are embedded. Three different kinds of constraints have been introduced: basic constraints, propagation constraints and reactive constraints. During program execution, basic constraints are added to a global store of constraints and the system checks the consistency of the whole constraint store. Propagation constraints are used to restrict possible constraint stores: they can also be used actively to continually produce new information, as the constraint store grows. Reactive constraints exhibit a behaviour which is specified by rules, whose firing is driven by the constraint store. An embedding of constraints in logic programming, and illustrations of its use, are presented in the article referenced below.

### References:

- Van Hentenryck, P., Simonis, H. and Dincbas, M.,
*Constraint Satisfaction using Constraint Logic Programming*Artificial Intelligence**58**(1992).

### Comments:

No comments.