~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 65E3266040B422A27C2C2D4EF6D81A8A__1715192760 ✰
Заголовок документа оригинал.:
✰ Answer set programming - Wikipedia ✰
Заголовок документа перевод.:
✰ Программирование набора ответов — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Answer_set_programming ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/65/8a/65e3266040b422a27c2c2d4ef6d81a8a.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/65/8a/65e3266040b422a27c2c2d4ef6d81a8a__translat.html ✰
Дата и время сохранения документа:
✰ 16.06.2024 10:16:05 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 8 May 2024, at 21:26 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Программирование набора ответов — Википедия Jump to content

Программирование набора ответов

Из Википедии, бесплатной энциклопедии

Программирование множества ответов ( ASP ) — это форма декларативного программирования , ориентированная на решение сложных (в первую очередь NP-трудных ) задач поиска . Он основан на семантике устойчивой модели (множества ответов) логического программирования . В ASP задачи поиска сводятся к вычислению устойчивых моделей, а решатели множества ответов для выполнения поиска используются — программы для генерации устойчивых моделей. Вычислительный процесс, используемый при разработке многих решателей множества ответов, является усовершенствованием алгоритма DPLL и, в принципе, всегда завершается (в отличие от оценки запроса Пролога , которая может привести к бесконечному циклу ).

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

История [ править ]

Ранним примером программирования набора ответов был метод планирования , предложенный в 1997 году Димопулосом, Небелем и Кёлером. [3] [4] Их подход основан на взаимосвязи между планами и стабильными моделями. [5] В 1998 году Сойнинен и Ниемеля [6] применил то, что теперь известно как программирование набора ответов, к проблеме конфигурации продукта . [4] В 1999 году термин «программирование множества ответов» впервые появился в книге « Парадигма логического программирования» как название сборника из двух статей. [4] Первая из этих статей определила использование решателей множества ответов для поиска как новую парадигму программирования . [7] В том же году Ниемеля также предложила «логические программы со стабильной семантикой модели» в качестве новой парадигмы. [8]

Язык программирования набора ответов AnsProlog [ править ]

Lparse — это название программы, которая изначально была создана как базовый инструмент (интерфейс) для smodels решателя набора ответов . Язык, который принимает Lparse, теперь обычно называют AnsProlog. [9] сокращение от «Программирование набора ответов в логике» . [10] Теперь он используется таким же образом во многих других решателях наборов ответов, включая assat , clasp , cmodels , gNt , nomore++ и pbmodels . ( dlv является исключением; синтаксис программ ASP, написанных для dlv, несколько иной.)

Программа AnsProlog состоит из правил вида

<  голова  >   :-   <  тело  >   . 

Символ :- ("if") отбрасывается, если <body>пусто; такие правила называются фактами . Самый простой вид правил Lparse — это правила с ограничениями .

Еще одна полезная конструкция, включенная в этот язык, — это выбор . Например, правило выбора

{  п  ,  д  ,  р  }. 

говорит: выберите произвольно, какой из атомов включить в стабильную модель. Программа Lparse, содержащая это правило выбора и не содержащая других правил, имеет 8 стабильных моделей — произвольных подмножеств . Определение устойчивой модели было обобщено на программы с правилами выбора. [11] Правила выбора можно рассматривать также как сокращения пропозициональных формул в рамках семантики устойчивой модели . [12] Например, приведенное выше правило выбора можно рассматривать как сокращение для соединения трех формул « исключенного среднего »:

Язык Lparse позволяет нам также писать «ограниченные» правила выбора, такие как

1  {  п  ,  q  ,  р  }  2. 

Это правило гласит: выберите хотя бы 1 из атомов , но не более 2. Смысл этого правила в семантике устойчивой модели представлен пропозициональной формулой

Границы мощности также можно использовать в тексте правила, например:

:-   2  {  п  ,  q  ,  р  }. 

Добавление этого ограничения в программу Lparse исключает стабильные модели, содержащие как минимум два атома. . Смысл этого правила можно представить пропозициональной формулой

Переменные (написанные с заглавной буквы, как в Прологе ) используются в Lparse для сокращения наборов правил, следующих одному и тому же шаблону, а также для сокращения наборов атомов в рамках одного и того же правила. Например, программа Lparse

п  (  а  ).    п  (  б  ).    ПК  )  . 
  q  (  ​​Икс  )   :-   п  (  Икс  ),   Икс  !   =  а  . 

имеет то же значение, что и

п  (  а  ).    п  (  б  ).    ПК  )  . 
  д  (  б  ).    д  (  с  ). 

Программа

п  (  а  ).    п  (  б  ).    ПК  )  . 
  {  q  (  X  ):-  p  (  X  )}  2. 

это сокращение от

п  (  а  ).    п  (  б  ).    ПК  )  . 
  {  q  (  а  ),   q  (  б  ),   q  (  c  )}  2. 

Диапазон имеет вид:

(  начать  )  конец 

где начало и конец — арифметические выражения с постоянным знаком. Диапазон — это сокращенное обозначение, которое в основном используется для совместимого определения числовых доменов. Например, факт

а  (  1..3  ). 

это ярлык для

а  (  1  ).    а  (  2  ).    а  (  3  ). 

Диапазоны также можно использовать в телах правил с той же семантикой.

имеет Условный литерал форму:

п  (  Икс  )  :  q  (  Икс  ) 

Если расширение q является {q(a1), q(a2), ..., q(aN)}, приведенное выше условие семантически эквивалентно записи {p(a1), p(a2), ..., p(aN)}на месте условия. Например,

q  (  ​​1..2  ). 
  а   :-   1   {  п  (  Икс  )  :  q  (  Икс  )}. 

это сокращение от

д  (  1  ).    д  (  2  ). 
  а   :-   1   {  п  (  1  ),   п  (  2  )}. 

Создание стабильных моделей [ править ]

Чтобы найти стабильную модель программы Lparse, хранящуюся в файле ${filename} мы используем команду

%  lparse  ${ filename }  |  smodels
 

Вариант 0 предписывает smodels найти все стабильные модели программы. Например, если файл test содержит правила

1  {  п  ,  q  ,  р  }  2. 
 s   :-   не   п  . 

затем команда выдает результат

%  lparse   тест   |    smodels   0 
 Ответ: 1 
 Стабильная модель: qp 
 Ответ: 2 
 Стабильная модель: p 
 Ответ: 3 
 Стабильная модель: rp 
 Ответ: 4 
 Стабильная модель: qs 
 Ответ: 5 
 Стабильная модель: rs 
 Ответ: 6 
 Стабильная модель: rqs 

Примеры программ ASP [ править ]

Раскраска графика [ править ]

Ан - раскраска графика это функция такой, что для каждой пары смежных вершин . Мы хотели бы использовать ASP для поиска -раскраска заданного графа (или определение того, что его не существует).

Это можно сделать с помощью следующей программы Lparse:

в  (  1  ...  п  ).                                            
  1   {  цвет  (  Икс  ,  я  )   :   с  (  я  )}   1   :-   v  (  Икс  ).              
  :-   цвет  (  X  ,  I  ),   цвет  (  Y  ,  I  ),   е  (  X  ,  Y  ),   c  ​​(  I  ). 

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

Если мы объединим этот файл с определением , такой как

v  (  1..100  ).    % 1,...,100 — вершины 
 e  (  1  ,  55  ).    % есть грань от 1 до 55 
 .    .    . 

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

Программа в этом примере иллюстрирует организацию «генерация и тестирование», которая часто встречается в простых программах ASP. Правило выбора описывает набор «потенциальных решений» — простое расширенное множество решений данной задачи поиска. За ним следует ограничение, которое исключает все возможные неприемлемые решения. Однако процесс поиска, используемый smodels и другими решателями наборов ответов, не основан на методе проб и ошибок .

Большая клика [ править ]

Клика в графе — это множество попарно смежных вершин. Следующая программа Lparse находит клику размером в заданном ориентированном графе или определяет, что его не существует:

п   {  в  (  Икс  )   :   v  (  Икс  )}. 
  :-   в  (  Х  ),   в  (  Y  ),   Х  !   знак равно  Y  ,   а не   е  (  Икс  ,  Y  ). 

Это еще один пример организации «генерация и тестирование». Правило выбора в строке 1 «генерирует» все множества, состоящие из вершины. Ограничение в строке 2 «отсеивает» множества, не являющиеся кликами.

Гамильтонов цикл [ править ]

Гамильтонов цикл в ориентированном графе — это цикл , проходящий через каждую вершину графа ровно один раз. Следующая программа Lparse может использоваться для поиска гамильтонова цикла в заданном ориентированном графе, если он существует; мы предполагаем, что 0 — одна из вершин.

{  в  (  Икс  ,  Y  )}   :-   е  (  Икс  ,  Y  ). 

  :-   2   {  в  (  Икс  ,  Y  )   :   е  (  Икс  ,  Y  )} ,   v  (  Икс  ). 
  :-   2   {  в  (  Икс  ,  Y  )   :   е  (  Икс  ,  Y  )} ,   v  (  Y  ). 

  р  (  Икс  )   :-   в  (  0  ,  Икс  ),   v  (  Икс  ). 
  р  (  Y  )   :-   р  (  Икс  ),   в  (  Икс  ,  Y  ),   е  (  Икс  ,  Y  ). 

  :-   не   r  (  X  ),   v  (  X  ). 

Правило выбора в строке 1 «генерирует» все подмножества множества ребер. Три ограничения «отсеивают» подмножества, которые не являются гамильтоновыми циклами. Последний из них использует вспомогательный предикат достижим из 0"), чтобы запретить вершины, которые не удовлетворяют этому условию. Этот предикат определяется рекурсивно в строках 6 и 7.

Эта программа является примером более общей организации «генерировать, определять и тестировать»: она включает в себя определение вспомогательного предиката, который помогает нам исключить все «плохие» потенциальные решения.

Анализ зависимостей [ править ]

При обработке естественного языка анализ на основе зависимостей можно сформулировать как задачу ASP. [13] Следующий код анализирует латинское предложение «Puella pulchra in Villa linguam latinam Discit», «красивая девушка изучает латынь на вилле». Синтаксическое дерево выражается предикатами дуг , которые представляют зависимости между словами предложения. Вычисленная структура представляет собой линейно упорядоченное корневое дерево.

