Jump to content

CLP(R)

CLP(R) декларативный язык программирования . Это означает программирование логики ограничений (действительное), где вещественное относится к действительным числам . Его можно рассматривать и обычно реализовывать как надмножество или дополнительный пакет для реализации Пролога .

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

[ редактировать ]

Одновременные линейные уравнения :

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

3*X + 4*Y - 2*Z = 8,
X - 5*Y + Z = 10,
2*X + 3*Y -Z = 20.

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

З = 35,75
Y = 8,25
Х = 15,5

Да

Пример программы

[ редактировать ]

CLP(R) позволяет определять предикаты, используя рекурсивные определения. Например, ипотечные отношения можно определить как относительно основной суммы P, количества периодов времени кредита T, погашения каждого периода R, процентной ставки за период I и окончательный остаток задолженности в конце срока действия кредита B.

mg(P, T, R, I, B) :- T = 0, B = R.
mg(P, T, R, I, B) :- T >= 1, P1 = P*(1+I) - R, mg(P1, T - 1, R, I, B).

Первое правило гласит, что для кредита с нулевым периодом остаток задолженности в конце представляет собой просто первоначальную основную сумму долга. Второе правило гласит, что для кредита, рассчитанного хотя бы на один период времени, мы можем рассчитать новую сумму задолженности P1 по формуле умножив основную сумму на 1 плюс процентную ставку и вычитая сумму погашения. Оставшаяся часть кредита рассматривается как еще одна ипотека для новой основной суммы долга и на один период времени меньше.

Что с этим можно сделать? Вы можете задать много вопросов. Если я одолжу 1000 долларов на 10 лет под 10% годовых и погашу 150 долларов в год, сколько я буду должен в конце?

?- mg(1000, 10, 150, 10/100, B).

Система отвечает ответом

B = 203.129.

Какую сумму я могу занять с помощью 10-летнего кредита под 10%, погашая 150 каждый год, чтобы в конце концов ничего не быть должен?

?- mg(P, 10, 150, 10/100, 0).

Система отвечает ответом

P = 921.685.

Какова связь между основной суммой, погашением и остатком по 10-летнему кредиту под 10% годовых?

?- mg(P, 10, R, 10/100, B).

Система отвечает ответом

P = 0.3855*B + 6.1446 * R.

Это показывает взаимосвязь между переменными, не требуя, чтобы какая-либо из них принимала определенное значение.

Интеграция Пролога

[ редактировать ]

CLP(R) впервые был интегрирован в систему Prolog в 1994 году, а именно в SICStus Prolog . [1] Эта реализация с тех пор была портирована на многие популярные системы Пролога, включая Ciao , [2] SWI-Пролог [3] и XSB . [4]

См. также

[ редактировать ]
  1. ^ Хольцбаур, Кристиан (1995). «Руководство OEFAI clp(q,r), версия 1.3.2», . ÖFAI Технические отчеты в Интернете (95–09).
  2. ^ «Введение — Система Ciao v1.22» . ciao-lang.org . Проверено 6 ноября 2023 г.
  3. ^ «Руководство по SWI-Прологу» . www.swi-prolog.org . Проверено 6 ноября 2023 г.
  4. ^ Свифт, Тереза ​​(13 мая 2022 г.). «Пакеты ограничений». Система XSB, версия 5.0, том 2: Интерфейсы и пакеты . п. 71.
[ редактировать ]


Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: fadef2e177cb45b9d0e02590a8ab93cb__1710459720
URL1:https://arc.ask3.ru/arc/aa/fa/cb/fadef2e177cb45b9d0e02590a8ab93cb.html
Заголовок, (Title) документа по адресу, URL1:
CLP(R) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)