Jump to content

Разрешение SLD

Разрешение SLD ( выборочное линейное разрешение определенных предложений) — это основное правило вывода, используемое в логическом программировании . Это уточнение резолюции , которое является одновременно обоснованным и полным опровержением положений Хорна .

Правило вывода SLD [ править ]

Учитывая целевое предложение, представленное как отрицание проблемы, которую необходимо решить:

с выбранным литералом и входное определенное предложение :

чей положительный литерал (атом) объединяется с атомом выбранного литерала , разрешение SLD создает еще одно предложение цели, в котором выбранный литерал заменяется отрицательными литералами входного предложения и объединяющей заменой. применяется:

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

Происхождение названия «СЛД» [ править ]

Название «резолюция SLD» было дано Маартеном ван Эмденом неназванному правилу вывода, введенному Робертом Ковальски . [1] Его название происходит от резолюции SL, [2] что является одновременно обоснованным и полным опровержением для неограниченной клаузальной формы логики. «SLD» означает «резолюция SL с определенными положениями».

И в SL, и в SLD буква «L» означает тот факт, что доказательство разрешения может быть ограничено линейной последовательностью предложений:

где "верхнее предложение" является входным предложением, а все остальные предложения является резольвентным, одним из родителей которого является предыдущее предложение . Доказательство является опровержением, если последнее предложение это пустое предложение.

В SLD все предложения в последовательности являются предложениями цели, а другой родительский элемент — входным предложением. При разрешении SL другим родительским элементом является либо входное предложение, либо предложение-предок, расположенное ранее в последовательности.

И в SL, и в SLD буква «S» означает тот факт, что единственный литерал, разрешенный в любом предложении. это тот, который однозначно выбирается с помощью правила выбора или функции выбора. В разрешении SL выбранный литерал ограничивается тем, который был введен в предложение последним. В простейшем случае такая функция выбора «последним пришел — первым вышел» может определяться порядком записи литералов, как в Прологе . Однако функция выбора в разрешении SLD более общая, чем в разрешении SL и в Прологе. Нет ограничений на выбор литерала.

разрешения интерпретация SLD Вычислительная

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

Стратегии разрешения SLD [ править ]

Разрешение SLD неявно определяет дерево поиска альтернативных вычислений, в котором начальное предложение цели связано с корнем дерева. Для каждого узла в дереве и для каждого определенного предложения в программе, чей положительный литерал объединяется с выбранным литералом в предложении цели, связанном с узлом, существует дочерний узел, связанный с предложением цели, полученным путем разрешения SLD.

Листовой узел, не имеющий дочерних элементов, является успешным узлом, если связанное с ним предложение цели является пустым предложением. Это неудачный узел, если связанное с ним предложение цели не пусто, но его выбранный литерал объединяется с отсутствием положительного литерала определенных предложений в программе.

Разрешение SLD недетерминировано в том смысле, что оно не определяет стратегию поиска при исследовании дерева поиска. Пролог ищет в дереве сначала в глубину, по одной ветке за раз, используя возврат при обнаружении отказавшего узла. Поиск в глубину очень эффективен с точки зрения использования вычислительных ресурсов, но является неполным, если пространство поиска содержит бесконечные ветки и стратегия поиска ищет их, а не конечные: вычисление не завершается. другие стратегии поиска, включая поиск в ширину , поиск по наилучшему результату и поиск по ветвям и границам Также возможны . При этом поиск может осуществляться последовательно, по одному узлу, или параллельно, по множеству узлов одновременно.

Разрешение SLD также недетерминировано в том смысле, о котором говорилось ранее, что правило выбора не определяется правилом вывода, а определяется отдельной процедурой принятия решения, которая может быть чувствительной к динамике процесса выполнения программы.

Пространство поиска разрешения SLD представляет собой ИЛИ-дерево, в котором разные ветви представляют альтернативные вычисления. В случае программ пропозициональной логики SLD можно обобщить так, что пространство поиска представляет собой дерево «и-или» , узлы которого помечены одиночными литералами, представляющими подцели, а узлы соединяются либо конъюнкцией, либо дизъюнкцией. В общем случае, когда совместные подцели имеют общие переменные, представление дерева и/или более сложное.

Пример [ править ]

Учитывая логическую программу:

q :- p.
p.

и цель верхнего уровня:

q.

пространство поиска состоит из одной ветви, в которой q сводится к p который сводится к пустому набору подцелей, сигнализируя об успешном вычислении. При этом программа настолько проста, что здесь нет никакой роли функции выбора и нет необходимости в каком-либо поиске.

В клаузальной логике программа представлена ​​набором предложений:

а цель верхнего уровня представлена ​​предложением цели с одним отрицательным литералом:

Пространство поиска состоит из единственного опровержения:

где представляет собой пустое предложение.

Если бы в программу был добавлен следующий пункт:

q :- r.

тогда в пространстве поиска появится дополнительная ветвь, листовой узел которой r является отказным узлом. В Прологе, если бы это предложение было добавлено в начало исходной программы, то Пролог использовал бы порядок, в котором написаны предложения, для определения порядка, в котором исследуются ветви пространства поиска. Пролог сначала попробовал эту новую ветвь, но потерпел неудачу, а затем вернулся, чтобы исследовать единственную ветвь исходной программы и добился успеха.

Если пункт

p :- p.

теперь были добавлены в программу, то дерево поиска будет содержать бесконечную ветвь. Если бы это предложение было выполнено первым, то Пролог вошел бы в бесконечный цикл и не нашел бы успешной ветви.

СЛНФ [ править ]

СЛНФ [3] является расширением резолюции SLD для работы с отрицанием как с неудачей . В SLDNF предложения целей могут содержать отрицание в виде литералов отказа, скажем, в форме , которые можно выбрать, только если они не содержат переменных. Когда выбирается такой литерал без переменных, предпринимается попытка поддоказательства (или подвычисления), чтобы определить, существует ли опровержение SLDNF, начиная с соответствующего неотрицательного литерала. как верхнее предложение. Выбранная подцель завершается успешно, если дополнительное доказательство терпит неудачу, и оно терпит неудачу, если дополнительное доказательство оказывается успешным.

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

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

  1. ^ Роберт Ковальски Логика предикатов как язык программирования, памятка 70, Департамент искусственного интеллекта, Эдинбургский университет. 1973. Также в материалах Конгресса ИФИП, Стокгольм, North Holland Publishing Co., 1974, стр. 569–574.
  2. ^ Роберт Ковальски и Дональд Кюнер, Линейное разрешение с искусственным интеллектом с функцией выбора , Vol. 2, 1971, стр. 227–60.
  3. ^ Кшиштоф Апт и Маартен ван Эмден, Вклад в теорию логического программирования , Журнал Ассоциации вычислительной техники . Том, 1982 г. - портал.acm.org

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

  • [1] Определение из бесплатного онлайн-словаря по информатике.
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 2b6aee3de21589362863e700744abba0__1699818780
URL1:https://arc.ask3.ru/arc/aa/2b/a0/2b6aee3de21589362863e700744abba0.html
Заголовок, (Title) документа по адресу, URL1:
SLD resolution - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)