Ricerca…


CLP (FD)

I vincoli CLP (FD) ( Domini finiti ) implementano l'aritmetica sugli interi . Sono disponibili in tutte le implementazioni seria di Prolog.

Esistono due principali casi d'uso dei vincoli CLP (FD):

  • Aritmetico intero dichiarativo
  • Risoluzione di problemi combinatori come la pianificazione, la pianificazione e le attività di allocazione.

Esempi:

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

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

Si noti che se si is/2 nella seconda query, si verificherà un errore di istanziazione:

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

CLP (Q)

CLP (Q) implementa il ragionamento su numeri razionali .

Esempio:

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

CLP (H)

Lo stesso Prolog può essere considerato come CLP (H) : Constraint Logic Programming su termini di Herbrand . Con questa prospettiva, un programma Prolog posta vincoli su termini . Per esempio:

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow