Prolog Language
Programmation logique par contraintes
Recherche…
CLP (FD)
Les contraintes CLP (FD) ( domaines finis ) implémentent l'arithmétique sur les entiers . Ils sont disponibles dans toutes les implémentations sérieuses de Prolog.
Il existe deux cas d'utilisation majeurs de contraintes CLP (FD):
- Arithmétique entière déclarative
- Résoudre des problèmes combinatoires tels que la planification, la planification et les tâches d'allocation.
Exemples:
?- X #= 1+2.
X = 3.
?- 3 #= Y+2.
Y = 1.
Notez que si is/2
devait être utilisé dans la deuxième requête, une erreur d’instanciation se produirait:
?- 3 is Y+2.
ERROR: is/2: Arguments are not sufficiently instantiated
CLP (Q)
CLP (Q) implémente le raisonnement sur des nombres rationnels .
Exemple:
?- { 5/6 = X/2 + 1/3 }.
X = 1.
CLP (H)
Prolog lui-même peut être considéré comme CLP (H) : programmation par contraintes logiques sur les termes de Herbrand . Dans cette perspective, un programme Prolog affiche des contraintes sur les termes . Par exemple:
?- X = f(Y), Y = a.
X = f(a),
Y = a.
Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow