Метод резолюций для хорновских дизъюнктов

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

Дизъюнкт D называется хорновским, если он содержит не более одной переменной без отрицания (позитивной переменной).

Пример. Хорновскими дизъюнктами являются следующие дизъюнкты: , , , В.

В общем случае хорновские дизъюнкты имеют вид (что равносильно формуле ) или . Хорновский дизъюнкт вида называется точным. При этом переменные А 1, …, Аn называются фактами, а переменная Вцелью. Хорновский дизъюнкт вида называется негативным. Дизъюнкт D = B называется унитарным позитивным дизъюнктом.

Если S – множество хорновских дизъюнктов, то невыполнение множества S проверяется следующим образом. Выбирается в S унитарный позитивный дизъюнкт Р и дизъюнкт D из S, содержащий . После этого заменяем S на (S \ { D })È{ res (D, P)} и продолжаем процесс до тех пор, пока S не будет содержать 0. Если на заключительном шаге множество дизъюнктов будет содержать 0, то исходное множество S противоречиво, в противном случае S непротиворечиво.

Пример. Проверить на противоречивость множество дизъюнктов

.

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

Номер шага R
  Q R T
  Q R T
  P Q R T
             

На шаге 4 получаем 0, являющийся резолютивным выводом из S. Следовательно, множество S невыполнимо.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: