Suche…


CLP (FD)

CLP (FD) -Einschränkungen ( Finite Domains ) implementieren Arithmetik über Ganzzahlen . Sie sind in allen ernstzunehmenden Prolog-Implementierungen verfügbar.

Es gibt zwei Hauptanwendungsfälle von CLP-Einschränkungen (FD):

  • Deklarative Ganzzahlarithmetik
  • Lösung kombinatorischer Probleme wie Planungs-, Einplanungs- und Zuteilungsaufgaben

Beispiele:

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

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

Beachten Sie, dass bei der Verwendung von is/2 in der zweiten Abfrage ein Instantiierungsfehler auftreten würde:

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

CLP (Q)

CLP (Q) implementiert Argumentation über rationale Zahlen.

Beispiel:

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

CLP (H)

Prolog selbst kann als CLP (H) : Constraint Logic-Programmierung über Herbrand-Bedingungen betrachtet werden . In dieser Perspektive gibt ein Prolog-Programm Einschränkungen hinsichtlich der Bedingungen bekannt . Zum Beispiel:

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow