Стабильная семантика модели
Концепция стабильной модели или набора ответов используется для определения декларативной семантики логических программ с отрицанием как неудачей . Это один из нескольких стандартных подходов к значению отрицания в логическом программировании, наряду с завершением программы и обоснованной семантикой . Стабильная семантика модели является основой программирование набора ответов .
Мотивация
[ редактировать ]Исследования декларативной семантики отрицания в логическом программировании были мотивированы тем фактом, что поведение разрешения SLDNF — обобщения разрешения SLD, используемого Прологом при наличии отрицания в телах правил — не полностью соответствует таблицам истинности, известным из классическая пропозициональная логика . Рассмотрим, например, программу
Учитывая эту программу, запрос p будет успешным, поскольку программа включает p как факт; запрос q завершится неудачно, поскольку он не встречается в заголовке ни одного из правил. Запрос r также завершится неудачей, поскольку единственное правило с r в заголовке содержит подцель q в своем теле; как мы видели, эта подцель не достигается. Наконец, запрос s завершается успешно, поскольку каждая из подцелей p , удается. (Последнее удается, потому что соответствующая положительная цель q не удается.) Подводя итог, поведение разрешения SLDNF в данной программе может быть представлено следующим присваиванием истинности:
п д р с Т Ф Ф Т.
С другой стороны, правила данной программы можно рассматривать как пропозициональные формулы, если отождествить запятую с союзом , символ с отрицанием и соглашаемся лечить как следствие написано наоборот. Например, последнее правило данной программы является с этой точки зрения альтернативным обозначением пропозициональной формулы
Если мы вычислим значения истинности правил программы для присвоения истинности, показанного выше, то мы увидим, что каждое правило получает значение T . Другими словами, это задание является моделью программы. Но у этой программы есть и другие модели, например
п д р с Т Т Т Ф.
Таким образом, одна из моделей данной программы является особенной в том смысле, что она правильно отображает поведение разрешения SLDNF. Какие математические свойства этой модели делают ее особенной? Ответ на этот вопрос дает определение устойчивой модели.
Отношение к немонотонной логике
[ редактировать ]Значение отрицания в логических программах тесно связано с двумя теориями немонотонных рассуждений — автоэпистемической логикой и логикой по умолчанию . Открытие этих связей стало ключевым шагом на пути к созданию семантики стабильной модели.
Синтаксис автоэпистемической логики использует модальный оператор , который позволяет нам различать то, что истинно, и то, что известно. Михаил Гельфонд [1987] предложил прочитать в теле правила как " не известно», и понимать правило с отрицанием как соответствующую формулу автоэпистемической логики. Семантику устойчивой модели в ее базовой форме можно рассматривать как переформулировку этой идеи, избегающую явных ссылок на автоэпистемическую логику.
В логике по умолчанию значение по умолчанию похоже на правило вывода , за исключением того, что оно включает, помимо своих посылок и заключения, список формул, называемых обоснованиями. Дефолт можно использовать для получения заключения при условии, что его обоснования согласуются с тем, что известно на данный момент. Николь Бидуа и Кристин Фруадево [1987] предложили рассматривать отрицаемые атомы в своде правил как оправдания. Например, правило
можно понимать как значение по умолчанию, которое позволяет нам получить от предполагая, что является последовательным. Семантика стабильной модели использует ту же идею, но не относится явно к логике по умолчанию.
Стабильные модели
[ редактировать ]В приведенном ниже определении стабильной модели, воспроизведенном из [Гельфонд и Лифшиц, 1988], используются два соглашения. Во-первых, истинное присвоение идентифицируется с набором атомов, которые получают T. значение Например, истинностное задание
п д р с Т Ф Ф Т.
отождествляется с множеством . Это соглашение позволяет нам использовать отношение включения множества для сравнения истинностных присвоений друг с другом. Наименьшее из всех заданий на истинность тот, который делает каждый атом ложным; наибольшее истинное присвоение делает каждый атом истинным.
Во-вторых, логическая программа с переменными рассматривается как сокращение множества всех основных экземпляров ее правил, то есть результат замены переменных в правилах программы всеми возможными способами на термины без переменных. Например, определение четных чисел в логическом программировании
понимается как результат замены X в этой программе основными членами
всеми возможными способами. Результатом является бесконечная наземная программа.
Определение
[ редактировать ]Пусть P — набор правил вида
где являются основными атомами. Если P не содержит отрицания ( в каждом правиле программы), то по определению единственной устойчивой моделью P является его модель, минимальная относительно включения множества. [1] (Любая программа без отрицания имеет ровно одну минимальную модель.) Чтобы распространить это определение на случай программ с отрицанием, нам понадобится вспомогательное понятие редукции, определяемое следующим образом.
Для любого набора I основных атомов сокращение P путем относительно I - это набор правил без отрицания, полученный из P сначала отбрасывания каждого правила, такого, что хотя бы один из атомов в своем теле
принадлежит мне , а затем отбрасываю части из тел всех остальных правил.
Мы говорим, что — стабильная модель P , если I — стабильная модель редукции P относительно I. I (Поскольку редукция не содержит отрицания, ее стабильная модель уже определена.) Как предполагает термин «стабильная модель», каждая стабильная модель P является моделью P .
Пример
[ редактировать ]Для иллюстрации этих определений проверим, что это стабильная модель программы
Сокращение этой программы относительно является
(Действительно, поскольку , сокращение получается из программы путем отбрасывания части ) Стабильная модель редукции: . (Действительно, этот набор атомов удовлетворяет всем правилам редукции и не имеет собственных подмножеств с тем же свойством.) Таким образом, после вычисления стабильной модели редукции мы пришли к тому же набору с чего мы начали. Следовательно, этот набор является устойчивой моделью.
Проверяем таким же образом остальные 15 наборов, состоящих из атомов показывает, что у этой программы нет других стабильных моделей. Например, сокращение программы относительно является
Стабильная модель редукции: , который отличается от набора с чего мы начали.
Программы без уникальной стабильной модели
[ редактировать ]Программа с отрицанием может иметь много стабильных моделей или не иметь стабильных моделей. Например, программа
имеет две стабильные модели , . Программа с одним правилом
не имеет стабильных моделей.
Если мы думаем о семантике стабильной модели как об описании поведения Пролога при наличии отрицания, то программы без уникальной стабильной модели можно признать неудовлетворительными: они не обеспечивают однозначную спецификацию для ответа на запросы в стиле Пролога. Например, две вышеприведенные программы неприменимы в качестве программ на Прологе — разрешение SLDNF на них не завершается.
Но использование устойчивых моделей в программировании наборов ответов дает другой взгляд на такие программы. В этой парадигме программирования заданная задача поиска представляется логической программой, так что устойчивые модели программы соответствуют решениям. Тогда программы со многими устойчивыми моделями соответствуют задачам со многими решениями, а программы без стабильных моделей соответствуют неразрешимым проблемам. Например, головоломка с восемью королевами имеет 92 решения; Чтобы решить ее с помощью программирования набора ответов, мы кодируем ее с помощью логической программы с 92 стабильными моделями. С этой точки зрения логические программы, имеющие ровно одну устойчивую модель, являются весьма особенными в программировании множества ответов, подобно многочленам, имеющим ровно один корень в алгебре.
Свойства семантики стабильной модели
[ редактировать ]В этом разделе, как и в приведенном выше определении стабильной модели , под логической программой мы понимаем набор правил вида
где являются основными атомами.
- Головные атомы
- Если атом A принадлежит стабильной модели логической программы P то A является главой одного из правил P. ,
- Минимальность
- Любая устойчивая модель логической программы P является минимальной среди моделей P относительно включения множества.
- Свойство антицепи
- Если I и J — стабильные модели одной и той же логической программы, то не является собственным подмножеством J. I Другими словами, множество устойчивых моделей программы представляет собой антицепь .
- NP-полнота
- Проверка того, имеет ли программа с конечной основной логикой устойчивую модель, является NP-полной .
Отношение к другим теориям отрицания как неудачи
[ редактировать ]Завершение программы
[ редактировать ]Любая стабильная модель конечной базовой программы является не только моделью самой программы, но и моделью ее завершения [Marek and Subrahmanian, 1989]. Обратное, однако, неверно. Например, завершение программы с одним правилом
это тавтология . Модель этой тавтологии является устойчивой моделью , но это другая модель нет. Франсуа Фаж [1994] нашел синтаксическое условие для логических программ, которое устраняет такие контрпримеры и гарантирует стабильность каждой модели завершения программы. Программы, удовлетворяющие его условию, называются жесткими .
Фанчжэнь Линь и Ютин Чжао [2004] показали, как сделать завершение нежесткой программы более сильным, чтобы исключить все ее нестабильные модели. Дополнительные формулы, которые они добавляют к завершению, называются формулами цикла .
Хорошо обоснованная семантика
[ редактировать ]Хорошо обоснованная модель логической программы делит все основные атомы на три набора: истинные, ложные и неизвестные. Если атом верен в хорошо обоснованной модели то оно принадлежит каждой стабильной модели . Обратное, как правило, неверно. Например, программа
имеет две стабильные модели, и . Несмотря на то принадлежит им обоим, его значение в обоснованной модели неизвестно .
Более того, если атом является ложным в обоснованной модели программы, то он не принадлежит ни одной из ее устойчивых моделей. Таким образом, хорошо обоснованная модель логической программы обеспечивает нижнюю границу пересечения ее устойчивых моделей и верхнюю границу их объединения.
Сильное отрицание
[ редактировать ]Представление неполной информации
[ редактировать ]С точки зрения представления знаний набор основных атомов можно рассматривать как описание полного состояния знаний: известно, что атомы, принадлежащие множеству, истинны, а атомы, не принадлежащие множеству, являются истинными. известно, что это ложь. Возможно неполное состояние знаний можно описать с помощью последовательного, но, возможно, неполного набора литералов; если атом не принадлежит множеству, и его отрицание тоже не принадлежит множеству, то неизвестно, является ли истинно или ложно.
В контексте логического программирования эта идея приводит к необходимости различать два вида отрицания — отрицание как неудачу , рассмотренное выше, и сильное отрицание , которое здесь обозначается . [2] Следующий пример, иллюстрирующий разницу между двумя видами отрицания, принадлежит Джону Маккарти . Школьный автобус может пересекать железнодорожные пути при условии отсутствия приближающегося поезда. Если мы не обязательно знаем, приближается ли поезд, то правило, использующее отрицание как неудачу,
не является адекватным представлением этой идеи: там говорится, что можно переходить дорогу при отсутствии информации о приближающемся поезде. Предпочтительнее более слабое правило, в котором используется сильное отрицание:
Там написано, что переходить дорогу можно, если мы знаем , что поезд не приближается.
Согласованные стабильные модели
[ редактировать ]Чтобы включить сильное отрицание в теорию стабильных моделей, Гельфонд и Лифшиц [1991] допустили каждое из выражений , , в правиле
быть либо атомом, либо атомом с префиксом сильного символа отрицания. Вместо устойчивых моделей в этом обобщении используются наборы ответов , которые могут включать как атомы, так и атомы с префиксом строгого отрицания.
Альтернативный подход [Феррарис и Лифшиц, 2005] рассматривает сильное отрицание как часть атома и не требует каких-либо изменений в определении устойчивой модели. В этой теории сильного отрицания мы различаем атомы двух видов, положительные и отрицательные , и предполагаем, что каждый отрицательный атом является выражением формы , где является положительным атомом. Набор атомов называется когерентным , если он не содержит «дополнительных» пар атомов. . Когерентные устойчивые модели программы идентичны ее непротиворечивым множествам ответов в смысле [Гельфонд и Лифшиц, 1991].
Например, программа
имеет две стабильные модели, и . Первая модель является последовательной; второй нет, потому что он содержит как атом и атом .
Предположение о закрытом мире
[ редактировать ]Согласно [Гельфонд и Лифшиц, 1991], предположение о замкнутом мире для предиката можно выразить правилом
(отношение не выполняется для кортежа если нет доказательств того, что это так). Например, стабильная модель программы
состоит из 2 положительных атомов
и 14 отрицательных атомов
т. е. сильные отрицания всех других положительных основных атомов, образованных из .
Логическая программа с сильным отрицанием может включать в себя правила предположений о закрытом мире для некоторых из своих предикатов и оставлять другие предикаты в области предположений об открытом мире .
Программы с ограничениями
[ редактировать ]Семантика устойчивой модели была обобщена на многие виды логических программ, помимо наборов «традиционных» правил, обсуждавшихся выше, — правил вида
где являются атомами. Одно простое расширение позволяет программам содержать ограничения — правила с пустым заголовком:
Напомним, что традиционное правило можно рассматривать как альтернативную запись пропозициональной формулы, если мы отождествляем запятую с союзом , символ с отрицанием и соглашаемся лечить как следствие написано наоборот. Чтобы распространить это соглашение на ограничения, мы идентифицируем ограничение с отрицанием формулы, соответствующей его телу:
Теперь мы можем распространить определение стабильной модели на программы с ограничениями. Как и в случае с традиционными программами, для определения устойчивых моделей мы начинаем с программ, не содержащих отрицания. Такая программа может быть непоследовательной; тогда мы говорим, что у него нет устойчивых моделей. Если такая программа тогда последовательно имеет уникальную минимальную модель, и эта модель считается единственной стабильной моделью .
Далее с помощью редуктов определяются стабильные модели произвольных программ с ограничениями, формируемые так же, как и в случае традиционных программ (см. определение стабильной модели выше). Набор атомов — это стабильная модель программы с ограничениями, если сокращение относительно имеет стабильную модель, и эта стабильная модель равна .
Свойства семантики устойчивой модели , изложенные выше для традиционных программ, сохраняются и при наличии ограничений.
Ограничения играют важную роль в программировании набора ответов , поскольку добавление ограничения в логическую программу влияет на сбор стабильных моделей очень простым способом: он исключает стабильные модели, нарушающие ограничение. Другими словами, для любой программы с ограничениями и любым ограничением , стабильные модели можно охарактеризовать как устойчивые модели которые удовлетворяют .
Дизъюнктивные программы
[ редактировать ]В дизъюнктивном правиле головкой может быть дизъюнкция нескольких атомов:
(точка с запятой рассматривается как альтернативное обозначение дизъюнкции ). Традиционные правила соответствуют и ограничения на . Чтобы распространить семантику стабильной модели на дизъюнктивные программы [Гельфонд и Лифшиц, 1991], мы сначала определяем, что в отсутствие отрицания ( в каждом правиле) устойчивыми моделями программы являются ее минимальные модели. Определение редукции для дизъюнктивных программ остается таким же, как и раньше . Набор атомов является устойчивой моделью если представляет собой стабильную модель сокращения относительно .
Например, набор является устойчивой моделью дизъюнктивной программы
потому что это одна из двух минимальных моделей редукции
В приведенной выше программе есть еще одна стабильная модель: .
Как и в случае с традиционными программами, каждый элемент любой устойчивой модели дизъюнктивной программы является головным атомом , в том смысле, что это происходит в голове одного из правил . Как и в традиционном случае, устойчивые модели дизъюнктивной программы минимальны и образуют антицепь. Проверка того, имеет ли конечная дизъюнктивная программа стабильную модель, заключается в следующем. -полный [Эйтер и Готтлоб, 1993].
Стабильные модели множества пропозициональных формул
[ редактировать ]Правила, и даже дизъюнктивные правила , имеют довольно особую синтаксическую форму, по сравнению с произвольными пропозициональными формулами . Каждое дизъюнктивное правило по сути является импликацией, так что его антецедент (тело правила) представляет собой соединение литералов , а его консеквент (голова) — это дизъюнкция атомов. Дэвид Пирс [1997] и Паоло Феррарис [2005] показали, как распространить определение стабильной модели на наборы произвольных пропозициональных формул. Это обобщение имеет применение при программировании множеств .
Формулировка Пирса сильно отличается от первоначального определения стабильной модели . Вместо редукций оно относится к равновесной логике — системе немонотонной логики, основанной на моделях Крипке . Формулировка Феррариса, с другой стороны, основана на редуктах, хотя процесс построения редукции, который она использует, отличается от описанного выше . Два подхода к определению устойчивых моделей наборов пропозициональных формул эквивалентны друг другу.
Общее определение стабильной модели
[ редактировать ]Согласно [Феррарис, 2005], редукция пропозициональной формулы относительно набора атомов - это формула, полученная из путем замены каждой максимальной подформулы, которая не удовлетворяется на с логической константой (ЛОЖЬ). Сокращение набора пропозициональных формул относительно состоит из редукций всех формул из относительно . Как и в случае с дизъюнктивными программами, мы говорим, что множество атомов является устойчивой моделью если минимальна (относительно включения множеств) среди моделей редукции относительно .
Например, сокращение множества
относительно является
С является моделью редукции, а соответствующие подмножества этого набора не являются моделями редукции, является устойчивой моделью данного набора формул.
Мы видели это также является устойчивой моделью той же формулы, записанной в обозначениях логического программирования, в смысле исходного определения . Это пример общего факта: применительно к набору традиционных правил (формул, соответствующих) определение стабильной модели согласно Феррарису эквивалентно исходному определению. То же самое верно, в более общем плане, для программ с ограничениями и для дизъюнктивных программ .
Свойства общей семантики стабильной модели
[ редактировать ]Теорема, утверждающая, что все элементы любой устойчивой модели программы являются головными атомами может быть расширено до наборов пропозициональных формул, если мы определим головные атомы следующим образом. Атом является головным атомом множества формул высказываний, если хотя бы одно вхождение в формуле из не находится ни в сфере отрицания, ни в антецеденте импликации. (Здесь мы предполагаем, что эквивалентность рассматривается как аббревиатура, а не примитивная связка.)
Минимальность и свойство антицепи стабильных моделей традиционной программы в общем случае не выполняются. Например, (одноэлементный набор, состоящий из) формулы
имеет две стабильные модели, и . Последний не является минимальным и является надстройкой первого.
Проверка того, имеет ли конечный набор пропозициональных формул устойчивую модель, - это -полный , как и в случае дизъюнктивных программ .
См. также
[ редактировать ]Примечания
[ редактировать ]- ^ Этот подход к семантике логических программ без отрицания принадлежит Маартену ван Эмдену и Роберту Ковальски — van Emden & Kowalski 1976 .
- ^ Гельфонд и Лифшиц 1991 называют второе отрицание классическим и обозначают его через .
Ссылки
[ редактировать ]- Бидуа, Н.; Фруадево, К. (1987). «Минимализм включает в себя логику и ограничения по умолчанию». Материалы: Симпозиум по логике в информатике , Итака, Нью-Йорк, 22-25 июня 1987 г. Издательство Компьютерного общества IEEE. стр. 89–97. ISBN 978-0-8186-0793-6 . 87CH2464-6.
- Эйтер, Т.; Готтлоб, Г. (1993). «Результаты о сложности дизъюнктивного логического программирования и приложения к немонотонной логике» . ILPS '93: Материалы международного симпозиума 1993 года по логическому программированию . МТИ Пресс. стр. 266–278. ISBN 978-0-262-63152-5 .
- ван Эмден, М.; Ковальски, Р. (1976). «Семантика логики предикатов как языка программирования» (PDF) . Журнал АКМ . 23 (4): 733–742. CiteSeerX 10.1.1.64.9246 . дои : 10.1145/321978.321991 . S2CID 11048276 .
- Фагес, Ф. (1994). «Состоятельность пополнения Кларка и существование устойчивых моделей» . Журнал методов логики в информатике . 1 : 51–60. CiteSeerX 10.1.1.48.2157 .
- Феррарис, П. (2005). «Множества ответов для пропозициональных теорий» . Логическое программирование и немонотонное рассуждение. ЛПНМР 2005 . Конспекты лекций по информатике. Том. 3662. Спрингер. стр. 119–131. CiteSeerX 10.1.1.129.5332 . дои : 10.1007/11546207_10 . ISBN 978-3-540-31827-9 .
- Феррарис, П.; Лифшиц, В. (2005). «Математические основы программирования множества ответов» . Мы им покажем! Очерки в честь Дова Габая . Публикации Королевского колледжа. стр. 615–664. CiteSeerX 10.1.1.79.7622 .
- Гельфонд, М. (1987). «О стратифицированных автоэпистемических теориях» (PDF) . AAAI'87: Материалы шестой Национальной конференции по искусственному интеллекту . стр. 207–211. ISBN 978-0-934613-42-2 .
- Гельфонд, М.; Лифшиц, В. (1988). «Семантика стабильной модели для логического программирования» . Материалы Пятой Международной конференции по логическому программированию (ICLP) . МТИ Пресс. стр. 1070–80. ISBN 978-0-262-61054-4 .
- Гельфонд, М.; Лифшиц, В. (1991). «Классическое отрицание в логических программах и дизъюнктивных базах данных» . Компьютеры нового поколения . 9 (3–4): 365–385. CiteSeerX 10.1.1.49.9332 . дои : 10.1007/BF03037169 . S2CID 13036056 .
- Хэнкс, С.; Макдермотт, Д. (1987). «Немонотонная логика и временная проекция» . Искусственный интеллект . 33 (3): 379–412. дои : 10.1016/0004-3702(87)90043-9 .
- Лин, Ф.; Чжао, Ю. (2004). «ASSAT: вычисление наборов ответов логической программы решателями SAT» (PDF) . Искусственный интеллект . 157 (1–2): 115–137. дои : 10.1016/j.artint.2004.04.004 . S2CID 514581 .
- Марек, В.; Субраманиан, В.С. (1989). «Взаимосвязь между семантикой логической программы и немонотонными рассуждениями». Логическое программирование: материалы шестой международной конференции . МТИ Пресс. стр. 600–617. ISBN 978-0-262-62065-9 .
- Пирс, Д. (1997). «Новая логическая характеристика устойчивых моделей и наборов ответов» (PDF) . Немонотонные расширения логического программирования . Конспект лекций по искусственному интеллекту. Том. 1216. стр. 57–70. дои : 10.1007/BFb0023801 . ISBN 978-3-540-68702-3 .
- Райтер, Р. (1980). «Логика рассуждений по умолчанию» (PDF) . Искусственный интеллект . 13 (1–2): 81–132. дои : 10.1016/0004-3702(80)90014-4 .