Дмитрий Поспелов - Моделирование рассуждений. Опыт анализа мыслительных актов
Завершим раздел еще тремя схемами рассуждений, в которых учитывается возможная взаимосвязь А и В, а также некоторые соображения из рассуждений по аналогии.
Каждый, кого интересуют схемы правдоподобных рассуждений, может без труда увеличить нашу коллекцию, например, заимствовав их из книги Д. Пойи, приведенной в списке литературы. Нам же необходимо двигаться дальше к тем человеческим схемам рассуждений, в которых активно используются знания, хранящиеся в его памяти, т.е. к рассуждениям, на которые опирается интеллектуальная деятельность человека и ее моделирование в современных интеллектуальных системах.
Глава пятая. ВЫВОД В БАЗЕ ЗНАНИЙ
Приходится порой простые мысли
доказывать всерьез, как теоремы.
Что такое интеллектуальная система
Проблема моделирования человеческих рассуждений стала чрезвычайно актуальной в конце 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 из базы. Выпишем первый тип продукций для описания химических реакций.