Дмитрий Поспелов - Моделирование рассуждений. Опыт анализа мыслительных актов
Остановимся лишь на одном случае такой опасности, который среди специалистов по интеллектуальным системам получил название эффекта немонотонных рассуждений. Поясним его на популярном примере. До того, как европейцы узнали, что в Таиланде водятся белые слоны (так называемые королевские слоны), они были уверены, что все слоны серые. Это означало, что в модели знаний о слонах имел место фрагмент, показанный на рис. 36, а. В этом фрагменте R есть отношение, a Q – отношение «быть серого цвета». Если Тони – имя некоторого конкретного слона, то из информации, отраженной в данном фрагменте знаний, следует, что «Тони имеет серый цвет». Но при условии, что слон Клайд является королевским, для него такой вывод будет неверным. Это означает, что при появлении нового знания о том, что «Клайд – королевский слон», ранее сделанный относительно него вывод «Клайд имеет серый цвет» становится ложным. В этом и состоит немонотонность вывода.
Рис. 36.
В обычной логике вывод всегда бывает монотонным. Если из множества утверждений {Fi} следует утверждение F*, то как бы ни расширилось множество {Fi}, истинность утверждения F* не может измениться. А у нас имеется прямо противоположная ситуация. Появление нового утверждения «Клайд – королевский слон» отменяет истинность утверждения «Клайд имеет серый цвет».
На рис. 36, б показана семантическая сеть, в которой учтен новый факт, касающийся королевских слонов. Дуга R соответствует отношению «не принадлежит к классу», а дуга Q’ – отношению «быть белого цвета».
Возможность неоднозначного доопределения сетей, хранящихся в памяти, приводит к тому, что после доопределения выводиться могут различные утверждения, зависящие от сделанного пополнения. Поэтому проблема пополнения непроста. Поэтому переход к построению выводов, опирающихся на знания (а именно они активно используются в современных интеллектуальных системах), вызывает к жизни многие новые и не совсем привычные для традиционных логиков проблемы.
Спрашивай – Отвечаем
Одним из нетрадиционных видов человеческих рассуждений (нетрадиционных для классической логики, а не для человека) является поиск ответа на вопрос. Развитие баз знаний стимулировало интерес к тому, как могут формулироваться запросы к хранящейся в них информации и как могут формироваться ответы на эти вопросы. Другими словами, внимание логиков стали привлекать процедуры построения вопросно-ответных отношений.
Давно известно, что правильно сформулированный вопрос во многом содержит в себе информацию о возможном ответе на него. Но остается неясным, что значит «правильно сформулированный». В рассказе известного американского писателя-фантаста Р. Шекли «Верный вопрос» эта проблема находится в центре внимания. В рассказе говорится о поставленном в глубинах Космоса универсальном Ответчике, созданном некоторой сверхцивилизацией. Ответчик способен дать исчерпывающий ответ на любой вопрос, если он сформулирован правильно. Но оказывается, что этого никто из людей не может сделать. Все живые существа живут в мирах, которые состоят из частностей. Поясняя этот факт очередному претенденту на получение ответа, Ответчик говорит: «Положим, ты спрашиваешь: „Почему я родился под созвездием Скорпиона при проходе через Сатурн?“. „Я не сумею ответить на твой вопрос в терминах зодиака, потому что зодиак тут совершенно не при чём“». И постепенно автор рассказа приводит читателя к мысли о том, что в условиях работы Ответчика есть явный парадокс: правильно поставить вопрос можно только тогда, когда ответ на него известен.
Существует несколько типов вопросов, которые мы часто задаем другим людям или самим себе. Специалисты до сих пор не пришли к единому мнению о классификации всех возможных вопросов. Условно их пока делят на шесть типов в зависимости от того, какие процедуры требуются при ответе на них.
1. ЧТО-вопросы. Это вопросы типа «Что ты знаешь о сотруднике Иванове?» или «Сообщи все, что тебе известно о малярии». ЧТО-вопросы для ответа на них требуют просмотра базы знаний и извлечения из нее всей информации, относящейся к тому, о чем спрашивается в вопросе. При реализации такой процедуры возникает немало сложностей. Информация в базе знаний хранится так, что между информационными единицами имеется немало разнообразных связей. Эту ситуацию мы описали, когда говорили о семантических сетях. «Вытаскивая» ответ на ЧТО-вопрос, надо решить проблему остановки, прекращения движения по связям. Надо уметь определять релевантное окружение той информации, которая является прямым ответом на поставленный вопрос.
2. ЛИ-вопросы. Такие вопросы подразумевают конечное множество альтернативных ответов при условии, что сами ответы как бы присутствуют в вопросе. Вот примеры ЛИ-вопросов: «Петя ходит в школу или он еще дошкольник?», «Что мы будем делать после обеда: отдыхать, гулять или работать в саду?», «Перестала Маша по утрам ходить на музыку?».
Для формирования ответов на ЛИ-вопросы необходима процедура проверки истинности альтернатив, перечисленных в них, и выбора той альтернативы, которая является истинной. Конечно, в базе знаний может не оказаться нужных данных. Это приводит к тому, что в качестве ответа на ЛИ-вопрос может быть выдано: «Не знаю» или «Не имею необходимой информации».
Возможен и другой крайний случай (к сожалению, весьма часто встречающийся в больших информационных системах), когда возникает известная позиция Ходжы Насреддина в разрешении спора двух сторонников взаимно исключающих альтернатив. Выслушав первого, он сказал: «Ты прав», выслушав второго он снова сказал: «Ты прав», а на замечание прохожего, что так быть не может, Насреддин сказал и ему: «Ты прав». При заполнении баз знаний (особенно из различных источников) в них одновременно могут храниться взаимоисключающие факты. При обнаружении такого положения ответ на ЛИ-вопрос должен звучать примерно так: «Однозначного ответа дать не могу, верно и одно и другое».
3. КАКОЙ-вопросы. Эти вопросы похожи на ЛИ-вопросы, но отличаются от них тем, что либо множество альтернатив является бесконечным, либо определяется не по самому вопросу, а требует выполнения специальных процедур по его нахождению. Типичными примерами КАКОЙ-вопросов могут служить: «Какие сотрудники института имеют детей в возрасте до пяти лет?» или «Какие следствия могут возникнуть из того, что министром обороны станет Д. Смит?». Ответ на первый из приведенных вопросов требует специального просмотра содержимого памяти системы, использующего атрибут «наличие детей до пяти лет». Такой поиск характерен для современных реляционных баз данных. Поэтому в литературе подобные КАКОЙ-вопросы часто называют типовыми запросами к реляционным базам данных или просто реляционными вопросами.
Ответ на второй КАКОЙ-вопрос требует не только поиска, но и процедуры логического вывода следствий из того, что в множество истинных формул в качестве посылки включается новая формула, связанная с утверждением о том, что Д. Смит является министром обороны. Как и для ЛИ-вопросов, в этом случае возможно незнание ответа или неоднозначность его. КАКОЙ-вопросы второго типа есть вопросы о следствиях из принятия некоторого факта в базу знаний, что принципиально отличает их от КАКОЙ-вопросы первого типа.
4. ПОЧЕМУ-вопросы. Вопросы подобного типа есть вопросы о причинах явлений или фактов, перечисленных в вопросе. Ответы на них требуют использования каузальных логик, о которых мы уже упоминали ранее, т.е. обращения к причинно-следственным и иным каузальным связям, отраженным в базе знаний. После этого моделируется рассуждение, схема которого и есть ответ на ПОЧЕМУ-вопрос.
5. ЗАЧЕМ-вопросы. Это вопросы о целях. Ответ на них внешне похож на поиск ответа на ПОЧЕМУ-вопросы, но вместо каузальных связей в базе знаний используются связи типа «цель – средство» или «цель – подцель». Ответом служит найденный путь, ведущий от текущей ситуации к целевой или целевым. При невозможности найти соответствующий путь при ответах на ПОЧЕМУ-вопрос или ЗАЧЕМ-вопрос в качестве ответа может формироваться: «Не знаю» или «Отсутствует информация для ответа».
6. КАК-вопросы. Эти вопросы предполагают, что в качестве ответа на них будут выданы пояснения о способах получения системой тех или иных результатов. Если, например, КАК-вопрос касается того, как получен тот или иной логический вывод, то в качестве ответа на него можно воспроизвести этот вывод или наиболее важные его части. Для этого удобно хранить в памяти системы «треки» ранее полученных выводов, пока вопрос типа КАК остается актуальным.