BNR Prolog - BNR Prolog

BNR Prolog, также известный как CLP (BNR) является декларативным программирование логики ограничений язык, основанный на реляционных интервальная арифметика разработан в Bell-Northern Research в 1980-х и 1990-х годах. Встраивание реляционной интервальной арифметики в язык логического программирования отличается от других систем программирования логических ограничений (CLP), таких как CLP (R) или Prolog-III в том, что он не выполняет никакой символьной обработки. BNR Prolog был первой такой реализацией интервальной арифметики на языке логического программирования.[1] Поскольку распространение ограничений выполняется для значений реального интервала, можно выразить и частично решить нелинейные уравнения.[2]

Пример правила

В одновременные уравнения:

выражаются в CLP (BNR) как:

?- {Икс>=0,Y>=0, загар(Икс)==Y, Икс**2 + Y**2 == 5}.

и типичный ответ реализации будет:

X = _58 :: вещественное (1.0966681287054703,1.0966681287054718),
Y = _106 :: real (1.9486710896099515,1.9486710896099542).
да

Рекомендации

  1. ^ Росси, Франческо; Ван Бик, Питер; Уолш Т., ред. (2006). Справочник по программированию в ограничениях (Твердый переплет). Эльзевир. ISBN  9780444527264.
  2. ^ Джаффар, Джоксан; Махер, Майкл Дж. (1994). «Программирование с ограничениями логики: обзор». Журнал логического программирования. Эльзевир. 19-20: 503–581. Дои:10.1016/0743-1066(94)90033-7.

внешняя ссылка