Revue de l'Information Scientifique et Technique
Volume 10, Numéro 1, Pages 40-58
2000-04-04

Programme Logique Avec Contraintes (clp)étude Et Application Au Puzzle:send Plus More Equal To Money`

Authors : Lemlouma Tayeb . Boudina Abdelmadjid .

Abstract

La programmation logique avec contraintes (CLP), est une nouvelle classe de langage de programmation. Certaines classes de problèmes difficiles ne pouvant être traitées par des moyens informatiques conventionnels, trouvent aujourd’hui des solutions élégantes et efficaces. La principale différence entre les langages de programmation logique, tel que « Prolog », et les langages `classiques`, tel que « Pascal » est que : ces derniers sont de nature impérative, i.e. il faut décrire le problème à résoudre selon un algorithme, alors que les langages logiques, sont de nature déclarative, cela veut dire qu`il suffit d`indiquer au système les données du problème à traiter. Ainsi avec cette nouvelle vision, on peut résoudre des problèmes complexes sans recourir à des techniques algorithmiques. Le but de cet article est de montrer l’utilité de la programmation logique avec l’introduction des contraintes, et de voir comment ce type de programmation peut faciliter énormément le formalisme ainsi que la résolution des problèmes. Pour cela, nous appliquons le principe de la CLP pour résoudre le puzzle crypte arithmétique : « SEND plus MORE equal to MONEY ». Nous montrons que la résolution de ce problème, peut être facilement faite, en se basant sur le style logique. L`algorithme de résolution des contraintes, que nous introduisons dans cet article, est basé sur les principes de la CLP, nous montrons que le même algorithme peut être utilisé pour résoudre d`autres problèmes ( tel que le problème des carrés magiques ), en indiquant seulement le but à atteindre, et le domaine des variables. Nous proposons aussi des améliorations, inspiré de l`intelligence artificielle, afin de minimiser le temps de réponse de notre résolveur des contraintes.

Keywords

Langage logique, Programmation logique, Programmation logique avec contrainte