Buscar..


CLP (FD)

Las restricciones de CLP (FD) ( dominios finitos ) implementan aritmética sobre enteros . Están disponibles en todas las implementaciones serias de Prolog.

Hay dos casos de uso principales de restricciones CLP (FD):

  • Aritmética entera declarativa
  • Resolución de problemas combinatorios como tareas de planificación, programación y asignación.

Ejemplos:

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

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

Tenga en cuenta que si is/2 utilizara is/2 en la segunda consulta, se produciría un error de creación de instancias:

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

CLP (Q)

CLP (Q) implementa razonamiento sobre números racionales .

Ejemplo:

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

CLP (H)

El propio prólogo se puede considerar como CLP (H) : Programación de la lógica de restricción sobre los términos de Herbrand . Con esta perspectiva, un programa Prolog publica restricciones sobre los términos . Por ejemplo:

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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow