Відкрите або інтерактивне задоволення обмеженням


17

Раніше я впроваджував моделі координації, використовуючи SAT та регулярне задоволення обмежень як основну робочу коня у своїх двигунах. Продовжуючи цей напрямок роботи, я хотів би зробити моделі більш інтерактивними, і найкращий спосіб, який я бачу зробити, це відкрити вирішувач обмежень, щоб він більше не був чорним ящиком.

Таким чином, мені цікаво дізнатися більше про задоволення обмеженнями, коли обмеження мають те, що я називатиму зовнішніми змінними , предикатами та функціями , тобто мова обмеження може мати предикати, такі як які можна задовольнити лише порадившись із деякими агент зовнішній до розв'язувача, і то лише тоді, коли х ґрунт. Сценарій, коли це корисно, це коли всякий раз, коли P відповідає якомусь зовнішньому процесу прийняття рішення, який не може бути включений у вирішувач обмежень. Такі вирішувачі обмежень можна назвати відкритими (оскільки обмеження не зовсім відомі) або інтерактивнимиP(x)xП (оскільки взаємодія потрібна для задоволення обмежень).

Я хотів би знати обидва:

  • теоретичні дослідження, проведені в цьому напрямку
  • інструменти або бібліотеки, що реалізують рішення для обмеження, що дозволяють взаємодіяти із зовнішнім світом під час процесу вирішення обмежень.

Відповіді:


9

Мене зовсім не переконує попередня робота про відкриті та інтерактивні обмеження.

Спробою вивчити питання про відстежуваність було:

  • Мартін Дж. Грін та Крістофер Джефферсон, Структурна здатність поширених обмежень , CP 2008. doi: 10.1007 / 978-3-540-85958-1_25

хоча ця робота залишає без відповіді кілька основних питань. У цьому документі підхід через пропагатори тісно пов'язаний з існуючими реалізаціями рішення вирішення обмежень.

Я думаю, що робота над SMT (теорії задоволення модулів) також тісно пов'язана з вашим питанням. Теорії SMT часто мотивовані проблемами верифікації програмного та апаратного забезпечення, але існують теорії з ароматом ШІ. Я з нетерпінням чекаю на більше додатків, побудованих із SMT як основної технології, та на більшу роботу з обмеженнями в застосуванні ідей від SMT.


1
Цей папір, безумовно, виглядає цікаво. Я ніколи не думав, що вирішувачі SMT виконують те, що мені потрібно. Це, безумовно, проспект для вивчення.
Дейв Кларк

Мене бентежить останній коментар. Розв'язувачі SMT призначені для логіки та теорії, а не для конкретних предикатів. Люди можуть вносити нові теорії та орієнтири. Я знаю, що розробники MathSAT вивчали AI та проблеми планування.
Vijay D

@Vijay D: ти маєш рацію, це речення є надмірно упередженим, і я його перегляну. Ефективна реалізація INJECTIVE як теорії SMT була опублікована у 2010 році Банковичем та Marić ( argo.matf.bg.ac.rs/publications/2010/alldiff-smt2010.pdf ).
Андрас Саламон

7

Читаючи ваше запитання, я також погоджуюся, кажучи, що теорії модуля задоволеності тісно пов'язані з вашими потребами. Я б запропонував прочитати книгу Процедури прийняття рішень - Алгоритмічна точка зору .


Наскільки пов’язаною / гідною є книга Обчислення обчислень: Процедури прийняття рішень із заявами на перевірку Аарон Р. Бредлі та Зохар Манна? Я знаю, де його копія знаходиться в крокової доступності.
Дейв Кларк

@Dave: Відмова: Мій особистий досвід роботи з SMT є лише на самому початку ;-) Я щойно переглянув Зміст цієї книги; мабуть, є велике перехрестя між ним та тим, яке я вказав. В останньому те, що ви називаєте тут зовнішніми функціями , називається там не інтерпретованими функціями і широко висвітлюється. Мені не вдалося знайти інтерпретовані функції в ТОЦ процедур прийняття рішень із заявками на перевірку ; однак, здається, це дуже гарна книга і, можливо, може виявитися корисною.
Джорджіо Камерані

@Dave: У ці дні я читаю процедури прийняття рішень - алгоритмічну точку зору . Я ще не дійшов до розділу про неінтерпретовані функції , але якщо я не помиляюся, формули з неінтерпретованими функціями перетворюються на формули в Теорії рівності. Саме так, Теорія рівності висвітлена в Порядку прийняття рішень із заявами на перевірку (глава 9).
Джорджіо Камерані

1
Я думаю, що Амазонка дзвонить.
Дейв Кларк

@Dave: Добре, чудово! ;-)
Джорджіо Камерані

7

Для CSP, де ви взаємодієте із зовнішнім світом, також є щось, що називається, відкрита CSP, визначена в http://dx.doi.org/10.1016/j.artint.2004.10.005 . Суть у тому, що ви не знаєте задовольняючих / фальсифікуючих кортежівП(х), але виявляйте їх поступово, запитуючи мережу. На мою думку, цей документ не робить нічого очевидного, але це початок.


4

Я трохи розгублений щодо терміна інтерактив. Я задзвонюся з іншими та додаю, що вирішувач SMT може бути корисним. Щоб додати коментар Вальтера Бішопа, доступні слайди для книги «Процедури прийняття рішень» (Крінінг та Стріхман). Ретельне поводження Джона Харрісона в «Підручнику з практичної логіки та автоматизованого міркування» також може вас зацікавити. Приклад коду доступний в Інтернеті.

Принцеса Філіпа Румера підтримує арифметику з неінтерпретованими предикатами, що може відповідати тому, що ви маєте на увазі під відкритим. Він написаний у Scala, використовує E-зіставлення для обробки кількісних показників та забезпечує інтерполянти.


0

Що стосується інструментів, якщо ви вирішите, що ви пропонуєте мову Prolog як мову вибору, я можу запропонувати декілька підходів до реалізації:

  • GNU Prolog - це бібліотека програмування на С. Ви можете зателефонувати на функції C із Prolog та Prolog від C. Це відкриває вам безліч можливостей розширення функціональності. Pro: Gnu Prolog - один з найшвидших вільно доступних компіляторів Prolog. Примітка. Деякі люди скаржаться на відсутність деяких вбудованих предикатів ... насправді більшість з них можна реалізувати, перегляньте шари сумісності Prolog @SO
  • SWI-Prolog має цікаву бібліотеку програмування, включаючи мережевий зв’язок, підтримку буферних протоколів тощо. І є досить популярною.
  • XSB Prolog деякі люди стверджують, що це найцікавіший проект з точки зору сумісності - включаючи: інтерфейси баз даних тощо.

Prolog - це мова програмування, яка підходить для роботи з багатьма видами розв'язувачів (і більшість з них має вирішення кінцевих доменів).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.