Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.doc
Скачиваний:
194
Добавлен:
28.06.2014
Размер:
1.1 Mб
Скачать

3.5. Системы поддержки истинности

К сожалению, немонотонные логики в их общей форме не являются даже полуразрешимыми, как это имеет место в классической логике предикатов первого порядка. Но это ни в коей мере не означает, что мы должны отказаться от создания автоматических решателей проблем для немонотонного случая. Тот же Рейтер в своей логике умолчаний предложил процедуру доказательства для нормальных умолчаний (см. § 2.4). Этерингтон дал недетерминированную процедуру конструирования расширений произвольных конечных теорий умолчаниями. Конечность здесь означает то, что число переменных, констант, предикатных символов и умолчаний конечно, к тому же в его процедуре отсутствуют и функции. Г. Бревка в своей книге (см. литературный комментарий к главе 2) описал модальный решатель для умолчаний, который может быть интерпретирован и для автоэпистемической логики. Здесь также на язык первого порядка был наложен ряд ограничений, связанных с замкнутыми формулами, с конечным числом констант и отсутствием функций.

В этом разделе мы остановимся на системах поддержки истинности (TruthMaintenanceSystems–TMS) и на их двух разновидностях – системах поддержки истинности, основанных на обоснованиях, и системах поддержки истинности, основанных на предположениях.

TMS используются для сохранения логической целостностизаключений системы вывода.

Положенный в основу таких систем метод поддержки истинности реализован в рамках автономной системы (как это сделали Дойл и ДеКлир), которая работает совместно с решателем проблем и поддерживает вывод в единственном активном пространстве. Принцип функционирования системы состоит в следующем. С каждым выведенным заключением связывается некоторая качественная характеристика, представляющая собой список обоснований этого заключения. Каждое обоснование представляет собой список тех заключений, исходя из наличия и/или отсутствия которых в соответствии с некоторым правилом было непосредственно выведено данное заключение. Возможность учета в правилах и обоснованиях отсутствия заключений делает возможным построение немонотонных рассуждений. Все заключения, выведенные решателем, либо принадлежат активному пространству (миру), либо находятся вне него. Активному пространству принадлежат все исходные данные, а также все заключения, имеющие хотя бы одно обоснование в активном пространстве. Будем называть такое обоснование действительным. В ходе вывода решатель может делать предположения, т.е. вводить в активное пространство заключения, не имеющие действительных обоснований.

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

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

Интеллектуальные системы, поддерживающие пересматриваемые рассуждения, должны строго обосновывать каждый вывод заключения и затем в свете появившихся новых убеждений пересмотреть поддержку такого заключения. Один из способов решения этой проблемы заключается в пересмотре алгоритма бектрекинга. Исторически бектрекинг был катализатором создания систем поддержки истинности. Бектрекинг является систематическим методом исследования всех альтернатив точек решения в проблемах, основа которых составляет поиск. Однако, важным недостатком классического алгоритма бектрекинга является то, что онсистематическивслепую) возвращается назад по дереву решений из тупиковых состояний и ищет следующую альтернативу для выбора. Такой бектрекинг иногда называютхронологическим бектрекингом. Естественно такая систематическая проверка всех альтернатив поиска решений неэффективна, требует много времени и для больших пространств поиска часто бесполезна.

Для избежания избыточных вычислений было бы желательно в процессе поиска воз­вратиться сразу в ту точку поиска, где имеется конфликтная ситуация, пропуская про­межуточные точки, которые вели бы к ней в процессе систематического осмотра. Та­кой бектрекинг называется зависимо-направленным(dependency-directedbacktracking).

Рассмотрим пример для немонотонных рассуждений. Нам требуется обнаружить некое утверждение p, которое непосредственно не выводимо. Однако, имеется правдоподобное предположениеq, которое, если оно истинно, будет поддерживатьp. Итак, еслиqпредполагается истинным, тоpвыводимо. Продолжая наше рассуждение и основываясь наp, мы делаем заключения оrиs. Однако, мы в процессе рассуждений нашли заключение оtиu, не прибегая к поддержкеp,rиs. Наконец, приходим к выводу, что наше раннее предположениеqложно. Что делать в данном случае?

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

Зависимо-направленный бектрекинг сразубудет идти обратно к источнику противоречия, а именно к первому предположениюq. После этого отменяютсяp,rиs. Конечно, мы можем проверить, можно ли вывестиrиsнезависимо отpиq, так как их поддержка может быть осуществлена из других источников. Наконец, так какtиuбыли выведены независимо отp,rиs, нам не нужно их пересматривать.

Таким образом, для применения зависимо-направленного бектрекинга в системе рассуждений мы должны:

  • связать каждое произведенное заключение с его обоснованием. Обоснование должно содержать все факты, правила и предположения, использованные для вывода этого заключения;

  • обеспечить механизм нахождения ложного предположения с обоснованием, ведущим к противоречию;

  • отменить ложное предположение;

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

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

Мы представим два типа систем поддержки истинности с зависимо-направленным бектрекингом. Первой такой системой является система поддержки истинности, основанная на обосновании.