Научная статья на тему 'ФАКУЛЬТАТИВНЫЙ КУРС "СИСТЕМА АВТОМАТИЗАЦИИ ПРОЦЕССА РЕШЕНИЯ ЗАДАЧ". Часть 2. Построение доказательства'

ФАКУЛЬТАТИВНЫЙ КУРС "СИСТЕМА АВТОМАТИЗАЦИИ ПРОЦЕССА РЕШЕНИЯ ЗАДАЧ". Часть 2. Построение доказательства Текст научной статьи по специальности «Математика»

CC BY
118
34
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Дмитриева Марина Валерьевна, Павлова Марианна Владимировна

Статья продолжает материал авторов из номера 2 за 1998 год. В данной статье обсуждается переход от нескольких от известных утверждений к некоторому новому утверждению.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «ФАКУЛЬТАТИВНЫЙ КУРС "СИСТЕМА АВТОМАТИЗАЦИИ ПРОЦЕССА РЕШЕНИЯ ЗАДАЧ". Часть 2. Построение доказательства»

Дмитриева Марина Валерьевна Павлова Марианна Владимировна

ФАКУЛЬТАТИВНЫЙ КУРС "СИСТЕМА АВТОМАТИЗАЦИИ ПРОЦЕССА РЕШЕНИЯ ЗАДАЧ

Часть 2. Построение доказательства

В первой части данной статьи [9] мы обсудили некоторые способы решения задач, в которых требуется определить, следует ли утверждение в из известных фактов Р1,Р2,....,Рт. По теореме 2 о логическом следствии для решения этого вопроса нам достаточно определить, является ли формула Б: Р1&Р2&...Рт&~0 противоречивой. Формула Р не обязана находиться в конъюнктивно- нормальной форме. Но известно, что по формуле И может быть построена равнозначная ей формула 8, находящаяся в конъюнктивно-нормальной форме. Формула 5 имеет вид Б: 81&82&...&8п, где 81- дизъюнкты. Мы будем рассматривать в дальнейшем множество дизъюнктов 8={81,82,...,8п}. Все утверждения 81 имеют простую форму. Нам надо уметь от известных рассуждений 81 и 8] переходить к некоторому новому утверждению Бк.

Введем правило резолюции, согласно которому по двум дизъюнктам можно получать третий. Напомним, что литералом называется атом или его отрицание. Если у нас есть два дизъюнкта и один из них содержит литерал Ь, а другой - литерал ~Ь, то мы можем рассмотреть дизъюнкт, который содержит литералы первого за исключением литерала Ь, и литералы второго за исключением ~Ь. Такой дизъюнкт называется резольвентой первых двух. Например, если первый дизъюнкт ~AvC, второй ~ОЛ), то резольвентой будет формула Если первый дизъюнкт состоит из одного литерала А, а второй из литерала ~А, то их резольвентой будет тождественно- ложный дизъюнкт, который, как уже говорилось, принято обозначать символом □._

Теорема (о резольвенте). Резольвента двух дизъюнктов является их логически! I следствием. _ _

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

Понятие вывода - формализованный аналог понятия доказательства. Рассмотрим множество дизъюнктов 8. Выводом в в называется последовательность дизъюнктов 01,02,...0М, где каждый 0=1,2,...Ы) либо из 8, либо является резольвентой предыдущих О] и Эк (¡<1, к<а). Если последний дизъюнкт эквивалентен тождественно-ложной формуле, то такой вывод называется опровержением. Таким образом, вывод в методе резолюций является последовательностью рассуждений, где каждое рассуждение следует из двух предыдущих. Опровержение- последовательность рассуждений, приводящая к ложному утверждению (пустому дизъюнкту).

Теорема (о полноте метода резолюций). Множество дизъюнктов 8 противоречив тогда и только тогда, когда можно построить опровержение в 8.

Таким образом, для того, чтобы определить, является ли множество дизъюнктов гсстиворечивым, достаточно найти такую последовательность рассуждений, где каждое :._:>ждение следует из двух ранее рассмотренных, и которая приводит к тождественно-« ному утверждению.

В качестве примера вывода в методе резолюций рассмотрим задачу из [5].

