• Что такое интеллектуальная система
  • Продукционные системы
  • Управление выводом
  • Вывод на семантической сети
  • Спрашивай – Отвечаем
  • Глава пятая. ВЫВОД В БАЗЕ ЗНАНИЙ

    Приходится порой простые мысли
    доказывать всерьез, как теоремы.
    (О. Сулейменов. От января до апреля)

    Что такое интеллектуальная система

    Проблема моделирования человеческих рассуждений стала чрезвычайно актуальной в конце 70-х годов, когда в области искусственного интеллекта появились практически интересные системы. В последующие несколько лет возникла новая отрасль индустрии – производство интеллектуальных систем.

    Причин скачкообразного развития работ по созданию систем искусственного интеллекта было несколько. Главнейшими из них можно считать три: необходимость создания ЭВМ пятого поколения, переход к роботизированным производствам и появление экспертных систем.

    Как известно, ЭВМ пятого поколения отличаются от машин предыдущих поколений тем, что в них встроены функции программиста. По словесному заданию задачи, сформулированному на ограниченном профессиональном языке, эти ЭВМ способны сами построить необходимую рабочую программу (синтезировать ее из отдельных модулей, хранящихся в памяти ЭВМ) и выполнить ее. Для этого в состав ЭВМ должна входить база знаний, в которой хранится информация о закономерностях, присущих данной проблемной области, и методах решения характерных для нее задач. Кроме того, в состав ЭВМ должен входить специальный блок – решатель, в который встроены процедуры, подобные логическому выводу. С помощью решателя на основании сведений из базы знаний автоматически синтезируются нужные для пользователя программы. На рис. 29 приведена общая структура ЭВМ пятого поколения. Отметим, что процессор, показанный на рисунке, – это обычное арифметическое устройство с необходимой оперативной памятью, а внешняя память служит для хранения данных, нужных для решения задач. Таким образом, база знаний является новым специфическим блоком (как и система общения и решатель) в структуре ЭВМ пятого поколения.


    Рис. 29.



    В роботизированных производствах используются роботы третьего поколения. Они должны быть достаточно автономны в своих действиях и уметь выполнять необходимый набор операций в динамически изменяющихся условиях производства. Это означает, что они не могут довольствоваться набором встроенных в них программ жесткого поведения. Интеллектуальный уровень таких роботов должен быть достаточно высоким. В их систему управления необходимо включить специальный блок – планировщик, задачей которого является составление программы действий робота в тех реальных условиях окружающей среды, которые в данный момент наблюдаются рецепторной системой робота. Для планирования целесообразной деятельности робот третьего поколения должен обладать определенными знаниями о свойствах окружающей среды и методах достижения целей в ней. Эти знания хранятся в его базе знаний, показанной в общей структуре робота на рис. 30. Глядя на этот рисунок, легко установить аналогии со схемой, показанной на предыдущем рисунке. В ЭВМ пятого поколения и в роботах третьего поколения осуществляется планирование будущей деятельности: автоматический синтез программы, выполняемый решателем, и программа деятельности, создаваемая планировщиком. Оба блока работают на основе знаний, хранящихся в базе знаний.


    Рис. 30.



    Экспертные системы, структура которых показана на рис. 31, также содержат базу знаний и логический блок, функции которого похожи на функции решателя и планировщика. Задача логического блока состоит в поиске вывода, ответа на входное сообщение, поступившее в систему. В базе знаний хранится необходимая информация о проблемной области, в которой работает пользователь. Его запросы поступают на профессиональном ограниченном естественном языке. В системе общения они преобразуются во внутреннее представление, с которым работает логический блок. Это внутреннее представление преобразуется в запрос к базе знаний. Если прямого ответа на запрос в базе нет, то логический блок осуществляет поиск косвенной информации, получаемой из хранящейся в базе с помощью достоверного или правдоподобного вывода. Система объяснения (это специфический блок, отличающий экспертные системы от других интеллектуальных систем) при необходимости по требованию пользователя поясняет ему, как получена та информация, которая выдана в качестве ответа.


    Рис. 31.



    Мы хотим отметить, что ядром всех основных типов рассмотренных интеллектуальных систем являются база знаний и блок, осуществляющий вывод с помощью знаний (решатель, планировщик или логический блок). Этот вывод составляет основную процедуру, реализуемую в интеллектуальных системах.

    Знания о внешнем мире могут иметь двоякую природу. Они могут содержать декларативное описание фактов и явлений внешнего мира, фиксирующее их наличие или отсутствие, а также основные связи и закономерности, в которые эти факты и явления входят. Но они могут содержать и процедурные описания того, как надо манипулировать с этими фактами и достигать целей, интересных для системы. Для описания знаний в интеллектуальных системах используются специальные языки описания знаний (ЯОЗ). Эти языки могут иметь различную природу. Нас будут интересовать (из-за темы данной книги) лишь языки логического типа. Простейшими видами таких ЯОЗ являются языки исчисления высказываний или исчисления предикатов вместе с теми процедурами вывода, которые для них известны. Однако в современных интеллектуальных системах такие языки используются довольно редко. Куда более распространены в них языки, основанные на продукциях. Продукции в общем виде можно записать в форме «Если…, то…». Сама по себе эта форма оказывается весьма характерной для фиксации знаний в различных областях человеческой деятельности. Вот несколько примеров текстов, взятых почти наугад из различных книг.

    1. Если Академия заблагорассудит присоединить к себе ученого русского или иностранца, который не столько еще известен, чтобы мог требовать чести быть почетным членом, но своими полезными сочинениями или познаниями, или же ревностию и старанием, оказав полезные Академии услуги, обратил на себя отличное внимание, то она принимает его в корреспонденты, которые также разделяются на русских и иностранных. (Устав Санкт-Петербургской Академии наук 1836 года, № 85)

    2. Если враг не сдается, то его уничтожают. Если кто к нам с мечем придет, то от меча и погибнет. (Высказывания полководцев.)

    3. Если температура в верхней зоне превысит 75°, то необходимо открыть задвижку № 7. (Из инструкции.)

    Число подобных примеров можно увеличивать до бесконечности. Они показывают, что представление фрагментов наших знаний о внешнем мире и действиях в нем в виде продукций имеет весьма большое распространение. Часть специалистов по интеллектуальным системам считает, что запись знаний в виде систем продукций носит универсальный характер – любые знания можно записать в такой форме. Они приводят немало примеров, когда знания, внешне не имеющие продукционной формы, удается перевести в систему продукций. Вот один из таких примеров.

    Химические реакции мы со школьных лет привыкли воспринимать в форме соотношений следующего вида:



    И т.д.

    Покажем, как подобные утверждения можно записать в продукционной форме. Введем шесть сортов базовых элементов. К первому сорту отнесем металлы: Q1={Cu,Mg,Zn,…}. Ко второму – газы: Q2={H2,О,N,…}, к третьему – воду: Q3={H2O}. Четвертый сорт составляют окиси: Q4={MgO,CuО,…}. Пятый сорт образуют кислоты: Q5={H2SO4,HCl,…}. Наконец, шестой сорт образуют соли: Q6={ZnSO4,NaCl,…}. Зададим два базовых отображения. Первое отображает элементы из Q4 в элементы Q1. С его помощью для окисей выделяются основания. Второе отображение сопоставляет с именами веществ (под веществом будем понимать металл, газ, окись, воду, кислоту или соль) их химические формулы. Введем еще два оператора, которые будем использовать в продукциях: A(q) и E(q). Оператор A(q) добавляет в базу знаний q, а оператор E(q) убирает q из базы. Выпишем первый тип продукций для описания химических реакций.

    Эта продукция годится для описания двух из приведенных выше химических реакций. Для описания третьей реакции используем другой тип продукций.

    Вспомним программу «Логик-теоретик», которую мы обсуждали в третьей главе. Она была основана на том, что при доказательстве равенства двух выражений в исчислении высказываний использовалось понятие различия в двух выражениях и подбирались такие преобразования, которые эти различия устраняли. Для соотнесения различий с преобразованиями была построена таблица, в которой указывалось, какие преобразования какие различия устраняют. От этой таблицы чрезвычайно легко перейти к продукционной системе. Если i есть номер различия, a F* – одно из преобразований, то запись iF* соответствует утверждению, что при наличии различия i можно применить преобразование F*.

    Два последних примера показывают, что продукциями являются не только те выражения, которые имеют форму «Если…, то…», но и многие другие выражения. К ним, по сути, сводятся все каузальные, т.е. причинно-cледственные утверждения, подобные тем, которые мы обсуждали в предшествующей главе. К ним же относятся и любые схемы вывода типа «посылки – следствие». Замкнутые системы правил типа законов короля Павзолия, описанных в романе Пьера Луиса «Приключения короля Павзолия»[9], также могут рассматриваться как особая форма продукций. Даже такие утверждения, как знаменитое «Если звезды зажигают, значит, это кому-то нужно» (В. Маяковский), можно рассматривать как продукцию.

    Продукционные системы получили при представлении знаний в последнее время наибольшее распространение. Поэтому посвятим им специальный раздел нашей книги.

    Продукционные системы

    Анализ структур ЭВМ пятого поколения, роботов автономного типа и экспертных систем приводит к обобщенной структуре, показанной на рис. 32. Эта схема при условии, что система R представляет собой продукционную систему, может послужить основой для классификации типов продукций. На ней показано взаимодействие «рассуждающей» системы с внешним миром и базой знаний, из которой рассуждающая система может черпать накопленную ранее информацию о закономерностях этого мира и его состояниях. Из внешнего мира в рассуждающую систему приходит сиюминутная, текущая информация о наблюдаемых в этом мире фактах и явлениях. А из базы знаний поступает информация, имеющая более фундаментальное значение. Она может описывать законы внешнего мира, правила действий в нем, целевые структуры или ожидаемые отклики внешнего мира на те или иные воздействия на него. В памяти рассуждающей системы хранится текущая информация, связанная с ходом рассуждений. Со временем она либо исчезает, либо передается для хранения в базу знаний. Последнее происходит лишь в том случае, когда в процессе рассуждений появилась информация, которая может оказаться полезной для рассуждающей системы в будущем.


    Рис. 32.



    Теперь приступим к классификации продукций.

    1. Продукции типа AWBR. В левой части продукции стоит информация, поступившая из внешнего мира, а в правой – сведения о вытекающих из этой информации изменениях в рассуждающей системе. Эти изменения сказываются на ходе рассуждений. Например, рассуждая утром о выборе места воскресного отдыха, вы вдруг слышите по радио сообщение о том, что в середине дня ожидается сильная гроза. Это сообщение и есть AW. В ответ на него может измениться весь ход ваших рассуждений о планах отдыха. Сразу же будут отброшены варианты, связанные с пребыванием за городом на открытом воздухе, а другие варианты приобретут куда больший вес. Это изменение предпочтительности вариантов отдыха характеризуется правой частью продукции BR. Сама продукция для данного случая могла бы выглядеть, например, следующим образом: «Если на улице идет дождь или гроза или они ожидаются в течение дня, то вместо прогулки лучше пойти в музей или кино».

    В качестве AW может выступать не только некоторое сообщение о W или некоторый факт, имеющий место во внешнем мире, но и прямое воздействие из внешнего мира на рассуждающую систему. Но что бы ни стояло в левой части продукции ABWR, в ее правой части стоят некоторые операторы, меняющие ход самих рассуждений.

    2. Продукции типа AWBK. Такие продукции отражают ситуацию передачи некоторого сообщения из внешнего мира для запоминания в базе знаний. Примером продукции такого типа может служить приказание, которое отдает командир разведчику: «Все, что увидишь интересного в окрестности переправы, запомни, а потом передай через связного». Это приказание можно переписать в стандартной продукционной форме: «Если F есть интересный факт, относящийся к району переправы, то F надо запомнить и передать со связным». При работе с продукциями такого типа рассуждающая система выступает в роли отделения связи, передающего сообщение от одного абонента другому. Правда, в этом отделении связи может происходить перлюстрация корреспонденции. Рассуждающая система может при необходимости воспользоваться информацией о AW и BK для своих целей.

    3. Продукции типа AKBW. В этом случае рассуждающая система также выступает в виде отделения связи. Только теперь выдача сообщения происходит из базы знаний во внешний мир. Примером возникновения подобной продукции может служить обнаружение в базе знаний противоречивой информации. Пусть некто X знает, что у его приятеля Y пятеро детей. Но встретившийся X знакомый Z утверждает, что по его сведениям у Y не пятеро детей, а трое. Такое противоречие может заставить «рассуждающую систему X» реализовать продукцию, в которой АК характеризует факт наличия противоречивой информации о числе детей у Y, a BW – некоторое действие, которое X предпринимает в связи с этим. Например, BW может соответствовать разговору X по телефону с Y, в ходе которого X попытается выяснить истинное количество детей у Y.

    4. Продукции типа ARBK. Они соответствуют тому, что некоторый факт, полученный рассуждающей системой, передается на хранение в базу знаний. Интерпретация продукций такого типа очевидна.

    5. Продукции типа AKBR. Подобно продукциям предшествующего типа эти продукции описывают обмен информацией при работе рассуждающей системы. Необходимая для рассуждений информация выбирается из базы знаний и передается для обработки в рассуждающую систему.

    6. Продукции типа AWBW. Эти продукции обычно называют продукциями непосредственного отклика. Левая их часть AWописывает некоторую наблюдаемую ситуацию во внешнем мире или воздействие внешнего мира на рассуждающую систему. Правая часть продукции описывает действие, которое поступает от системы в окружающий ее мир. Выполнение подобных продукций чем-то напоминает мгновенный отклик, возникающий при рефлекторных процессах (например, при отдергивании руки, когда она касается чего-то горячего). Рассуждающая система в этих случаях просто не успевает срабатывать. Она лишь транслирует информацию об AW и BW адресатам.

    7. Продукции типа ARBW. Они описывают те воздействия на внешний мир, которые порождает результат работы рассуждающей системы. «Подумай, прежде чем делать» – мудрый совет, призывающий того, к кому он обращен, воспользоваться продукцией данного типа, а не продукцией непосредственного отклика.

    8. Продукции типа ARBR. Это внутренние продукции рассуждающей системы. Они описывают промежуточные шаги процесса вывода и не влияют непосредственно на содержимое базы знаний и состояния внешнего мира. Эти продукции описывают единичные шаги многошаговых процессов рассуждений.

    9. Продукции типа АКВК. Они описывают процедуры преобразования знаний в базе знаний: обобщение знаний, получение новых знаний из ранее известных с помощью логического вывода, установление закономерностей между знаниями на основании обработки сведений о единичных фактах, хранящихся в базе знаний, и т.п. Рассуждающая система в этом случае используется лишь в качестве инструмента, с помощью которого происходит изменение состояния базы знаний.

    Сказанное наводит на мысль, что продукции могут иметь весьма различное значение. В качестве их левых и правых частей могут выступать и некоторые утверждения, и действия. Возможны не только те интерпретации, которые мы привели выше, но и ряд других. Например, продукции типа AWBK можно трактовать как способ описания шагов общения между пользователем и системой в диалоговом режиме. Тогда AW будет интерпретироваться как вопрос пользователя, а ВK – как ответ системы. При смене спрашивающего и отвечающего надо использовать для описания шага диалога продукции типа AKBW.

    Продукционной системой будем называть любую совокупность продукций, в которую могут входить продукции любого из перечисленных выше типов.

    Часто вместо продукций типа ?? рассматривают более сложные конструкции. В общей форме продукции имеют вид


    i, П, P, A B, Q.


    Здесь АВ – обычная продукция «Если …, то …», которая носит название ядра продукции. Элемент Р характеризует внешние условия или условия применимости продукции, определяемые факторами, не входящими непосредственно в А, например целями, которые стоят перед рассуждающей системой. Условия Р позволяют из всех продукций, у которых в левой части ядра стоит А, отбирать нужную часть продукций.

    Элемент П характеризует сферу проблемной области базы знаний или предусловия применимости продукции. Эти предусловия ничем не отличаются от Р, но выделяют подсистемы продукций на ранг выше тех, которые выделяют условия. Предусловия задают формальную систему, в рамках которой будут проводиться логические рассуждения. Поясним эту мысль на примере. В обычном мире лошади не летают. Поэтому продукция «Если х лошадь, то она летать не может» в обычном мире всегда имеет место. Но если мы от обычного мира перейдем к миру греческих мифов, то продукция «Если лошадь есть Пегас, то она летает» станет верной. В мире же русской сказки продукция «Если лошадь есть Конек-Горбунок, то она летает» принимается без всякой критики. В приведенном примере предусловия П должны развести между собой обычный мир, мир греческих мифов и мир русской сказки.

    Наконец, Q характеризует постусловия продукции, указывающие на те изменения, которые необходимо внести в базу знаний и в систему продукций после реализации данной продукции. Операторы A(q) и E(q), рассмотренные при описании химических реакций, являются примером таких постусловий.

    Однако в общем виде продукции встречаются весьма редко. Предусловия характерны лишь для больших по объему и разнородных по составу баз данных и знаний, а постусловия – для планирующих систем роботов, когда используются продукции типа ARBW.

    Если продукционная система такова, что на некотором шаге процесса может быть реализована не одна продукция, а несколько, то возникает ситуация, в которой необходимо уметь управлять ходом процесса. Эта ситуация настолько важна и принципиальна, что мы посвятим ее анализу специальный раздел. Именно в этом анализе раскрываются особенности использования продукций для моделирования рассуждений.

    Управление выводом

    Несколько изменим предшествующий рисунок. Будем считать, что информация из внешнего мира W поступает в базу знаний К, минуя рассуждающую систему R. Это позволит нам рассматривать лишь продукции типа АКВК. Не будем пока учитывать предусловия и условия. Все условия применимости продукций сосредоточим в А, а В будем трактовать как внесение некоторых изменений в базу знаний. Таким образом, как условия активизации продукции, так и результат ее выполнения связаны с информацией, хранящейся в базе знаний. Будем считать также, что интеллектуальная система функционирует в некоторые дискретные моменты времени t. В эти моменты времени в базу знаний из внешнего мира может поступать некоторая информация. В эти же такты времени происходит проверка выполнения условий срабатывания продукций.

    Последнее допущение позволяет ввести понятие состояния базы знаний в момент времени t, которое будем обозначать dt. Одно состояние может смениться другим по двум причинам. В момент t+1 из внешнего мира в базу знаний может прийти новая информация. Или в этот момент времени в базу знаний будет занесена новая информация, возникающая в результате срабатывания некоторой продукции.

    Если в некоторый момент t состояние dt таково, что в нем удовлетворяются условия для некоторого множества продукций, то все они образуют фронт готовых продукций. Основная задача управления состоит в выборе из этого фронта очередной продукции для исполнения.

    Для выбора важен вопрос о влиянии порядка выбора на окончательный результат рассуждений. Если имеются две продукции и ситуация такова, что изменение состояния базы знаний, которое может возникнуть при срабатывании одной из них, сказывается на выполнимости условий срабатывания для другой, то такие продукции естественно назвать зависимыми. Если две продукции независимы, то порядок их выбора из фронта не может сказаться на результате рассуждения. Поэтому интерес представляют лишь зависимые продукции.

    Как осуществлять выбор в этом случае? Для пояснения складывающейся ситуации рассмотрим следующий пример. Только что кончилась лекция, наступил двухчасовой перерыв и группа студентов обсуждает проблему: куда сейчас пойти? В имеющихся условиях есть две альтернативы: пойти в кино (но никто не знает, какая там идет картина) или пойти в кафе-мороженое (но ни у кого нет уверенности, что кафе работает). Ясно лишь одно, что выбор одного варианта исключает выбор другого, так как кино и кафе-мороженое находятся в разных концах города. Убедившись, что кафе не работает, нет надежды успеть в кино, а обнаружив, что в кино ничего интересного не идет, нет надежды поесть мороженое. В условиях, когда никто из студентов не имеет никакой информации о кино и кафе, единственным разумным способом выбора является известное бросание монетки, т.е. случайный выбор. Но если в момент обсуждения появляется их сокурсник, который говорит, что только что был в кино и ушел, не досмотрев скучную картину (тем самым он меняет состояние «баз знаний» остальных студентов), то выбор активизируемой «продукции», соответствующей программе достижения кафе-мороженого, станет однозначным.

    Описанная ситуация является в некотором смысле экстремальной. Один выбор исключает другой. Чаще это не так – после неудачного выбора можно вернуться к альтернативному выбору и попробовать другой вариант. Чтобы так можно было делать в процессах рассуждений, необходимо сохранять состояние базы знаний в момент выбора. Для реализации этого при принятии решения об альтернативном выборе можно, например, запоминать не всю информацию, имеющуюся в данный момент в базе знаний, а только ту ее часть, которая меняется в результате применения продукций из выбранного варианта. Если вариант окажется удачным, то новое состояние базы знаний будет сформировано на основе полученной в ходе проверки варианта информации. Если попытка окажется безрезультатной, то произойдет возвращение к состоянию базы знаний в момент выбора, а информация, полученная в ходе плохого варианта, сотрется из памяти. Практически все системы моделирования рассуждений в интеллектуальных системах используют этот прием, который называется «бэктрекинг».

    Но в любом случае остается проблема выбора продукции из готового фронта. Психологов весьма интересует вопрос, как это делают люди. К сожалению, однозначного ответа на этот вопрос пока нет. При экспериментах с программой «Логик-теоретик» ее авторы проводили сравнение работы программы с тем, как ведут себя в многочисленных возникающих по ходу доказательства случаях альтернативного выбора люди. В частности, последовательность, в которой перечислены различия в формулах, используемая для выбора преобразований в программе «Логик-теоретик», отражает экспериментально наблюдаемые приоритеты, демонстрируемые людьми.

    Отсутствие точных психологических данных о способах выбора продукций из фронта людьми привело к тому, что в интеллектуальных системах стали использовать эвристические соображения, которые могут и не отражать особенности человеческих рассуждений. Так, весьма популярной стратегией выбора является принцип «стопки книг». Этот принцип описывает процедуру наиболее быстрого (в среднем) способа поиска нужной книги в стопке книг. Если каждый раз, использовав некоторую книгу, класть ее в стопку сверху, то часто используемые книги постепенно сосредоточатся в ее верхней части, а внизу будут лежать те, которые почти никогда не требовались. Если при поиске очередной нужной книги начинать просмотр стопки сверху, то она, как правило, встретится довольно скоро. Если продукции во фронте будут упорядочены по частоте их предшествующего успешного использования и активизироваться будет первая продукция этого фронта, то принцип стопки книг будет реализован.

    У этого принципа есть определенный аналог в процедурах работы с информацией у человека. Если потребовать от испытуемых «не задумываться», говорить первое, что «приходит в голову», то на просьбу «Назовите поэта XIX века», как правило, будет дан ответ «Пушкин», а на просьбу «Назовите плодовое дерево» в подавляющем большинстве случаев ответ «Яблоня». Это, конечно, справедливо для испытуемых, живущих в средней полосе СССР. В других местах и социо-культурах возникнут свои приоритетные ответы. Человек как бы всегда имеет наготове, «на языке», подходящие отклики на часто встречающиеся ситуации.

    Другой эвристический прием, заставляющий вспомнить герменевтические рассуждения, состоит в проверке в первую очередь продукции с самым длинным условием А. Такой прием обосновывается принципом «частное важнее общего» или «исключение важнее правил».

    Но такие априорные внешние способы задания продукций, выбираемых из фронта, не всегда оправданы. В большинстве случаев тот или иной выбор зависит от текущего состояния базы знаний dt и того реального набора продукций, который образует в этот момент времени фронт. Для описания выбора при таких условиях в интеллектуальных системах часто используют так называемые метапродукции. Они вводятся в систему продукций специально для того, чтобы осуществлять приоритетный выбор тех или иных продукций из фронта в зависимости от предыстории развития процесса рассуждений, состава фронта и состояния базы знаний. Вот пример такой метапродукции, используемой в американской экспертной системе MYCIN – TEIRESIAS, диагностирующей инфекционные заболевания.

    Мы специально не расшифровываем латинские термины, так как они совершенно не мешают понять суть работы метапродукции в данной экспертной системе.

    Довольно часто возможность применения той или иной продукции зависит не только от того, какие именно продукции входят во фронт (как в только что приведенном примере метапродукции), но и от того, какие продукции в этот фронт не вошли. Другими словами, влияние может оказывать как «положительный», так и «отрицательный» контекст, в котором происходит выбор продукции из фронта готовых продукций.

    Когда имеется выбор из нескольких продукций, то их можно выполнять последовательно, альтернативно или параллельно. Если считать, что в период реализации продукций из фронта время как бы останавливается (т.е. сохраняется неизменной база знаний со своим состоянием di), а влияния действий продукций друг на друга нейтрализуются тем, что все они работают в автономных участках памяти, не искажая информации в базе знаний, то порядок их выполнения роли не играет. Лишь после реализации всех продукций надо выбрать те из них, которые сформируют новый фронт (с учетом их возможного взаимодействия). Однако и эта задача оказывается весьма непростой и требует каких-то эвристических соображений.

    Другой проблемой управления реализацией системы продукций является поиск наиболее эффективных способов проверки выполнения условий А в множестве продукций на текущем состоянии базы знаний di. При большой базе знаний эта переборная процедура весьма неэффективна. Каков аналог данного процесса у человека?

    У психологов бытует термин «поле активного внимания». В это поле попадает та часть хранимой в памяти человека информации, которая обусловливает его текущие размышления или рассуждения. Как бы лучом прожектора эта информация выхватывается из огромного хранилища всевозможных знаний. Поле активного внимания скользит по памяти, не всегда подчиняясь нашему желанию. Как порой мучительно трудно выудить нужную информацию (например, вспомнить фамилию человека, лицо которого вам явно знакомо), как, отчаявшись, мы перестаем об этом думать, а оно «само, без видимых усилий» как бы всплывает из темных, неосвещенных глубин памяти.

    Нечто аналогичное применяют специалисты в области баз знаний, вводя механизм окна активизации знаний. С помощью этого «окна» активизируются определенные фрагменты базы знаний. Эти фрагменты используются для проверки условий в продукциях. Для вычленения фрагментов удобно воспользоваться условиями Р, активизирующими ту область продукционной системы, которая оказывается тесно связанной с фрагментом знаний, попавшим в окно активизации знаний. Постусловия позволяют управлять перемещением окна по полю памяти, а также его размерами. Управлять «окном» могут и специальные метапродукции, подобные тем, которые используются для приоритетного выбора из фронта готовых продукций.

    Мы рассматривали до сих пор лишь такие продукции, в которых В обязательно следовало при активизации продукции. Однако весьма часто продукции приходится использовать в условиях правдоподобного вывода. Собственно говоря, правдоподобные схемы рассуждений из четвертой главы уже демонстрируют продукции такого сорта. Тем не менее, приведем еще один пример, взяв его из уже упоминавшейся экспертной системы MYCIN. Поскольку в ряде случаев система не может выдать рекомендацию со стопроцентной уверенностью, то она выдает ее с оценкой правдоподобности, о которой мы говорили в предшествующей главе.

    При работе с правдоподобными продукциями применяются приемы, аналогичные описанным в четвертой главе. Вместо числового значения оценки правдоподобия в таких продукциях могут встречаться нечеткие квантификаторы, как в D-силлогизмах.

    Кроме обычных приемов вывода (как достоверного, так и правдоподобного) для систем продукций могут использоваться и иные способы получения результатов рассуждений. Один из них – это получающий в последнее время распространение вывод на семантической сети.

    Вывод на семантической сети

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

    Прибегнем, как всегда, к наглядному примеру. Известный роман Э. Хемингуэя «Острова в океане» начинается так:

    «Дом был построен на самом высоком месте узкой косы между гаванью и открытым морем. Построен он был прочно, как корабль, и выдержал три урагана. Его защищали от солнца высокие кокосовые пальмы, пригнутые пассатами, а с океанской стороны крутой спуск вел прямо от двери к белому песчаному пляжу, который омывался Гольфстримом».

    Попробуем отобразить информацию, содержащуюся в этом отрывке, в виде семантической сети. Введем систему понятий, которым для удобства присвоим имена по первым буквам соответствующего слова текста: Д – дом, СВМ – самое высокое место, К – коса, Г – гавань, ОМ – открытое море, КП – кокосовые пальмы, С – солнце, КС – крутой спуск, ДВ – дверь, П – пляж, Г – Гольфстрим. Теперь будем постепенно строить семантическую сеть, вводя нужные отношения и описания. На рис. 33, а показан фрагмент семантической сети, соответствующей первым двум фразам текста. Отношение R1 есть тернарное отношение «быть между». Двойная дужка на нашем рисунке объединяет между собой обе части этого соотношения. «Узкая» входит в описание понятия «коса». Отношение R2 есть отношение «принадлежать». Таким образом фиксируется тот факт, что СВМ принадлежит «косе». Отношение R3 интерпретируется как «находиться на», а текст около вершины, соответствующей понятию «дом», принадлежит описанию этой вершины. На рис. 33, б показан фрагмент сети, соответствующий остальной части текста. Отношения, использованные здесь, интерпретируются следующим образом: R4 – «защищать от», R5 – «соединять», R6 – «омывать». Полное описание текста в виде семантической сети получится, если в построенных двух фрагментах объединить вершины, соответствующие понятию «дом».


    Рис. 33.



    При переходе имеется определенный произвол в представлении текста, касающийся формирования описаний. Те или иные сведения можно отражать прямо в структуре сети, а можно и в описаниях. Например, в нашем случае не было введено понятие «ураган» или понятие «пассат». Сведения о них содержатся в описаниях. Но можно было бы ввести для них специальные вершины и отразить эти понятия в структуре семантической сети.

    В зависимости от того, какую смысловую нагрузку несут отношения в семантической сети, их можно классифицировать по различным типам. Если они, например, отражают каузальные отношения, то мы имеем дело с семантическими сетями, называемыми сценариями, а если эти отношения отражают связи по включению (родовидовые, отношения «состоять из», отношения «элемент-класс» и т.п.), то такие семантические сети будут задавать классификации. Если же, наконец, интерпретация отношений в сети такова, что они связывают между собой аргументы и значения функции, вычисляемые при задании значений аргументов, то такие семантические сети принято называть вычислительными моделями. В последнем разделе третьей главы мы также говорили о семантических сетях, выделив из них тот класс сетей, который связан с задачей вывода. Именно о таких сетях и будем говорить далее, а интересующихся аппаратом семантических сетей в более широком объеме отсылаем к источникам, которые указаны в комментарии к последнему разделу третьей главы.

    Вывод на семантической сети можно представить в продукционной системе, в которой каждая продукция имеет вид Fr1Fr2. Слева и справа в этой продукции стоят фрагменты семантической сети. В зависимости от типа продукции она может описывать изменения в базе знаний или результаты промежуточных шагов вывода в решателе. Но нас эти тонкости интересовать сейчас не будут, так как наша цель – описание самой процедуры вывода на семантической сети. В базах знаний реализация продукции Fr1Fr2 обычно называется процедурой поиска по образцу. В качестве образца при поиске выступает фрагмент Fr1. В зависимости от типа продукции ее выполнение может быть различным. Например, если в базе знаний найден фрагмент Fr1, то он удаляется из базы и в нее добавляется новый фрагмент Fr2. Или если в базе знаний обнаружен фрагмент Fr1, то в решателе утверждению, описываемому фрагментом Fr2, приписывается значение «истина». Возможны и иные варианты. Пусть для определенности тип продукции таков, что она описывает поиск в базе знаний некоторого фрагмента Fr1 и при обнаружении его исключает соответствующую информацию из базы, добавляя в нее информацию, описанную в Fr2.


    Рис. 34.



    На рис. 34 показана такая продукция. Знак вопроса означает, что в качестве имени вершины может выступать любое из тех, которые имеются в базе знаний. Но если знак вопроса заменен какой-то вершиной, то в правой части продукции появляется такое же имя. Исходное состояние базы знаний показано на рис. 35, а. Для облегчения дальнейших рассуждений будем считать, что вершины семантической сети соответствуют некоторым персонажам, отношение R1 имеет смысл «быть отцом», отношение R2 – «быть матерью», а отношение R3 – «носить фамилию». Тогда продукция, показанная на рис. 34, может интерпретироваться следующим образом: «Если в базе знаний есть сведения о детях, для которых D является отцом, а К – матерью, то эту информацию из базы надо убрать, добавив в нее информацию о том, что все эти дети носят фамилию М».


    Рис. 35.



    Обработка продукции идет следующим образом. В семантической сети, показанной на рис. 35, а, ищутся вершины с именами D1 и К. Если таких вершин (или одной из них) в базе нет, то поиск прекращается и выдается сигнал о неудаче поиска. Если вершины найдены, то из вершины D возбуждаются все отношения с именем R1, а из вершины К – все отношения с именем R2. Так возникают две волны возбуждения. Первая волна возбуждает вершины С, F, G и H, а вторая – вершины F, G, Н и I. Волны встречаются лишь в вершинах F, G и H. В вершинах C и I возбуждение угасает. На замещение знака «?» в продукции претендуют вершины с именами F, G и H. Эти же имена возникают в правой стороне продукции. На рис. 35, б показано результирующее состояние базы знаний после того, как продукция завершила свою работу.

    В более сложно организованных образцах для поиска могут присутствовать условия применимости продукций, о которых говорилось при обсуждении общей формы продукции. Например, образец мог бы иметь вид «Если имеет место Fr1, то Fr2, иначе Fr3». Образцы такого типа задают альтернативные выводы в базах знаний. О них упоминалось в конце третьей главы.

    Если при выводе на семантической сети фрагмент Fr2 добавляется в базу знаний без выбрасывания Fr1, то говорят о процедурах пополнения знаний. Человек в своей жизнедеятельности часто выполняет подобные процедуры, используя те знания о закономерностях внешнего мира, которые ему известны. Если, например, имеется текст «Поезд подошел к перрону. Через несколько минут Андрей уже обнимал Татьяну. Такси быстро домчало их до дома, и Татьяна почувствовала, что длительное путешествие ушло в прошлое», то человеку весьма нетрудно пополнить его событиями, которые в явном виде в этом тексте отсутствуют. Ясно, например, что между событием, описанным в первом предложении, и тем, которое зафиксировано как второе, имеется пропуск. Второе событие произойдет, если Андрей и Татьяна окажутся в одном месте. Один из них должен был войти в вагон или другой – выйти из вагона. (При чтении текста последовательно пока неясно, кто приехал и кто ожидал на перроне.) Поэтому восстановление пропущенных событий напоминает вывод с некоторыми оценками правдоподобия. Третье событие, зафиксированное в тексте, не может непосредственно следовать за вторым. Для его реализации надо, чтобы Андрей и Татьяна сели в такси, а если предположить, что Андрей обнимал Татьяну на перроне (что весьма правдоподобно), то надо было еще дойти до места посадки в такси. Наконец, четвертое событие, связанное с ощущением, охватившим Татьяну, увеличивает правдоподобность того, что из путешествия вернулась именно Татьяна, а не Андрей (хотя стопроцентно этого утверждать на основании текста нельзя). Кроме того, либо время четвертого события совпадает с временем третьего события, либо четвертое событие происходит позже третьего, когда Татьяна уже вышла из такси, а возможно, и вошла в свой дом.

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

    Но самое главное – этот альтернативный выбор может оказаться источником всевозможных неверных выводов при дальнейшей работе с базой знаний.

    Остановимся лишь на одном случае такой опасности, который среди специалистов по интеллектуальным системам получил название эффекта немонотонных рассуждений. Поясним его на популярном примере. До того, как европейцы узнали, что в Таиланде водятся белые слоны (так называемые королевские слоны), они были уверены, что все слоны серые. Это означало, что в модели знаний о слонах имел место фрагмент, показанный на рис. 36, а. В этом фрагменте R есть отношение, a Q – отношение «быть серого цвета». Если Тони – имя некоторого конкретного слона, то из информации, отраженной в данном фрагменте знаний, следует, что «Тони имеет серый цвет». Но при условии, что слон Клайд является королевским, для него такой вывод будет неверным. Это означает, что при появлении нового знания о том, что «Клайд – королевский слон», ранее сделанный относительно него вывод «Клайд имеет серый цвет» становится ложным. В этом и состоит немонотонность вывода.


    Рис. 36.



    В обычной логике вывод всегда бывает монотонным. Если из множества утверждений {Fi} следует утверждение F*, то как бы ни расширилось множество {Fi}, истинность утверждения F* не может измениться. А у нас имеется прямо противоположная ситуация. Появление нового утверждения «Клайд – королевский слон» отменяет истинность утверждения «Клайд имеет серый цвет».

    На рис. 36, б показана семантическая сеть, в которой учтен новый факт, касающийся королевских слонов. Дуга R соответствует отношению «не принадлежит к классу», а дуга Q’ – отношению «быть белого цвета».

    Возможность неоднозначного доопределения сетей, хранящихся в памяти, приводит к тому, что после доопределения выводиться могут различные утверждения, зависящие от сделанного пополнения. Поэтому проблема пополнения непроста. Поэтому переход к построению выводов, опирающихся на знания (а именно они активно используются в современных интеллектуальных системах), вызывает к жизни многие новые и не совсем привычные для традиционных логиков проблемы.

    Спрашивай – Отвечаем

    Одним из нетрадиционных видов человеческих рассуждений (нетрадиционных для классической логики, а не для человека) является поиск ответа на вопрос. Развитие баз знаний стимулировало интерес к тому, как могут формулироваться запросы к хранящейся в них информации и как могут формироваться ответы на эти вопросы. Другими словами, внимание логиков стали привлекать процедуры построения вопросно-ответных отношений.

    Давно известно, что правильно сформулированный вопрос во многом содержит в себе информацию о возможном ответе на него. Но остается неясным, что значит «правильно сформулированный». В рассказе известного американского писателя-фантаста Р. Шекли «Верный вопрос» эта проблема находится в центре внимания. В рассказе говорится о поставленном в глубинах Космоса универсальном Ответчике, созданном некоторой сверхцивилизацией. Ответчик способен дать исчерпывающий ответ на любой вопрос, если он сформулирован правильно. Но оказывается, что этого никто из людей не может сделать. Все живые существа живут в мирах, которые состоят из частностей. Поясняя этот факт очередному претенденту на получение ответа, Ответчик говорит: «Положим, ты спрашиваешь: „Почему я родился под созвездием Скорпиона при проходе через Сатурн?“. „Я не сумею ответить на твой вопрос в терминах зодиака, потому что зодиак тут совершенно не при чём“». И постепенно автор рассказа приводит читателя к мысли о том, что в условиях работы Ответчика есть явный парадокс: правильно поставить вопрос можно только тогда, когда ответ на него известен.

    Существует несколько типов вопросов, которые мы часто задаем другим людям или самим себе. Специалисты до сих пор не пришли к единому мнению о классификации всех возможных вопросов. Условно их пока делят на шесть типов в зависимости от того, какие процедуры требуются при ответе на них.

    1. ЧТО-вопросы. Это вопросы типа «Что ты знаешь о сотруднике Иванове?» или «Сообщи все, что тебе известно о малярии». ЧТО-вопросы для ответа на них требуют просмотра базы знаний и извлечения из нее всей информации, относящейся к тому, о чем спрашивается в вопросе. При реализации такой процедуры возникает немало сложностей. Информация в базе знаний хранится так, что между информационными единицами имеется немало разнообразных связей. Эту ситуацию мы описали, когда говорили о семантических сетях. «Вытаскивая» ответ на ЧТО-вопрос, надо решить проблему остановки, прекращения движения по связям. Надо уметь определять релевантное окружение той информации, которая является прямым ответом на поставленный вопрос.

    2. ЛИ-вопросы. Такие вопросы подразумевают конечное множество альтернативных ответов при условии, что сами ответы как бы присутствуют в вопросе. Вот примеры ЛИ-вопросов: «Петя ходит в школу или он еще дошкольник?», «Что мы будем делать после обеда: отдыхать, гулять или работать в саду?», «Перестала Маша по утрам ходить на музыку?».

    Для формирования ответов на ЛИ-вопросы необходима процедура проверки истинности альтернатив, перечисленных в них, и выбора той альтернативы, которая является истинной. Конечно, в базе знаний может не оказаться нужных данных. Это приводит к тому, что в качестве ответа на ЛИ-вопрос может быть выдано: «Не знаю» или «Не имею необходимой информации».

    Возможен и другой крайний случай (к сожалению, весьма часто встречающийся в больших информационных системах), когда возникает известная позиция Ходжы Насреддина в разрешении спора двух сторонников взаимно исключающих альтернатив. Выслушав первого, он сказал: «Ты прав», выслушав второго он снова сказал: «Ты прав», а на замечание прохожего, что так быть не может, Насреддин сказал и ему: «Ты прав». При заполнении баз знаний (особенно из различных источников) в них одновременно могут храниться взаимоисключающие факты. При обнаружении такого положения ответ на ЛИ-вопрос должен звучать примерно так: «Однозначного ответа дать не могу, верно и одно и другое».

    3. КАКОЙ-вопросы. Эти вопросы похожи на ЛИ-вопросы, но отличаются от них тем, что либо множество альтернатив является бесконечным, либо определяется не по самому вопросу, а требует выполнения специальных процедур по его нахождению. Типичными примерами КАКОЙ-вопросов могут служить: «Какие сотрудники института имеют детей в возрасте до пяти лет?» или «Какие следствия могут возникнуть из того, что министром обороны станет Д. Смит?». Ответ на первый из приведенных вопросов требует специального просмотра содержимого памяти системы, использующего атрибут «наличие детей до пяти лет». Такой поиск характерен для современных реляционных баз данных. Поэтому в литературе подобные КАКОЙ-вопросы часто называют типовыми запросами к реляционным базам данных или просто реляционными вопросами.

    Ответ на второй КАКОЙ-вопрос требует не только поиска, но и процедуры логического вывода следствий из того, что в множество истинных формул в качестве посылки включается новая формула, связанная с утверждением о том, что Д. Смит является министром обороны. Как и для ЛИ-вопросов, в этом случае возможно незнание ответа или неоднозначность его. КАКОЙ-вопросы второго типа есть вопросы о следствиях из принятия некоторого факта в базу знаний, что принципиально отличает их от КАКОЙ-вопросы первого типа.

    4. ПОЧЕМУ-вопросы. Вопросы подобного типа есть вопросы о причинах явлений или фактов, перечисленных в вопросе. Ответы на них требуют использования каузальных логик, о которых мы уже упоминали ранее, т.е. обращения к причинно-следственным и иным каузальным связям, отраженным в базе знаний. После этого моделируется рассуждение, схема которого и есть ответ на ПОЧЕМУ-вопрос.

    5. ЗАЧЕМ-вопросы. Это вопросы о целях. Ответ на них внешне похож на поиск ответа на ПОЧЕМУ-вопросы, но вместо каузальных связей в базе знаний используются связи типа «цель – средство» или «цель – подцель». Ответом служит найденный путь, ведущий от текущей ситуации к целевой или целевым. При невозможности найти соответствующий путь при ответах на ПОЧЕМУ-вопрос или ЗАЧЕМ-вопрос в качестве ответа может формироваться: «Не знаю» или «Отсутствует информация для ответа».

    6. КАК-вопросы. Эти вопросы предполагают, что в качестве ответа на них будут выданы пояснения о способах получения системой тех или иных результатов. Если, например, КАК-вопрос касается того, как получен тот или иной логический вывод, то в качестве ответа на него можно воспроизвести этот вывод или наиболее важные его части. Для этого удобно хранить в памяти системы «треки» ранее полученных выводов, пока вопрос типа КАК остается актуальным.

    Из приведенной типологии вопросов видно, что ответы на многие из них могут трактоваться как объяснения. Проблема объяснения в современных интеллектуальных системах стала одной из центральных. Мы уже говорили о том, что она обязательно должна иметь решение в экспертных системах. Пользователь такой системы должен быть уверен, что совет, данный интеллектуальной системой, действительно верен и получен из исходных данных с учетом всей информации о задаче, имеющейся у пользователя.

    В более широком смысле от интеллектуальной системы требуется не просто объяснение, а, скорее, обоснование того результата, который получен системой. Уверенность в правильности некоторого ответа у специалиста часто сочетается с неумением обосновать его строго логически. Один из специалистов археологов по этому поводу пишет: «Если опытному археологу показать обработанный камень или черепок глиняного сосуда, он довольно уверенно скажет, к какой эпохе или даже к какой культуре относится показанный предмет. Но если его спросить, каким образом он пришел к этому выводу, какова цепочка рассуждений, приведших его к ответу, то этот вопрос окажется для него более сложным, чем первый, поскольку подобные заключения, как правило, основаны на опыте и интуиции исследователя, а проверкой и обоснованием наших интуитивных заключений мы утруждаем себя не очень часто».

    Мы пришли к весьма важному моменту, когда становится очевидным, что в человеческих рассуждениях, выводах и методах обоснования появляется новый компонент, связанный с опытом и интуицией, еще не вылившимися в форму осознанных логических утверждений. В широком смысле обоснование некоторого факта или утверждения должно включать в себя наряду с его логической аргументацией и компонент, опирающийся на психологическую уверенность человека в справедливости или истинности тех или иных положений. Здесь теория человеческих рассуждений смыкается с психологией поведения людей. И именно об этом пойдет речь в последней главе книги.








    Главная | В избранное | Наш E-MAIL | Прислать материал | Нашёл ошибку | Наверх