Дмитрий Поспелов - Моделирование рассуждений. Опыт анализа мыслительных актов
Всякие, заслуживающие уважения, не есть малые дети.
Всякий, укрощающий крокодилов, есть заслуживающий уважения.
Если теперь М – класс с именем «заслуживающие уважения» (надо помнить, что М – единственный класс, имя которого встречается в обеих посылках), то Р соответствует классу «малые дети», a S – классу «укрощающий крокодилов». Такое введение классов сущностей приводит нас к первой фигуре силлогистики Аристотеля (рис. 10). Для получения вывода можно воспользоваться тем, что показано на рис. 16. В верхнем ярусе возможна только одна область истинности, а добавление к первой посылке второй приводит к появлению двух вариантов. Эти два варианта дают область истинности, соответствующую схеме базового высказывания Е. Таким образом, окончательное заключение разбираемого нами сорита выглядит следующим образом: «Всякий, укрощающий крокодилов, не есть малые дети».
Рис. 16.
При получении заключений мы из соображений наглядности каждый раз обращались к графической интерпретации областей истинности. На самом деле для правильных модусов силлогистики Аристотеля (поскольку схемы посылок однозначно определяют схему заключения в каждой из четырех фигур) эти заключительные схемы могут при необходимости выдаваться автоматически. Например, для первой фигуры если посылки имеют тип АА, то заключение имеет тип А, а если посылки имеют тип EI, то заключение имеет тип О. Значит, при определении высказывания, стоящего в заключении, нет никакой необходимости строить области истинности высказываний-посылок. Переход к заключению может происходить чисто механически. Надо только определить по виду выбранных посылок номер фигуры, а затем обратиться к таблице правильных силлогизмов, в которой находится ответ по номеру фигуры и типам посылок. Вот эта таблица:
Первая фигура: AAA, EAE, ЕIO, AII, AAI, EAO.
Вторая фигура: ЕАЕ, АЕЕ, ЕIO, АОО, ЕАО, АЕО.
Третья фигура: AAI, IАI, АII, ЕАО, ОАО, ЕIO.
Четвертая фигура: AAI, AEE, IAI, ЕАО, ЕIO, АЕО.
Проиллюстрируем процесс такого механического перехода на примере следующего сорита:
1. Те, кто нарушает свои обещания, не заслуживают доверия.
2. Любители выпить очень общительны.
3. Человек, выполняющий свои обещания, честен.
4. Ни один трезвенник не ростовщик.
5. Тому, кто очень общителен, всегда можно верить.
Если читатели попробуют «с ходу» сказать, какое заключение следует из этих посылок, то они тут же поймут, что сделать это практически невозможно. Поэтому будем двигаться постепенно, выполняя все необходимые в силлогистике шаги. Постепенность весьма важна, ибо она позволит впоследствии сделать из анализа этого процесса важные выводы для автоматизации вывода рассуждений. Прежде всего преобразуем все посылки сорита в нормальную форму.
1. Всякий, кто нарушает свои обещания, есть не заслуживающий доверия.
2. Всякий любитель выпить есть человек очень общительный.
3. Всякий, кто выполняет свои обещания, есть человек честный.
4. Всякий трезвенник не есть ростовщик.
5. Всякий общительный человек есть человек, заслуживающий доверия.
Обратим внимание на то, что переход к нормальной форме для посылок требует прежде всего уточнения того, что за универсум объединяет все имеющиеся посылки. Каков он для нашего сорита? О каких сущностях идет в посылках речь? По-видимому, общей сущностью для всех, о ком говорится в посылках сорита, является сущность с именем «люди», как это было и в предшествующем сорите. Заметим, что если мы не хотим оперировать с «отрицательными классами» сущностей, то надо провести дальнейшую нормализацию посылок, ибо в силлогистике Аристотеля должно неукоснительно выполняться правило, согласно которому при n посылках должен быть выделен в точности n+1 класс сущностей (в силлогизме соответственно три класса S, М и Р). Посчитаем, сколько классов получилось в примере после перехода к нормальной форме представления: W1 – «нарушающие свои обещания», W2 – «не заслуживающие доверия», W3 – «любители выпить», W4 – «очень общительные люди», W5 – «те, кто выполняют свои обещания», W6 – «честные люди», W7 – «трезвенники», W8 – «ростовщики», W9 – «заслуживающие доверия».
Итак, девять классов сущностей вместо полагающихся шести. Какие из классов можно исключить из рассмотрения? Анализируя семантику имен классов, можно прийти к тому, что имеют место соотношения: W5=1, W7=3 и W9=2. Из этих утверждений некоторое сомнение вызывает лишь соотношение W7=3, так как класс тех, кто любит выпить, не есть чистое отрицание для класса тех, кто вообще не пьет. Более точно было бы вместо «трезвенники» говорить о людях, которые образуют класс с именем «не любители выпить». Но согласимся с тем, что есть. Из анализа полученной системы посылок видно, что надо либо оперировать с силлогистикой, в которой имеются «положительные» и «отрицательные» классы сущностей, либо провести необходимые преобразования, о которых мы говорили раньше, чтобы перейти к случаю традиционной силлогистики Аристотеля. Выберем второй путь.
Сохраним все высказывания, в которые не входят классы W2, W5 и W7, а высказывания, в которые они входят, подвергнем преобразованию. Тогда получим следующую систему высказываний, в которой классы сущностей обозначены соответствующими Wi, а около тех высказываний, которые подверглись пре…[4]
На рис. 18 показана общая структура системы, позволяющей получать силлогистические выводы. Четыре блока системы выполняют следующие функции. Новые факты, поступающие в систему, попадают в лингвистический блок, который преобразует их в нормальную форму. Если вспомнить первоначальную форму посылок в сорите о ростовщиках и любителях выпить, то становится понятным, что работа лингвистического блока не столь проста. В его задачу входит не только «навешивание» кванторов «всякий» и «некоторые», но и вычленение имен классов сущностей, а также освобождение высказываний от тех слов, которые не влияют на суть той информации, которая в высказывании содержится. Лингвистический блок должен определить, говорит ли высказывание о некоторой единичной сущности или о совокупности таких сущностей.
Рис. 18.
Наконец, в задачу лингвистического блока входит расшифровка входного сообщения. Эти сообщения могут быть двух типов: факты для пополнения базы фактов системы и факты, истинность которых хотелось бы установить. В первом случае факт после его перевода в нормальную форму передается в базу фактов, а во втором – поступает в блок формирования заключения, где он выступает в качестве задания на вывод.
Значительные проблемы возникают при исключении омонимии в названиях классов сущностей. Лингвистический блок должен, например, установить, что в рамках некоторого определенного универсума «люди» имена «трезвенники» и «те, кто не пьют» относятся к одному и тому же классу сущностей. Установление подобных соотношений невозможно без учета специфики той проблемной области, к которой относятся силлогистические утверждения. В памяти лингвистического блока должна храниться достаточная информация о возможных преобразованиях имен классов сущностей.
Если очередной факт, переведенный в нормальную форму, поступает в базу фактов, то прежде чем занять в ней свое место, он подвергается проверке с помощью процедур, встроенных в базу фактов. Сначала проверяется, не содержится ли такой же факт в базе. Если подобный факт уже есть, то он не дублируется. Затем проверяется, не противоречит ли вновь поступивший факт тем, которые уже хранятся в базе фактов. Противоречивыми являются пары, отмеченные крестиком в табл. 2.
Таблица 2
Они противоречивы тогда, когда в обоих высказываниях речь идет об одинаковых классах сущностей S и Р. Галочкой в таблице отмечены те пары, для которых тип высказывания, стоящий в столбце, есть следствие того типа высказывания, которым отмечена строка таблицы.
Поэтому если, например, на вход базы фактов поступил факт Asp, а в базе до этого существовал факт Isp, то производится замена Isp на Asp. Если же в базе хранился факт Asp, а на вход поступил факт Isp, то вновь поступивший факт в базу не записывается. Высказывания с единичными сущностями всегда записываются в базу фактов, если проверка их на противоречивость прошла успешно. При проверке их на противоречивость, кроме случаев, показанных в табл. 2, анализируется еще случай возникновения двух высказываний «a есть Р» и «a не есть Р», касающихся одного и того же a.