Пример. "Инспектор Крег стремится при помощи логических рассуждений установить истину. Рассматривается дело, в котором четверо подсудимых: А,В,С и О.

1. Если А виновен, то В был соучастником (и, следовательно, виновен);

2. Если В виновен, то либо С был соучастником, либо А не виновен;

3. Если Б не виновен, то А виновен и С не виновен;

4. Если Б виновен, то А виновен.

Спрашивается, виновен ли О?"

Предположим, что через А обозначается высказывание "А- виновен"; через В: "В-шяовен"; через С: "С- виновен"; и, наконец, через Б: "Б- виновен", Запишем каждое из "зерждений формулой исчисления высказываний:

Р1: А=>В

¥2-, В=> ~AvC

РЗ: А&-С

Р4: 0=>А

Требуется выяснить, следует ли утверждение Э: "О виновен" из этих четырех. По "тореме 2 нам достаточно исследовать на противоречивость следующую формулу Р: В)&(B=>~AvC)&(~D=i> А&~С)&( 0=>А)&

Приведем формулу Б к КНФ. Получим множество Б, состоящее из шести дизъюнктов 51,52,83,84,55 и 56.

8: {~AvB, ~Bv~AvC, АуЭ, ЧЭУА, -Э}.

По теореме о полноте метода резолюций, для того чтобы установить противоречивость 8, достаточно построить опровержение в 8. Одно из опровержений может быть - «дующим:

57: ~AvC, резольвента 81 и 82;

88: А, резольвента 83 и 86;

89: ~С, резольвента 84 и 86;

810: С, резольвента 87 и 88;

811: □, резольвента 89 и 810;

Процесс построения такой последовательности рассуждений (или вывода) можно ^автоматизировать. Однако очевидно, что при построении вывода в общем случае требует-->: просмотр большого числа вариантов. Поэтому в системе реализована так называемая шейная резолюция. Линейная резолюция проще обычной и позволяет автоматизировать процесс поиска решения, причем линейную резолюцию можно эффективно реализовать. По-прежнему, рассматривается множество дизъюнктов 8 и берется какой-либо дизъюнкт СО из 5, называемый верхним. Строится линейный вывод дизъюнкта СЫ, обладающий гвойствами:

1) для 1=1,2,...,N-1 С1+1 есть резольвента дизъюнкта называемого центральным и В:, называемого боковым.

2) каждый В1 либо из 8, либо есть С] для некоторого

Опровержение, которое было приведено для примера, не является линейным. Построим линейный вывод для нашего множества дизъюнктов 8.

87: ~AvC, резольвента 81 и 82;

Рисунок 1.

58: С^О, резольвента 87 и 83. 89: Б, резольвента 88 и 84; 810: □, резольвента Б9 и 86. В этом выводе в качестве верхнего дизъюнкта взят дизъюнкт 81 дизъюнкты 87,88,89,810 являютс. центральными, дизъюнктк 82,83,84,86 - боковыми.

На рис. 1 и рис. 2 изображены схематично два последних построенных вывода.

Предположим, что мы выбрали некоторый дизъюнкт СО, теперь можно выделить все возможные боковые дизъюнкты. После применения резолюции к СО с этими боковыми дизъюнктами мы получаем резольвенты 13.1,112,...ДМ. Каждый г: дизъюнктов Ш является возможным центральным дизъюнктом, который может привести к доказательству. Если на этом шаге опровержение получить не удалось то процесс повторяется. Такой метод называется методом поиска доказательства в ширину. В нашем примере, если в качестве верхнего дизъюнкта выбрали 81, тогда боковыми дизъюнктами могут быть: 82,83,85.

Построим резольвенту для каждой из пар (81,82), (81,83), (81,85) и получим кандидатов на следующий центральный дизъюнкт. Если какая-либо резольвента пуста, опровержение построено и задача решена, в противном случае процесс повторяется.

Другой путь поиска доказательства - это метод поиска в глубину, то есть на кажлок-уровне дерева берется одна вершина и осуществляется переход к вершине более низкогс уровня. В нашем примере при поиске в глубину поступаем следующим образом: если верхний дизъюнкт 81, боковой - 82, то строится резольвента 87, она является центральным дизъюнктом для следующего шага и для нее ищем боковой дизъюнкт, в нашем случае - это дизъюнкт 83, и т.д. При поиске в глубину следует задать границу поиска, чтобы предотвратить поиск доказательства по неверному пути, то есть по пути, который не может привести к пустому дизъюнкту. В первой версии системы реализовано два метода. Сначала осуществляется построение решения методом поиска в ширину, тем самым построен самый короткий вывод, затем, задав глубину поиска, делается попытка отыскать решение методом поиска в глубину. Для каждого из этих методов требовалось фиксировать некоторые характеристики самого вывода и время

поиска. Рисунок 2.

Рассмотрим еще одну задачу. Задача получила название "Загадочный обвинитель". — гг в следующем. На острове рыцарей и лжецов за совершение преступления судили иг ; местных жителей X и У. Дело необычное, так как об обвинителе было известно, ч то ж жю рыцарь, либо лжец. На суде обвинитель сделал два следующих заявления: X виновен. 2. X и У не могут быть виновны оба.

К какому заключению вы бы пришли на месте присяжных? Кто же обвинитель: ¡ыифь или лжец?

Предположим, что мы хотим доказать, что обвинитель рыцарь. Пусть Я обозначает " Нет ждение "Обвинитель - рыцарь", Х- "X виновен " и У- "У виновен". Тогда известные •иты можно записать следующим образом: Б1: И<=> X

Р2: К»(Х&~УУ~Х&У)

Логическое следствие- утверждение Я. По теореме 2 строим формулу: К<=>Х)&(Я<=>(Х&~Уу~Х&У))&~К. Привести эту форму к КНФ, получить множе-дитьюнктов и построить опровержение читателю предоставляется самостоятельно.

Сокращение множества дизъюнктов.

Мы исследуем вопрос, является ли противоречивым множество дизъюнктов 8. Од-.шжэ это множество может быть достаточно велико, поэтому искать вывод из большого «тожества дизъюнктов может быть затруднительно. Возникает вопрос, можно ли как-- > г дь это множество сократить? Девис и Патнем в [4] предложили несколько правил, к : трые позволяют сократить исходное множество дизъюнктов.

Правило тавтологии. Из множества Б можно вычеркнуть все дизъюнкты, которые яапяются тавтологиями. Оставшееся множество дизъюнктов противоречиво тогда и только тогда, когда противоречиво множество Б.

Правило однолитерных дизъюнктов. Если в множестве 5 есть единичный дизъюнкт - литерал Ь, то мы можем поступить так: построить множество дизъюнктов 7, которое получается из исходного Б вычеркиванием всех дизъюнктов, содержащих литерал Ь. Если при этом окажется, что полученное множество 7 пусто, то это означает, что множество Б не противоречиво, или, другими словами, доказательство можно не искать, так как его не существует. В том, что Б не противоречиво, нетрудно убедиться, достаточно взять интерпретацию, в которой истинен литерал Ь. Если же множество 7 не пусто, то построим по нему множество Т, вычеркнув из дизъюнктов множества 7 все литералы ~Ь. Можно доказать, что множество Б противоречиво тогда и только тогда, когда множество Т противоречиво. В множестве Т дизъюнктов и литералов меньше, чем в исходном множестве Б.

Рассмотрим пример, который мы уже рассматривали: Б={ ~AvB,~Av~BvC,AvD,~CvD,Av~D,~D}

Мы уже установили, что множество Б противоречиво, построив опровержение в 8. Так как в Б есть единичный дизъюнкт -Э, то к Б можно применить правило единичного дизъюнкта. Сначала вычеркнем из множества Б все дизъюнкты, содержащие литерал -О. Получим множество дизъюнктов 71:

71={ -^В.-^-^С^О.-СуИ }

Так как множество 71 не пусто, то из оставшихся дизъюнктов вычеркнем литерал О. получим множество Т1: Т1={ ~AvB,~Av~BvC,A,~C}. Множество Т1 содержит мень-

ше литералов и меньшее число дизъюнктов, чем исходное множество S. В дальнейшем можно исследовать множество Т1.

