- •Глава 7. Представление суждений, правила вывода, принцип резолюций.
- •7.1. Формальные языки
- •С предприятием «Гран» не может быть заключен новый контракт.
- •7.2. Интерпретация выражений языка исчисления предикатов
- •7.3. Логические выводы в формальной системе исчисления предикатов первого порядка
- •Предприятие ао «Изотоп» подлежит процедуре санации.
- •7.4. Логические выводы на основе принципа резолюции
- •7.5. Немонотонные выводы
- •7.6. Логика веры и знания
7.4. Логические выводы на основе принципа резолюции
Формализация некоторой предметной области не является самоцелью. В результате формализации мы получаем возможность излагать сведения ИИС на формализованном языке. Нас интересует возможность обработки имплицитной или подразумеваемой информации, которая имеется в ИИС и для обработки которой необходимо представить содержание данных в точной логической форме. В 60-е годы XX в. Робинсоном был предложен метод резолюции, значительно повысивший эффективность алгоритмов автоматизации поиска вывода в формальной системе. Рассмотрим основные положения метода резолюций.
Всякая формула исчисления высказываний может быть приведена либо к дизъюнктивной либо к конъюнктивной нормальной форме.
Формула F находится в конъюнктивной нормальной форме тогда и только тогда, когда она имеет вид
F F1... Fn , n 1,
где каждая из Fi 1 > i > n есть дизъюнкция литер.
Формула F находится в дизъюнктивной нормальной форме тогда и только тогда, когда F имеет вид
F F1... Fn , n 1,
где каждая из Fi, 1 > i >n есть конъюнкция литер.
Пусть G — данная пропозициональная формула и A1,A2,..., An — ее атомы. Тогда интерпретацией формулы G является такое приписывание истинностных значений атомам А1, А2,..., Аn, при котором каждому из А; приписано либо значение «истина», либо «ложь».
Если в некоторой формуле имеется п различных атомов, то у этой формулы будет 2n различных интерпретаций.
Говорят, что формула G истинна при некоторой интерпретации, тогда и только тогда, когда G получает значение «истина» в этой интерпретации.
Назовем литералом либо атом (положительный литерал), либо формулу вида A, где А — атом (отрицательный литерал). Соответствующий атом назовем основой литерала. Литералы назовем контрарными, если их основы совпадают, а знаки противоположны. Дизъюнкт — это конечное (возможно, пустое) множество литералов, объединенных знаком дизъюнкции. Пустой дизъюнкт обозначим #. Пусть D = { L1..., Lk, M1,..., Mn} дизъюнкт, причем L1... Lk — все его отрицательные литералы, М1..., Мn — все его положительные литералы, хь..., xs все свободные переменные из D (k, n > 0).
Формульным образом дизъюнкта назовем формулу (D):
x1,..., xs (L1... Lk M1 ... Mn), если k > 0 и n > 0.
x1..., xs (M1 ... Mn), если k = 0, n > 0.
x1..., xs ( L1...... Lk), если k = 0, n = 0.
, если k = 0, n = 0, — пустое множество.,
Считаем, что множество дизъюнктов S есть конъюнкция всех дизъюнктов из S, где каждая переменная в S считается управляемой квантором общности.
Дизъюнкт называется хорновским, если он содержит не более одного положительного литерала. Множество дизъюнктов назовем хорновским, если каждый его элемент — хорновский.
Дизъюнкт называется выполнимым, если выполним хотя бы один из его литералов, множество дизъюнктов называется выполнимым, если выполним каждый дизъюнкт, принадлежащий этому множеству. Говорят, что формула F находится в дизъюнктивной нормальной форме тогда и только тогда, когда F имеет вид F F1...Fn, где каждая из F1,F2,...,Fn есть конъюнкция литер.
Говорят, что формула F в логике первого порядка находится в предваренной (префиксной) нормальной форме тогда и только тогда, когда имеет вид:
(Q1 x1),..., (Qnxn)(M),
где каждое (Qixi), i=l,...,n есть или (xi) или (хi) и М — есть формула, не содержащая кванторов. (Q1 x1),..., (Qnxn) называется префиксом, М — матрицей формулы F.
Формулу, в которой символом v объединены более одного литерала, назовем предложением.
Для доказательства непротиворечивости формулы или для ее опровержения формулу приводят к стандартной форме, называемой скулемовской нормальной или клаузальной формой.
При этом используются следующие идеи:
формула логики первого порядка может быть связана с префиксной (пренексной) нормальной формой, в которой матрица не содержит никаких кванторов, а префикс есть последовательность кванторов;
поскольку матрица не содержит кванторов, она может быть сведена к конъюнктивной нормальной форме;
сохраняя непротиворечивость формулы, в ней можно элиминировать кванторы существования путем использования скулемовских функций.
Если принять, что С1..., Ск — предложения, а х1..., хm — различные переменные, содержащиеся в Q (1 < i < к), то формула вида
x1...xm (С1 ... Ск) называется клаузальной формой.
Все формулы А можно преобразовать в клаузальные выражения А1, причем если А выполнимо, то выполнимо А1.
Преобразование А в А1 осуществляется в следующие 8 стадий.
Стадия 1. (Ограничение свободных переменных.) Допустим, что x1,..., хn — это все свободные переменные, содержащиеся в А, преобразуем А к виду х1..., xnA.
Стадия 2. (Переименование переменных.) Изменим связанные переменные при каждом символе или в формуле так, чтобы различались обозначения различных переменных.
Стадия 3. (Удаление символа .) Часть формулы вида ВС заменим на -В С, таким образом удалим все символы .
Стадия 4. (Перемещение символа во внутрь , , , .) Приведенные ниже подстановки повторяют до тех пор, пока после всех символов не появятся атомы:
(ВС) B ,
(B C) BC,
BB,
x BxB,
xBxB.
Стадия 5. (Удаление символа .) Крайний слева член в части формулы вида уВ(у) заменяется на B(f(xl.-, хn)). Х1..., хn — это свободные переменные, появляющиеся в выражении уВ(у), но для всей формулы это переменные, ограниченные xi (1 < i < n) в левой части уВ(у). f— это вновь выбранный функциональный n-местный символ, который до сих пор не употреблялся. Кроме того, при n = 0 он заменяется на вновь выбранную константу, которая до сих пор не употреблялась.
Функциональный символ и константа называются соответственно скулемовской функцией и скулемовской константой. Например,
x y zuv p(x, у, z, u, v)
принимает вид
x z u p(x,f(x), z, u, g(x,z,u)),
где f и g — скулемовские функции. Аналогично
xyz(p(x,y) vq(y,z))
принимает вид
y (p1 (а,у) q (y,f (y)),
где а — скулемовская константа, f— скулемовская функция.
Стадия 6. (Перемещение символа вперед.) Часть перемещается в
префиксную часть формулы.
Стадия 7. (Перемещение символа относительно символа .) Следующая перестановка повторяется по мере возможности:
(AB)C --> (AB)(BC),
A (BC) --> (AB)(AC).
Стадия 8. (Минимизация.) Осуществляется минимизация с сохранением свойства выполнимости. Например, удаляются литералы, неоднократно появляющиеся в предложении:
р(х) q(x,y) p(x)
принимает вид
р(х) q(x,y),
также удаляются литералы, которые взаимно отрицают друг друга:
р(х,у) q(z) p(x,y)
принимает вид
q(z).
Пример 1 преобразования формулы в клаузальную форму.
Исходная формула:
x(p(x) z (yq(z,y,u)yp(y)))
после первой стадии:
u x(p(x)z (yq(z,y,u) yp(y))),
после второй стадии:
ux(p(x) z(yq(z,y,u) wp(w))), .
после третьей стадии:
ux(p(x) z(yq(z,y,u) wp(w))),
после четвертой стадии:
ux(p(x) z (yq(z,y,u)wp(w))),
после пятой стадии (a— скулемовская константа, f, g — скулемовеские функции).
x(p(x) (yq(f(x),y,a) p(g(x))))),
после шестой стадии:
xy(p(x) (q (f(x),y,a) p(g(x)))),
после седьмой стадии:
x y(p(x) q(f(x),y,a)) (p(x) p(g(x))),
П р и м е р 2 перевода формулы в клаузальную форму
Исходная формула:
xyz(p(x,y) Q(x,z)) R(x,y,z)).
Сперва сведем матрицу к конъюнктивной нормальной форме:
xyz(p(x,y) R(x,y,z)) (Q(x,z) R(x,y,z))).
Затем так как перед у и z есть x, то переменные у и z заменяются соответственно одноместными функциями f(x) и g(x), таким образом мы получаем следующую форму:
x(p(x,f(x)) R(x,f(x),g(x))) (Q(x,g(x)) R(x,f(x),g(x)))).
Стандартная форма: формула в виде множества дизъюнктов:
{P(x,f(x) R(x,f(x),g(x)), Q(x,g(x)) R(x,F(x),g(x))}.
Дизъюнкт, содержащий г литер, называется r-литерным дизъюнктом. Когда дизъюнкт не содержит никаких литер, мы называем его пустым дизъюнктом. Считаем, что множество дизъюнктов S есть конъюнкция всех дизъюнктов из S, где каждая переменная в S считается управляемой квантором общности. Благодаря этому соглашению стандартная форма может быть просто представлена множеством дизъюнктов.
Пусть даны формулы F1, F2,..., Fn и формула G. Говорят, что G есть логическое следствие формул F1,F2,..., Fn тогда и только тогда, когда для всякой интерпретации I, в которой F1 , F2... Fn истинна, G также истинна. F1,F2,..., Fn называются аксиомами или посылками G.
Пусть даны формулы F1, F2,..., Fn и формула G.
G есть логическое следствие F1,F2,..., Fn тогда и только тогда, когда формула (( F1 F2 ... Fn) G) — общезначима. С другой стороны G есть логическое следствие F1 ..., Fn тогда и только тогда, когда (Fi F2... Fn G) противоречива.
Пусть S — множество дизъюнктов, которые представляют стандартную форму формулы F. Тогда F противоречива в том и только в том случае, когда S противоречиво.
Черч и Тьюринг показали, что не существует никакой общей разрешающей процедуры, проверяющей общезначимость в логике первого порядка.
Эрбран разработал алгоритм нахождения интерпретации, которая опровергает данную формулу. Однако если данная формула общезначима, то никакой интерпретации не существует и алгоритм заканчивается за конечное число шагов.
Робинсон предложил метод резолюции, усовершенствовав алгоритм Эрбрана. Метод Эрбрана заключается в следующем. Вначале вводится эрбрановский базис. Пусть S — множество дизъюнктов формулы F. Пусть Но множество констант, встречающихся в S. Если никакая константа не встречается в S, Но состоит из одной константы, например
Н0=а.
Для i = 0,1,2,..., пусть Hi+1 есть объединение Hi и множества всех термов вида fn (t1,..., tn) (при всех п) для всех функций fn, встречающихся в S, где tj (j=l,..., n) принадлежит Hj. Тогда каждое Hj называется множеством констант i-ro уровня для S, и Н, называется эрбрановским базисом (универсумом) S.
Пример 3. Пусть
S={P(f(x),a,g(y),b)},
Р — предикат. Тогда
Н0={а,b}
Н1 = {a,b,f(a),f(b),g(a),g(b)}.
Н2 = {a,b,f(a),g(a),g(b),f(f(a)),f(f(b)),f(g(a)),f(gb)),;
g(f(a)),g(f(b)),g(g(a)),g(g(b))};
Н = {a, f(a), f(f(a)), f(f(f(a)),….. }.
Будем понимать под выражением терм, множество термов, множество атомов, литеру, дизъюнкт, множество дизъюнктов. Когда в выражении не встречаются никакие переменные, мы называем его основным выражением.
Пусть S — множество дизъюнктов. Тогда множество основных атомов вида Рn (t1..., tn) для всех n-местных Рn, встречающихся в S, где t1...tn — элементы эрбрановского универсума S, называется эрбрановским базисом.
Определение 1. Множество дизъюнктов невыполнимо тогда и только тогда, когда оно ложно на всех интерпретациях на всех областях.
Определение 2. Основной пример дизъюнкта С множества дизъюнктов
S получается заменой переменных в С на члены эрбрановского универсума S.
Пример 4.
Пусть
S=(P(x),Q(f(y)) R(y)},
С = Р(х) — дизъюнкт в S, Н = {a, f(a), f(f(a)),...,} — эрбрановский универсум. Тогда Р(а) и P(f(f(a)) — основные примеры С.
Определение 3. Пусть S — множество дизъюнктов. Н — эрбрановский универсум S и I — интерпретация S над Н. Говорят, что I есть Н — интерпретация множества S, если она удовлетворяет следующим условиям.
1.I отображает все константы из S в самих себя.
2. Пусть f есть n-местный функциональный символ h1..., hn— элементы Н. BI через f обозначается функция, которая отображает (h1,..., hn) — элемент из Нn в f(h1;..., hn) элемент из Н. Пусть А={А1 А2,..., Аn,...} — эрбрановский базис множества S. Н-интерпретацию I удобно представить в виде 1={т1 т2,..., тn,...}, где mj есть Aj или Aj, j=l,2,... Смысл обозначения в том, что если mj есть Aj, то атому Aj присвоено значение «истина», в противном случае mj есть Aj— имеет значение ложно.
Пример 5.
Рассмотрим множество
S={P(x)Q(x),R(f(y))}.
Эрбрановский универсум Н для S есть H={a,f(a),f(fa)),...}. В S входят три предикатных символа Р, R, Q, следовательно, эрбрановский базис множества S имеет вид:
A={P(a),Q(a),R(a),P(f(a)),Q(f(a)),R(f(a)),..}
Некоторые Н-интерпретации множества S суть:
I1={Р(а), Q(a), R(a), P(a)), Q(f(a)),R(f(a))….. }
I2={P(a),Q(a),R(a),P(f(a)),Q(f(a)),R(f(a)),...},
I3={P(a),Q(a),-nR(a),P(f(a)),Q(f(a)),
Теорема 1.
Множество дизъюнктов S невыполнимо тогда и только тогда, когда S ложно при всех Н-интерпретациях в S. Таким образом, нам необходимо рассматривать интерпретации только над эрбрановским универсумом.
Пример 6.
Рассмотрим
C=P(x) Q(f(x)).
Пусть I1, I2 и I3 определяется следующим образом:
I1= {Р(а), Q(a), P(f(a)), Q(f(a)), P(f(f(a))), Q(f(f(a))),...}.
I2={P(a),Q(a),P(f(a)),Q(f(a)),P(f(f(a))),Q(f(f(a))),...},
I3={P(a), Q(a),P(f(a)), Q(f(a)),P(f(f(a))), Q(f(f(a))),...}.
Дизъюнкт С выполняется в интерпретациях I1 и I2, но опровергается в интерпретации I3.
Рассмотрим S = {Р(х), Р(а)}. Существует только две Н — интерпретации I1 = {Р(а)} и I2 = {P(a)}. S опровергается двумя интерпретациями и, следовательно, невыполнимо.
Основной пример С' дизъюнкта С выполняется в интепретации I тогда и только тогда, когда существует основная литера L' в С такая, что L' есть также в I, то есть С' I.
Дизъюнкт С выполняется в интерпретации I тогда и только тогда, когда основной пример С выполняется в интерпретации I.
Дизъюнкт опровергается интерпретацией I тогда и только тогда, когда существует по крайней мере один такой основной пример С' для С, что С' не выполняется в I.
Множество дизъюнктов S невыполнимо тогда и только тогда, когда для каждой интерпретации I существует по крайней мере один такой основ ной пример С' для С, что С не выполняется в I.
Рассмотрим примеры вывода с использованием метода резолюций. Пусть S1 и S2 — дизъюнкты формулы, находящейся в конъюнктивной нормальной форме, 1 — литерал. Если 1 S1 и 1 S2, то дизъюнкт r = =(S1\{1}) (S2\{l}) является логическим следствием нормальной формы S. Нормальные формы S и S U {г} эквивалентны. Дизъюнкт г называется резольвентой дизъюнктов S1 и S2 Для доказательства того, что некоторое заключение С является логическим следствием множества гипотез {Н1, Н2,...,Нn,С}, эти гипотезы и отрицание заключения должны иметь вид дизъюнктов. Для доказательства нужно показать невыполнимость множества дизъюнктов, т.е. показать ложность заключения, обозначаемую символом . В доказательстве, приводимом ниже, каждый дизъюнкт — резольвента некоторых из предшествующих дизъюнктов. Номера их приведены в скобках справа от соответствующей резольвенты.
Пример. Проверка невыполнимости множества
{h, hpq,pc, qc, c}
1. h гипотеза,
2. hpq гипотеза,
3. pc гипотеза,
4. qc гипотеза,
5. c гипотеза,
6. pq (1,2),
7. p (3,5),
8. q (4,5),
9. q (6,7),
10. (8,9).
Хотя метод резолюций в общем случае неэффективен, т.е. его сложность или объем вычислений возрастает по мере роста числа дизъюнктов в формуле, он является эффективным в случае хорновских дизъюнктов. Хорновский дизъюнкт {p, q, r, s} эквивалентен импликации (pqr)s.