% ********** введите предложение ********** 
 слово  (  1  ,   puella  ).    слово  (  2  ,   пульхра  ).    слово  (  3  ,   в  ).    слово  (  4  ,   вилла  ).    слово  (  5  ,   язык  ).    слово  (  6  ,   лат  .).    слово  (  7  ,   дисцит  ). 
  % ********** лексикон ********** 
 1  {   node  (  X  ,   attr  (  pulcher  ,   a  ,   fem  ,   nom  ,   sg  )); 
     узел  (  X  ,   attr  (  pulcher  ,   a  ,   fem  ,   abl  ,   sg  ))   }  1   :-   слово  (  X  ,   pulchra  ). 
  узел  (  X  ,   attr  (  latinus  ,   a  ,   fem  ,   acc  ,   sg  ))   :-   слово  (  X  ,   latinam  ). 
  1  {   узел  (  X  ,   attr  (  puella  ,   n  ,   fem  ,   nom  ,   sg  )); 
     узел  (  X  ,   attr  (  puella  ,   n  ,   fem  ,   abl  ,   sg  ))   }  1   :-   слово  (  X  ,   puella  ). 
  1  {   узел  (  X  ,   attr  (  вилла  ,   n  ,   fem  ,   nom  ,   sg  )); 
     узел  (  X  ,   attr  (  вилла  ,   n  ,   fem  ,   abl  ,   sg  ))   }  1   :-   слово  (  X  ,   вилла  ). 
  узел  (  X  ,   атрибут  (  лингвам  ,   n  ,   фем  ,   акк  ,   sg  ))   :-   слово  (  X  ,   лингвам  ). 
  узел  (  X  ,   attr  (  discere  ,   v  ,   pres  ,   3  ,   sg  ))   :-   слово  (  X  ,   discit  ). 
  узел  (  X  ,   attr  (  in  ,   p  ))   :-   слово  (  X  ,   in  ). 
  % ********** синтаксические правила ********** 
 0  {   arc  (  X  ,   Y  ,   subj  )   }  1   :-   node  (  X  ,   attr  (  _  ,   v  ,   _  ,   3  ,   sg  )),   узел  (  Y  ,   attr  (  _  ,   n  ,   _  ,   nom  ,   sg  )). 
  0  {   arc  (  X  ,   Y  ,   dobj  )   }  1   : -   узел  (  X  ,   атрибут  (  _  ,   v  ,   _  ,   3  ,   sg  )),   узел  (  Y  ,   атрибут  (  _  ,   n  ,   _  ,   acc  ,   sg  )). 
  0  {   дуга  (  X  ,   Y  ,   атрибут  )   }  1   : -   узел  (  X  ,   атрибут  (  _  ,   n  ,   Пол  , Регистр ,   )  )   Число  ,   узел  (  Y  ,   атрибут  (  _  ,   a  ,   Пол  )   )  , Регистр ,   Число  . 
  0  {   дуга  (  X  ,   Y  ,   prep  )   }  1   : -   узел  (  X  ,   атрибут  (  _  ,   p  )),   узел  (  Y  ,   атрибут  (  _  ,   n  ,   _  ,   abl  ,   _  )),   X   <   Y  . 
  0  {   дуга  (  X  ,   Y  ,   нар  )   }  1   :-   узел  (  X  ,   атрибут  (  _  ,   v  ,   _  ,   _  ,   _ )),   узел  (  Y  ,   attr  (  _  ,   p  )),   а не   лист  (  Y  ). 
  % **********, гарантирующее древовидность графа ********** 
 1  {   корень  (  X  )  :  узел  (  X  ,   _  )   }  1. 
 :-   дуга  (  X  ,   Z  ,   _  ),   дуга  (  Y  ,   Z  ,   _  ),   X   !   =   Ю. 
  :-   дуга  (  X  ,   Y  ,   L1  ),   дуга  (  X  ,   Y  ,   L2  ),   L1   !   =   Л2  . 
  путь  (  X  ,   Y  )   :-   дуга  (  X  ,   Y  ,   _  ). 
  путь  (  X  ,   Z  )   : —   дуга  (  X  ,   Y  ,   _  ),   путь  (  Y  ,   Z  ). 
  :-   путь  (  X  ,   X  ). 
  :-   корень  (  X  ),   узел  (  Y  ,   _  ),   X   !   =   Y  ,   а не   путь  (  X  ,   Y  ). 
  лист  (  X  )   : —   узел  (  X  ,   _  ),   а не   дуга  (  X  ,   _  ,   _  ). 

ASP конкурс Стандартизация языка и

Рабочая группа по стандартизации ASP разработала стандартную спецификацию языка, названную ASP-Core-2. [14] к чему приближаются последние системы ASP. ASP-Core-2 — это эталонный язык для соревнований по программированию наборов ответов, в ходе которых решатели ASP периодически тестируются по ряду эталонных задач.

Сравнение реализаций [ править ]

Ранние системы, такие как smodels, использовали обратный поиск для поиска решений. По мере развития теории и практики использования логических решателей SAT на базе решателей SAT был построен ряд решателей ASP, включая ASSAT и Cmodels. Они преобразовали формулу ASP в предложения SAT, применили решатель SAT, а затем преобразовали решения обратно в форму ASP. Более поздние системы, такие как Clasp, используют гибридный подход, используя алгоритмы, управляемые конфликтами, вдохновленные SAT, без полного преобразования в форму булевой логики. Эти подходы позволяют значительно повысить производительность, часто на порядок, по сравнению с более ранними алгоритмами поиска с возвратом.

Проект Potassco выступает в качестве зонтика для многих систем, представленных ниже, включая clasp , системы заземления ( gringo ), инкрементные системы ( iclingo ), средства решения ограничений ( clingcon ), язык действий для компиляторов ASP ( coala ), реализации распределенного интерфейса передачи сообщений ( класпар ) и многие другие.

Большинство систем поддерживают переменные, но только косвенно, путем принудительного заземления, используя систему заземления, такую ​​как Lparse или гринго в качестве внешнего интерфейса . Необходимость в обосновании может вызвать комбинаторный взрыв предложений; таким образом, системы, выполняющие заземление «на лету», могут иметь преимущество. [15]

Реализации программирования набора ответов, управляемые запросами, такие как система Galliwasp. [16] и с(КАСП) [17] вообще избегайте заземления, используя комбинацию разрешения и коиндукции .

Платформа Функции Механика
Имя ТЫ Лицензия Переменные Функциональные символы Явные множества Явные списки Дизъюнктивная (правила выбора) поддержка
ASPeRiX. Архивировано 8 ноября 2016 г. в Wayback Machine. Линукс лицензия GPL Да Нет оперативное заземление
ASSAT Солярис Бесплатное ПО на базе SAT-солвера
Решатель набора ответов на застежку Linux , MacOS , Windows МОЯ лицензия Да, в Клинго Да Нет Нет Да инкрементальный, основанный на SAT-решателе (бесполезный, управляемый конфликтами)
Cмодели Линукс , Солярис лицензия GPL Требуется заземление Да инкрементальный, основанный на SAT-решателе (бесполезный, управляемый конфликтами)
дифф-SAT Linux , macOS , Windows ( виртуальная машина Java ) МОЯ лицензия Требуется заземление Да Вдохновлен SAT-решателем (бесполезно, вызвано конфликтом). Поддерживает решение вероятностных задач и выборку набора ответов.
ДЛВ Linux , MacOS , Windows [18] бесплатно для академического и некоммерческого образовательного использования, а также для некоммерческих организаций [18] Да Да Нет Нет Да несовместим с Lparse
ДЛВ-Комплекс Linux , MacOS , Windows лицензия GPL Да Да Да Да построен на основе DLV и не совместим с Lparse
ГнТ Линукс лицензия GPL Требуется заземление Да построен на основе моделей
нет больше++ Линукс лицензия GPL комбинированный литерал+основанный на правилах
Утконос Линукс , Солярис , Винда лицензия GPL распределенный, многопоточный nomore++, smodels
Pbмодели Линукс ? основанный на псевдобулевом решателе
Smodels Linux , MacOS , Windows лицензия GPL Требуется заземление Нет Нет Нет Нет
Smodels-cc. Архивировано 15 ноября 2015 г. в Wayback Machine. Линукс ? Требуется заземление на базе SAT-солвера; Смодели с оговорками о конфликте
Как дела Линукс ? на базе SAT-солвера

См. также [ править ]

