Prolog Language
Programmering för begränsningslogik
Sök…
CLP (FD)
CLP (FD) begränsningar ( Finite Domains ) implementerar aritmetik över heltal . De finns tillgängliga i alla allvarliga Prolog-implementationer.
Det finns två stora fall av CLP (FD):
- Deklarativ heltal aritmetik
- Lösa kombinatoriska problem som planering, schemaläggning och tilldelningsuppgifter.
Exempel:
?- X #= 1+2.
X = 3.
?- 3 #= Y+2.
Y = 1.
Observera att om is/2
skulle användas i den andra frågan, skulle ett inställningsfel uppstå:
?- 3 is Y+2.
ERROR: is/2: Arguments are not sufficiently instantiated
CLP (Q)
CLP (Q) implementerar resonemang över rationella antal.
Exempel:
?- { 5/6 = X/2 + 1/3 }.
X = 1.
CLP (H)
Prolog själv kan betraktas som CLP (H) : Constraint Logic Programming over Herbrand-termer . Med detta perspektiv lägger ett Prolog-program begränsningar över villkor . Till exempel:
?- X = f(Y), Y = a.
X = f(a),
Y = a.
Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow