Zoeken…


CLP (FD)

CLP (FD) -beperkingen ( eindige domeinen ) implementeren rekenkundige dan gehele getallen . Ze zijn beschikbaar in alle serieuze Prolog-implementaties.

Er zijn twee belangrijke gebruikssituaties van CLP (FD) -beperkingen:

  • Declaratief rekenkundig geheel getal
  • Combinatorische problemen zoals planning, planning en toewijzingstaken oplossen.

Voorbeelden:

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

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

Merk op dat als is/2 in de tweede query zou worden gebruikt, er een instantiëringsfout zou optreden:

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

CLP (Q)

CLP (Q) implementeert redeneren over rationale getallen.

Voorbeeld:

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

CLP (H)

Prolog zelf kan worden beschouwd als CLP (H) : Constraint Logic Programming over Herbrand-voorwaarden . Vanuit dit perspectief plaatst een Prolog-programma beperkingen ten opzichte van voorwaarden . Bijvoorbeeld:

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


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow