Up Next

11.1  Constraint Logic Programming

One of the main ambitions of Constraint Programming is the separation of Modelling, Algorithms and Search. This is best characterised by two pseudo-equations. The first one is paraphrased from Kowalski [12]

Solution = Logic + Control

and states that we intend to solve a problem by giving a logical, declarative description of the problem and adding control information that enables a computer to deduce a solution.

The second equation

Control = Reasoning + Search

is motivated by a fundamental difficulty we face when dealing with combinatorial problems: we do not have efficient algorithms for finding solutions, we have to resort to a combination of reasoning (via efficient algorithms) and (inefficient) search.

We can consider every constraint program as an exercise in combining the 3 ingredients:

In this chapter we will focus on the first issue, Problem Modelling, and how it is supported by ECLiPSe.

Up Next