Szukaj…


CLP (FD)

Ograniczenia CLP (FD) ( Finite Domains ) implementują arytmetykę na liczbach całkowitych . Są dostępne we wszystkich poważnych implementacjach Prologu.

Istnieją dwa główne przypadki użycia ograniczeń CLP (FD):

  • Deklaratywna arytmetyka liczb całkowitych
  • Rozwiązywanie problemów kombinatorycznych, takich jak planowanie, planowanie i przydzielanie zadań.

Przykłady:

?- X #= 1+2.
X = 3.

?- 3 #= Y+2.
Y = 1.

Zauważ, że jeśli w drugim zapytaniu miałoby być is/2 , wystąpiłby błąd wystąpienia:

?- 3 is Y+2.
ERROR: is/2: Arguments are not sufficiently instantiated

CLP (Q)

CLP (Q) implementuje rozumowanie na podstawie liczb wymiernych .

Przykład:

?- { 5/6 = X/2 + 1/3 }.
X = 1.

CLP (H)

Sam Prolog można uznać za CLP (H) : Programowanie logiki z ograniczeniami w odniesieniu do terminów Herbrand . Z tej perspektywy program Prolog nakłada ograniczenia na warunki . Na przykład:

?- X = f(Y), Y = a.
X = f(a),
Y = a.


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow