Рис. 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* – одно из преобразований, то запись i
F* соответствует утверждению, что при наличии различия
i можно применить преобразование
F*.
Два последних примера показывают, что продукциями являются не только те выражения, которые имеют форму «Если…, то…», но и многие другие выражения. К ним, по сути, сводятся все каузальные, т.е. причинно-cледственные утверждения, подобные тем, которые мы обсуждали в предшествующей главе. К ним же относятся и любые схемы вывода типа «посылки – следствие». Замкнутые системы правил типа законов короля Павзолия, описанных в романе Пьера Луиса «Приключения короля Павзолия»[9], также могут рассматриваться как особая форма продукций. Даже такие утверждения, как знаменитое «Если звезды зажигают, значит, это кому-то нужно» (В. Маяковский), можно рассматривать как продукцию.
Продукционные системы получили при представлении знаний в последнее время наибольшее распространение. Поэтому посвятим им специальный раздел нашей книги.
Продукционные системы
Анализ структур ЭВМ пятого поколения, роботов автономного типа и экспертных систем приводит к обобщенной структуре, показанной на рис. 32. Эта схема при условии, что система R представляет собой продукционную систему, может послужить основой для классификации типов продукций. На ней показано взаимодействие «рассуждающей» системы с внешним миром и базой знаний, из которой рассуждающая система может черпать накопленную ранее информацию о закономерностях этого мира и его состояниях. Из внешнего мира в рассуждающую систему приходит сиюминутная, текущая информация о наблюдаемых в этом мире фактах и явлениях. А из базы знаний поступает информация, имеющая более фундаментальное значение. Она может описывать законы внешнего мира, правила действий в нем, целевые структуры или ожидаемые отклики внешнего мира на те или иные воздействия на него. В памяти рассуждающей системы хранится текущая информация, связанная с ходом рассуждений. Со временем она либо исчезает, либо передается для хранения в базу знаний. Последнее происходит лишь в том случае, когда в процессе рассуждений появилась информация, которая может оказаться полезной для рассуждающей системы в будущем.
Рис. 32.
Теперь приступим к классификации продукций.
1. Продукции типа AW
BR. В левой части продукции стоит информация, поступившая из внешнего мира, а в правой – сведения о вытекающих из этой информации изменениях в рассуждающей системе. Эти изменения сказываются на ходе рассуждений. Например, рассуждая утром о выборе места воскресного отдыха, вы вдруг слышите по радио сообщение о том, что в середине дня ожидается сильная гроза. Это сообщение и есть
AW. В ответ на него может измениться весь ход ваших рассуждений о планах отдыха. Сразу же будут отброшены варианты, связанные с пребыванием за городом на открытом воздухе, а другие варианты приобретут куда больший вес. Это изменение предпочтительности вариантов отдыха характеризуется правой частью продукции
BR. Сама продукция для данного случая могла бы выглядеть, например, следующим образом: «Если на улице идет дождь или гроза или они ожидаются в течение дня, то вместо прогулки лучше пойти в музей или кино».