Правило чистых литералов. Литерал L называется чистым литералом, если в S не входит литерал -L. Если L- чистый литерал, то вычеркиваем из S все дизъюнкты, содержащие L. Оставшееся множество дизъюнктов обозначим через S1. Множество дизъюнктов S1 противоречиво тогда и только тогда, когда противоречиво множество S.

Пример. S={AvBvC, AvBv~C , ~В, ~С}. Чистый литерал - А. Множество после применения правила чистого литерала: S1={~B, ~С}.

Правило расщепления. Пусть множество S можно представить в виде S={А1 vL,...,AmvL, Blv~L,..„ Bkv~L, Rl,...,Rq},

причем Ai, Bi, Ri не содержат ни L, ни ~L. Рассмотрим два множества

Sl = {Al, А2,..„ Am, Rl,..„ Rq}; S2={B1, B2,..., Bk, R1...... Rq}

Множество S противоречиво тогда и только тогда, когда S1 и S2 противоречивы.

Пример. Рассмотрим множество дизъюнктов S и применим к нему правило растепления по литералу А.

S={^AvB, ~А v~BvC, AvD, Dv~C, Av~D, ~D] Полученные множества

S1={B, ~BvC, Dv~C, ~D); S2= {D, ~D, Dv~C}

Множество SI противоречиво. Доказать это можно, построив, например, опровержение

S5: С -резольвента дизъюнктов В и ~BvC S6: D -резольвента дизъюнктов С и Dv~C S5: □ -резольвента дизъюнктов D и -D

Множество S2 противоречиво, так как опровержение строится по дизъюнктам D и -D

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

Перед нами три девушки: Сью, Марция и Диана. Предположим, что известно сле_г.~

ющее:

1) Я люблю, по крайней мере, одну из этих трех девушек.

2) Если я люблю Сью, а не Диану, то я также люблю Марцию.

3) Я либо люблю Диану и Марцию, либо не люблю ни одну из них.

4) Если я люблю Диану, то я также люблю Сью. Люблю ли я Диану?

Запишем формулами четыре высказывания и предполагаемое следствие.

Fl: CvMvD

F2: C&~D=>M

F3: D&Mv~D&~M

F4:D=>C

G:D

Формулу (CvMvD)&(C&~D=>M)&(D&Mv~D&~M)&(D=>C)&~D приведем к к: юнктивно - нормальной форме, получим интересующее нас множество дизъюн* S={CvMvD, -CvMvD, Mv~D, ~MvD, ~DvC, ~D}. В множестве S есть единичный л

применяем правило единичного дизъюнкта к получаем множество {С^М, М В построенном множестве опять есть единичный дизъюнкт ~.М. После прибавила единичного дизъюнкта к этому множеству получаем {С, -С}. В после-РН* *>: »слггве также есть единичный дизъюнкт, после применения правила получаем ■гнвое множество, следовательно, и исходное множество Б противоречиво, то " :гнческое следствие. Для демонстрации методов мы специально выбираем про-■шимеры. более сложные примеры "поручим" решать системе поиска доказательств, которой приведем в заключительной третьей части.

кицинура.

г^яльсон. Принципы искусственного интеллекта. - М.: Радио и связь, 1985. Зкльсон. Искусственный интеллект. Методы поиска решений. - М.: Мир, 1973. Математическая логика. - М.: Мир, 1973. РЛи. Математическая логика и автоматическое доказательство теорем. - М.:

г Как же называется эта книга? - М.: Мир, 1981. ■ан. Принцесса или тигр? - М.: Мир, 1985. шов. Алиса в стране смекалки. - М.: Мир, 1987. досовский. Элементы математической логики и ее применение к теории

5ных алгоритмов. - Л.: Изд-во ЛГУ, 1981. 2«итрнева, М.В. Павлова. Система автоматизации процесса решения задач. Часть I. ■иг Компьютерные инструменты в образовании." №2, 1998.

ИЬшжттгггт Марина Валерьевна, ■ншшт *афедры информатики 1етербургского щ—рстиенного университета.

Марианна Владимировна, ш преподаватель кафедры шки СПбГУ, преподаватель

тжшв-лыцея № 419.

!

НАШИ АВТОРЫ

i Надоели баннеры? Вы всегда можете отключить рекламу.