Скачиваний:
124
Добавлен:
02.05.2014
Размер:
4.14 Mб
Скачать

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...xm1 ...  Ск) называется клаузальной формой.

Все формулы А можно преобразовать в клаузальные выражения А1, причем если А выполнимо, то выполнимо А1.

Преобразование А в А1 осуществляется в следующие 8 стадий.

Стадия 1. (Ограничение свободных переменных.) Допустим, что x1,..., хn — это все свободные переменные, содержащиеся в А, преобразуем А к виду х1..., xnA.

Стадия 2. (Переименование переменных.) Изменим связанные переменные при каждом символе или в формуле так, чтобы различались обозначения различных переменных.

Стадия 3. (Удаление символа .) Часть формулы вида ВС заменим на -В  С, таким образом удалим все символы .

Стадия 4. (Перемещение символа  во внутрь , , , .) Приведенные ниже подстановки повторяют до тех пор, пока после всех символов не поя­вятся атомы:

(ВС)  B ,

(B C) BC,

BB,

x BxB,

xBxB.

Стадия 5. (Удаление символа .) Крайний слева член в части формулы вида уВ(у) заменяется на B(f(xl.-, хn)). Х1..., хn — это свободные переменные, появляющиеся в выражении уВ(у), но для всей формулы это перемен­ные, ограниченные xi (1 < i < n) в левой части уВ(у). f— это вновь выбран­ный функциональный n-местный символ, который до сих пор не употреб­лялся. Кроме того, при n = 0 он заменяется на вновь выбранную константу, которая до сих пор не употреблялась.

Функциональный символ и константа называются соответственно скулемовской функцией и скулемовской константой. Например,

x y zuv p(x, у, z, u, v)

принимает вид

x z u p(x,f(x), z, u, g(x,z,u)),

где f и g — скулемовские функции. Аналогично

xyz(p(x,y) vq(y,z))

принимает вид

y (p1 (а,у)  q (y,f (y)),

где а — скулемовская константа, f— скулемовская функция.

Стадия 6. (Перемещение символа  вперед.) Часть  перемещается в

префиксную часть формулы.

Стадия 7. (Перемещение символа  относительно символа .) Следующая перестановка повторяется по мере возможности:

(AB)C --> (AB)(BC),

A (BC) --> (AB)(AC).

Стадия 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))),

после второй стадии:

ux(p(x) z(yq(z,y,u) wp(w))), .

после третьей стадии:

ux(p(x) z(yq(z,y,u) wp(w))),

после четвертой стадии:

ux(p(x) z (yq(z,y,u)wp(w))),

после пятой стадии (a— скулемовская константа, f, g — скулемовеские функции).

x(p(x)  (yq(f(x),y,a) p(g(x))))),

после шестой стадии:

xy(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 перевода формулы в клаузальную форму

Исходная формула:

xyz(p(x,y)  Q(x,z))  R(x,y,z)).

Сперва сведем матрицу к конъюнктивной нормальной форме:

xyz(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 опровергается двумя интерпретациями и, следовательно, невыполнимо.

  1. Основной пример С' дизъюнкта С выполняется в интепретации I тогда и только тогда, когда существует основная литера L' в С такая, что L' есть также в I, то есть С'  I.

  2. Дизъюнкт С выполняется в интерпретации I тогда и только тогда, ко­гда основной пример С выполняется в интерпретации I.

  3. Дизъюнкт опровергается интерпретацией I тогда и только тогда, когда существует по крайней мере один такой основной пример С' для С, что С' не выполняется в I.

  4. Множество дизъюнктов 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,  hpq,pc, qc, c}

1. h гипотеза,

2.  hpq гипотеза,

3. pc гипотеза,

4. qc гипотеза,

5. c гипотеза,

6. pq (1,2),

7. p (3,5),

8. q (4,5),

9. q (6,7),

10.  (8,9).

Хотя метод резолюций в общем случае неэффективен, т.е. его сложность или объем вычислений возрастает по мере роста числа дизъюнктов в форму­ле, он является эффективным в случае хорновских дизъюнктов. Хорновский дизъюнкт {p, q, r, s} эквивалентен импликации (pqr)s.

Соседние файлы в папке Романов В.П. Интеллектуальные информационные системы в экономике