BNR Prolog - BNR Prolog

BNR Prolog, také známý jako CLP (BNR) je deklarativní logické programování omezení jazyk založený na relačních aritmetika intervalu vyvinut v Bell-Northern Research v 80. a 90. letech. Vkládání aritmetiky relačních intervalů do logického programovacího jazyka se liší od jiných systémů logického programování s omezeními (CLP), jako je CLP (R) nebo Prolog-III v tom, že neprovádí žádné symbolické zpracování. BNR Prolog byla první taková implementace intervalové aritmetiky v logickém programovacím jazyce.[1] Protože se šíření omezení provádí na hodnotách reálného intervalu, je možné vyjádřit a částečně vyřešit nelineární rovnice.[2]

Příklad pravidla

The simultánní rovnice:

jsou vyjádřeny v CLP (BNR) jako:

?- {X>=0,Y>=0, opálení(X)==Y, X**2 + Y**2 == 5}.

a typická odpověď implementace by byla:

X = _58 :: skutečný (1.0966681287054703,1.0966681287054718),
Y = _106 :: skutečný (1.9486710896099515,1,9486710896099542).
Ano

Reference

  1. ^ Rossi, Francesco; Van Beek, Peter; Walsh, T., eds. (2006). Příručka programování omezení (Vázaná kniha). Elsevier. ISBN  9780444527264.
  2. ^ Jaffar, Joxan; Maher, Michael J. (1994). „Logické programování omezení: průzkum“. The Journal of Logic Programming. Elsevier. 19-20: 503–581. doi:10.1016/0743-1066(94)90033-7.
  • J. G. Cleary, „Logical Arithmetic“, Future Computing Systems, sv. 2, č. 2, s. 125–149, 1987.
  • W. Older a A. Vellino, “Rozšíření Prologu s omezující aritmetikou na skutečné intervaly ", Proc. of the Canadian Conf. on Electrical and Computer Engineering, 1990.
  • Older, W. a Benhamou, F., Programming in CLP (BNR), in: 1st Workshop on Principles and Practice of Constraint Programming, 1993.

externí odkazy