This page is under construction, please visit later..

"Programmation logique avec contraintes (CLP) : Application au puzzle 'Send plus More equal Money' "

Tayeb Lemlouma, Mars 2000.


The Constraint Logic Programming (CLP) is a new class of programming languages. The constraint solving paradigm allows to solve complex problems which can not be solved easily with conventional methods. The main difference between logic programming languages, such as PROLOG, and the classical languages, such as PASCAL is that these later have an imperative nature, i.e. a description using an algorithm must be done in order to solve problems. In the other side, logic languages are highly declarative, that means : to solve a given problem, we can only describe it. CLP programs have great expressive power due to the constraints which they naturally manipulate. This new vision of programming, guarantees a new system which is efficient due to the exploitation of constraint solving techniques over specific domains. The target of this paper, is to show how CLP concepts can be applied to facilitate the description and the resolution of complex problems. To do so, we apply constraint techniques to solve the well known 'SEND plus MORE equal to MONEY' crypt arithmetic puzzle. We show that the resolution of this problem can be done easily using the logic style. The constraint resolution algorithm introduced in our paper, uses CLP methods. We show that the same techniques applied, can be used to solve other problems ( such as the magical square problem ). We propose also, amelioration based on the Artificial Intelligence, in order to minimize the execution time of the constraint resolution proposed.


Logic programming, Constraint logic programming, Logic language.

Please send your comments to