Articulo de referencia

Prólogo de BNR

BNR Prolog , también conocido como CLP(BNR) , es un lenguaje de programación lógica con restricciones declarativo basado en aritmética de intervalos relacional desarrollado en B...

BNR Prolog , también conocido como CLP(BNR) , es un lenguaje de programación lógica con restricciones declarativo basado en aritmética de intervalos relacional desarrollado en Bell-Northern Research en las décadas de 1980 y 1990. La integración de la aritmética de intervalos relacional en un lenguaje de programación lógica se diferencia de otros sistemas de programación lógica con restricciones (CLP), como CLP(R) o Prolog-III, en que no realiza ningún procesamiento simbólico. BNR Prolog fue la primera implementación de aritmética de intervalos en un lenguaje de programación lógica. [ 1 ] Dado que la propagación de restricciones se realiza sobre valores de intervalo reales, es posible expresar y resolver parcialmente ecuaciones no lineales . [ 2 ]

Regla de ejemplo

Las ecuaciones simultáneas :

broncearseincógnita=y{\displaystyle \tan x=y}
incógnita2+y2=5{\displaystyle x^{2}+y^{2}=5}

se expresan en CLP(BNR) como:

?- { X >= 0 , Y >= 0 , tan ( X ) == Y , X ** 2 + Y ** 2 == 5 }.

y la respuesta de una implementación típica sería:

X = _58::real(1.0966681287054703,1.0966681287054718), Y = _106::real(1.9486710896099515,1.9486710896099542). Sí

Véase también

Referencias

  1. Rossi, Francesco; Van Beek, Peter; Walsh, Toby , eds. (2006). Manual de programación con restricciones (Tapa dura) . Elsevier. ISBN 9780444527264.
  2. Jaffar, Joxan; Maher, Michael J. (1994). "Programación lógica con restricciones: una revisión" . The Journal of Logic Programming . 19–20 . Elsevier: 503–581 . doi : 10.1016/0743-1066(94)90033-7 .

Referencias generales

  • JG Cleary, "Aritmética lógica", Future Computing Systems, Vol. 2, No. 2, págs.  125–149, 1987.
  • W. Older y A. Vellino, " Extensión de Prolog con aritmética de restricciones en intervalos reales ", en Actas de la Conferencia Canadiense de Ingeniería Eléctrica e Informática, 1990.
  • Older, W., y Benhamou, F., Programación en CLP(BNR), en: 1er Taller sobre Principios y Práctica de la Programación con Restricciones, 1993.
  • Sitio de GitHub para una reimplementación de 2018 en SWI-Prolog