Prolog Language
Programmazione della logica del vincolo
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