Ссылки [ править ]

  1. ^ Барал, Читта (2003). Представление знаний, рассуждения и декларативное решение проблем . Издательство Кембриджского университета. ISBN  978-0-521-81802-5 .
  2. ^ Гельфонд, Майкл (2008). «Наборы ответов» . Ин ван Хармелен, Франк; Лифшиц, Владимир; Портер, Брюс (ред.). Справочник по представлению знаний . Эльзевир. стр. 285–316. ISBN  978-0-08-055702-1 . в формате PDF. Архивировано 3 марта 2016 г. на Wayback Machine.
  3. ^ Димопулос, Ю.; Небель, Б. ; Кёлер, Дж. (1997). «Задачи планирования кодирования в немонотонных логических программах». В стали, Сэм; Алами, Рашид (ред.). Последние достижения в планировании ИИ: 4-я Европейская конференция по планированию, ECP'97, Тулуза, Франция, 24–26 сентября 1997 г., Материалы . Конспекты лекций по информатике: Конспекты лекций по искусственному интеллекту. Том. 1348. Спрингер. стр. 273–285. ISBN  978-3-540-63912-1 . как постскриптум
  4. ^ Перейти обратно: а б с Лифшиц, Владимир (13 июля 2008 г.). «Что такое программирование набора ответов?» (PDF) . Материалы 23-й Национальной конференции по искусственному интеллекту . 3 . АААИ Пресс: 1594–1597.
  5. ^ Субрахманиан, В.С.; Заниоло, К. (1995). «Связь стабильных моделей и областей планирования ИИ» . В Стерлинге, Леон (ред.). Логическое программирование: материалы двенадцатой международной конференции по логическому программированию . МТИ Пресс. стр. 233–247. ISBN  978-0-262-69177-2 . как постскриптум
  6. ^ Сойнинен, Т.; Ниемеля, И. (1998), Формализация знаний о конфигурации с использованием правил с выбором (Постскриптум) , Лаборатория обработки информации, Хельсинкский технологический университет
  7. ^ Марек, В.; Трушинский, М. (20 мая 1999 г.). «Стабильные модели и альтернативная парадигма логического программирования». В Апте, Кшиштоф Р. (ред.). Парадигма логического программирования: перспектива на 25 лет (PDF) . Спрингер. стр. 169–181. arXiv : cs/9809032 . ISBN  978-3-540-65463-6 .
  8. ^ Ниемеля, И. (ноябрь 1999 г.). «Логические программы со стабильной семантикой модели как парадигма программирования в ограничениях» (Postscript, gzipped) . Анналы математики и искусственного интеллекта . 25 (3/4): 241–273. дои : 10.1023/А:1018930122475 . S2CID   14465318 .
  9. ^ Крик, Том (2009). Супероптимизация: доказуемо оптимальная генерация кода с использованием программирования набора ответов (PDF) (доктор философии). Университет Бата. Досье 20352. Архивировано из оригинала (PDF) 4 марта 2016 г. Проверено 27 мая 2011 г.
  10. ^ Рохелио Давила. «АнсПролог, обзор» (PowerPoint) .
  11. ^ Ниемеля, И.; Саймонс, П.; Сойненен, Т. (2000). «Семантика стабильной модели правил ограничения веса» . В Гельфонде, Майкл; Леоне, Николь; Пфайфер, Джеральд (ред.). Логическое программирование и немонотонное рассуждение: 5-я Международная конференция, LPNMR '99, Эль-Пасо, Техас, США, 2–4 декабря 1999 г., материалы . Конспекты лекций по информатике: Конспекты лекций по искусственному интеллекту. Том. 1730. Спрингер. стр. 317–331. ISBN  978-3-540-66749-0 . как постскриптум
  12. ^ Феррарис, П.; Лифшиц, В. (январь 2005 г.). «Весовые ограничения как вложенные выражения». Теория и практика логического программирования . 5 (1–2): 45–74. arXiv : cs/0312045 . дои : 10.1017/S1471068403001923 . S2CID   5051610 . как постскриптум
  13. ^ «Разбор зависимостей» . Архивировано из оригинала 15 апреля 2015 г. Проверено 15 апреля 2015 г.
  14. ^ «Спецификация языка ввода ASP-Core-2» (PDF) . Проверено 14 мая 2018 г.
  15. ^ Лефевр, Клэр; Беатрикс, Кристофер; Стефан, Игорь; Гарсия, Лоран (май 2017 г.). «ASPeRiX, подход прямого связывания первого порядка для вычисления набора ответов *» . Теория и практика логического программирования . 17 (3): 266–310. arXiv : 1503.07717 . дои : 10.1017/S1471068416000569 . ISSN   1471-0684 . S2CID   2371655 .
  16. ^ Марпл, Кайл; Гупта, Гопал. (2012). «Galliwasp: целенаправленный решатель набора ответов». В Альберте, Эльвира (ред.). Синтез и преобразование логических программ, 22-й международный симпозиум, LOPSTR 2012, Левен, Бельгия, 18-20 сентября 2012 г., Пересмотренные избранные статьи . Спрингер. стр. 122–136.
  17. ^ Ариас, Дж.; Карро, М.; Салазар, Э.; Марпл, К.; Гупта, Г. (2018). «Программирование набора ответов с ограничениями без заземления» . Теория и практика логического программирования . 18 (3–4): 337–354. arXiv : 1804.11162 . дои : 10.1017/S1471068418000285 . S2CID   13754645 .
  18. ^ Перейти обратно: а б «Страница компании DLV System» . Компания DLVSYSTEM srl . Проверено 16 ноября 2011 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 65E3266040B422A27C2C2D4EF6D81A8A__1715192760
URL1:https://en.wikipedia.org/wiki/Answer_set_programming
Заголовок, (Title) документа по адресу, URL1:
Answer set programming - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)