Text
                    к- системы:
КОНЦЕПЦИИ И ПРИМЕРЫ


ЭКСПЕРТНЫЕ системы: КОНЦЕПЦИИ И ПРИМЕРЫ
EXPERT SYSTEMS CONCEPTS AND EXAMPLES J.L. Alty and M. J. Coombs PUBLISHED BY NCC PUBLICATIONS
ДЖ. ЭЛИЛ м. КУМБС ЭКСПЕРТНЫЕ системы: КОНЦЕПЦИИ И ПРИМЕРЫ Перевод с английского Б.И. ШИТИКОВА МОСКВА "ФИНАНСЫ И СТАТИСТИКА" 1987
ББК 32Л73 Э5’ Элти Дж., Кумбс М. Э51 Экспертные системы: концепции и примеры/Пер. с англ, и прецисл. Б. И. Шитикова.— М.: Финансы и статистика, 1987.—191 с.: ил. В книге английских авторов излагаются методологические основы построения экспертных систем. Приведена их классификация. На примерах реальных систем дается представление о различных подходах к построению баз знаний. Описываются стратегии поиска решений и методы редукции пространства поиска. Для специалистов в области информатики и искусственного интеллекта, студентов и аспирантов вузов. 2405000000—029 Э 121—87 010(01)—87 ББК 32.973 @ The National Computing Centre Limited, 1984 © Перевод на русский язык, предисловие, «Финансы и статистика», 1987
Предисловие к русскому изданию Советскому читателю предлагается перевод книги со¬ трудников Стратклайдского университета (Великобрита¬ ния) профессора Дж. Элти и М. Кумбса «Экспертные системы: концепции и примеры». Словосочетание «эксперт¬ ные системы» за 3—4 последних года приобрело такую же популярность, какую в свое время имели «вычислительные сети» и «базы данных». Все началось с сообщения япон¬ ского Комитета JIPDEC о программе создания ЭВМ пя¬ того поколения, где основное внимание уделяется разви¬ тию «интеллектуальных способностей» компьютеров с тем, чтобы они могли оперировать не только данными, но и знаниями, как это делают специалисты (эксперты) при выработке умозаключений. Результаты многолетних ис¬ следований в области искусственного интеллекта (ИИ), посвященных разработке общих методов решения задач1 и получения логических выводов, нашли практическое при¬ менение в диагностических и консультационных системах, называемых экспертными системами. Идея создания первых экспертных систем (DEND- RAL — для реконструкции сложных органических молекул по результатам спектрального анализа, MYCIN — для диагностики инфекционных заболеваний, PROSPEC¬ TOR — для прогнозирования залежей полезных ископа¬ емых) возникла более 20 лет назад. Однако только в последнее время специалисты пришли к выводу, что системы на основе знаний необходимы во многих сферах человеческой деятельности, и область применения таких систем стала быстро расширяться. Соответственно возро¬ сла и доля научных работ, посвященных этому направ¬ лению. Так, например, четверть работ, опубликованных в сборниках трудов одной из последних Международных 1 Термин «задача» здесь и в тексте перевода! книги употреб¬ ляется в самом общем значении. 5
конференций по искусственному интеллекту, имеет прямое отношение к экспертным системам. Другую подобную конференцию предлагалось провести под девизом «А есть ли еще что-нибудь в ИИ, кроме экспертных систем?». Приобретенная экспертными системами популярность объясняется их способностью воспринимать знания от человека — эксперта в определенной предметной области и обеспечивать доступ к ним, без чего становится трудно обойтись при принятии решений в сложных ситуа¬ циях, например при диагностике заболеваний, проектиро¬ вании микросхем, управлении сложными объектами (энергосистемами, атомными электростанциями и т. п.), идентификации неисправностей в электронных схемах, при решении задач оптимального размещения финансовых средств. В связи с этим, естественно, возникает вопрос: чем же отличаются экспертные системы от автоматизи¬ рованных систем управления (АСУ), систем автоматиза¬ ции проектирования (САПР) и информационно-поисковых систем (ИПС)? Группа по экспертным системам при Комитете British Computer Society определила экспертную систему как «воплощение в ЭВМ компоненты опыта эксперта, осно¬ ванной на знании, в такой форме, что машина может дать интеллектуальный совет или принять интеллектуаль¬ ное решение относительно обрабатываемой функции. Желательно дополнительное свойство (которое многие считают главным) — способность системы по требованию объяснять ход своих рассуждений понятным для поль¬ зователя образом. Обеспечиваются эти свойства в резуль¬ тате программирования, основанного на формальных пра¬ вилах». Знания в виде набора фактов (предметное знание) и эвристических приемов (их можно назвать эмпирическими правилами) вводятся в ЭВМ. Программа применяет эти эвристические приемы для выработки решений, и ход рассуждений системы может быть раскрыт пользователю с тем, чтобы показать, как она пришла к конкретному выводу. Предметное знание — это совокупность сведений о ка¬ чественных и количественных характеристиках конкретных объектов. С этой категорией знаний принято связывать термины «информация» и «данные». До настоящего вре¬ мени вычислительные машины в основном оперировали данными. Современная форма накопления предметного знания представляется как база данных, отображающая ситуационную модель релевантной сферы, т. е. профес- 6
сионалыюн сферы, для которой предназначена конкретная экспертная система. Экспертные системы оперируют не только данными, но и понятийными, концептуальными знаниями, выраженными на естественном языке в терми¬ нах предметной области, знаниями относительно стоящих за этими терминами классов объектов и их отношений. Способность экспертных систем в ответ на запрос поль¬ зователя, выраженный в терминах предметной области, строить логические. выводы, на их основе делать обоб¬ щения и заключения, вызывать ассоциации — одна из главных их особенностей. Понятийные знания выражаются в виде правил формальной логики. В системах. ИИ, в том числе и экспертных системах, формой отображения понятийных знаний служат базы знаний, а сами понятийные знания называются просто знаниями. Правила, содержащиеся в базе знаний, экви¬ валентны некоторой прикладной программе и могут быть различными по своему формату. Наиболее употребителен формат правила продукции «ЕСЛИ (условие) ТО (действие)» причем компонента «ТО» может представлять вы¬ воды, утверждения, вероятности, указания, т. е. измене¬ ния содержимого базы данных. Связанное с правилом условие определяет, является ли то или иное правило потенциально справедливым по отношению к текущему состоянию ситуационной модели, т. е. к текущему содер¬ жимому базы данных. Правило продукции разрешает про¬ изводить действие, если все заданные для него условия удовлетворяются. Наряду с базой данных и базой знаний неотъемлемым элементом экспертных систем является некоторая управ¬ ляющая структура. Управляющая структура определяет, какое из правил должно быть проверено следующим, и поэтому ее часто называют интерпретатором правил. Поскольку экспертные системы представляют собой в основном программный продукт, программы для них до последнего времени писали с помощью традиционных языков программирования: наиболее широко применялся язык Лисп. Сейчас большое внимание уделяется языку Пролог, который был выбран в качестве языка-ядра для ЭВМ пятого поколения. Такие языки, как Пролог, не предназначены для обработки числовых величин, а служат Для выражения отношений, благодаря чему они в наиболь¬ шей степени подходят для программной реализации механизмов получения вывода, широко используемых в 7
экспертных системах для манипулирования знаниями. В языке Пролог не существует различия между инфор¬ мацией в виде фактов (скажем, элементов данных) и правилом — оператором программы. И то и другое может храниться в общей базе данных и выбираться из нее по мере необходимости. Совершенствование языковых средств продолжается, появляются диалекты существующих языков и ведутся разработки новых. Этот процесс затрагивает и .все эле¬ менты экспертных систем, особенно в связи с расширением сферы их применения. Можно с уверенностью сказать, что системы автоматизации, такие, как АСУ, САПР и ИПС, со временем будут обладать всеми свойствами экспертных систем, т. е. фактически превратятся в экс¬ пертные системы. Такое превращение уже началось, и в связи с этим возникла необходимость в освоении методов ИИ специалистами по информатике. Книга Дж. Элти и М. Кумбса «Экспертные системы: концепции и примеры» написана с целью удовлетворить запросы в первую очередь указанной категории специали¬ стов. Работа состоит из двух частей. В части I «Основные концепции» авторы знакомят читателя с проблемами, возникающими при попытке применения традиционных средств обработки информации для решения задачи представления знаний и реализации управляющей струк¬ туры. В ней показано также, как разработанные спе¬ циалистами в области искусственного интеллекта методы формализации логического вывода облегчают решение поставленной задачи. Большое внимание уделяется исчис¬ лению предикатов, позволяющему при заданном наборе фактов и правил логически выводить новые факты и пра¬ вила. При этом авторы отмечают ограниченность ме¬ тодов формальной логики, что может привести, в част¬ ности, к возникновению так называемого «комбинатор¬ ного взрыва», когда при выборе пути поиска решения число возможных комбинаций оказывается чрезвычайно большим. Заключительный раздел части I посвящен во¬ просам, связанным с созданием систем, основанных на знаниях экспертов в конкретной предметной области. В нем обсуждаются также такие формы представления знаний, как семантические сети и фреймы. Здесь же дается крат¬ кое описание языка Лисп и демонстрируются его воз¬ можности при разработке программ, реализующих ука¬ занные выше формы представления знаний. В части II «Примеры экспертных систем» приведены 8
классификация и описание ряда существующих эксперт¬ ных систем. Авторы знакомят с организацией представ¬ ления знаний и принципами действия управляющих структур. Рассматриваются проблемы реализации на ЭВМ процесса обработки выражений предикатной логики с при¬ менением языка Пролог, а также пути дальнейшего совершенствования экспертных систем. Одно из направлений совершенствования экспертных систем связано с применением так называемых глубинных знаний, включающих модели функциональных и каузаль¬ ных отношений, которые лежат в основе решаемой задачи; организация решения задач предполагается на базе этих моделей, а не на эмпирических ассоциациях. Такой путь позволяет сократить пространство поиска за счет выбора модели, наиболее адекватной классу решаемой задачи. Дж. Элти и М. Кумбс отмечают, что в настоящее время расширяются концепции экспертных систем, поскольку эти системы начинают применяться для критической оценки и корректировки суждений и действий пользователя. Систе¬ ма повторяет все действия пользователя и блокирует их, как только обнаруживает расхождение сопоставляемых процессов. Такая способность системы имеет большое зна¬ чение в связи с тем, что человеку приходится все чаще иметь дело с управлением очень сложными объектами и ему требуется квалифицированный помощник в оценке воз¬ можных решений, особенно в экстремальных ситуациях. Авторы не претендуют на детальный анализ всех затро¬ нутых в книге вопросов. Они ограничиваются в основном описанием подходов к решению главных проблем, свя¬ занных с созданием экспертных систем. Многочисленные примеры, незамысловатые по своей сути, служат хорошей иллюстрацией обсуждаемых подходов к представлению знаний и выбору управляющих структур. Для более глубокого изучения затронутых в книге тем читателю предлагается список соответствующей литературы. Книга Дж. Элти и М. Кумбса «Экспертные системы: концепции и примеры» заинтересует широкий круг спе¬ циалистов — как разработчиков, так и заказчиков экс¬ пертных систем. Кандидат технических наук Б. И. ШИТИКОВ
Предисловие Назначение этой книги — заполнить пробел в литера¬ туре по экспертным системам. Существующая литера¬ тура предназначена в основном для научных работников. Это обычно сборники статей, посвященные вопросам, которые имеют преходящий интерес для. специалистов в узких областях исследований. И хотя такие статьи представляют значительную ценность для научных ра¬ ботников, они, как правило, не содержат вводного мате¬ риала, необходимого для тех, кто собирается применять экспертные системы, но не знаком с работами в области искусственного интеллекта и других смежных отраслях. Предлагаемая книга ориентирована на специалистов по вычислительной технике (или студентов, изучающих информатику), которые нуждаются в детальном обзоре, дающем возможность получить представление о существе проблем. Статьи же, посвященные частным вопросам, могут увести читателя в сторону от главной цели. Изложение материала в книге отличается, от принятого в научной литературе. В тексте нет библиографических ссылок, поскольку мы стремились обеспечить непрерыв¬ ность и последовательность анализа концепций, связанных с экспертными системами и их применением. Перечень литературы приведен в конце книги. Это позволит читате¬ лю выбрать работы для последующего изучения в соот¬ ветствии с его интересами. Книга, как отмечено в ее названии, делится на две части: часть I «Основные концепции», часть II «Примеры экспертных систем». го
В части I освещаются основные аспекты представления и управления, на базе которых производится разработка экспертных систем. Гл. 1 позволяет подготовить переход к более форма¬ лизованному изложению материала в гл. 2 и 3. В гл. 1 поня¬ тия представления и управления трактуются с приве¬ дением примеров традиционной обработки данных и наме¬ чаются (с привлечением исчисления предикатов и продук¬ ционных систем) возможные подходы к решению постав¬ ленных задач. В гл. 2 рассматриваются приемы форма¬ лизации логического вывода. Хотя в этом случае полезны знания формальной логики, мы надеемся, что читатель, не знакомый с ней, сможет разобраться в существе дела. В этой же главе освещаются попытки исследователей найти выход из тупика в области разработки автомати¬ зированных мыслящих систем; многие ученые при этом уповают на применение проблемно-зависимых управляю¬ щих структур. В гл. 3 в общих чертах описываются средства представления знаний, такие, как фреймы и семантические сети. Для читателей, не знакомых с языком Лисп, раскрываются возможности этого языка. Часть II открывается гл. 4, где сделана попытка клас¬ сифицировать существующие экспертные системы в со¬ ответствии с лежащими в их основе управляющими струк¬ турами и базами знаний. В гл. 5 рассматриваются системы MYCIN и PROSPECTOR с присущим им фак¬ тором неопределенности при получении логических вы¬ водов. В этой главе показано, насколько полезны про¬ дукционные системы и как они применяются при осна¬ щении экспертных систем средствами, поясняющими дей¬ ствия последних. Гл. 6 посвящена системам INTERNIST и CASNET. Первая из них иллюстрирует применение не- продукционно.го подхода, который базируется на теоре¬ тико-множественных концепциях. Вторая система основа¬ на на каузальных знаниях1. 1 В основе каузальных знаний лежат причинно-следственные отно¬ шения. — Примеч. пер. 11
В гл. 7 описываются системы Heuristic (эвристи¬ ческий) и Meta — DENDRAL. Они относятся к раннему поколению экспертных систем, которые до сих пор приме¬ няются и развиваются. Обе системы оперируют с очень большим пространством поиска, постепенно сокращая его с помощью метода «планирование-порождение (гипо¬ тезы)-проверка». Первые успехи системы DENDRAL при¬ вели к появлению особой области исследований по ис¬ кусственному ителлекту — экспертным системам. Гл. 8 по¬ священа применению методов абстрагирования в системах R1 и MOLGEN. Система R1 служит для комплектования компьютерных систем. Система MOLGEN применяется при планировании экспериментов в молекулярной генетике. В гл. 9 мы снова возвращаемся к проблеме автомати¬ зации процесса логического вывода. В ней показано, как можно с помощью сколемовских функций, операторных форм, метода резолюции получать решение и, в част¬ ности, каким образом пришли к разработке языка Пролог. Глава заканчивается кратким рассмотрением последних работ, посвященных исследованиям в области экспертных систем. В книге сделана попытка систематизировать знания и опыт, накопленные в области экспертных систем, и пред¬ ставить их в виде сжатого курса по методологии эксперт¬ ных систем и их применению в реальных условиях. Задача оказалась не из легких, и мы надеемся, что тот, кто почув¬ ствует потребность в более детальном знакомстве с затро¬ нутыми в книге вопросами, согласится, что мы поступили правильно, отдав предпочтение не пространности изло¬ жения, а, наоборот, краткости.
Часть I ОСНОВНЫЕ КОНЦЕПЦИИ 1. ТРАДИЦИОННАЯ ОБРАБОТКА ДАННЫХ И ЭКСПЕРТНЫЕ СИСТЕМЫ 1.1. ВВЕДЕНИЕ Экспертные системы зародились в ходе развития мето¬ дов обработки данных на ЭВМ. Они явились резуль¬ татом последовательных попыток усовершенствовать и расширить автоматизацию некоторых видов обработки ин¬ формации, обычно выполняемых человеком. Для решения такой задачи необходимо уметь представлять в компьютер¬ ной системе как данные, так и соответствующие процессы их обработки. 1.2. ПРОБЛЕМА ПРЕДСТАВЛЕНИЯ Цифровая вычислительная машина преобразует вводи¬ мую в нее последовательность символов в некоторую последовательность символов на выходе. При этом доступ¬ ные ЭВМ элементарные преобразования информации очень ограничены, что определяется возможностями элект¬ ронных устройств. Если считать, что последовательности символов представляют числа, то к элементарным дей¬ ствиям можно отнести сложение, вычитание, сдвиг кодов вправо или влево и сравнение. ЭВМ «не знает», что нужно делать. Она имитирует операции, обычно выполняемые человеком. Слово «имитирует» употребляется здесь в переносном смысле. Тот, кто знаком с компьютерной арифметикой, пред¬ ставляет себе, что она служит только некоторым приближением к арифметике, применяемой человеком. По конструктивным соображениям, например, требуется, чтобы последовательности символов запоминались в виде элементов фиксированной длины (называемых словами). В реальном мире подобных ограничений не существует, 13
а вот попытка преобразования с помощью ЭВМ последо¬ вательностей, превышающих заданную длину слова, мо¬ жет привести к непредсказуемым результатам. Такие эле¬ ментарные преобразования имеют смысл только в том случае, когда входные последовательности представляют¬ ся в должном формате, а выходные правильно интер¬ претируются. Обе эти операции остаются за человеком. В сущности, здесь речь идет только об одной проблеме — проблеме представления'. Мы должны определить для ЭВМ подходящий форма¬ лизм представления последовательностей символов, и ЭВМ будет однозначно воспроизводить все, что мы поже¬ лаем. Мы должны также задать элементарные преобра¬ зования символов (обычно реализуемые электронными устройствами), причем такие преобразования должны пониматься однозначно. Лишь тогда мы поймем значение выходных последовательностей символов. Более того, мы должны задать представление последовательностей сим¬ волов, с помощью которых сможем сообщать ЭВМ тре¬ буемый набор преобразований (т. е. программу). Такая программа задается в виде последовательности, состав¬ ленной из набора элементарных операций, которая ими¬ тирует действия, выполняемые при обработке информа¬ ции в реальном мире, т. е. действия, понимаемые нами и обычно выполняемые в уме. Таким образом, при построе¬ нии программы мы автоматизируем часть выполняемого нами процесса по обработке знаний. Как только элементарные операции заданы, мы можем определить последовательности из таких операций, необ¬ ходимые для представления операций более высокого уровня. Например, с помощью элементарных операций сложения и вычитания можно выполнять операции умно¬ жения или деления двух чисел. Подобный процесс син¬ тезирования может быть продолжен с тем, чтобы пред¬ ставить операции еще более высокого уровня, такие, как вычисление квадратных корней, а также экспонен¬ циальных и тригонометрических функций. В конечном итоге мы определим набор последовательностей симво¬ лов, который позволит программировать на языках высо¬ кого уровня, дающих возможность создавать сложные конструкции, помогающие представить те части процесса 1 Под проблемой представления здесь понимается проблема перехода от внешнего представления некоторого объекта во внутреннее по отношению к ЭВМ.— Пр имен. пер. 14
обработки знаний, которые мы пожелаем автомати¬ зировать. Можно задавать ту или иную интерпретацию наших последовательностей, а также разработать способ коди¬ рования, позволяющий представить буквы алфавита в качестве специальных символов. Так, посредством выбора способа кодирования, с помощью которого битовые ком¬ бинации, расположенные в алфавитном порядке, интер¬ претируются как возрастающая последовательность цифр, мы сможем представлять смысл буквенных последователь¬ ностей. Затем могут быть определены и другие функции более высокого порядка, позволяющие манипулировать строками символов, например осуществлять сцепление (concatenation), сравнение строк на эквивалентность, упорядочение в алфавитном порядке или выбор символь¬ ных фрагментов. В результате становится возможным производить тра¬ диционную обработку данных путем задания соответ¬ ствующих представлений как для данных, так и для последовательности предполагаемых операций. Выбор представления имеет решающее значение. От этого зави¬ сит в конечном счете, какие из видов обработки знаний можно будет автоматизировать, а какие—нет. Органи¬ зация традиционной обработки данных неадекватна нашим схемам представлений. Попытки дать определение системы управления базами данных показали неудовлет¬ ворительность существующих способов представления данных во внешней памяти ЭВМ. Создание систем баз данных — это попытка задать представление логических связей между данными на самом высоком уровне. Реля¬ ционные и сетевые подходы — это попытки решить ука¬ занную проблему. Многие другие проблемы, связанные с традиционными приемами представления (и, следовательно, с используе¬ мыми нами языками программирования), становятся яв¬ ными, как только мы пытаемся автоматизировать про¬ цессы, свойственные человеческому мышлению. Так, на¬ пример, выполняемая экспертом-человеком обработка зна¬ ний строится на базе огромны,х запасов информации, представленной в самых различных видах. При этом часть такой информации может быть неполной. Процесс, с помощью которого эксперт отбирает, синтезирует и преобразует исходные знания, малопонятен. Если мы же¬ лаем автоматизировать подобный процесс мышления, то нам необходимо уметь представлять типичные подходы, 15
применяемые экспертом при решении различных задач. Традиционные методы представления неприемлемы для решения такого рода задач, и нам грозит опасность зайти в тупик вследствие ограничений, свойственных принятым методам представления. К счастью, специалистами в области искусственного интеллекта уже проделана боль¬ шая работа по исследованию этой проблемы. Гл. 1 зна¬ комит с новыми подходами к вопросам представления знаний. В ней неформально определяются приемы, раз¬ работанные специалистами в области искусственного ин¬ теллекта. 1.3. ПРЕДСТАВЛЕНИЕ ЗНАНИИ Люди имеют запас «знаний» о мире, в котором они жи¬ вут. Некоторые виды знаний общеизвестны; к ним отно¬ сятся знания, связанные с приемом пищи или вождением автомобиля. Другие знания более специальные, например те, что используются экспертами. Знания обычно пред¬ ставляются в виде фактов, характерных для окружающе¬ го мира (т. е. классов объектов и взаимосвязей между ними), процедур и правил манипулирования фактами, а также в виде информации о том, когда и как следует применять правила и процедуры. Объекты группируют по классам. Петр, Джон, Фред и Анна могут мыслиться как объекты. Их можно отнести к классу «личность». В дополнение к этому Петр, Джон и Фред могут быть классифицированы как «мужчины», а Ан¬ на — как «женщина». Явное достоинство любой классифи¬ кации заключается в том, что частично решается проблема переполнения памяти, так как достаточно помнить только характеристики класса, а не каждого объекта. Мы можем также определить отношения между классами (или от¬ дельными объектами). Подобным образом мы можем опре¬ делить отношение «руководит (А,В) », означающее, что В находится в подчинении у А. В качестве примеров такой зависимости могут служить выражения: руководит (петр, джон) руководит (джон, ан на) руководит (анна, фред) которые заключают в себе структуру «подотчетность» (другое отношение) между объектами Петр-Джон-Анна- Фред. Приведенный пример иллюстрирует отношения меж¬ ду схожими объектами. Между различающимися объек¬ тами также могут быть установлены отношения (напри¬ мер, «владеет (петр, автомобиль)»). Знания об объектах 16
и их взаимоотношениях позволяют классифицировать эти объекты и соотносить между собой. Второй тип знания — правила. Они дают возможность определить, как вывести новые отличительные особенности класса или отношения для объектов, прежде не подразде¬ ленных на классы. Например, если мы определим отно¬ шение «отчитывается (В, А)» для того, чтобы отметить, что В подотчетен А (возможно, через других руково¬ дителей), то сможем установить правило: «отчитывается (С, А)» есть ИСТИНА ЕСЛИ или «руководит (А, С)» есть ИСТИНА ИЛИ «руководит (А, В)» И «руководит (В, С)» есть ИСТИНА Это довольно ограниченное правило. Оно применимо толь¬ ко для первого или второго уровня подотчетности, но в пределах ограничения оно дает нам возможность породить новый пример отношения «отчитывается», который ранее не был известен. Например, правило позволяет сделать заключение о том, что «отчитывается (анна, петр)» и «отчитывается (фред, джон)» суть ИСТИНА. Вследствие того что данное правило определено как двухуровневое, оно не может быть применено для получения вывода «отчитывается (фред, петр)» есть ИСТИНА. Для этого нам потребуется более мощное правило, включающее рекурсию: «отчитывается (С, А)» есть ИСТИНА ЕСЛИ или «руководит (А, С)» есть ИСТИНА ИЛИ «руководит (А, В)» есть ИСТИНА И «отчитывается (С, В)» есть ИСТИНА Первая часть приведенного рекурсивного правила отно¬ сится к прямой подотчетности, а вторая — к косвенной. Если мы задаем вопрос «отчитывается (джон, петр)?», то ответом будет ИСТИНА, поскольку истинна первая часть правила «ЕСЛИ». Вопрос «отчитывается (фред, петр)?» потребует более сложной обработки. Табл. 1.1 показывает процесс подобной обработки с использова¬ нием рассмотренного правила. Столбец 1 характеризует сам вопрос. Столбец 2 содер¬ жит детали преобразования для первого «ИЛИ». В столб¬ це 3 детализируется преобразование для второго «ИЛИ», выполняемое при условии, что результат первого «ИЛИ» ложен. Преобразование для второго «ИЛИ» в любом слу¬ чае завершается соответствующим запросом, который со¬ держит новый вопрос, на который должен быть дан ответ. 17
Таблица II Пример отношения «отчитывается» Вопрос Первое ИЛИ Второе ИЛИ Новый вопрос отчитывается (фред, петр)? отчитывается (фред, джон)? отчитывается (фред, айна) ? руководит (петр, фред)? ложь руководит (джон, фред)? ложь руководит (анна, фред) истина руководит (петр. В)? истина В = джон руководит (джон, В)? истина В = анна отчитывается (фред, джон)? отчитывается (фред, анна)? Поэтому отчитывается (фред, анна) есть истина Итак отчитывается (фред, джон) есть истина Итак отчитывается (фред, петр) есть истина, что служит ответом на вопрос Отметим рекурсивность обработки отношения «отчиты¬ вается». Эта процедура довольно сложна при всей про¬ стоте и понятности самого правила. В терминах, принятых в программировании, она выражается одной строкой. Естественно, что представление какого-либо процесса обработки знаний требует очень сложного набора правил, и эксперты склонны применять правила и процедуры, непонятные для неспециалистов. Зачастую сам эксперт не в состоянии по-настоящему осознать используемый им процесс обработки знаний при выводе суждения. Итак, мы ввели две составляющие — факты и правила. Третья необходимая компонента процесса обработки знаний — управляющая структура; она определяет способ применения разнообразных правил.. По существу, любая управляющая структура позволяет решить, какое из пра¬ вил должно применяться следующим. В большинстве реальных ситуаций количество необходимых правил очень велико, и при этом возможны различные формы управ¬ ляющих структур. Правила можно выбирать после¬ довательно или же некоторое подмножество правил может быть применено для выбора следующего правила (такие подмножества мыслятся как правила более высокого уровня, или метаправила). Механизм приложения правил в тех ситуациях, когда требуется производить их выбор, является прерогативой управляющей структуры. Напри¬ мер, когда мы рассматривали по табл. 1 ход обработки соответствующего правила, существовал единственный путь, который приводил к ответу на вопрос. При нормаль- 18
ных условиях в иерархии руководства имеется множество подобных путей, как это показано на рис. 1.1. В определенных точках мы сталкиваемся с необхо¬ димостью выбора пути, для чего нам требуется подходя¬ щий метод, задаваемый управляющей структурой. Ясно, что любой основанный на логике подход обеспечит воз¬ можность сделать это (некоторые подходы к решению данной задачи рассмотрены в гл. 3), но один из очевид¬ ных способов решения подобной задачи сводится к тому, 19
что сначала следует двигаться вдоль самой левой ветви дерева до тех пор, пока не будет удовлетворен запрос или не будет достигнут конец ветви. В последнем случае мы должны «отступить» в предыдущую точку ветв¬ ления и с помощью того же метода произвести проверку других ветвей. В результате, как это видно из рис. 1.1, путь обработки, соответствующий запросу «отчитывается (фред, петр)?» показан в виде пунктирной линии. Это называется поиском «сначала вглубь». На этом же рисунке изображена и схема поиска «сначала вширь». Для описания процесса обработки знаний можно ис¬ пользовать как декларативные знания (классы, отно¬ шения), так и процедурные знания (правила и управ¬ ляющие структуры). Граница между ними очень под¬ вижна. Чем меньше знаний мы декларируем, тем больше процедурных знаний необходимо, и наоборот. В реальных условиях различие между декларативными и процедур¬ ными знаниями не имеет существенного значения, по¬ скольку определение того или иного правила может рас¬ сматриваться как декларативное знание. 1.4. ТРАДИЦИОННЫЙ ПОДХОД 1.4.1. КЛАССЫ И ОТНОШЕНИЯ При написании программы для ЭВМ требуется опре¬ делить, где пройдет граница при разделении обработки знаний между ЭВМ и человеком. В действительности такая граница обычно смещается по мере написания программы. Часто по ходу дела становится очевидным, что программа предоставит больше полезной информации, чем предполагалось вначале, или, наоборот, выясняется, что некоторые аспекты проблемы очень трудно выразить в терминах ЭВМ. Одной из первых является задача клас¬ сификации всех объектов. В реальных условиях это сво¬ дится к построению отношений между символикой ЭВМ и внешними объектами и понятиями. Классификация наборов схожих объектов обычно про¬ изводится с использованием меток (или имен переменных) и индексов. Метка определяет класс, а индекс — один из экземпляров класса. В этом отношении удобен обычный массив.. Так, некоторый массив (для языка Бейсик) NAME$ (I) определяет класс объектов «NAME», а воз¬ можные значения I идентифицируют содержимое каждого 20
из этих объектов. В языках Кобол и Паскаль можно применять более сложные структуры, но идея остается той же. Другой прием классификации объектов сводится к использованию позиции поля в файловой записи. Номер работника, например, может быть определен как третье поле такой записи. Это метка класса. Различные значе¬ ния номеров работника будут фиксироваться в соответ¬ ствующих записях, следовательно, номер записи совместно с заданным полем определяет содержимое этого класса. В традиционных системах мы вынуждены вводить до¬ полнительные классификации для того, чтобы ЭВМ было ясно, какого рода обработка при этом требуется. На¬ пример, на языке Бейсик знак $ в конце имени переменной обозначает, что переменная должна рассматриваться не как число, а как.строка символов. В нашем случае потре¬ буется еще задать переменные NAME$ в качестве массива с указанием максимального значения индекса I. В конце концов мы должны будем задать вид индекса, в данном случае — как целое число. Следовательно, для того чтобы на языке Бейсик классифицировать последовательность имен, требуется определить: а) поле как текст; б) массив; в) максимальное значение индекса; г) вид представления индекса. Для большинства других языков потребуется опреде¬ лить и вид переменной, например для Кобола — через DATA DIVISION, а для Паскаля.— путем задания ее типа. Заметим, что процесс классификации включает созда¬ ние некоторого числа «фиктивных» переменных с прису¬ щими им свойствами, например с определенной упорядо¬ ченностью индексов, которая может как иметь отношение к конкретной предметной области, так и не относиться к ней. Во многих системах возникают проблемы, связан¬ ные с максимальным значением индексов. Обычно на всякий случай задают максимально возможные их зна¬ чения. Отношения, используемые для задания взаимосвязи между объектами, мы уже классифицировали. В обычных языках это делается путем присвоения отношению еще одного набора символов, который затем интерпретируется (или классифицируется в терминах других отношений). Почти такой же подход к этой проблеме строится на заимствовании меток и индексов, используемых при классификации объектов. Снова метка определяет отно¬ шение, а индекс — экземпляр отношения. Схожесть с клас¬ 21
сификацией объектов неудивительна, так как фактически мы производим просто классификацию отношений. Од¬ нако в этом случае складывается более сложная ситуация, поскольку нужно установить отношение между суще¬ ствующими классами. При этом одно отношение может охватывать несколько классов. Для задания отношений в программах служат мас¬ сивы или структуры. Например, мы хотим установить отношение между студентом и его отметками по кон¬ кретным предметам. Для этого можно определить не¬ который массив MARK(I,J), содержащий отметку студен¬ та I по предмету J. На самом деле здесь имеет место двой¬ ное отношение: студент и его отметки или предмет и отно¬ сящиеся к нему отметки. Если индекс I определяет экзем¬ пляры предыдущего отношения, то J определяет члены рассматриваемого отношения для таких экземпляров. Можно поменять роли индексов I и J с целью получить другое отношение. Отметим, что для определения отношения мы породили новые фиктивные переменные, соответственно упорядочен¬ ные, с максимальными значениями индексов. Схожие приемы применяются для языков Кобол или Паскаль. Вместе с тем благодаря возможности в этих язы¬ ках определять различные типы данных, упрощается про¬ цедура задания отношений и отпадает необходимость в индексации членов массива. Индекс требуется только для задания экземпляров отношения (например, с помощью оператора OCCUR в Коболе). Подобным образом можно использовать позиции объ¬ ектов для задания отношений между ними. Самым общим примером служит файл. Запись в файле фактически определяет отношение между фиксированными полями внутри него. Позиция в пределах некоторой записи определяет раз¬ личные классы, охватываемые отношением, а номер запи¬ си — экземпляр этого отношения. В результате запись слу¬ жит для классификации и обозначения некоторого отноше¬ ния. Так, рассмотренное выше отношение студент/отметка можно представить в виде последовательности записей (по одной на каждого студента), содержащих в фикси¬ рованных полях значения отметок по каждому из предме¬ тов. Однако в таком случае довольно трудно производить анализ отношения предмет/отметка, что свидетельствует о характере влияния представления на процесс обработки данных. 22
1.4.2. ПРОЦЕДУРЫ Процедуры порождают новые экземпляры отношений и классы на базе существующих. На рис. 1.2 представлена записанная на языке Паскаль процедура для вычисления новых экземпляров класса SALARY (ЗАРПЛАТА). В этой процедуре об¬ рабатываются дан¬ ные классов RATE (почасовая расценка труда индивидуума I), HOURS (количество часов, проработан¬ ных I) и запрашива¬ ется имя I(NAME— текст имени I). Ее ре- FOR I: = 1 TO IMAX DO BEGIN SALARY [l]: = RATE [l)*HOURS [I]; WRITELN {NAMES [I]," ''.SALARY [I]) END- Рис. 1.2.11рицедура получения экземпляров переменной SALARY (ЗАРПЛАТА) зультат — новые эк¬ земпляры SALARY. Попутно каждый раз добавляется информация, связанная с отношением NAME-HOURS- RATE-SALARY, в неявном виде существующим благода¬ ря индексу I. Обратите внимание на то, что действие процедуры зависит от предшествующей классификации. Поэтому, в частности, требуется задать значение фиктивной пере¬ менной IMAX, которая в рассматриваемом случае имеет прямое отношение к внешнему деляет общее количество ра¬ ботников. Заметим также, что сама ЭВМ не может породить новые классы отношений. Это происходит в процессе написа¬ ния программы. ЭВМ может только порождать экземпляры существующих классов и от¬ ношений. На рис. 1.3 представ¬ лена процедура для порожде¬ ния экземпляров класса «сос¬ миру, так как она опре- J: =0; FOR I: = 1 ТО IMAX DO BEGIN IF RATE [l]> 100 THEN BEGIN J :=J + 1; RICH [J] : = NAME [I] END END; Рис. 1.3. Получение эк¬ земпляров класса тоятельный» под именем RICH: каждый работник, отно¬ сящийся к классу RICH, зарабатывает, например, более Ю долларов в час. Освободив это правило от лишних деталей, перепишем его в более понятном виде: (X) есть ИСТИНА ЕСЛИ rate (X) > 10 Важно обратить внимание на то, какое влияние оказы¬ вает определение классов и отношений на конструкции 23
процедур. В связи с тем, что для определения классов и отношений каждый раз требуется вводить дополнительные индексы для манипулирования ими, мы вынуждены при¬ менять итеративные конструкции. Это привело к созданию искусственных конструкций, таких, как DO...WHILE, FOR...DO, REPEAT ...LJNTILL и т. п. С их помощью за¬ даются итерации для фиктивных переменных. Следует от¬ метить, что подобные конструкции затрудняют слежение за процессом обработки данных. 1.4.3. ТРАДИЦИОННЫЕ УПРАВЛЯЮЩИЕ СТРУКТУРЫ Пусть задано множество классов, отношений между ними и некоторые процедуры. Как же теперь достичь желаемого результата? Именно управляющая структура определяет, в какой последовательности следует выпол¬ нять различные процедуры. В традиционных системах попытки упростить управляющие конструкции привели к разработке приемов структурного программирования. Уп¬ равляющая структура, по существу, сводится к принципу: «если следующий шаг не задан в явном виде языковой конструкцией, то исполняется последующая команда». Вследствие этого для традиционной программы характер¬ но большое число групп последовательных элементов, разделенных итеративными процедурами (часто содержа¬ щими вложенные итеративные процедуры) и, возможно, некоторым количеством неодобряемых операторов — GOTO. Такие программы трудны для понимания, по¬ скольку в них вложены знания, не имеющие отношения к предметной области,— знания, связанные с переводом задачи на язык ЭВМ. Правило, выведенное нами при анализе рис. 1.3, ярко иллюстрирует это, поскольку оно в декларативной, или непроцедурной, форме представляет процедуру, приведенную на рис. 1.3. Для традиционного подхода типична обработка под управлением программы. Все, что произойдет, предопре¬ делено программой для любой конкретной точки. Мы на¬ блюдаем этот принцип даже при программировании задач, решаемых в реальном времени, когда внешнее со¬ бытие может асинхронно «прервать» программу в любой ее точке. При поступлении сигнала «прерывания» текущая ситуация запоминается, происходят загрузка и ис¬ полнение программы обработки прерывания. По за¬ вершении этой программы ситуация восстанавливается и процесс обработки производится, как и прежде. Таким образом, даже обработка прерывания — по существу про¬ 24
граммно-управляемый процесс. Интересно отметить, что человек в подобной ситуации ведет себя иначе. Будучи прерванным, он «занимается прерыванием» и иногда за¬ бывает о предыдущей ситуации и, возможно, никогда к ней не вернется, если этого не потребует один из преры¬ вающих запросов. Даже краткое наблюдение за чьим-либо диалогом убеждает нас в справедливости этого утвержде¬ ния. Человеком обычно «управляют» данные, и это зача¬ стую оказывается весьма эффективным, если приходится сталкиваться с большим числом ситуаций, особенно в условиях неопределенности. 1.4.4. РЕЗЮМЕ Мы показали, как знания и процедуры обработки данных представляются в традиционных системах. Пред¬ ставление громоздко, поскольку включает определение относящейся к механизму вычислений дополнительной информации, не фигурирующей при постановке исходной задачи. Подобная управляющая структура проста, но это только в том случае, если будет использован ряд конструк¬ ций для определения всех классов и отношений, которыми предстоит манипулировать. Такое представление тесно связано с образом действия, характерным для ЭВМ. 1.5. АЛЬТЕРНАТИВНОЕ ПРЕДСТАВЛЕНИЕ КЛАССОВ, ОТНОШЕНИИ И ПРАВИЛ Альтернативный подход к представлению классов и отношений можно выработать, если воспользоваться по¬ нятиями исчисления предикатов. Более детально этот вопрос рассматривается в гл. 2, но, по существу, проблема сводится к определению взаимосвязи между различными объектами через имя, присвоенное их отношению (на¬ зываемому предикатом), сопровождаемое списком таким образом связанных между собой объектов, который заклю¬ чен в скобки. Например, тот факт, что «Джону нравится Джоан», может быть представлен так: нравится (джон, джоан) или нравится (джоан, джон) Интерпретация порядка следования аргументов — дело программиста. Если Петр, Фред и Джо — служащие, то мы можем представить это как служащие (петр, джо, фред) 25
где порядок следования объектов несуществен; Конечно, такое отношение является классифицирующим. Подобный прием приобретает еще большую выразительность при использовании переменных в качестве аргументов (обычно представляемых с помощью прописных букв) и таких ло¬ гических связок, как И, ИЛИ, НЕТ, а также ЕСЛИ... ТО... •В следующем правиле используются переменные и связки для определения отношения общего характера меж¬ ду предикатами «отчитывается» и «руководит».: отчитывается (С, А) ЕСЛИ руководит (А, С) ИЛИ руководит (А, В) И отчитывается (С, В) Это должно интерпретироваться следующим образом: «отчитывается (С, А) есть ИСТИНА, если руководит (А, С) есть ИСТИНА или если руководит (А, В) и отчи¬ тывается (С, В) оба суть ИСТИНА». Короче говоря, перечень переменных, для которых правило выполняется, должен быть задан. При этом мы предполагаем, что прави¬ ло выполняется для всех их значений. Отметим, что в этих определениях не фигурируют какие-либо специфи¬ ческие знания из области вычислительной техники, а также указание на то, что эти правила определены в форме, принятой для классов и отношений. В действительности правила — это отношения, в которых набор предложений после оператора ТО имплицируется теми, что представле¬ ны в части ЕСЛИ. 1.6. АЛЬТЕРНАТИВНАЯ УПРАВЛЯЮЩАЯ СТРУКТУРА — ПРОДУКЦИОННЫЕ СИСТЕМЫ Какие управляющие структуры приемлемы для нас? Например, продукционная система. Данная система сос¬ тоит из трех уже определенных нами элементов: классов и отношений, правил, управляющей структуры. Классы и отношения трактуются как «база данных», которая, по существу, содержит декларативные знания. Процедуры представляют собой набор правил типа ЕСЛИ (условие) ТО (действие) а управляющая структура определяет, какое правило дол¬ жно быть проверено следующим. Часто управляющую структуру называют интерпрета¬ тором правил. (Условие) — это проверка состояния базы ■26
данных, а (действие) некоторым образом видоизменяет содержание базы данных. Рис. 1.4 иллюстрирует простой пример определения наибольшего и наименьшего из некоторого набора .чисел, где база данных содержит числа от А(1) до А( 10) и зна чение переменной NUMA соответствует количеству рас сматриваемых элементов. Значения МАХ и MIN фикси рованы и служат для задания порядка следования чисел БАЗА ДАННЫХ А (1) 5 А (2) 7 А (10) 21 NUMA 10 МАХ 0 MIN 100,000 TRY 1 ПРАВИЛА (процедуры) 1. IF TRY > NUMA THEN WRITELN (MAX, MIN) ; STOP; 2. IF A (TRY) > MAX THEN MAX := A (TRY) ; 3. IF A (TRY) < MIN THEN MIN := A (TRY) ; 4. IF no other rule has fired THEN TRY := TRY +1 ; УПРАВЛЯЮЩАЯ СТРУКТУРА Поочередно опробовать правила, пока одно из них не сработает. Затем следовать к началу списка правил и начать процесс сначала Закончить процесс при встрече оператора STOP Рис I 4 Продукционная система БАЗА ДАННЫХ А (1) 5 А (2) 7 А (10) 21 NUMA 10 МАХ 0 MIN 100,000 TRY 1 ПРАВИЛА 1 IF (TRY < NUMA) AND (A (TRY) > MAX) ) THEN MAX:= A (TRY) ; 2. IF ( (TRY < NUMA) AND (A (TRY) <MIN)) THEN MIN := A (TRY) ; 3. IF (TRY > NUMA) THEN WRITELN (MAX, MIN) ; STOP; 4. IF ( (TRY < NUMA) AND (A (TRY) < MAX) AND (A (TRY) > MIN) THEN TRY := TRY + 1; УПРАВЛЯЮЩАЯ СТРУКТУРА Поочередно опробовать правила, пока одно из них не сработает. Затем начать процесс снова. Закончить процесс при встрече оператора STOP Рис. 1.5. Система правил, не зависящих от порядка их следования TRY содержит текущее значение индекса проверяемого числа. Правило «срабатывает», когда удовлетворяется условие оператора IF. Правила 2 и 3 обновляют базу Данных, занося в нее новые значения переменных МАХ и MIN. Пр авило 4 изменяет значение TRY, когда не сраба¬ тывают правила 1, 2 и 3. Правило 1 срабатывает одно¬
кратно, и при этом прекращается обработка. Управляю¬ щая структура производит поиск такого правила, которое срабатывает. Затем она начинает поиск сначала. Отметим, что в этом случае правила зависят от порядка следо¬ вания. Рис., 1.5 иллюстрирует продукционную систему, в которой правила не зависят от порядка. Нетрудно заметить, что правила могут быть распо¬ ложены в любой последовательности. Обеспечив подобную тщательность определения правил, мы можем вводить но¬ вые функции в программу просто путем добавления соответствующих правил. Но сконструировать систему независимых от порядка правил не так просто. Для этого условие оператора ЕСЛИ должно быть единственным для каждого правила. При большом количестве правил удовлетворить такое требование очень трудно. Возможно большое число и других управляющих структур в допол¬ нение к рассмотренному подходу с применением правил продукций. Исследования в области искусственного ин¬ теллекта (ИИ) позволили разработать ряд других под¬ ходов. В любом случае важное значение имеет взаимо¬ связь между управляющей структурой и областью знаний. 1.7. УПРАВЛЯЮЩИЕ СТРУКТУРЫ И ИХ ВЗАИМОСВЯЗЬ С ПРЕДМЕТНОЙ областью В приведенных выше примерах управляющие структу¬ ры независимы от предметной области. Другими сло¬ вами, образ действия не зависит от знаний, относя¬ щихся к исследуемой предметной области. Такие управ¬ ляющие структуры просты и изящны. Они позволяют четко отделить прикладные знания (т. е. факты, за¬ фиксированные в базе данных, отношения и правила) от собственно управляющих действий. При решении многих реальных задач достичь этого трудно, а иногда и неже¬ лательно. Простой пример зависимости от предметной области — зависимость от контекста. Во многих задачах набор правил может быть применен только при определенном сочетании условий или в определенном контексте. В связи с этим удобно (и целесообразно) группировать наборы правил с учетом контекста и разрешать срабатывать правилу только при установлении соответствующего кон¬ текста. Например, если мы хотим создать программу на основе знаний для определения названия живого существа, о котором известны некоторые сведения, то 28
мало смысла в проверке правил относительно рыбы, если уже установлено, что существо обитает на суше и имеет легкие. В другой задаче правила могут иметь фиксированные и известные отношения между собой. При таком условии может оказаться удобным объединить их в сеть, как пока¬ зано на рис. 1.6. Сеть определяет, какое правило будет проверяться следующим. То, что мы делаем, фактически сводится к переносу некоторой части прикладных знаний из декларативной базы знаний в управляющую структуру. Конечно, в этом есть и недостаток: такую управляющую структуру применять при обработке других знаний можно только при условии, что последние могут быть заданы тем же самым способом. Зависимость управляющей структуры от предметной области — очень важная концеп¬ ция. Она обсуждается в последующих главах. 1-8. ДРУГИЕ ОГРАНИЧЕНИЯ ТРАДИЦИОННОГО ПОДХОДА Существуют и другие трудности, связанные с тради¬ ционной обработкой данных. Они ограничивают нас, когда требуется установить границу между функциями человека и функциями ЭВМ при проведении обработки 29
знаний. Особенно это относится к логическому выводу данных, неточным рассуждениям и решению задач, кото¬ рые невозможно записать в форме традиционных алгорит¬ мов. Все три проблемы между собой тесно связаны. 1.8.1. ЛОГИЧЕСКИ ВЫВОДИМЫЕ ДАННЫЕ Все программы логически выводят новые знания на основе старых. Более того, при традиционном подходе подразумевается, что порядок логического вывода знаний заранее известен. Таким образом, процесс вывода может быть выражен в виде традиционного алгоритма, который позволит последовательно получить результаты (данные) логических выводов, а затем воспользоваться ими для вывода новых данных. Рис. 1.2 иллюстрирует логи¬ ческий вывод значений SALARY на основании данных RATE и HOURS. Однако этот пример неприемлем для логического вывода значений RATE на основании данных SALARY и HOURS. Весь процесс четко размечен зара¬ нее. В реальных же условиях часто неясно, что будет задано вначале, а что необходимо логически вывести. Рассмотрим задачу определения отношения между дву¬ мя лицами. Мы располагаем некоторыми начальными де¬ кларативными знаниями об их взаимоотношениях. Допу¬ стим, нам дано: мать (мэри, сыо) сестра (сыо, джоан) где X (Y, Z) обозначает, что «Y есть X по отношению к Z». Ясно, что человек может прийти к умозаключению: «мать (мэри, джоан)» есть ИСТИНА. Если мы попытаемся расширить базу декларативных данных, то ситуация очень скоро осложнится. Определим следующие отношения (для простоты остановимся только на отношениях между женщинами): мать (мэри, сыо) сестра (сыо, джоан) мать (джоан, едена) сестра (едена, бэтти) Мы можем вывести не только отношения вида «мать (мэри, джоан)» и «мать (джоан, бэтти)», но и другие, такие, как «бабушка (мэри, бэтти)», «тетя (сью, бэтти)», «тетя (сью, елена)» и т. п. Существенно то, что приведенные выше данные можно представить различными способами. Можно образовать и 30
общую базу знаний. Например, мы могли бы представить исходные данные следующим образом* мать (мэри, джоан) тетя (сью, бэтти) сестра (бэтти, едена) мать (джоан, едена) мать (мэри, сыо) Требуемая для вывода знаний из этого набора традицион¬ ная обработка будет отличаться от рассмотренной ранее. Единственный путь построения общего алгоритма порождение всех возможных отношений перед обработкой запросов. При большой декларативной базе знаний для этого потребуются значительные ресурсы ЭВМ и время ответа на запрос увеличится. В основе этой проблемы ле¬ жит недостаточная гибкость традиционной управляющей структуры. 1.8.2. НЕТОЧНЫЕ РАССУЖДЕНИЯ В предыдущих примерах все знания были определен' ными. Утверждениями были или ИСТИНА, или ЛОЖЬ Однако в жизни имеется тенденция к «нечеткости» в представлении знаний. Тем не менее на основании неточ- ных данных часто можно делать вполне определенные умозаключения. Для этого нам приходится рассматри¬ вать комбинацию элементов знаний, а также значения их определенности и в результате выводить новые знания и давать оценку их определенности. Представить неопре¬ деленность можно путем добавления к ответу значения его определенности, лежащие в диапазоне от —1 до +1 (—1 есть ЛОЖЬ, а +1 есть ИСТИНА), например* мужчина (петр, 1) мужчина (хилари, 0) Это означает, что имя Петр определенно относится к классу «мужчина», а Хилари может быть и женским именем, поэтому только с вероятностью 50% оно может принадлежать классу «мужчина». Если в дальнейшем нам станет известно, что металлург (хилари, 1) то мы можем увеличить эту вероятность в отношении мужчины, скажем, до 90%, поскольку можно предполо¬ жить, что металлурги в общем случае относятся к классу 31
«мужчина». Существует множество способов получения комбинированной вероятности, но мы можем выбрать для этого усреднение. В результате получим правило вида ЕСЛИ металлург (X) И мужчина (X, р) ТО СФОРМИРОВАТЬ мужчина (X, (p-f-1)/2) В этом случае вероятность того, что Петр может быть жен¬ щиной, не изменится, если он не металлург, а для Хилари вероятность быть женщиной увеличивается до 75%. И снова так же, как и в примере из раздела 1.8.1, возможно, что исходные данные не могут быть пред¬ ставлены в одной допустимой форме. Если это так, то для традиционной системы окажется трудным сконструировать соответствующий алгоритм. Особенно сложно это сделать при обширной базе данных. Подход с применением пра¬ вил позволяет сравнительно легко разрешить эту проб¬ лему. Некоторые из правил будут устанавливать веро¬ ятности на основании известной информации, а другие производить действия в соответствии с уровнями вероят¬ ности. 1.8.3. ОТСУТСТВИЕ ПОДХОДЯЩИХ АЛГОРИТМОВ По сути дела, правомерно обобщить проблемы, рас¬ смотренные в разделах 1.8.1 и 1.8.2. Для многих ситуаций невозможно построить алгоритм определенного и един¬ ственного решения. Традиционные алгоритмы не очень хорошо подходят для поиска решений, основанных на применении знаний. Для целого ряда реальных задач любой алгоритм, постро¬ енный на переборе всех возможных состояний, приведет к тому, что время получения ответа с помощью ЭВМ будет измеряться годами, тогда как человек подобные задачи может решать быстро и результативно. Игра в шахматы может служить прекрасным примером подобного затруд¬ нения. «Белые» имеют возможность сделать любой из 20 допустимых ходов, в ответ на который «черные» могут ответить также одним из 20 ходов. Следующий ход «бе¬ лых» может быть сделан из 400 возможных состояний. По мере развития игры возникает неуправляемый ком¬ бинаторный взрыв. Особенно остро подобная проблема стоит в эндшпиле. Имея по нескольку фигур на доске, каждый из игроков располагает более чем 50 вариантами возможных ходов. Шахматные мастера не производят перебора всех возможных вариантов, а используют кратко¬ срочные и долгосрочные стратегии. В соответствии с кон¬ 32
кретной ситуацией на доске производится выбор подходя¬ щей стратегии из большого набора их в базе знаний. Другим примером служит строительство стен «сухим» методом. На первом этапе работы имеется большой набор камней различной формы и величины. Строитель вначале не знает, как и какие камни он будет выбирать. В процессе строительства время от времени он осматривает стену, определяет, какие камни остались, и выбирает кратко¬ срочную стратегию, в частности, включающую возвраще¬ ние (удаление камней из стены). Имея один и тот же набор камней, он, возможно, никогда не построит дважды стену одинаково. Для решения подобных задач необходимо производить выбор стратегии из имеющегося множества. Этот выбор производят в результате анализа текущего состояния поиска решения и применяют стратегию, уменьшающую дистанцию между текущим состоянием и требуемым ре¬ шением. Таким образом, приближаются к решению, вы¬ бирая каждый раз стратегию, которая может привести к цели. 1.9. ПЕРСПЕКТИВЫ Из предыдущего раздела очевидно, что мы нуждаемся в лучших способах: а) представления декларативных знаний, таких, как классы и отношения, без привлечения специальных зна¬ ний из области вычислительной техники; б) представления правил; в) задания управляющей структуры (зависимой или независимой от предметной области). Если мы достигнем успеха в решении этих проблем, то сможем границу между функциями человека и функ¬ циями ЭВМ при обработке знаний передвинуть, суще¬ ственно расширив диапазон применения ЭВМ. Наша цель — выйти за пределы традиционного алгоритмическо¬ го подхода с тем, чтобы можно было автоматизировать значительную часть деятельности, связанной с обработкой знаний, обычно выполняемой экспертами. В следующей главе рассмотренные выше проблемы анализируются с привлечением более формализированных методов. 2 Зак. 1924 33
2. ОСНОВЫ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ И ПОЛУЧЕНИЯ ЛОГИЧЕСКИХ ВЫВОДОВ 2.1. ВВЕДЕНИЕ Чтобы подготовиться к последующему обсуждению программ, построенных на основе знаний, рассмотрим более формализованно те принципы, на которых базируют¬ ся представление и управление. Исследования, имеющие прямое отношение к экспертным системам, были прове¬ дены в течение последних 20 лет в пределах научного направления, получившего название «искусственный ин¬ теллект» и непосредственно связанного с разработкой компьютерных программ для автоматизации деятельности, требующей человеческого интеллекта. Так, например, были разработаны программы для игры в шахматы или для выявления дефектных деталей двигателей. Однако преды¬ стория этой дисциплины относится к одной из первых академических дисциплин — логике. Главная мотивация применения компьютерных про¬ грамм — повышение надежности (достоверности) исполь¬ зования знаний при обработке информации. Проблема обеспечения надежной обработки информации возникла перед человечеством очень давно. Первые попытки ее ре¬ шения систематически предпринимались еще древними греками. Основной побудительной причиной для этого бы¬ ла практическая необходимость поддержать демократи¬ ческую систему правления городов-государств, где все ак¬ ции требовали общенародного согласия. Это заставляло учиться, как поступать при спорах (честно или наоборот) и как распознать ложное утверждение (или выразить истинное). Первое сформировалось в дисциплину, назван¬ ную «Риторика», а последнее — в дисциплину, получив¬ шую название «Логика». Логика имеет дело главным образом с выявлением обоснованности утверждений, т. е. с методами, позволяю¬ щими доказать, можно ли данное заключение обоснованно вывести исходя из известных фактов. Более того, логика непосредственно связана с программированием, поскольку любая программа, по существу, представляет собой набор квазилогических утверждений, которые определенным об¬ разом обрабатываются с целью получения некоторого заключения. В рамках логики для выражения «утвержде¬ ние истинно» существует точное, конкретное значение; утверждение считается истинным, если (и только если) 34
относящиеся к нему предположения все истинны, при этом заключения самого утверждения также истинны. Для принятия решения о приемлемости какого-либо конкретного утверждения необходимо произвести провер¬ ку. В рамках логики такой метод сводится к сравнению интересующего нас текста с абстрактными моделями утверждения в поисках подходящего. Модели утвержде¬ ния трактуются как «формы» и собираются из абстраги¬ рованных последовательностей фактов и правил, обосно¬ ванность которых была ранее доказана математически (или «формально»). Обратимся к примеру. Предположим, дано правило «ЕСЛИ Смит является специалистом по ЭВМ, ТО Смит — оптимист» Допустим такой простой факт: «Смит является специалистом по ЭВМ» тогда может показаться естественным заключение «Смит — оптимист» Более формально выразим это, применив логическую модель: ЕСЛИ Р, ТО Q, Р СЛЕДОВАТЕЛЬНО Q где Р и Q означают соответственно два предложения: «Смит является специалистом по ЭВМ» и «Смит — оптимист». Обнаружив совпадение, мы можем утверждать, что суждение имеет некоторую приемлемую логическую структуру, и, следовательно, можно сделать вывод о том, что заключение «Смит — оптимист» справедливо. Пол¬ ностью утверждение выглядит следующим образом: ЕСЛИ Смит является специалистом по ЭВМ, ТО Смит — оптимист Смит является специалистом по ЭВМ следовательно Смит — оптимист По этому поводу нужно заметить, что предложения, заменившие приведенные в «форме» буквы, называют «содержанием» утверждения. На обоснованности примера никак не сказывается, имеет ли содержание утверждения какой-либо смысл в реальном мире. Например, следующее Утверждение справедливо, хотя и абсурдно: 2* 35
ЕСЛИ Смит является специалистом по ЭВМ, ТО Смит спит Смит является специалистом по ЭВМ СЛЕДОВАТЕЛЬНО Смит спит Использованная в приведенных примерах простая «фор¬ ма» утверждения считается в логике одной из основных, и ей дано специальное название на латинском языке «modus ponendo ponens»1 (сокращенно «modus ponens»). Она тесным образом связана с конкретным подходом, использующим продукционные системы для обработки знаний (см. рис. 1.4). Взаимосвязь заключается в сле¬ дующем. Правило «ЕСЛИ Р, ТО Q» соответствует одному из правил продукции; единичное высказывание Р соответствует некоторому факту, зафиксированному в базе данных системы, которая при обнаружении совпадения для части правила ЕСЛИ фиксирует утверждение Q в качестве нового факта. Более того, полный цикл вычисле¬ ний, производимых с помощью простой продукционной системы, соответствует многократному применению ут¬ верждения «modus ponens»; порожденное утверждение, в свою очередь, как факт фиксируется в базе данных. Следовательно, подобная логика обладает способностью; как порождать, так и оценивать утверждение. Способность логики к порождению (или «логическому выводу») новой информации на основании старой пред¬ ставляет определенный интерес в аспекте программи¬ рования как средства для управляемого порождения логического вывода (см. гл. 1). Как будет показано ниже, в логике разработаны хорошо определенные и понятные формализмы для представления фактов и правил мани¬ пулирования ими. 2.2. ИСЧИСЛЕНИЕ ПРЕДИКАТОВ И ПРЕДСТАВЛЕНИЕ ЗНАНИИ В гл. 1 были приведены программы, которые манипу¬ лировали такими фактами, как: отчитывается (джон, джим) руководит (джим, ДЖОН) Эти факты выражают единичные отношения, указанные слева от скобок, и перечисленные в скобках некоторые 1 Modus ponendo ponens (лат.) — название первой формы гипоте¬ тического силлогизма, выражаемого следующей формулой: если А есть В, то С есть D. — Примеч. пер. 36
объекты, связываемые данным отношением. Подобные структуры служат для формирования основных предло¬ жений ‘исчисления предикатов и, собственно, заменяют обозначения в виде одиночных букв (например, Р или Q), использованные в предыдущем разделе. В исчислении предикатов именам отношений соответ¬ ствует термин «предикаты», а объектам — «аргументы». Все используемые в исчислении предикатов логические выражения, называемые высказываниями, в класси¬ ческом исчислении предикатов должны иметь значение либо ИСТИНА, либо ЛОЖЬ. Следовательно, приведенные в разделе 2.1 высказывания можно записать в нотации исчисления предикатов: является (смит, специалист по ЭВМ) является (смит, оптимист) является (смит, спящий) Некоторый объект может быть представлен как «констан¬ та», т. е. как конкретный индивидуум, или класс индивиду¬ умов, или как «переменная», в результате чего конкретный индивидуум или класс индивидуумов остаются незаданны¬ ми. Например, одна из интерпретаций выражения является (X, специалист по ЭВМ) может быть такой: «имеется некоторый объект X, который является специалистом по ЭВМ». Когда переменной ставится в соответствие определенное имя некоторого объекта (т. е. некоторой «константы»), происходит порождение экземпляра этой переменной. В нашей нота¬ ции все константы начинаются со строчной буквы. Следует отметить два дополнительных момента, каса¬ ющихся предикатов. Во-первых, порядок аргументов («смит» и «специалист по ЭВМ» в приведенном выше при¬ мере) должен всегда задаваться в соответствии с интер¬ претацией предиката, принятой в рамках определенной предметной области. Это значит, что программист должен принять решение о фиксированном, приемлемом для интер¬ претации порядке и соблюдать его с начала и до конца. Ьс .горых, предикат может иметь произвольное число аргументов. До сих пор все предикаты были бинарными. При этом предложение «Смит работает на фирме ИБМ в качестве специалиста по ЭВМ» может быть представ¬ лено в виде предиката с тремя аргументами: 37
работает (смит, ИБМ, специалист по ЭВМ) или в альтернативном виде: работает (специалист по ЭВМ, ИБМ, смит) в то время как предложение «ЭВМ сломана» представ¬ ляется как предикат с одним аргументом: сломана (ЭВМ). Отдельные высказывания (называемые «элементарны¬ ми»), состоящие из предиката и связанных с ним аргумен¬ тов, могут объединяться в сложные высказывания с помощью «логических связок». В их состав входят: И (and, &) ИЛИ (or, V), НЕ (not, —) и импликация (->). Особо важное значение имеет импликация, поскольку именно эта связка применяется для формирования правил и читается «ЕСЛИ..., ТО...». Вот несколько примеров применения этих четырех логических связок при образо¬ вании сложных высказываний: является (смит, специалист по ЭВМ) & читает (смит, научная фан тастика), т. е. «Смит является специалистом по ЭВМ и читает научную фантасти¬ ку»; отчитывается (смит, джон) -+■ руководит (джон, смит), т. е. «Если Смит отчитывается перед Джоном, то Джон руководит Смитом»; написал (смит, программа) & ~ работает (программа)-*- отладить (смит, программа, вечер) V передать (программа, программист, следующий день), т. е. «Если Смит написал программу и она не работает, то Смиту следует отладить программу вечером или передать ее программисту на сле¬ дующий день». Многие факты, зафиксированные в базе данных для обыч¬ ного служащего, можно выразить через приведенные выше структуры. Исключая переменные, которые вносят некото¬ рые дополнительные усложнения, о чем будет сказано ни¬ же, мы могли бы продолжить: «Смит — специалист по ЭВМ, который работает на фирме ИБМ в качестве руководителя; Джон и Джек — программисты, которыми руководит Смит; Джон дополнительно выполняет функции инженера писателя»; является (смит, специалист по ЭВМ) работает (смит, ИБМ, руководитель) программист (джон) & инженер-писатель (джон) программист (джек) руководит (смит, джон) & руководит (смит, джек) 38
Мы установили, что в высказываниях в качестве ар¬ гументов могут быть использованы и переменные. Эти переменные принимают определенное значение, как только им присваивается имя отдельного объекта или класса объектов. Для того чтобы в исчислении предикатов можно было манипулировать переменными, потребовалось ввести дополнительную структуру — «квантор». Кванторы служат для указания меры, в какой экзем-- пляры переменных должны быть истинны для того, чтобы в целом высказывание стало истинным. Различают «кван¬ тор общности», обозначаемый символом V, и «квантор существования», которому соответствует символ 3. Для квантора общности — V (X) — все значения переменной в скобках, относящиеся к некоторой предметной области, должны быть «истинны»; для квантора существования — 3 (X) — требуется, чтобы только некоторые из таких зна¬ чений были «истинны». При применении квантора общно¬ сти можно перед высказыванием мысленно добавлять слово «все», а при применении квантора существования — слово «некоторые». Пользуясь кванторами, можно представить предложе¬ ние «Все специалисты по ЭВМ являются программистами» следующим образом: V (X) (специалист по ЭВМ (X) программист (X)) Предложение «Некоторые специалисты по ЭВМ явля¬ ются оптимистами» может быть представлено так: 3 (X) (специалист по ЭВМ (X) -> оптимист (X) ) Кванторы общности и кйанторы существования могут перемежаться в пределах одного и того же выражения. В этом случае порядок, в соответствии с которым вводятся квантифицируемые переменные, может влиять на смысл утверждения. Например, выражение V (X) 3 (Y) (служащий (X) ->■ руководитель (Y, X)) может быть интерпретировано так: «У каждого служащего есть руководитель». Если же изменить порядок следования кванторов, на¬ пример 3 (Y) V (X) (служащие (X) -> руководитель (Y, X)) То изменится и утверждение: «Есть такое лицо, которое руководит всеми» 39
Используя данный механизм представления, можно выразить в стандартном виде многие сложные предложе¬ ния, свойственные разговорному языку. При этом можно избежать двусмысленности таких предложений. Средства исчисления предикатов позволяют, не изменяя смысла, преобразовать их в форму, удобную для обработки с по¬ мощью ЭВМ. Такое преобразование становится возмож¬ ным благодаря тому, что одни логические связки могут быть выражены через другие. Например, сложное выска¬ зывание ~ (~ специалист по ЭВМ (смит) V ~ руководитель (смит)) может быть выражено таким образом: специалист по ЭВМ (смит) & руководитель (смит) На это можно возразить, что исходное утверждение не так-то просто понять! Следующее правило отчитывается (джон, смит) -+■ руководит (смит, джон) можно представить в виде ~ отчитывается (джон, смит) V руководит (смит, джон) Последнее преобразование имеет большое значение при автоматизации операций исчисления предикатов (см. гл. 9), хотя оно и трудно для понимания. Когда говорят о манипуляциях, которые в рамках исчисления предикатов истинны по определению, принято представлять высказывания одиночными буквами. В ре¬ зультате предыдущие примеры приобретут вид: А & В равносильно ~ (~ А V ~ В) А -> В равносильно ~ А V В Приведенные высказывания, несмотря на то что они правильны, интуитивно кажутся противоречивыми, и, воз¬ можно, придется попрактиковаться в их применении, прежде чем вы убедитесь в их эквивалентности. Подводя итог, .отметим, что при конструировании сложных высказываний из элементарных выполняемые кванторами и логическими связками функции подчи¬ няются четко определенным правилам, которые называ¬ ются правилами построения. Благодаря им при видоизме¬ нении структуры набора высказываний сохраняется смысл 40
последних. Образованные по этим правилам сложные вы¬ сказывания называются правильно построенными форму¬ лами (ППФ). Например, связка И (&) может быть поме¬ щена только между высказываниями. 2.3. ЛОГИЧЕСКИЙ ВЫВОД Для обработки знаний с помощью исчисления предика¬ тов исключительно важное значение приобретает воз¬ можность логически выводить новые факты и правила из некоторого заданного набора. Более того, всегда хочется сделать это таким способом, который позволял бы под¬ твердить достоверность новой информации. В гл. 1 было показано, как трудно, используя тради¬ ционный язык (например, Паскаль), написать программу для манипулирования такими отношениями, как «отчиты¬ вается» и «руководит». Исчисление же предикатов идеаль¬ но подходит для обработки подобного «пропозициональ¬ ного»1 материала. Напомним, что нам были даны следу¬ ющие факты: факт 1: руководит (петр, джон) факт 2: руководит (джон, анна) факт 3: руководит (анна, фред) и два правила (формулируемые теперь с использованием кванторов): правило 1: V (X, Y) (руководит (X, Y) отчитывается (Y, X)) правило 2: V (X, Y, Z) (руководит (X, Y) & отчитывается (Z, Y) -> отчитывается (Z, X)) Эти правила можно интерпретировать так: «Для всех значений X и Y, если X руководит Y, то Y отчитывается перед X», «Для всех значений X, Y и Z, если X руководит Y и Z отчитывается перед Y, то Z отчитывается перед X». Воспользуемся простым примером из гл. 1 и посмотрим, сможем ли мы с помощью приведенных выше правил сделать заключение о том, что «Фред отчитывается перед Джоном». Сразу же видно, что такой вывод невозможен при применении одного из правил. Следовательно, для решения этой задачи нужно воспользоваться косвенным 1 От латинского propositio — предложение (выражение, высказыва- ь*ие), рассматриваемое только с точки зрения его истинности.— Примеч. пер. 41
путем: на основании правила 1 и факта 3 сначала сделать промежуточный логический вывод: отчитывается (фрсд, айна) а затем, используя этот факт, а также правила 2 и 3, сде¬ лать заключение об интересующем нас факте: отчитывается (фрсд, джон) Наши выводы могут быть продолжены. Применяя снова правило 2 в сочетании с фактом 1, можно прийти к допол¬ нительному заключению: отчитывается (фрсд, петр) На основании предыдущего примера можно подумать, что для получения вывода мы применили только правила 1 -и 2. Но это совсем не так. В неявном виде были исполь¬ зованы два правила более высокого уровня, получившие в логике название «правил вывода». Для предыдущего случая эти правила очевидны, и читателя можно простить, если он на них не обратил внимания. Первое из них — правило «modus ponens»: АВ, А|— В, где «|— » называется «турникет» и его можно интерпретировать как «СЛЕДОВАТЕЛЬНО». Вторым является правило «специализации», которое записывается так: V (X) W (X), А | — W (А) Это правило применяется для определения конкретного значения квантора общности, и хотя оно может пока¬ заться сложным, фактически же просто отражает интуи¬ тивное представление о том, что если некоторому классу объектов присуще какое-либо свойство, то любой объект этого класса будет обладать тем же свойством. Правила вывода — это утверждения самого общего ха¬ рактера о взаимосвязях между допущениями и заключе¬ ниями, которые с позиций исчисления предикатов всегда справедливы. В разделе 2 мы ввели понятие «правила вывода», когда говорили о логических «формах» и, в част¬ ности, о форме утверждения «modus ponens». В резуль¬ тате применения таких правил к ППФ из любой предмет¬ ной области будут сформированы другие правильно по¬ строенные формулы. Они будут отличаться от приведениях выше в программе правил 1 и 2, называемых «правилами 42
предметной области», так как истинность последних ограничивается конкретной предметной областью отно¬ шений — «отчитывается» и «руководит». Правила вывода можно представить себе как часть обобщенной структуры, в пределах которой мы манипулируем правилами пред¬ метной области. В рассмотренном примере правило вывода «modus ponens» мы применили только для того, чтобы можно было воспользоваться определенными фактами (включая логи¬ чески выведенные) в качестве условий для правил пред¬ метной области с целью порождения новых фактов в виде ' заключений, вытекающих из этих правил. Допустим, задано правило «если какой-либо объект является парно¬ копытным животным, то он будет есть траву» и факт «лошадь является парнокопытным животным». Тогда, сле¬ дуя правилу «modus ponens», мы приходим к выводу, что «лошади едят траву». Как установлено выше, правило «обобщения свойства» требует, чтобы переменным были присвоены конкретные значения, и указывает на то, что ес¬ ли некоторый класс объектов обладает каким-либо свой¬ ством, то любой член этого класса будет обладать этим же свойством. В исчислении предикатов существует много различных правил вывода. Обладая для исчисления предикатов универсальной истинностью, они могут применяться либо для установления истинности утверждения в целом, либо для порождения заключения. К тому же правила вывода можно использовать как отдельно, так и в сочетании с другими правилами. Некоторые основные правила выво¬ да приведены на рис. 2.1. 1) Modus ponendo ponens (МРР) : А —— В, А |— В 2) Modus tollendo to Hens (MTT) : A — В, ~B|- ~ А ( например, ЕСЛИ моя программа правильна, ТО она будет работать, моя программа НЕ будет работать, СЛЕДОВАТЕЛЬНО, она неправильна). 3) Двойное отрицание (ДО) : А|- ~ (~А) (например, моя программа работала СЛЕДОВАТЕЛЬНО, моя программа НЕ НЕ работала) . 4) Введения конъюнкции (ВК) : А, В |— (А & В) (например, моя программа работала, она правильна, СЛЕДОВАТЕЛЬНО, моя программа работала И она правильна) 5) Reductio ad absurdum (RAA) :A-*B, A ~B I - ~A (например, ЕСЛИ моя программа правильна, ТО она будет работать, ЕСЛИ моя программа правильна, ТО она не будет работать, СЛЕДОВАТЕЛЬНО, моя программа неправильна) . 6) Специализации (С): V(X) W (X) , А — W (А) (например, все предметы, являющиеся компьютерами, ненадежны, "TIPTOP” — компьютер, СЛЕДОВАТЕЛЬНО, TIPTOP" ненадежен) Рис. 2.1. Некоторые основные правила вывода 43
Теперь рассмотрим пример с простым правилом: «ЕСЛИ информатика является развивающейся, ТО нет дефицита в специалистах» развивающаяся (информатика) -> — дефицит (информатика, специалисты) и простой факт, заключающийся в том, что существует «дефицит специалистов»: дефицит (информатика, специалисты) Получив такую информацию, мы хотим выяснить, можно ли сделать заключение о том, что «информатика не отно¬ сится к развивающимся отраслям науки», т. е. ~ развивающаяся (информатика) Используя приведенные выше факт и правило и применив правило вывода для выяснения, можем ли мы продуциро¬ вать желаемое заключение? Если сразу это невозможно, то применяется какое-либо правило вывода для получения промежуточного результата, которым затем, может быть, удастся воспользоваться (в сочетании с исходной инфор¬ мацией) в качестве основы для применения последующих правил вывода. В данном случае нельзя вывести такое заключение с помощью только правил вывода, приведен¬ ных на рис. 2.1. Однако это можно сделать в два этапа. Первый этап сводится к продуцированию промежуточного вывода путем применения правила «двойного отрицания» к такому простому факту, как дефицит (информатика, специалисты) для порождения эквивалентного факта ~ (~ дефицит (информатика, специалисты)) Мы можем воспользоваться этим новым фактом, а также правилом предметной области развивающаяся (информатика) -> ~ дефицит (информатика, спе¬ циалисты) и правилом «modus tollens»1 (МТТ) (см. рис. 2.1) для вы¬ вода желаемого заключения ~ развивающаяся (информатика) 1 Modus tollens (лат.) — название второй формы гипотетического силлогизма, выражаемого следующей формулой: Если А есть В, то С есть D. — Примеч. пер. 44
Возможно, читателю трудно следить за ходом рассуж¬ дений, позволивших на основании правила «modus tollens» сделать последний вывод. Мы повторим его еще раз, обо¬ значив для большей ясности главные высказывания от¬ дельными буквами. Допустим, что д== развивающаяся (информатика) В = дефицит (информатика, специалисты) Наше правило и факт могут быть выражены, как А - ~ В в Требуется доказать истинность утверждения ~ А На первом шаге, применяя правило «двойного отрицания» к В, получим промежуточный результат: ~ (~ В) (т. е. ~ (~ В) В), где символ == обозначает эквивалентность. На втором шаге, используя правило «modus tollens» по отношению к предикатам С и D, получим С -> D, ~ D | — ~С или, что эквивалентно, С -> -D, ~ (~ D)| — -С Следовательно, если дано С -> ~D и ~ (~ D), то можно заключить, что выражение ~ С истинно. Но этому образцу соответствует наше исходное высказывание. Так, А ~ В и ~ В) дают нам право заключить, что утверждение ~ А истинно. Ход этого доказательства в сжатой форме представлен на рис. 2.2. А—* ~ В, В | - ~ А ОБОСНОВАНИЕ ПРАВИЛО (1) А—* ~В Дано (2) В Дано (3) ~ (~ В) (2) до (4) ~в 0.3) Рис. 2.2. Формальная структура доказательства 45
Одно из очень важных свойств исчисления предикатов, как отмечалось в предыдущем разделе, заключается в том, что существует множество путей утверждения одного и то¬ го же положения. Например, было показано, что конъюнк¬ тивное высказывание А & В эквивалентно отрицанию дизъюнктивного высказывания ~ (~ А v ~ В) Более того, мы уже использовали это свойство в при¬ веденном выше доказательстве, когда обращались к опи¬ санию правила вывода «modus tollens». Такое свойство А—* • ~В, В |-~А ОБОСНОВАНИЕ ПРАВИЛО (1) А— ~В Дано (2) В Дано (3) А Допустим (4) ~В (1,3) (5) В&~В (2,4) ВК (6) ~А (3,5) Рис. 2.3. Альтернативный вариант доказательства А->~В, В| А присуще и доказательствам в целом, так как часто суще¬ ствуют различные способы преобразования утверждений. Доказательство с применением правила вывода «двойное отрицание» и правила «modus tollens» (см. рис. 2.2) может быть осуществлено с помощью правил «modus ponens», «введения конъюнкции» и «reductio ad absurdum»1 (см. рис. 2.3). Такое доказательство не столь элегантно, как предыдущее, но формально оно эквивалентно ему. 2.4. ПРОБЛЕМЫ, СВЯЗАННЫЕ С ИСЧИСЛЕНИЕМ ПРЕДИКАТОВ ПРИ ОБРАБОТКЕ ЗНАНИЙ Приведенные в предыдущем разделе доказательства свидетельствуют о том, что в рамках исчисления преди¬ катов можно породить ряд логических выводов с целью доказательства истинности какого-либо заключения, при¬ 1 Reductio ad absurdum (лат.) — приведение к нелепости,— При' меч. пер. 46
меняя для этого «правила вывода» к фактам предметной области и правила, вытекающие из постановки задачи. Вместе с тем, составив представление об обработке знаний, мы хотели бы автоматизировать этот процесс. И тут вы¬ ясняется, что на пути реализации этого подхода возни¬ кает ряд серьезных проблем, наприме'р проблема, свя¬ занная с различной природой процесса рассуждений в исчислении предикатов и ходом рассуждений, основан¬ ных на здравом смысле. Более того, при оценке доказа¬ тельства ретроспективно (когда есть возможность проана¬ лизировать вывод «снизу вверх», начиная с допущений и кончая заключениями) выясняется, что, основываясь на законченном доказательстве, нельзя установить в точ¬ ности критериивыбора: какие из правил и когда следовало применить. Первая проблема касается способа, каким пользуются в классическом исчислении предикатов для установления взаимосвязи между условиями и заключе¬ ниями. Дело в том, что этот способ не применяется при рассуждении на основе здравого смысла. В исчисле¬ нии предикатов никогда не приходится отказываться от заключения, если становится известным дополнительный факт. Например, когда мы доказали, что А -> С то С останется истинным и в случае появления любого дополнительного факта В, т. е. А & в -> С Говоря техническим языком, исчисление предикатов «мо¬ нотонно», и отсюда следует, что любые умозаключения аддитивны и нет необходимости в их пересмотре. Совер¬ шенно ясно, что такая монотонность неприемлема в реаль¬ ном мире. Хотя нас вполне устраивает правило «ЕСЛИ мотор перегревается, ТО мотор следует выключить не¬ медленно», МЫ все же ставим под сомнение разумность следующего правила: «ЕСЛИ мотор перегревается И движение происходит по скоростной полосе, ТО мотор следует выключить немедленно». В реальной жизни мы часто вынуждены изменять Умозаключение или отказываться от него при появлении новых фактов. О формальных системах, для которых сле¬ дует это предусматривать, говорят, что они «немонотон¬ ны». 47
Что касается автоматизации, то один из «бездумных» подходов, который никогда не следует применять на прак¬ тике, сводится к слепому применению правил вывода в надежде на случайное порождение какого-либо «дока¬ зательства». При этом, используя подобную примитивную процедуру, вряд ли можно будет обеспечить исполнение соответствующей программы в реальном масштабе време¬ ни. Во-первых, многие доказательства требуют в некото¬ рый момент ввода дополнительных предположений с тем, чтобы это правило можно было применить на другом, более позднем этапе. В результате от ЭВМ требуется прог¬ нозирование ее будущих действий. Вторая проблема за¬ ключается в том, что при слепом применении некоторых совершенно безупречных правил вывода может возникнуть «комбинаторный взрыв». Например, многократное приме¬ нение правила «исключительное И» к трем высказыва¬ ниям Р, Q и Р может породить неопределенное количество сложных высказываний, включая такие лишние (не пред ставляющие интереса), как (Р & Q) & (Р & Q) & (Р & Q) P&Q&Q&Q&Q&R При автоматизации вывода доказательств методами исчи¬ сления предикатов требуется определить ряд процедур для выбора правил, позволяющих предотвратить комбинатор¬ ный взрыв и обеспечить проведение немонотонных рас- суждений. В 60-х годах как в логике, так и в области искусственного интеллекта была проделана большая рабо¬ та, направленная на поиск соответствующих «эффектив¬ ных процедур». При этом наметилось два подхода. При первом подходе к решению задачи управления, нашедшем широкое распространение в приложениях кон¬ цепции искусственного интеллекта, отбрасывался принцип универсальности и производился поиск методов обра¬ ботки данных, эффективных для решения конкретных задач в пределах определенной предметной области. Ис¬ точником высокой эффективности этих методов служат введенные в систему обширные знания в конкретной предметной области и следование наблюдаемому факту, заключающемуся в том, что человек, выступающий в роли эксперта — решателя задач, очень редко пользуется про¬ цедурами общего характера, достигая успеха за счет хорошего «знания» содержания задачи. С целью упростить процесс программирования для таких «основанных на знаниях» систем были разработаны соответствующие фор¬ мализмы, обладающие меньшими выразительными воз- 48
мощностями, чем исчисление предикатов, но более удобные аля реализации на ЭВМ. Об этом говорится в гл. 3. Многие подобные приемы были разработаны с использованием средств языка обработки списков — Лисп. Второй подход, развиваемый в рамках традиционной логики, был направлен на сохранение- универсальности, свойственной исчислению предикатов, путем выявления’ процедур вывода доказательств, универсальных по своему характеру и в то же время позволяющих обойти проблему выбора правил и комбинаторного взрыва. Этот подход в основном представляет интерес для самой логики, в част¬ ности, при разработке методов автоматизации вывода доказательств (названного «доказательством теорем»). До последнего времени многие из разработанных методов подобного типа были слишком малоэффективны для применения на практике. Но сравнительно недавно был разработан язык программирования Пролог, представля¬ ющий собой комбинацию одного из методов доказательст¬ ва теорем — «метода резолюции» и исключительно эф¬ фективной стратегии управления, детально описанной в гл. 9. Теперь мы располагаем версией автоматизирован¬ ного исчисления предикатов, которой в виде универ¬ сального языка программирования можно пользоваться для составления программ обработки знаний. 3. ПОДХОД К КОМПЬЮТЕРИЗАЦИИ ПРЕДСТАВЛЕНИЯ И УПРАВЛЕНИЯ 3.1. ПЕРЕХОД К СИСТЕМАМ, ОСНОВАННЫМ НА ЗНАНИЯХ Подход к обработке информации, в результате при¬ менения которого была разработана технология построе¬ ния экспертных систем, отличается от ранее используе¬ мого логиками из-за выбора способов управления про- Нессом получения вывода, специфичных для каждой кон¬ кретной области знаний. Исходя из рассмотренного нами исчисления предикатов, такой подход можно представить как устранение различий между правилами предметной области и правилами вывода. Эти два класса процедурных знаний, разделяемых в исчислении предикатов только для обеспечения универсальности, заменяются правилами, оп¬ ределенными с той или иной степенью универсальности 49
в отношении некоторой предметной области. Такие прави¬ ла применяются в пределах управляющей структуры, соответствующей структуре предметной области. Это неиз¬ бежно приводит к тому, что система, разработанная в соответствии с таким подходом, будет специализирован¬ ной по отношению к предметной области. Необходимость выработки подхода, «основанного на знаниях», была признана специалистами в области ис- кусственного интеллекта при попытке решения задач по обработке символов. Многие основные концепции и методы были разработаны в процессе автоматизации игр (на¬ чиная с простейших, таких, как игра в «крестики-но¬ лики», и кончая такими сложными, как, например, шах¬ маты), а также в результате исследования механизмов понимания естественного языка. Как было выяснено, для этих двух обширных предметных областей характерно, что всякое приближение к уровню человеческих возмож¬ ностей требует ввода в ЭВМ в закодированном виде больших объемов знаний из соответствующей предметной области. Такая стратегия была подтверждена в резуль¬ тате изучения на практике того, как человек производит обработку знаний в предметных областях. Шахматисты,’ например, скорее обязаны своей памяти, которая хранит множество заготовок для возможных шахматных позиций, и способности пользоваться этим во время игры, чем умению применять ряд мощных дедуктивных процедур. Такое смещение акцента с проблем построения мощных универсальных «думающих машин» на проблемы автома¬ тизации процесса обработки человеческих знаний неиз¬ бежно привело к возникновению новых направлений исследований. Одно из них связано с разработкой фор¬ мализмов для представления фактов и процедуральных знаний в таком виде, чтобы выявлялись аспекты, имеющие принципиальное значение для конкретной задачи. Напри¬ мер, в ходе исследований процесса понимания естествен¬ ного языка было установлено, что для разрешения про¬ граммой многих неоднозначностей, которые встречаются в письменном тексте, потребовалось предоставить системе описание рассматриваемых событий или ситуаций. Это можно проиллюстрировать с помощью следующего эпизо¬ да. «Получив в ресторане удовольствие от порции утки, Джон подозвал официанта и попросил счет. Последний был принесен на тарелке и, к огорчению Джона, оказался значительно больше, чем тот ожидал. Джону следовало прислушаться к предостережениям своих друзей и быть осмотрительным при выборе блюда». 50
Приведенный текст содержит неопределенность, ка¬ сающуюся слова «счет» (по-английски bill). В данном контексте на английском языке его можно интерпрети¬ ровать двояко: как «клюв утки» и как расчет стоимости еды. Остальная часть текста может также интерпрети¬ роваться двояко. Вместе с тем, если бы мы интерпре¬ тировали этот эпизод в более широком контексте с учетом последовательности событий, типичной для ресторана, то, по-видимому, неопределенности не было бы. Такой сце¬ нарий обычно включает процедуру оплаты съеденной пищи после представления соответствующего счета. С по¬ зиции «здравого смысла» «счет» (bill) интерпретируется как некое «подтверждение расчета стоимости съеденной пищи». Следовательно, для того чтобы компьютерная система также интерпретировала этот эпизод, ей необ¬ ходимо иметь сведения о типичной последовательности событий в ресторане. Конечно, возможны ситуации, в которых альтернатив¬ ная интерпретация может быть правильной. Например,* если обед состоялся в каком-нибудь экзотичном китай¬ ском ресторане, «клюв утки» (duck bill) мог быть исполь¬ зован в качестве ингредиента. «Сообразительная» система, обладающая знаниями об этом исключении, заметит его, а более «остроумная» может даже «рассмеяться» по этому поводу. Для такого случая следует воспользоваться другим, более совершенным методом раскрытия неопре¬ деленности, чем просто просмотр записи типичных собы¬ тий. Например, система может использовать общие знания о «клювах уток» для подтверждения того, что при неко¬ торых условиях они бывают «съедобны», применив для этого самые общие правила о свойствах клювов и о том, как их «приготавливают». Сделав дедуктивный вывод, что клювы уток становятся «съедобными» в результате приготовления из них супа, система может выбрать это объяснение в качестве альтернативы. Аспекты представления знаний будут подробно рас¬ смотрены в конце этой главы. Однако несколько моментов полезно осветить на данной стадии. Во-первых, в рас¬ сматриваемом примере проблема двусмысленности разре- щзется с использованием знаний предметной области, касающихся типичных для ресторана условий. Сюда мож¬ но отнести и достоинства блюд из утиных клювов, и общую информацию относительно приготовления пищи и т. п. в°-вторых, несмотря на то, что вариант интерпретации с Утиным клювом и подходит для некоторой конкретной ситуации, в общем случае он неправдоподобен. С тем что¬ 51
бы максимально ускорить процесс обработки знаний, на¬ иболее правдоподобную интерпретацию следует представ¬ лять в явном виде, и только для неправдоподобных ситуаций должен быть получен соответствующий вывод. Представление знаний — только один из многих осно¬ вополагающих аспектов программирования знаний. Дру¬ гим аспектом считается управление знаниями. Кроме того, что управляющая структура должна конструироваться с учетом выбранного способа представления знаний, следует учитывать и другие факторы, например имеющую принципиальное значение возможную «декомпозицию» задачи. Упрощение процесса решения задачи отчасти зависит от того, в какой мере удастся декомпозировать задачу на ряд более простых подзадач. Степень декомпозиции и природа взаимосвязи между подзадачами оказывают влияние на общую управляющую структуру, которая мо¬ жет быть применена при решении данной задачи. Это мож¬ но проиллюстрировать на задаче о путнике, пытающемся добраться до вершины горы. Допустим, что наш путник оказался в тумане и у него для определения направления нет ничего, кроме компаса. Одна из стратегий, которой он может придерживаться, сводится к тому, что он делает по одному шагу в каждом из ..четырех направлений; N, S, Е, W, а затем решает двигаться в том направлении, которое ведет вверх — правило «выбора наилучшего хода». Такая управляющая стратегия представлена на рис. 3.1. Успех данной стра¬ тегии в значительной мере зависит от окружения, в усло¬ виях которого она реализуется. В случае существования нескольких предгорий наш путник, следуя такой стратегии, может оказаться на вершине локальной возвышенности вместо вершины главной горы. В таких условиях путнику для достижения цели необходим некий дополнительный механизм управления. Две из множества стратегий заключаются в следующем. Простая стратегия сводится к тому, что путник возвращается к точке, с которой он на¬ чал подъем на локальную возвышенность, делает шаг в противоположном направлении и снова применяет правило «выбора наилучшего хода». Альтернатива этому может возникнуть, если туман на секунду рассеется и наш путник, будучи на одной из локальных вершин, на миг увидит свою цель. В этом случае ему следует воспользоваться стратегией броска в сторону этой вершины, даже если временно он потеряет высоту. Другими словами, та допол¬ нительная информация, которую он получил, увидев на 52
Рис. 3.1. Стратегия «наискорейшего подъема» (с возвра¬ щением) мгновение гору, придала бы ему уверенности при выборе другого направления, хотя и ведущего к временной потере высоты, но позволяющего оказаться в лучшем положении в конечном итоге. Главное, что следует усвоить из приведенного примера, заключается в том, что «управляющая структура», исполь¬ зуемая для привлечения знаний предметной области, должна учитывать структуру таких знаний. В рассматри¬ ваемом .случае управляющей структуре «взбираиия на го¬ ру», приемлемой в отсутствие склонов нескольких воз¬ вышенностей, нельзя гарантировать успех при наличии таких склонов. Здесь потребуются более сложные методы, включая «возврат» и «просмотр вперед». 3 2. ЛИСП — ЯЗЫК ДЛЯ ПРОГРАММИРОВАНИЯ СИСТЕМ, ОСНОВАННЫХ НА ЗНАНИЯХ Для реализации изложенных в предыдущем разделе положений разработчик систем, основанных на знаниях, нуждался в более гибком языке программирования, чем существовавшие прежде. В результате был создан но¬ вый функциональный язык программирования — Лисп, ^н был создан в результате работы, проведенной и 60-х годах Джоном Маккарти в связи с обработкой на г>ВМ нечисловых данных. С тех пор Лисп подвергся 53
значительным изменениям, и теперь это — lingua franca1 для специалистов в области искусственного интеллекта. «Лисп» означает язык программирования списков. Основной структурой в этом языке служит «список» (list), составленный из комбинации абстрактных симво- лов, названных «атомами». «Атом» — элементарный прог¬ раммный объект, который не имеет составных частей, что подразумевает его название. Вместе с тем у любого «атома» должно быть имя, например «РУКОВОДИТ», «ДЖОН», «СМИТ», «NIL». Сам «атом» может иметь атрибуты (или свойства), закрепленные за ним. Один из атрибутов атома — «значение» («value») играет примерно ту же роль, что и «значение» переменной в традиционных языках программирования. В Лиспе список создается как некоторая комбинация атомов (возможно, нуля), заключенных в скобки. Напри¬ мер, выражение (РУКОВОДИТ ДЖОН ПЕТР) является правильно сформированным предложением на языке Лисп, состоящим из трех атомов: РУКОВОДИТ, ДЖОН, ПЕТР. Аналогичное выражение (И (ДЖОН СПЕЦИАЛИСТ ПО ЭВМ) (ЧИТАЕТ ДЖОН НАУЧНУЮ ФАНТАСТИКУ)) представляет собой список, содержащий два вложенных дополнительных списка. Списки завершаются атомом «NIL», который служит в качестве «нулевого», или «пусто¬ го», списка. Такой терминатор списка не представлен в нормальном списковом синтаксисе. Обработку выраже¬ ний на языке Лисп (называемых S-выражениями) можнс обеспечить, пользуясь только пятью функциями-прими¬ тивами. Хотя Лисп-системы в действительности содержа! значительно больше функций, чем указано выше, многие из них можно построить с помощью тех пяти, что .при¬ ведены ниже: CAR приобретает значение первого элемента списка, например САК для списка (РУКОВОДИТ ДЖОН ПЕТР) . .. это атом «РУКОВОДИТ»: CDR приобретает значение списка за исключением первого элемента например CDR для списка (РУКОВОДИТ ДЖОН ПЕТР) — этс список (ДЖОН ПЕТР); 1 Lingua franca — смешанный язык (жаргон) из элементов роман ских, греческих и восточных языков Примеч. пер. 54
CONS собирает два выражения, образуя списковую структуру, на- имер- CONS для атома «РУКОВОДИТ» и списка (ДЖОН) — это шсок (РУКОВОДИТ ДЖОН); CONS для двух атомов «РУКОВОДИТ» '«ДЖОН» — это специальный тип списка (РУКОВОДИТ. ДЖОН); ON'S для атома «ДЖОН» и пустого списка () — это список (ДЖОН) ; АТОМ приобретает значение ИСТИНА, если применяется к атому, других случаях — значение ЛОЖЬ, например АТОМ для «РУКОВО¬ ДИТ» будет иметь значение ИСТИНА — Т, в то время как А'ГОхЧ для писка (ДЖОН ПЕТР) — значение ЛОЖЬ — NIL; EQUAL приобретает значение ИСТИНА, если два выражения квивалентны, в других случаях — значение ЛОЖЬ, например резуль- атом сравнения двух атомов ДЖОН и ПЕТР с помощью EQUAL удст ЛОЖЬ, а для атомов «ДЖОН» и «ДЖОН» — ИСТИНА. Программа на языке Лисп состоит из набора функций. ] результате этого управляющая структура программы [меет главным образом «прикладной» характер в том смы- :ле, что она занимается применением функций к аргумен- ам, которые сами могут быть функциями. Это совсем ie похоже на последовательное управление, свойствен- юе традиционным языкам программирования, рассмот- )снным в гл. 1. Для определения некоторых полезных пункций потребуются две дополнительные структуры вы¬ сокого уровня: DEFUN, которая служит для порождения екущего определения функции, и COND, соответствую- цая традиционному условному переходу. Обе эти функ- щи-примитивы применены в примере с функцией «ШЕФ», юторая служит для проверки, существует ли в базе дан- 1ых, содержащей сведения о персонале, отношение ^РУКОВОДИТ» между двумя лицами. В этой базе данных |)акты представлены в форме (ОТНОШЕНИЕ СУБЪ¬ ЕКТ 1 СУБЪЕКТ 2): DEFUN ШЕФ (ФАКТ) COND (EQUAL (CAR ФАКТ) ’ РУКОВОДИТ) Т) Т NIL) )) Термин DEFUN указывает на то, что последующий 1абор символов является определением функции, а сле- ^УЩий за ним атом в скобках — это параметр, который Юл жен быть передан функции. Допустим, что в данный! момент это применено к факту РУКОВОДИТ ДЖОН ПЕТР) Внутри функции «ШЕФ» заключено единственное Юловие, обозначенное именем функции COND. Каждая трока символов, идущая вслед за COND, может быть Фочитана как отдельный оператор «ЕСЛИ... ТО...». 55
COND производит обработку, проходя вниз по списку операторов и оценивая часть «ЕСЛИ». И как только результатом оценки будет нечто отличное от NIL, то про¬ изойдет переход к реализации соответствующей части «ТО». В данном случае результатом обработки первой части «ЕСЛИ» будет ИСТИНА, так как CAR для списка (РУКОВОДИТ ДЖОН ПЕТР) приобретет значение «РУ¬ КОВОДИТ». Результирующий атом выступает в качестве аргумента функции EQUAL, другим аргументом служит отделенный апострофом атом «РУКОВОДИТ». Знак апо¬ строфа «’», применяемый здесь впервые, говорит обраба¬ тывающему такую программу интерпретатору, что после¬ дующий текст является атомом данных, а не параметром, значение которого следует сначала найти, а затем им поль¬ зоваться. Таким образом, эти два аргумента проверяются на эквивалентность. И поскольку оказалось, что это ИС¬ ТИНА, далее производится обработка части «ТО». Благо¬ даря специальному атому «Т» вся процедура приобретает значение ИСТИНА. Если бы подставляемый в функцию «ФАКТ» был (ОТЧИТЫВАЕТСЯ ДЖОН ПЕТР), то первый оператор «ЕСЛИ» дал бы отрицательный результат, т. е. был бы получен NIL. В этом случае дей¬ ствие COND распространилось бы на следующее пред¬ ложение. И поскольку мы вынуждены придать послед¬ нему «ЕСЛИ» значение ИСТИНА, часть «ТО» даст зна¬ чение ЛОЖЬ, т. е. NIL. В конечном итоге это предложение будет отвергнуто. Большая часть рассматриваемых в этой книге программ написана на языке Лисп, поэтому для представ¬ ления фактов и конкретных процедурных знаний предмет¬ ных областей используются конструкции этого языка. Из них наиболее примечательным является «список свойств». Принято, что каждый «атом» может иметь присущие ему «свойства». Они могут быть заданы программистом, и этим обеспечивается удобный метод представления вза¬ имосвязей между объектами. «Свойство» определяется как пара «свойство/значение», сцепленная с некоторым «ато¬ мом». Например, атому «СМИТ» могут быть приданы свойство «ЧИТАЕТ» и значение «НАУЧНАЯ ФАНТА¬ СТИКА». Универсальность структуры списка свойств ока¬ залась ценной при конструировании специальных форм представления знаний. Они будут рассмотрены в по¬ следующих разделах. 56
3.3. ПРЕДСТАВЛЕНИЕ ЗНАНИЙ ПРЕДМЕТНОЙ ОБЛАСТИ 3.3.1. СЕМАНТИЧЕСКИЕ СЕТИ Понятие семантической сети основано на древней и очень простой идее о том, что «память» формируется через ассоциации между понятиями. Понятие «ассоциатив¬ ная память» появилось еще во времена Аристо.теля и вошло в информатику в связи с работами по использова¬ нию простых ассоциаций для представления значения слов в базе данных. С тех пор этот формализм был всесторонне развит для представления многих классов данных, исполь¬ зуемых в различных предметных областях. К таким об¬ ластям относятся пространственные связи в простых физических системах, операции по управлению механиз¬ мами, причинные и функциональные связи в приборах и взаимосвязи между симптомами в медицине. Базовым функциональным элементом семантической сети служит структура из двух компонентов — «узлов» и связывающих их «дуг». Каждый узел представляет работает в смит производственный отдел Рис. 3.2. Функциональный элемент семантической сети некоторое понятие, а дуга — отношение между парами понятий. Можно считать, что каждая из таких пар от¬ ношений представляет простой факт. Узлы помечаются именем соответствующего отношения. Рис. 3.2, например, представляет факт «Смит работает в производственном отделе». Отметим, что дуга имеет направленность, благодаря чему между понятиями в рамках определенного факта выражается отношение «субъект/объект». Более того, лю¬ бой из узлов может быть соединен с любым числом других Узлов; в результате этого обеспечивается формирование сети фактов. 0 позиций логики базовую структуру семантической сети можно рассматривать в качестве эквивалента преди¬ ката с двумя аргументами (бинарный предикат); эти два аргумента представляются двумя узлами, а собственно нРедикат — направленной дугой, связывающей эти узлы. При разумном выборе обозначений отношений можно 57
выразить очень сложные совокупности фактов. При раз¬ работке представления в виде семантической сети особый практический интерес имеет связь вида «является», отражающая принадлежность к некоторому классу объек- является СМИТ ► руководитель Рис. 3.3. Отношение «является» здание 1 местонахождение производственный отдел работает в имеет голубые глаза СМИТ является ► руководитель есть 40 лет Рис. 3.4. Факты, относящиеся к человеку с именем «смит» тов. Представленный на рис. 3.3 сетевой элемент, на¬ пример, выражает, что «Смит является членом класса руководителей или, говоря проще, «Смит является руководителем» К другим видам связей, нашедшим конкретное при¬ менение для отражения общих представлений об объекте (представляемым именами существительными или фра¬ зами из них), относится связь «имеет», указывающая 58
на то, что одно понятие представляет часть другого, а также связь «есть», указывающая на то, что одно поня тие служит атрибутом другого. Пользуясь подобными от¬ ношениями, можно представлять сложные совокупности фактов. Рис. 3.4 иллюстрирует одно из возможных пред¬ ставлений фактов, относящихся к служащему «смит» В число таких фактов вошли: «Смит является руководителем» «Смит работает в производственном отделе, расположенном в здании 1» «Смиту 40 лет» «У Смита голубые глаза» Из диаграммы на рис. 3.4 видно, что с помощью сетевых элементов могут быть построены довольно сложные комбинации фактов. На языке Лисп базовые элементы семантической сети могут быть запрограммированы в виде списковой комби нации атом/свойство. Так, элемент, представленный на рис. 3.2, был бы составлен из следующих компонентов атом — «смит», свойство — «работает», значение данного свойства — «производственный отдел». Базовое определение семантической сети не позволяло представлять ситуации, в которых несколько отдельных объектов являются экземплярами одного и того же семан¬ тического класса. Например, возможен случай, когда Рис. 3.5. Факты, относящиеся к «см-1» и «см-2 59
требуется зафиксировать, что в некоторой компании ра¬ ботают два разных человека с одним и тем же именем «смит», причем один из них работает под руководством другого. Решение этой проблемы сводится к тому, что вводятся два специальных узла, обозначенные соответ¬ ственно «см-1» и «см-2», для идентификации двух инди¬ видуумов с одним и тем же именем «смит». Соответ¬ ствующая сеть представлена на рис. 3.5. Различие между частными объектами и общими понятиями имеет решаю¬ щее значение для семантических сетей. Поэтому разно¬ родным видам объектов присваиваются различные обо¬ значения. Частному объекту соответствует термин «при¬ знак» (мы пользуемся нотацией Нормана — Румельхарта с применением угловых скобок ( ) для идентификации узлов с признаками); для обозначения общего понятия служит термин «тип», и специальный идентификатор в этом случае не применяется. Давняя популярность семантических сетей обязана связи «является», в которой заложены большие воз¬ можности для построения иерархий понятий. Типичный пример такой иерархии — узел «служащий» на рис. 3.6, представляющем расширенную версию рис. 3.5. Здесь'мы имеем дело с неглубокой иерархией. Понятие «служа¬ щий» — на верхнем ее уровне, два индивидуума «см-1» и «см-2» — на нижнем. После задания такой иерархии мож¬ но произвести по сети распределение общих фактов, Рис 3.6. Факты, относящиеся к служащему «смит» 60
которые косвенно являются атрибутами индивидуумов как членов класса «служащий», вместо представления их в качестве атрибутов непосредственно индивидуумов. К та¬ ким фактам относится, например, то, что «служащим» предоставляется «разрешение на паркование (автома¬ шин)», а «руководители» имеют «ключи» от «входной, двери учреждения». Соответствующее расширение сети приведено на рис. 3.6. Эти факты могут быть также извлечены из обозначений узлов, представляющих индиви¬ дуумов с помощью «наследования» признаков через связь «является». Иерархия, построенная на основе «наследования», обеспечивает эффективный способ упрощения представле¬ ния знаний и сокращения объема информации, которую требуется запоминать для каждого, конкретного узла. Это дает возможность в значительной мере ускорить процесс обработки знаний (относящаяся к узлу запоминаемая информация может быть ограничена только часто исполь¬ зуемой; при обращении к остальной информации при¬ меняется принцип «наследования»), а также извлекать информацию с помощью запросов общего характера (не¬ которая информация об индивидууме «смит» как руково¬ дителе может быть извлечена просто из знания его служеб¬ ного положения в компании; при этом нет необходимости знать его. имя. Приведенные ранее примеры представления знаний в виде семантических сетей были ограничены отношениями между существительными или фразами, составленными из существительных. Однако это слишком жесткое ограни¬ чение. Многие из тех фактов, что нам хотелось бы исполь¬ зовать в программах, создаваемых на основе знаний, могут касаться «событий»; последние часто ограничены временем и пространством. Например, может потребовать¬ ся зафиксировать утверждение «Смит-2 проработал на Смита-1 с апреля 1972 до мая 1983 г.» Его невозможно представить с помощью до сих пор применяемой нотации. Существует очень простое и вместе с тем исключительно эффективное решение. Нужно только Рпзработать представление относительно глаголов в до¬ полнение к существительным. По-прежнему обеспечивая различие между типами и признаками, возьмем вербаль- НЬ1И узел признака для представления конкретного собы¬ тия, а узел типа — для представления «прообраза» собы- Ия- В результате получим сеть, приведенную на рис. 3.7. 61
работа Рис. 3.7 Представление события» связанного с глаголом Конкретное событие, заключающееся в работе у кого- то, обозначено «раб-1». Его происхождение от узла прооб¬ раза «работа» указывается с помощью дуги «действие». Мы сделали обобщение, заключив в угловые скобки узлы событий. Отметим, что по отношению глагола дуга «дей¬ ствие» эквивалентна дуге «является». После идентифи¬ кации события «раб-1» можно произвести привязку бинарных отношений, с помощью которых представляются понятия о работе, такие, как дата начала (через связь «с») и дата окончания (через связь «до»). Для отдельных систем были разработаны непротиво¬ речивые полные наборы вербальных отношений. Они получили название «падежных отношений» в соответ¬ ствии с теорией «падежной грамматики», разработанной Ч. Филлмором. В этой теории предпринимается попытка представить поверхностную структуру предложений в в.где небольших замкнутых наборов «падежных» отношений между существительными (или фразами из существи¬ тельных) и глаголами в рамках глубинных структур предложений. Примерный набор подобных отношений мо¬ жет в типичном случае включать: а) Агент — исполнитель (инициатор) действия, выра¬ жаемого глаголом; б) Объект — имя существительное, на которое распро¬ страняется действие или состояние, выражаемые глаго¬ лом; в) Местоположение—место действия или состояния, выражаемых глаголом; г) Датив (dative) — лицо, к которому имеет отноше¬ ние действие или состояние, выражаемые глаголом. 62
работа Рич. 3.8. Прообраз события «работа» Как отмечалось, событие, на которое указывает связь «действие», обладает свойствами «прообраза». Оно может быть представлено так, как показано на рис. 3.8. Здесь обозначения падежей на дугах относятся к соответствую¬ щим переменным, которые для реального события заме¬ няются значениями соответствующих действительных су¬ ществительных (или фраз, составленных из существи¬ тельных). В данном случае это _«см-1», «см-2», «апрель 1972» и «май 1983». Структура с прообразом очень близка к представлению с применением фреймов, описанному в следующем разделе, и может быть с успехом исполь¬ зована при организации обработки знаний. Важную роль играют обозначения вариантов, помогающие идентифи¬ цировать объекты предложения, относящиеся к перемен¬ ным (это дает системе критерий «вероятности»), а также присвоение переменным «подразумеваемых значений», т. е. значений, которые принимают переменные при от¬ сутствии в явном виде альтернативных значений (это позволяет системе продолжить действие, если не произо¬ шло ввода данных в явном виде). На рис. 3.8 для отношения «до» задано подразумеваемое значение: индивидуум продолжает работать (по умолчанию: те- ПеРь), которое следует использовать при отсутствии конкретной информации о том, когда индивидуум перестал Работать. 3 3.2. ФРЕЙМЫ Принцип организации свойств некоторого объекта или события для формирования прообраза реализуется с по- м°Щыо нотации вида «фрейм». Для иллюстрации этого .63
мы опишем сведения о служащем компании, как это сдела¬ но в предыдущем разделе. Достоинство системы, исполь¬ зующей фреймы, заключается в том, что те элементы, которые традиционно присутствуют в описании объекта или события, группируются и благодаря этому могут из¬ влекаться и обрабатываться как единое целое. Первый пример касается понятия «руководитель» (см. рис. 3.9). имя: РУКОВОДИТЕЛЬ специальность . СЛУЖАЩИЙ имя ; возраст ; _ адрес; отдел ; заработная плата’. дата начала ; до: Рис. 3.9. Скелетный фрейм для понятия «РУКОВОДИТЕЛЬ» Рис. 3.9 иллюстрирует некоторые особенности фреймов. Во-первых, фрейм имеет имя для идентификации описыва¬ емого им понятия. Во-вторых, его описание составляется из ряда описаний, приведенных на рисунке слева, которые получили название «слоты»1. С помощью слотов идентифи¬ цируются основные структурные элементы понятий. За слотами следуют шпации1 2, в которые помещают неко¬ торые объекты, представляющие текущие значения слотов. Все слоты на рис. 3.9 пустые, за исключением первого, который имеет значение «СЛУЖАЩИЙ». Имя слота «спе¬ циализация» указывает на то, что рассматриваемый фрейм представляет понятие, отражающее составное отношение с именами понятий, присваиваемыми этому слоту. Сле¬ довательно, слот «специализация» служит для построения иерархии «наследования» так же, как это делалось в се¬ мантических сетях с помощью связи «является». Понятие СЛУЖАЩИЙ в этом случае будет выступать как фрейм высокого уровня. 1 Slot щель, отсек.— Примеч. пер. 2 От латинского spatium — промежуток.— Примеч. пер. 64
РУКОВОДИТЕЛЬ специальность: СЛУЖАЩИЙ имя: агрегат (фамилия, имя, отчество) возраст; агрегат (годы) адрес: АДРЕС отдел: диапазон (производство, администрация) заработная плата: ЗАРПЛАТА дата начала: агрегат (месяц, год) до: агрегат (месяц, год) (по умолчанию: теперь) Рис. 3.10. Фрейм для общего понятия «РУКОВОДИТЕЛЬ» На рис. 3.10 мы видим тот же фрейм, что и на рис. 3.9, но только с заполненными слотами. При этом, как вы заме¬ тите, часть из них заполнена некими объектами, а не про¬ стыми именами. В данном примере фигурируют три раз¬ личных типа таких заполнителей слотов. Заполнитель слота может быть или константой, или именем другого фрейма. Простейшими из них являются те, что представле¬ ны прописными буквами (например, АДРЕС, ЗАРПЛА¬ ТА). Это имена других фреймов данной системы, на ко¬ торые делается ссылка. Кроме того, существуют обозна¬ чения «агрегат» и «интервал». В процессе обработки систем фреймов иногда необходимо наложить ограничения на тип объекта, который можич быть использован для за¬ полнения некоторого слота. Обозначение «агрегат» указы¬ вает на то, что должны быть заданы определенные объек¬ ты, а обозначение «интервал» — на то, что должен быть выбран один из множества объектов. Эта информация может найти применение, например, для генерации вопро¬ са программой, осуществляющей ввод информации в базу Данных «служащий». В конечном итоге к заполнителю соответствующих слотов присоединяются указанные в скобках подразумеваемые (принимаемые по умолчанию) апачения. Обозначения «агрегат», «интервал», «подразу- мсваемый» называют фасетами (fasets) слота. Пример фрейма для заполнителя «ЗАРПЛАТА», ^носящегося к фрейму «РУКОВОДИТЕЛЬ», приведен о’3 Рис. 3.11. фрейм «ЗАРПЛАТА» содержит четыре слота, Дин из которых требует двойного заполнителя. о , Зак. 1924 65
имя: . ЗАРПЛАТА почасовая заработная плата: агрегат (фунты стерлингов в час) код налога: агрегат (код налога) (по умолчанию: непредвиденный) налог на дату: агрегат (месяц, год) вычислить ((ОПЛАТА НАЛОГА) (налог)) Рис. 3.11. Фрейм для общего понятия «ЗАРПЛАТА» Этот пример приведен для иллюстрации понятия «про¬ цедурное присоединение», которое дает возможность вставлять во фреймы обычные программы/Вставляёмая процедура вызывается заполнителем фасета «вычислить». В слоте «налог на дату» фрейма «ЗАРПЛАТА» мы нахо¬ дим заполнитель «вычислить (ОПЛАТА НАЛОГА) (налог)». Это указывает на то, что заполнитель фрейма «ЗАРПЛАТА» должен извлечь фрейм «ОПЛАТА НАЛО¬ ГА», содержащий некую процедуру. Эта процедура за¬ тем будет реализована с использованием информации’, содержащейся в системе фреймов в качестве данных для вычисления значения «налог на дату», которое после этого может быть внесено в слот в поле «налог». Можно также заметить, что фрейм содержит одно подразуме¬ ваемое значение; этим указывается, что при отсутствии конкретного кода налога в качестве последнего должно быть использовано значение «непредвиденный». Как было установлено выше, для представления структуры общих понятий в определенной предметной области фреймы обычно организуются в сети. Таким образом обеспечивается запись общих понятий, но при этом остается нерешенной проблема представления ин¬ формации, относящейся к конкретным индивидуумам. Стандартный прием сводится к тому, что берутся соот¬ ветствующие части системы и фиксируются значения для слотов, относящихся к определенному индивидууму. На рис. 3.12 изображен экземпляр фрейма, что на рис. 3.10. В нем зафиксированы значения, описывающие конкретно¬ го служащего «Смит», названного «см-1». Отметим, что, когда фрейм заполняется конкретной информацией, относящейся к некоторому индивидууму, ему присваивает' ся уникальное имя (в данном , случае «см-1») в качестве идентификатора индивидуума. Это имя может быть ИС' пользовано совместно с именами других классов фреймов, заданных в качестве заполнителей слотов с целью обеС' печения доступа к дополнительной родственной информа' 66
ции В нашем примере имя «см-1» используется совместно " г! и «адр-1», зарплате и с именами общего вида фреймов «зар-1» служащих для идентификации сведений о адресах субъектов «Смит, джон». фреймы сравнительно легко реализуются с помощью структуры языка Лисп в виде списка свойств, рассмотрен- илго па нее в связи с обращением к семантическим сетям. ного ранее в связи с обращением к Каждое из состояний и за¬ полнителей фрейма выра¬ жается в виде списка свойств (имя слота представляется как «свойство», а заполни¬ тель — как «значение»), при¬ соединяемых к соответству¬ ющему атому, представляю¬ щему имя фрейма. Идея фреймов зуется при решении образных задач. В описывается применение фреймов при разработке не¬ которой экспертной системы для планирования экспери¬ ментов в GEN). В верситете, структуры, ставляли Типичным «сценарием» может служить посещение ресто¬ рана, включающее такие сцены, как приход в ресторан, поиск стола, заказ, прием пищи, требование счета, оплата, уход. Существует ряд языков, специально разработанных Для облегчения конструирования на основе фреймов различных процедур обработки знаний. В частности, сюда относится язык KRL, предназначенный для ис¬ следований процесса понимания естественного языка, и пакет программ UNITS, используемый в экспертной системе MOLGEN. 3.3.3. ПРАВИЛА ПРОДУКЦИЙ Самым распространенным форматом для представле- НИя знаний, наиболее соответствующим их процедурному характеру, является «правило продукции», которое по своей сути — просто программа из одного оператора вида -СДц условие, ТО действие» ИСПОЛЬ- разно- гл. 8 имя: Рис. см-1 специальность: СЛУЖАЩИЙ имя: смит, джон возраст: 40 адрес: адр-1 отдел: производственный заработная плата: зар-1 дата начала: апрель 1972 до: теперь 3.12. понятия генетике (MOL- Йельском уни- например, использовали названные «сценариями», стереотипную последовательность Фрейм конкретного «СЛУЖАЩИЙ» фреймоподобные которые пред- событий. з* 37
Нотация процедур в виде последовательностей правил была впервые предложена математиком Постом. Однако, для того чтобы можно было воспользоваться этой идеей при решении реальных задач по обработке знаний, потре¬ бовались разнообразные усовершенствования, в част¬ ности, относящиеся к формированию правил и конструи¬ рованию управляющих структур для манипулирования правилами. Та часть правила, которая относится к дей¬ ствию, возможно, потребует обращения к пользователю выполнить некоторую стандартную программную про¬ цедуру или даже вступить во взаимодействие с неким устройством (для того, чтобы, например, включить (вы¬ ключить) последнее) в дополнение к изменению состояния базы данных. Как было показано в гл. 1, продукционные системы состоят из трех компонентов: базы знаний, содержащей правила продукций; базы данных, которая отображает текущее состояние некоторой задачи; управляющей структуры (интерпретатора в термино¬ логии программирования), решающей, какое из правил продукции надлежит применить следующим. В основе правил продукций лежит простой принцип: сни определяют набор разрешенных преобразований, с помощью которых происходит продвижение от началь- Рис. 3.13. Дерево поиска решения при выборе отпускного периода 68
состояния до окончательного решения поставленной НОдачи. Текущее (промежуточное) состояние отражается Заномощыо множества фактов, фиксируемых в базе дан- ^ых В ходе решения задачи происходит сопоставление одной из частей правила с содержимым базы данных. В реальной системе возможна ситуация, когда могут быть применены одновременно несколько правил. Поэто¬ му возникает необходимость в управляющей структуре, которая должна решать, какое из правил применить. С целью иллюстрации действия продукционной системы мы описываем систему, реализующую дерево поиска ре¬ шений об отпускных периодах для служащих учреждения. Эта программа, составленная Банди, может определять отпускной период, разрешенный данному служащему по пяти заданным атрибутам коллектива. Дерево поиска (рис. 3.13) представляется в виде набора правил. Это наводящие вопросы для иденти¬ фикации класса служащего. Имеются два дополнительных правила: (А) — для представления пользователю ре¬ шения, (В) —для ввода в базу данных атрибутов, служащего. Правило А: ЕСЛИ «отпускной период» определен, ТО напечатать значение отпускного периода. Правило В: ЕСЛИ атрибут «атри» был запрошен И ответ был «ДА», ТО уничтожить «ДА» И добавить «атри» в базу данных. Класс 1 ЕСЛИ атрибут «СТАРШИЙ УПРАВЛЯЮЩИЙ» И атрибут «ПРАВЛЕНИЕ» Правило: ТО добавить в базу данных, что период «8 недель». Вопрос 1 ЕСЛИ атрибут «СТАРШИЙ УПРАВЛЯЮЩИЙ» И не за¬ давался вопрос «ПРАВЛЕНИЕ» Правило: ТО спросить «ПРАВЛЕНИЕ»? И добавить в базу данных что был вопрос «ПРАВЛЕНИЕ» И учесть ответ. Класс 2 ЕСЛИ атрибут «СТАРШИЙ УПРАВЛЯЮЩИЙ» Правило: ТО добавить в базу данных, что период «6 НЕДЕЛЬ». Вопрос 2 ЕСЛИ не было вопроса «СТАРШИЙ УПРАВЛЯЮЩИЙ» Правило: ТО спросить «СТАРШИЙ УПРАВЛЯЮЩИЙ»? И добавить «базу данных, что был задан вопрос «СТАРШИЙ УПРАВЛЯЮЩИЙ» И учесть ответ. Класс з Если атрибут «УПРАВЛЯЮЩИЙ» И атрибут «ДИПЛОМИ- РВАННЫЙ» ■I fiBii.no: ТО добавить в базу данных, что период «5 НЕДЕЛЬ». ,,ЖС 3 ЕСЛИ атрибут «УПРАВЛЯЮЩИЙ» И не был задан вопрос «ДИПЛОМИРОВАННЫЙ» фавн.-ю; ТО спросить «ДИПЛОМИРОВАННЫЙ»? И добавить в базу -“""'ых, что был задан вопрос «ДИПЛОМИРОВАННЫЙ» >честь ответ. ПраСС 4 ЕСЛИ атрибут «УПРАВЛЯЮЩИЙ» ВоУ'11"10' ТО добавить в базу данных, что период «4 НЕДЕЛИ». епрос 4 ЕСЛИ не был задан вопрос управляющий ч спросить «УПРАВЛЯЮЩИЙ»? И добавить в базу данных, ОЬЬ1 задан вопрос «УПРАВЛЯЮЩИЙ» И учесть ответ. 69
Класс 5 ЕСЛИ атрибут «СТАЖ 2 ГОДА» Правило: ТО добавить в базу данных, что период «4 НЕДЕЛИ». Вопрос 5 ЕСЛИ не был задан вопрос «СТАЖ 2 ГОДА» Правило: ТО спросить «СТАЖ 2 ГОДА»? И добавить в базу данных, что был задан вопрос «СТАЖ 2 ГОДА» И учесть ответ. Класс 6 ТО добавить в базу данных, что период «2 НЕДЕЛИ».- Правило: Просмотр правил показывает, что программа состоит из нескольких разных типов правил. Преобладают, пра¬ вила .проверки содержимого базы данных, касающегося атрибутов служащего, и в зависимости от текущего содер^ жания атрибута либо запрашивается 1 дополнительная информация, либо указывается отпускной период. Существуют также правило (В), приведенное в начале набора правил, которое применяется для побуждения к действию в ответ на реакцию пользователя, и правило (А) для передачи решения пользователю. Следует иметь в виду, что правила различаются по сложности; многие из них имеют большое количество условий и действий. Существует даже правило (класс 6), необходимое для завершающего этапа, в котором нет условий, а есть только единственное действие, устанавливающее период «2 недели». Допустим, что в интерпретаторе применена простая управляющая структура, которая исполняет первое пра¬ вило, для которого условия совпадают с фактами базы данных, в результате чего изменяется состояние базы данных. После исполнения правила управления переда¬ ется в начало набора правил и процесс проверки начи¬ нается снова. Предположим, что база данных пуста. Цикл 1: При первом проходе для левой части ни у одного из правил нет соответствия содержимому базы данных. Вместе с тем для левой части выражения «Вопрос 2» соответствие содержимому базы данных есть, так как в ней отсутствует запись, что был задан вопрос «СТАР¬ ШИЙ УПРАВЛЯЮЩИЙ»: Поэтому система обращается к правой части выражения «Вопрос 2» и задает вопрос «СТАРШИЙ УПРАВЛЯЮ¬ ЩИЙ», затем она делает запись в базе данных, что вопрос был задан, и воспринимает ответ, который также записывается. В данном случае получен ответ «НЕТ». Цикл 2: Интерпретатор, реализуя приведенную выше простую управляющую структуру, начнет все сначала, пытаясь применять пра¬ вила по очереди. В этот раз для выражения «Вопрос 2» соответствие с содержанием базы данных не будет обнаружено, так как факт о задан¬ ном вопросе «СТАРШИЙ УПРАВЛЯЮЩИЙ» уже зафиксирован 0 базе данных. Первое выражение, для которого обнаружится соответ¬ ствие левой части с содержанием базы данных, будет «Вопрос 4». В результате повторится тот же цикл, что и для предыдущего правила, система задаст вопрос «УПРАВЛЯЮЩИЙ», сделает запись в базе дан- 70
иго вопрос был задан, отреагирует на ответ и зафиксирует его.— "^стим. что ЭТО будет «ДА». Д Цикл 3: При положительном ответе система включит правило В. оответствии с этим правилом будет уничтожена запись о положи- * С ном ответе, и на ее месте будет записано, что идентифицирован ТСЛн из атрибутов служащего, а именно, что он — «УПРАВЛЯЮЩИЙ». оДИ Цикл 4: Выражение «Вопрос 3» соответствует записи в базе дан- 1Х- система задает вопрос «ДИПЛОМИРОВАННЫЙ» и получает ответ «НЕТ». Цикл 5: Срабатывает первым правило из класса 5. Производя действие, система фиксирует, что назначается период «4 НЕДЕЛИ», и этот факт добавляется в базу данных. Цикл 6: Теперь может сработать правило А, поскольку значение периода введено в базу данных. Система после этого печатает зна¬ чение отпускного периода «4 НЕДЕЛИ». При веденная программа иллюстрирует многие из ос¬ новных свойств продукционных систем. Однако, как отме¬ чалось в гл. 1, сложность реальных программ значи¬ тельно превосходит уровень сложности программы, рас¬ смотренной в качестве примера. В экспертных системах, построенных на базе правил продукций, нередко применя¬ ется свыше 800 правил, и очевидно, что при таком коли¬ честве правил управление их выполнением становится серьезной проблемой. Первоначально именно простота формализма правила продукции привлекла к нему вни¬ мание. Но это — идеальный вариант, и, как было показано, при построении работоспособной системы приходится в значительной степени от него отходить. Это касается введения некоторой структуры в базу данных, образования нескольких уровней для правил и обеспечения им доступа к стандартным программным процедурам. В заключение следует отметить, что, хотя правила продукций — наиболее известный метод представления знаний при решении задач конкретной предметной об¬ ласти, существуют и другие методы. Например, известны системы для представления только тех частей правил, которые выражают действие и которые служат в качестве «операторов» преобразования одного состояния задачи в Другое. Такие операторы могут быть встроены в разно¬ образные управляющие структуры, включающие обычные программы процедур. Известно также, что в медицинских экспертных системах нашла применение организация зна¬ нии (относящихся к решателю задачи1) в виде статических Problem solver (англ.) — программа, обеспечивающая решение ‘Фсдсленного круга задач. Подобные программы рассмотрены в книге ioqq ’ Ефимова «Решатели интеллектуальных задач» (М.: Наука, М82>. - Прамен, пер. 71
описаний болезней, определенных через соответствующие симптомы. Задача диагностических программ сводится к поиску наименьшего набора болезней, способных быть причиной заданного сочетания симптомов (см. программу INTERNIST в гл. 6). 3.4. ЗАДАЧИ УПРАВЛЕНИЯ Приведенная в предыдущем примере управляющая структура относится к одной из простых; она сводится к перебору правил, пока одно из них не сработает, и повторению цикла с самого начала. В большинстве реальных систем задача управления значительно сложнее. В системах искусственного интеллекта задачи управле¬ ния обычно представляются с помощью концепции так называемого «поиска в пространстве состояний». При ре¬ шении задач на основе знаний, как правило, не существует единственного метода достижения цели. В связи с этим возникает необходимость в опробовании нескольких возможных путей и появляется стремление оценить на каждом этапе вероятность достижения конечной цели. Управляющая структура систем — реша¬ телей задач определяет общую стратегию выбора таких путей. Она даже может «заимствовать» у логики термин «форма» и «вести разговор» о «форме» решения задач, применимой к некоторой конкретной предметной области. Подход «поиск в пространстве состояний» сформиро¬ вался в результате попыток автоматизации игр. В боль¬ шинстве игр имеется конечное число позиций (или «состоя¬ ний»), которые могут быть достигнуты при использовании фиксированного набора правил, определяющих игру. По¬ этому (по крайней мере в теории) существует возможность описания последовательности игры путем перечисления всех позиций, которые могут быть достигнуты из задан¬ ного начального состояния. Это множество позиций может быть представлено в виде дерева, простирающегося от корня, который соответствует начальному состоянию игры, к заключительным позициям, достигаемым в конце игры. На рис. 3.14 приведены все возможные позиции для четырех первых ходов в простой игре «крестики- нолики». Для тех, кто не знаком с этой игрой, поясним ее прави¬ ла. Есть два знака (фишки) 0 и X и позиции, задаваемые матрицей 3X3. Два игрока (один играет фишками 0, дру- гой — фишками X) берут поочередно по соответствующей 72
Рис. 3.14. Четыре хода в игре «крестики-нолики» (G I о е s s Р. Y. Understanding Artificial Intelligence. Alfred Haudy Guide. Alfred Publishing Co. Sherman Oaks, CA. 1981) Ход игрока МАХ 73
фишке и помещают их в свободные ячейки матрицы. Цель игры — установить подряд (в линию) 3 одинако¬ вые фишки; игрок, первым достигший такого положения для своих фишек, объявляется победителем. В рамках описанного выше представления «простран¬ ства состояний» положения фишек (состояния), соответ¬ ствующие успешной игре, можно рассмотреть среди заклю¬ чительных позиций дерева. Выигрышные последователь¬ ности ходов могут быть выявлены в результате прокладки пути от исходного состояния до выигрышного. При представлении пространства задачи через состо¬ яния обнаружилась эффективность поиска решения с при¬ менением правил или операторов (соответствующих части правила, выражающей «действие»), которые запускаются при достижении данного состояния игры и осуществляют переход к новому состоянию. В игре «крестики-нолики» существует только один три¬ виальный оператор — установка фишки (0 или X) в пустой квадрат матрицы. Однако в других играх операторов может быть несколько. Например, в шахматах предпи¬ санные для каждой из фигур ходы можно рассматри¬ вать как операторы, преобразующие картину шахматной позиции и таким образом продвигающие игру от одного состояния к другому. Остается еще одна проблема. В более сложной игре потребуется обеспечить некоторые средства для решения вопроса о том, какое правило или оператор следует при¬ менять для каждого из состояний при продвижении к цели. Общая стратегия управления подобным выбором решений известна как управляющая структура. Простейшая стратегия обычно включает полный пере^ бор дерева пространства состояний для поиска приемлемо¬ го хода. Направление, по которому достигается то или иное состояние, часто имеет большое значение для систем, манипулирующих знаниями. В изображенной на рис. 3.14 диаграмме состояний наша исходная позиция расположена в верхней части рисунка, а конечная цель — внизу. (Возможно более одно¬ го исходного состояния в некоторых пространствах состоя¬ ний.) Когда такие диаграммы применяются в системах, построенных на основе знаний, их обычно изображают' по-другому: цель помещают наверху, а исходную пози¬ цию — внизу. Это связано с тем, что внимание кон* центрируется на целях (например, мы хотим достигнуть конкретной цели — решения нашей задачи). В таких ел}" чаях направление поиска тем не менее определяется 74
сходя из начального состояния. Например, при обратном и, правлении поиска движение происходит от цели к на¬ чальному состоянию, а при прямом — от начального со¬ стояния к цели. Применяется и другое обозначение направления поиска — «сверху вниз» или «снизу вверх». В этом случае «сверху вниз» означает поиск от цели к начальному состоянию, а «снизу вверх» — от начального состояния к цели.. Существует более общий подход к выбору направления поиска в пространстве состояний. Независимо от ориента¬ ции поиска дерево состояний, начинающееся от заданной цели или начального состояния, может быть просмотрено «сначала вглубь»< •:или «сначала вширь». При поиске «сначала вглубь» дерево просматривается из заданного состояния на всю глубину до исчерпания последователь¬ ности «преемственных» состояний на этом пути. Затем просматриваются альтернативные пути, ведущие в глубь дерева. При поиске «сначала вширь» производится порождение всех возможных альтернатив на заданном уровне, затем всех альтернатив на следующем уров¬ не и т. д. В результате поиск проводится «в ширину» дерева. Рис. 3.15 иллюстрирует эти варианты. ••• "сначала вширь" Рис. 3.15. Поиск «сначала вглубь» и «сначала вширь» 75
Однако с достижением цели (или с решением задачи) посредством исчерпывающего поиска (полного перебора) в пространстве состояний связана достаточно серьезная проблема. Это может вызвать удивление, но даже в такой простой игре, как «крестики-нолики», существует 362 880(9!) возможных позиций. Благодаря симметрии некоторых из них эту цифру можно сократить прибли¬ зительно до 60 000. В таких сложных играх, как шахматы, было бы невозможно произвести поиск по всему дереву игры. Хугеланд подсчитал, что просмотр вперед на 5 ходов дает квадриллион (1015) комбинаций, а 40 ходов (в сред¬ нем за игру) дают 1О120 комбинаций. При этом он отметил, что с момента зарождения Вселенной прошло менее 10&1) секунд! На каждом шаге количество вариантов выбора умножает общее число комбинаций. Этот процесс, полу¬ чивший название «комбинаторного взрыва», исключает применение стратегии поиска полным перебором для боль¬ шинства реальных игр, а также и для большинства систем на основе знаний. Очевидно, что из-за большого количества позиций даже в простой игре, такой, как «крестики-нолики», ни один игрок не проводит поиск очередного хода простым пере¬ бором. То, что игрок будет делать, есть применение опре¬ деленных стратегических правил для выявления того, ка¬ кие из ходов обеспечивают наибольшую возможность ус¬ пеха. Во многих случаях это приводит к значительному со¬ кращению числа просматриваемых позиций. Однако очень редко удается установить с абсолютной определенностью, какие ходы должны рассматриваться. Некоторые ходы на первый взгляд представляются безуспешными, но они мо¬ гут оказаться эффективными в качестве особого контр-, хода. В большинстве игр (и вообще ситуаций при обра¬ ботке знаний) часто невозможно найти правила, гаран¬ тирующие успех. Вместе с тем нередко удается установить правила, обеспечивающие увеличение вероятности успеха. Такие правила называют «эвристическими», а поиск, при проведении которого они применяются, называется эвристическим поиском. Для эвристического правила тре¬ буется информация о его эффективности. Эта информация определяется по некоторой «оценочной функции». В игре «крестики-нолики» используется простая оценочная функция. Некоторое значение (число) присваивается каж¬ дому следующему возможному ходу. Чем оно выше, тем лучше для одного игрока. Чем оно ниже, тем лучше для другого. Эта процедура называется MINIMAX. Проил¬ люстрируем применение процедуры MINIMAX при игре в 76
X О 12 34 0 0 1-1 Рис. 3.16. Применение оценочной функции в игре «крестики- нолики» «крестики-нолики». Допустим, что есть два игрока — МАХ (играющий фишками X) и MIN (играющий фиш¬ ками 0). Значение оценки для доступных им ходов могут быть получены путем подсчета всех линий, открытых для каждого из игроков, а затем вычитания одного числа из другого. Применительно к позиции, приведенной на рис. 3.16, МАХ должен сделать выбор среди ходов 1, 2, 3 и 4. Они соответственно получают оценки 0, 0, 1,— 1. МАХ выбирает ход 3, так как он получил наивысшую оценку для этого раунда. В игре в «крестики-нолики» приемлема конструкция единственной оценочной функции, которая надежно про¬ кладывает путь к оптимальному решению. Однако часто очень трудно, если не невозможно, найти такую функцию Для многих задач реального мира. Одна из сложностей, о которой упоминалось выше применительно к шахматам, заключается в том, что в какой-либо из позиций игры, возможно, следует сделать ход, кажущийся менее удач¬ ным, с тем, чтобы позже достигнуть преимущества. Много усилий в работе, связанной с управляющими структурами в власти искусственного интеллекта, было затрачено при попытках справиться с подобными сложными ситуациями. 4ве универсальные стратегии, примененные в экспертных спстемах, предлагают следующее: а) организовать пространство задачи таким образом, сгобЬ1 в начале поиска решения можно было сказать, на- °Льк° оно будет успешным; в этом случае может быть 77
исключена необходимость перебора всего множества путей поиска; б) построить пространство задачи в виде ряда подпро¬ странств с минимальными взаимосвязями или без взаимо¬ связей между ними. В результате этого каждая из подза¬ дач может быть решена независимо от решения последую¬ щих задач. Обсуждение этих стратегий будет продолжено при рассмотрении соответствующих экспертных систем в гл. 7 и 8, поскольку применимость тех или иных стратегий в очень сильной степени зависит от структуры знаний пред- меткой области, и, следовательно, лучше всего рассматри¬ вать их в контексте конкретных задач. Процесс конструи¬ рования системы на основе знаний можно трактовать как установление тех свойств предметной области, которые дают возможность построить задачу таким образом, чтобы свести к минимуму вычислительную работу. Часть II на¬ стоящей книги посвящена отдельным системам, созданным с учетом этого принципа.
ПРИМЕРЫ ЭКСПЕРТНЫХ СИСТЕМ 4. ЭКСПЕРТНЫЕ СИСТЕМЫ И ЭКСПЕРТЫ 4.1. РЕШЕНИЕ ЗАДАЧ, ОСНОВАННОЕ НА ЗНАНИЯХ В’части Г мы рассмотрели ряд концепций и методов программирования, применяемых при проектировании и реализации интеллектуальных систем, основанных на зна- ниях. Многие из этих средств были разработаны в рам¬ ках концепции искусственного интеллекта в связи с раз¬ витием нового направления проблемно-ориентированных управляющих структур. Объектом многочисленных иссле¬ дований стали проблемы, связанные с оснащением ЭВМ знаниями из определенной предметной области, применяе¬ мыми экспертами-людьми при решении сложных задач. Поиск мощных универсальных методов решения задач отошел на второй план. Одним из первых был проект системы DENDRAL (см. гл. 7). Исследовательская группа DENDRAL была создана в Стэнфордском университете в 1965 г. для проекти¬ рования системы, помогающей химикам делать заключе¬ ния о структурах химических соединений на основании масс-спектрометрических данных. Система Heuristic DENDRAL была «первой ласточкой». Она успешно поль¬ зовалась определенными экспертными знаниями в области масс-спектрометрии и продемонстрировала потенциальные возможности искусственного интеллекта в решении задач Для сложных предметных областей реального мира. Тот факт, что определенные знания из предметной о ласти были встроены в программу-решатель задач, имел ольшое теоретическое и практическое значение. Таким Разом было доказано,, что искусственный интеллект способен «справиться» с задачами, решение которых преж¬ де было ему недоступно. Первый опыт «программирования ^{аний» обусловил развитие целого поколения систем ре¬ шателей задач для разнообразных областей применения. ним относятся обучающие системы, системы, понима¬ 79
ющие естественный язык, а также диагностические системы. Подход, основанный на применении знаний, сти¬ мулировал теоретический интерес к таким системам. В на¬ стоящее время изучаются не только проблемы представ¬ ления знаний (гл. 3), но и вопросы, касающиеся структуры различных когнитивных функций, которые должны моде¬ лироваться программами (например, понимание рассказа, формирование ответов на вопросы, поиск неисправностей). Начатое в 1965 г. программирование знаний оказалось наиболее эффективным в тех областях, где требуется оперировать большим запасом знаний. Компьютерные системы, обладающие такой способностью, получили на¬ звание «экспертные системы». Существующие экспертные системы способны действо¬ вать в качестве экспертов (или имитировать их деятель¬ ность) в различных предметных областях, выполняя такие функции, как установление диагноза заболеваний, анализ данных и планирование. Некоторые из наиболее известных систем рассматриваются далее. К ним относятся: MYCIN, система для диагностирования бактериальных инфекций (гл. 5); PROSPECTOR, система автоматизированной оценки данных геологической разведки (гл. 5); INTERNIST, система — консультант в области общей терапии (гл. 6); CASNET, система для диагностирования глаукомы (гл. 6); Heuristic DENDRAL и Meta-DENDRAL, системы для логического вывода структур химических соединений (гл. 7); R1, система для определения конфигурации ЭВМ типа VAX (гл. 8); MOLGEN, система, выступающая в роли ассистента при планировании экспериментов в генетике (гл. 8). Система DENDRAL функционирует уже 18 лет. Ка¬ залось бы, за это время можно было разработать общие четкие принципы конструирования экспертных систем. Однако принципы, известные нам, нельзя обобщить, по¬ скольку все еще речь идет лишь о некоторой сово¬ купности тривиальных здравых рассуждений. В части I настоящей книги даются основы для пони¬ мания этих принципов с тем, чтобы читатель смог пред* ставить себе возможности технологии построения совре¬ менных экспертных систем. Как отметил Дэвис, известный специалист в данной области, при создании экспертный систем необходимо: 80
отделить механизм вывода от базы знаний; использовать по возможности единообразное представ- пение знаний, предпочтительнее в форме правил продук¬ ций; стремиться сохранить механизм логического вывода (управляющую структуру) как можно более простым; разработать средства, с помощью которых система мог- па бы разъяснять пользователю свои заключения; предпочитать задачи, требующие применения значи¬ тельных объемов эмпирических ассоциативных знаний, тем, что могут быть решены с применением каузальных или математических знаний. Перечисленные принципы могут служить в качестве отправных при построении экспертных систем. Представ¬ ление знаний на основе правил, например, позволяет расширять знания по мере развития системы и не наклады¬ вает значительных ограничений на их содержание. В ре¬ зультате этого при создании экспертных систем появляется возможность объединять знания, требующие «глубокого» теоретического уровня понимания, с чисто эмпирическими примитивными правилами. Применение относительно про¬ стой управляющей структуры также имеет свои преи¬ мущества. Выбор простого дедуктивного механизма во многих системах приводит к упрощению реализации «средств разъяснения», с помощью которых система- решатель задач может объяснить пользователю ход своих рассуждений. Подобные средства делают систему более приятной в общении, снижают скрытность ее заключений и облегчают модификацию и отладку базы знаний. Каждая из рассматриваемых в этой главе экспертных систем охватывает узкую и сравнительно хорошо опре¬ деленную предметную область, т. е. удовлетворяет одному из критериев существующей технологии. Совокупность та¬ ких критериев была предложена исследовательской груп¬ пой DENDRAL. Ниже они приведены полностью. «Сосредоточиться на узкой предметной области, для которой характерен небольшой объем знаний, основанных на здравом смысле». Искусственный интеллект пока не достиг того уровня, который позволял бы ему разобраться в суждениях ^Дравого смысла. Чрезвычайно трудно построить систему об СПецоиа;1ЬНЬ1ми знаниями из нескольких предметных ВвЛастеа* поскольку для этого, возможно, потребуется различные парадигмы и формализмы. Ко«, bL^PaTb задачу, которая не очень проста и не слиш- гРудна для эксперта-человека». 81
С позиций современных методов «слишком проста» может означать «занимающая несколько минут», а «слиш¬ ком трудна» — «требующая нескольких часов». Есть на¬ дежда на то, что наши возможности в построении эксперт¬ ных систем со временем расширятся, но пока подобные простейшие эмпирические положения вполне правомерны. Не ставьте перед программой цель быть экспертом в об¬ ласти О; лучше поставить цель стать экспертом, решаю¬ щим задачу 3 в области О. Количество взаимосвязанных понятий не’должно превышать нескольких сотен. «.Ставьте задачу четко». Это так же очевидно, как и принципиально. Сначала разработчик Программы должен иметь возможность до¬ статочно‘точно описать суть входных и выходных дан¬ ных, а эксперт — специфицировать многие из наиболее важных понятий 'и отношений. Разработчику должны быть доступны конкретные ‘примеры ’решения задач. «Совершенно необходимо заимствование знаний у эксперта, умеющего четко выражать свои мысли». В конце концов инженерия знаний — это процесс пе¬ ревода человеческого опыта в форму, используемую' ЭВМ, что не может быть выполнено без постоянного участия в этом процессе эксперта. Все описываемые нами системы созданы в соот¬ ветствии с этими принципами, которые в значительной мере обеспечивают успех. Существуют еще два критерия выбора задач. Оба они в неявном виде выражены в приведенных выше принци¬ пах. Благоприятным фактором является существование формализованного аппарата данной предметной области. Например, это было сделано по отношению к знаниям, используемым для интерпретации масс-спектров в системе DENDRAL. До создания этой системы уже существовали руководства по интерпретации масс-спектров. Другой пример — подробные каузальные модели глаукомы, нашедшие применение в системе CASNET. Одно из самых привлекательных свойств экспертных систем — способность автоматизировать процесс рас- суждений эксперта (даже в тех областях, где отсутствует для этого формализованная теоретическая база).путем применения эмпирических ассоциаций для кодирования. Однако можно добиться лучших резуль¬ татов при использовании формализованной структуры для приведения, ассоциаций в определенную систему. Второй критерий заключается в выборе такой пред¬ метной области, для которой подходят вербальные выра- 82
я<ения. В качестве проверки этого положения можно представить себе, что общение с системой происходит по телефону. Это условие ведет к исключению тех пред¬ метных областей, где знания в основном либо относятся к области чувств, либо «немы» (т. е. не могут быть вы ражены словами). Из сферы применения экспертных систем исключаются, например, подготовка чайных смесей и дегустация вин, поскольку весьма трудно описать со¬ ответствующие объекты и отношения так, чтобы это было понятно кому-либо, кроме эксперта — источника таких знаний. Ограничение, относящееся к «немым» знаниям, естественно, применимо к тем областям, где знания носят характер практического опыта (например, мастерство механика). В этом случае практик не в состоянии пред¬ ставить факты и теоретические принципы, лежащие в основе его приемов, и, следовательно, пользователь такой системы не сможет получить указания или вразу¬ мительные ответы на свои вопросы. 4.2. СХЕМА КЛАССИФИКАЦИИ ЭКСПЕРТНЫХ СИСТЕМ М. Стефик и его коллеги предложили схему клас¬ сификации экспертных систем. Эта схема всеобъемлюща, она распределяет системы в соответствии с тем, как они справляются с задачами, которые достаточно «хорошо структурированы». Термин «хорошо структурированы» ис¬ пользован в данном контексте для характеристики задачи, идеально подходящей для автоматизации процесса ее решения. С позиций представления пространства состоя¬ ний задачи, рассмотренного в последнем разделе гл. 3, это означает следующее: а) пространство поиска не должно быть большим; б) знания предметной области должны быть достовер¬ ным (они не должны содержать ошибок и противоречий); в) представляемые пользователем данные должны быть Достоверны и стабильны во времени (данные, исполь¬ зуемые в процессе решения задачи, не должны кор¬ ректироваться в ходе ее решения). По мнению М. Стефика, при небольшом простран¬ стве поиска нет нужды в применении сложной стратегии поиска решения для того, чтобы не выйти за пределы позможностей ЭВМ. Решение можно получить путем пол¬ ного перебора пространства поиска, не вызывая комби¬ наторного взрыва и не прибегая к выбору наиболее эф¬ фективного представления знаний предметной области (которое совсем не обязательно будет наиболее понят¬ ным). 83
О значении достоверности знаний и данных гово¬ рилось при рассмотрении логического вывода в гл. 2. При достоверных знаниях и данных никогда не должно воз¬ никать необходимости в пересмотре решения в связи с поступлением дополнительной информации. Процесс решения должен протекать «монотонно», путем сумми¬ рования заключений по мере поступления новой инфор¬ мации. Более того, решение будет одновременно и одно¬ значным и корректным, а заключение никогда не будет в каком-либо смысле приблизительным или ложным. М. Стефик отмечает также, что благодаря стабильности данных промежуточное заключение, полученное на основе их, будет оставаться справедливым в процессе получения окончательного решения, т. е. истинность данных не будет изменяться во времени. В противном случае потребу¬ ется повторно выводить заключения, сделанные ранее на основе таких данных. Предложенная М. Стефиком схема классификации может способствовать наведению порядка в довольно за¬ путанной смеси структур данных и приемов обработки, применяемых в экспертных системах. Поэтому мы решили следовать ей при выборе и представлении рассматри¬ ваемых ниже систем. В следующих четырех главах обсуждаются экспертные системы с целью познакомить читателя с главными пробле¬ мами, возникающими при их создании. Основное вни¬ мание уделяется важному принципу — браться только за конкретную задачу из конкретной предметной области. Кроме того, рассматриваются методы программирования в области искусственного интеллекта. Многие из этих методов были разработаны непосредственно в процессе исследовательской работы, связанной с экспертными сис¬ темами. Проведенные исследования показали, что любые, даже незначительные, изменения в предметной области или самой задаче часто приводят к возникновению новых свойств, делающих неприемлемыми прежде эффективные приемы программирования. Материал последующих глав послужит основой для понимания проблем инженерии знаний и технических приемов реализации эксперт¬ ных систем. 4.2.1. ДИАГНОСТИЧЕСКИЕ СИСТЕМЫ НА ОСНОВЕ ПРАВИЛ ДЛЯ ВЫВОДА ЗАКЛЮЧЕНИИ В СЛУЧАЕ НЕОПРЕДЕЛЕННЫХ ДАННЫХ Две диагностические системы MYCIN и PROSPEC¬ TOR, построенные на основе правил, рассматриваются в гл. 5. Эти системы, хотя они и относятся к ранним 84
разработкам, по-прежнему удивляют как высоким уровнем экспертных заключений, так и простотой построения, что служит стимулом к созданию других систем. Проблемы, оТносяшиеся к этим системам, связаны главным образом ис столько с пространством задачи, сколько с неопре¬ деленностью знаний и неточностью данных. Пространство поиска решений можно «удержать» в разумных пределах, еСли тщательно определена область диагностики. Спра¬ виться с этим позволяет метод редукции задачи.. «До¬ казательство» решения поставленной задачи сводится (ре¬ дуцируется) к доказательству решений ряда более простых задач. Обработка же недостоверных данных и знаний производится с применением некоторого вида весовых оценок. 4.2.2. АССОЦИАТИВНЫЙ И КАУЗАЛЬНЫЙ ПОДХОДЫ К ПОСТАНОВКЕ ДИАГНОЗА Ни одна из систем MYCIN и PROSPECTOR не претендует на моделирование стратегий диагностирова¬ ния, применяемых экспертами в реальных условиях. Достоинство этих систем заключается в способности рас¬ суждать, не прибегая к помощи теоретических и каузаль¬ ных знаний. Способность рассуждать исходя из «главных принципов» — отличительная черта поведения эксперта. Система INTERNIST, первая из рассматриваемых в гл. 6, пытается моделировать ход рассуждений врача- клинициста и ставить диагноз в сложных ситуациях, когда присутствуют признаки нескольких болезней. И то п другое осуществляется с применением ассоциативных сетей для представления знаний. Заболевания соотно¬ сятся с симптомами на основе различного типа ассоциа¬ тивных связей. Задача программы-процессора заключает- си в том, чтобы сначала опознать группу болезней-канди¬ датов, которым соответствуют данные симптомы, а затем с помощью стратегии, выбранной в зависимости от коли¬ чества кандидатов в группе, остановиться на одном из них. Другая система — CASNET имеет дело с задачей по¬ становки диагноза в области со значительным запасом £1аний о причинах, вызывающих данное заболевание. нД?Гема сп°собна не только подтвердить данное заболева- а ie’ Но и предсказать развитие болезни во времени, То акже °пределить лечение. Достигается это благодаря У» что в системе CASNET заболевание представляется 85
не в статичном виде, а как динамический процесс, моделируемый в виде сети причинно-связанных патофи¬ зиологических состояний. Данная система ставит диагноз путем выявления картины каузальных траекторий пато¬ логии, присущей пациенту, и подбора категории болезни, соответствующей этой картине. 4.2.3. РЕДУЦИРОВАНИЕ БОЛЬШИХ ПРОСТРАНСТВ ПОИСКА ПУТЕМ ФАКТОРИЗАЦИИ Этот подход (см. гл. 7) служит для преодоления трудностей, связанных с размерностью пространства задачи. Впервые с такой проблемой столкнулись на ранней стадии развития экспертных систем при разработке системы DENDRAL. В принципе решение указанной проблемы сводится к применению приема «порождения и проверки», с помощью которого вобранные состояния анализируются путем порождения дерева решений на оп¬ ределенную глубину. Затем к такому дереву применяются эвристические методы проверки. В результате принимается решение либо продолжать обработку данной ветви, либо; отсечь ее, прекратив таким образом дальнейший процесс поиска в данном подпространстве. Успех приема «порождения и проверки» в значительной степени зависит от факторируемости пространства состоя¬ ний и, следовательно,, от возможности предсказания в самом начале обработки дерева поиска решений, какая из ветвей ведет к решению задачи. Для многих задач требуется вести обработку на значительную глубину, прежде чем с уверенностью исключить какой-либо путь. Путь, казавшийся вначале бесперспективным, может иногда обеспечить успех. При использовании метода «по¬ рождения и проверки» можно произвести отсечение слишком рано, рискуя «упустить» решение, или запоздать с отсечением, что продлит время обработки и этот метод поиска лишится своего преимущества перед методом пол¬ ного перебора. 4.2.4. МАНИПУЛИРОВАНИЕ БОЛЬШИМИ ПРОСТРАНСТВАМИ ПОИСКА ПОСРЕДСТВОМ АБСТРАГИРОВАНИЯ Во многих областях применения экспертных систем нет необходимости в идентификации всех решений для выбора из них наилучщего, а достаточно найти хотя бы одно. Для подобных прикладных областей можно делать 86
заключения посредством абстрагирования, касающегося структуры пространства задачи. Таким образом часто удается избежать комбинаторного взрыва, не прибегая к отсечению на ранних стадиях поиска. В гл. 8 приводятся примеры применения разных способов абстрагирования и обсуждаются системы, в которых они применяются. В первую очередь мы рассмотрим систему R1. Она осуществляет комплектование ЭВМ типа VAX. В этой системе используются относящиеся к пространству задачи неизменные правила абстрагирования в форме метапра¬ вил. Однако такой подход требует, чтобы вся информация, необходимая для проверки частного решения, была до¬ ступна одновременно. Во многих предметных областях выполнение такого условия не всегда можно гарантиро¬ вать. Рассмотренный М. Стефиком альтернативный вариант вывода заключений с большим успехом был применен в системе MOLGEN. В этой системе заложен принцип «наименьшего риска», согласно которому решения должны откладываться до тех пор, пока не будет получено до¬ статочно информации. М. Стефик приводит такой довод: «данный подход позволяет использовать синергию1 взаимодействия подзадач. При его применении необходи¬ мо иметь возможность приостанавливать действия в под¬ задачах, производить обмен информацией между ними, а затем, когда информация становится доступной, продол¬ жать прерванные действия. Связанные с решением задачи знания в этом случае намного богаче, чем знания, полу¬ чаемые с помощью известных методов». 5. ОБРАБОТКА ЭМПИРИЧЕСКИХ ДАННЫХ В УСЛОВИЯХ НЕОПРЕДЕЛЕННОСТИ: MYCIN и PROSPECTOR S-1. ВВЕДЕНИЕ Описываемые в данной главе экспертные системы Функционируют на основе хорошо организованных баз знаний в области инфекционных болезней (MYCIN) и реологии (PROSPECTOR). Однако в этих прикладных 0 ластях знания часто представляются приближенно, и Синергия — эффект согласованного взаимодействия частей сис- ТСмь‘- - Примеч. пер4 87.
поэтому в указанных системах приходится пользоваться вероятностными формами вывода заключений. Большое значение для обеих систем имеет методика выражения меры доверия, т. е. «предположительность» или, другими словами, вероятность справедливости данного заключе¬ ния. В системе MYCIN мера доверия выражается с помощью так называемых «коэффициентов достовер¬ ности», как это принято в теории конфирмации. В системе PROSPECTOR используются условные вероятности и тео¬ рема Байеса. При разработке указанных систем были применены простые структуры управления. В основу их архитектуры положена система правил продукций, для которой харак¬ терно следующее: а) накопление фактов; б) набор правил продукций; в) механизм логического вывода (с прямой и обрат¬ ной последовательностью вывода) вместе со структурой знаний, которой пользуется управляющая структура при выборе правил-кандидатов на использование в меха¬ низме вывода; г) механизм построения вывода на основе неопре¬ деленных и неполных исходных данных. Эти две системы различаются способом реализации пунктов в) и г). В системе MYCIN порядок группирова¬ ния правил в рамках конкретного контекста определяется на этапе генерации. В системе PROSPECTOR правила описываются в терминах семантической сети; подлежащие рассмотрению правила задаются через входные (выход¬ ные) дуги узла. Механизм вывода в каждом случае обеспечивает поиск, управляемый целью (правило служит для извлечения дополнительной информации из его предпосылки) или управляемый данными (правило ис¬ пользуется для перестройки базы данных посредством его части, выражающей действие). Несмотря на то что в рассматриваемых системах допускается применение обоих методов, предпочтение отдается последнему, т. е. обратной последовательности вывода. Системы MYCIN и PROSPECTOR в значительной мере проблемно-зависимы, на что указывает проблемно-зави¬ симая управляющая структура. Были предприняты попыт¬ ки применения данного подхода к другим областям знаний с аналогичными свойствами. Из системы MYCIN была извлечена проблемно-независимая часть в форме «пустой» (empty) системы MYCIN, названной EMYCIN. Последняя 88
была успешно использована в ряде схожих областей, например: при создании систем PUFF (обеспечение ак¬ тивной медицинской помощи при респираторных заболева¬ ниях), SACOM (расчеты механических структур), GRAVI- рД (консультации для беременных женщин), CLOT (из¬ менение состава крови) и VM (управление принудитель¬ ным вентилированием легких). Подход, принятый для системы PROSPECTOR, был использован при создании системы HYDRO для управления водными ресурсами, а также реализован в виде «пустых» экспертных систем (SAGE, MICRO-EXPERT). Следует иметь в виду, что для всех этих систем область знаний должна вписываться в MYCIN- и PROSPECTOR-подобные представления. Подход, характерный для системы MYCIN, был моди- фицирован с целью его применения для решения задач с временной зависимостью (например, задачи управления терапией рака). Примером может служить система ONCOCIN. 5.2. ОБЩЕЕ ПРЕДСТАВЛЕНИЕ О СИСТЕМЕ MYCIN Эта система разработана в Станфордском университете с целью оказания помощи врачам при постановке диагно¬ за и лечении инфекционных заболеваний. Поставленная перед ней задача касается идентификации поражения организма болезнью и лечения последней. 5.2.1. ФАКТЫ Факты запоминаются в виде триплета КОНТЕКСТ- ПАРАМЕТР-ЗНАЧЕНИЕ. В качестве контекста выступает некий пациент. Параметр — это атрибут контекста (на¬ пример, возраст), а значение — это экземпляр параметра (например, 25 лет). Каждому триплету факта соответ¬ ствует показатель (коэффициент) определенности (ПО), значение которого лежит в диапазоне от —1 (отрицание) До +1 (утверждение). В качестве примера может служить запись ОрГДНИЗМ 1 — ТОЖДЕСТВЕННОСТЬ — ПСЕВДОМОНАДА 0,8, означающая «Организм 1 тождествен псевдомонаде с °казателем определенности 0,8». В начале консультации ^ного подобных триплетов, часть которых не укомплек- вана. Определенные триплеты представляют цель кон- У^ьтации, и поэтому сначала они не заполнены. 89
5.2.2. ПРАВИЛА ПРОДУКЦИЙ Аналитические возможности системы в рамках знаний предметной области обеспечиваются путем кодирования знаний эксперта в виде набора правил продукций в сле¬ дующей форме: ЕСЛИ предпосылки ТО действие (ПО), где предпосылка — это конъюнкция триплетов, а действие включает присвоение значений параметрам триплета. Для вычисления показателя определенности (ПО) трипле¬ та действия используется ПО правила в сочетании с ПО триплетов, имеющих отношение к данному правилу. Правило может быть применено: а) исходя из известной предпосылки с целью присвоить значения параметрам триплета действия (прямая по¬ следовательность вывода, управляемого данными); б) исходя из триплета действия с целью установить, какие триплеты предпосылки необходимо определить (об¬ ратная последовательность вывода, управляемого целью). В системе MYCIN задается, для каких правил должна применяться та или иная последовательность вывода. Правила используются многократно. Какие из них следует рассматривать в данный момент, определяется проблемно¬ зависимыми знаниями. Процесс заканчивается присвое¬ нием значений параметрам целевого триплета. Это при¬ своение в некоторых случаях производится на основании ответов врача на задаваемые системой вопросы. Приведем пример правила системы: ЕСЛИ 1) Не известно, может ли организм развиваться аэробно И 2) Средой для культуры служит кровь ИЛИ Лаборатория пыталась выращивать организм анаэробно И 3) Организм в состоянии расти анаэробно ТО Есть показания, что аэробность организма неопределенная (0,5) или он анаэробен (0,2) На языке Лисп это записывается так: предпосылка. ($ AND (NOTKNOWN CNTXT АЭРОРОСТ) ($ OR (SAME CNTXT СРЕДА КРОВЬ) (SAME CNTXT ИЕПЫТАТЬСЯ) ) (SAME SNTXT HEPACTET) ) 90
ействие: (CONCLUDE* CNTXT АЭРО ИТОГ' Д ((НЕОПРЕДЕЛЕН 500) (АНАЭРОБЕН 200))) Предпосылка правила имеет следующую общую форму: AND предложение 1 предложение 2 предложение 3...) Предпосылка принимает значение ИСТИНА, если и только если все составляющие ее предложения ■ ИСТИННЫ. Отдельные такие предложения принимают форму: (имя-предикатной-функции список-аргументов) Если какое-либо из предложений ЛОЖНО, то правило отвергается. CNTXT — это. переменная. Когда использует¬ ся такое правило, присваивается имя соответствующего контекста. Это имя устанавливается в результате при¬ менения других знаний.. Рассматриваемые предикатные функции (например, SAME) выдают истинное результирующее значение, когда применяются к одному из триплетов. Это результирующее значение в зависимости от конкретной функции будет истинным, ложным или соответствующим некоторому по¬ казателю определенности. Например, функция SAME вы¬ даст результирующее значение ЛОЖЬ, если показатель определенности будет <0,2, или значение ИСТИНА, если показатель определенности будет >>0,2. Функция KNOWN выдаст результирующее значение ИСТИНА, если показа¬ тель определенности будет >0,2, и значение ЛОЖЬ, если показатель определенности будет <0,2. Функция DEFINI¬ TE выдаст результирующее значение ИСТИНА, если по¬ казатель определенности будет равен 1. 5-2.3. ВЫЧИСЛЕНИЕ ПОКАЗАТЕЛЯ ОПРЕДЕЛЕННОСТИ Предикат CONCLUDE помещает в базу данных тот или иной триплет с вычисленным показателем определен¬ ности. Этот показатель вычисляется с использованием показателей определенности предпосылки, правила и ис¬ ходного показателя определенности триплета, если тако¬ вой существовал. Сначала устанавливается значение показателя опре¬ деленности предпосылки, равное значению самого мини¬ мального из показателей составляющих ее предложений, атем это значение умножается на значение показателя Олределенности самого правила (для части, ответственной
за действие), таким образом получается значение резуль¬ тирующего показателя (РП). Если прежде триплет 1{е существовал, то РП будет служить в качестве показателя определенности триплета. Если же он уже суН1ествУет с исходным показателем (ИП), то значение вновь вычисля¬ емого показателя определенности (ПО) получают следу¬ ющим образом: ПО — ИП + РП (1 — ИП) РП, ИП > О- ПО- -( 1ИП I + i РП I (1 - I ИП I )) РП, иП<0 I ИП| + 1РП1 1 - min (| ИП | , I РП |) ИП, РП < О Сочетание 1 и —1 дает в результате 1. Такой подход к вычислению показателя опреДеленности дает возможность справиться с проблемой вывода оцени¬ вающих заключений. При его разработке стремились к тому, чтобы он был естественным и понятным для экспертов, заполняющих базу данных, а также Для поль¬ зователей системы. Возможные изменения вычисляемых значении показа¬ теля определенности отражены на рис. 5.1. Разработчики системы MYCIN до известной степени удовлетворены данным подходом. Они рассматривают Рис. 5.1 Интерполяция для определения показателя определенности (ПО) 92
-о как первый шаг в разработке последовательной теории правления неопределенностью в сложных ситуациях ывода заключений. 2.4. ПРОБЛЕМНО-ЗАВИСИМАЯ УПРАВЛЯЮЩАЯ СТРУКТУРА К управляющей структуре относится механизм Логи¬ нского вывода для прямой и обратной последовательно¬ го вывода заключений, а также структура знаний, эторая позволяет системе установить, какое из правил олжно быть проверено следующим. Порядок расположе- ия правил не имеет значения. Применяются все релевант- ь1е правила. И это делается до тех пор, пока одно из них е приведет к поставленной цели с такой определенностью, то все остальные правила игнорируются. Релевантность равила устанавливается проблемно-зависимой управля- ицей структурой. В системе MYCIN применяется в основ- ом обратная последовательность вывода заключений, хо- я некоторые правила заданы так, что могут применяться олько при прямой последовательности вывода. Проблемно-зависимые управляющие знания хранятся виде контекстного дерева. Это дерево служит для форми- ования иерархии триплетов в базе знаний. Оно же спользуется для управления ходом консультации. Корне- ая вершина дерева является исходной точкой при выборе ачальных целей, которые система будет пытаться удов- етворить. Такое дерево представляет собой иерархию онтекстных типов (или шаблонов), и фактические трипле- ы, которые либо уже существуют, либо создаются по ходу Рис. 5.2. Контекстное дерево системы MYCIN 93
Рис. 5.3. Экземпляр контекстного дерева системы MYCIN (Melle W. Scott А. С., Bennett J. S., Peairs М. The EMYCIN Manual’ Stanford University Report, No. STAN-CS-81-885, October 1981, p. 18) консультации, и образуют структуру, имитирующую кон¬ текстное дерево. Правило всегда имеет дело с контекстным типом. Правила объединяются в группы, определяемые набором применимых контекстных типов. Все правила, относящиеся к контексту некоторой конкретной предмет¬ ной области, рассматриваются в качестве претендентов на срабатывание. Контекстное дерево системы MYCIN приведено на рис. 5.2, а конкретный экземпляр такого дерева — на рис. 5.3. Контекстное дерево определяет иерархию отношений между контекстами и группировками параметров и управ¬ ляет интерпретатором правил во время проведения кон¬ сультации. Поскольку контекстное дерево отражает вза¬ имосвязи между объектами предметной области, оно по¬ могает сделать консультирующую систему такой, чтобы для пользователя она выглядела привычной. 5.2.5. ПОЛУЧЕНИЕ ИНФОРМАЦИИ ОТ ПОЛЬЗОВАТЕЛЯ В силу природы запоминаемых знаний последователь' ность вопросов, задаваемых системой пользователю' врачу, будет зависеть от текущего состояния базы даН' ных. Вопросы задаются в том случае, когда или не сра' батывает правило и необходимо получить нужную инфор' мацию, или так предопределено, что информация должна быть получена от пользователя (например, результат^ лабораторного анализа). Разработчик системы имеет среД' ства управления выбором способа получения информации 94
Вопрос может уточняться, если он не понят, при этом предусматриваются разные наборы вопросов в расчете как на опытного, так и на неопытного пользователя. Сначала с помощью процедуры ASKFIRST система всегда делает попытку запросить у пользователя значение какого- либо параметра. Способ,, посредством которого она получает информацию от пользователя, определяет до¬ ступность системы. Разработчик такой системы должен обеспечить приемлемый интерфейс между системой и поль¬ зователем. Этот аспект не нашел полностью удовлетво¬ рительного решения в MYCIN, и при разработке системы ONCOCIN был применен другой подход. $.2.6. СРЕДСТВА ПОЯСНЕНИЯ РЕШЕНИИ Когда система дает советы врачам относительно забо¬ леваний пациентов, пользователь должен быть уверен, что «советы» системы в необходимой мере характерны и «разумны». В связи с этим система MYCIN (как и многие другие экспертные системы) имеет средства, позво- . ляющие объяснять и оценивать свои действия. Такие средства очень удобны при проведении учебных занятий. В любой момент пользователь имеет возможность спро¬ сить систему, КАК и ПОЧЕМУ она пришла к тому или иному решению. Проблема реализации таких «объясне¬ ний» упрощается благодаря применению архитектуры, построенной на основе правил. При получении вопроса ПОЧЕМУ система MYCIN сначала распечатывает часть правила, ответственную за действие. Затем она распечатывает те предпосылки, для которых были зафиксированы значения переменных, и в конце концов — предпосылки, значения которых должны быть зафиксированы в соответствии с заданным вопросом. Повторный вопрос ПОЧЕМУ интерпретируется как запрос На отображение следующего правила в текущей цепочке Рассуждений. Вопрос КАК действует в обратном направ¬ лении. Несмотря на то что рассматриваемые'средства' системы MYCIN достаточно мощны, они действуют по ходу кон¬ сультации только в границах рассуждений, связанных с лижайшими окрестностями текущего сдстояния системы. °лее того, существует ряд связанных со знаниями аспектов, о которых система не знает ничего, например ОЧЕМУ псевдомонада является бактерией? В явном виде каузальными знаниями, относящимися к конкретной Редметной области, система не располагает. 95
5.2.7. РАСПРОСТРАНЕНИЕ ПОДХОДА, ИСПОЛЬЗОВАННОГО В СИСТЕМЕ MYCIN, НА СИСТЕМЫ TEIRESIAS И GUIDON Система MYCIN была построена после всесторонних консультаций разработчиков с экспертами — специали- стами в данной предметной области. Разработка эксперт, ных систем требует большого труда и чревата серьезным^ ошибками. Эксперты, как правило, знают гораздо больше, чем они предполагают, и обычно не в состоянии в простой форме описать последовательность своих рассуж¬ дений. «Извлечение» из них знаний (к этому, собственно, сводится процесс получения тех знаний, которые необ¬ ходимы для создания экспертной системы) — сложное, отнимающее много времени дело. При разработке системы TEIRESIAS предполагалось сократить роль ее создателей и предоставить экспертам возможность взаимодействовать непосредственно с системой. При этом был выбран под¬ ход MYCIN. Однако идеи и методы, использованные при разработке системы TEIRESIAS, могут применяться более широко. Эта система хорошо иллюстрирует кон¬ цепцию метаправил. Разработка охватывала три проблемы — понятность, отлаживаемость, пополнение знаний. Система, с которой конечный пользователь мог бы взаимодействовать с по¬ мощью привычных для него терминов, должна быть понятной. Должен быть предусмотрен и процесс ее отлад¬ ки. Как поступать, если эксперт не соглашается с заклю¬ чением системы? К проблемам пополнения знаний можно отнести также модификацию базы знаний на более позд¬ нем этапе. Система TEIRESIAS может объяснить пользователю, как были получены результаты, мотивировать заключения, а также давать советы. После того как она придет к приемлемому заключению, пользователь может прове¬ рить состояние базы знаний, запросив результаты и по¬ требовав объяснений, а затем с помощью средств пере¬ носа знаний пополнить или изменить содержание базы знаний. Система TEIRESIAS требует большего запаса знаний о самой себе, чем система MYCIN. Они пред¬ ставлены в виде дополнительного набора правил, которые называются метаправилами и которые содержат сведения о том, каким образом система рассуждает и насколько много она знает. Используя их, она дает любое объяс¬ нение путем копирования действий программы, выполня¬ емых ею в процессе достижения поставленной цели. Ниже приведен пример одного из метаправил: 96
рсЛИ (1) инфекция вызвала абсцесс в области почечной лоханки (2) существуют правила, в предпосылках которых упомянута кишечная палочка (3) существуют правила, в предпосылках которых упомянуты грам-положительные палочки есть предположительные данные (0,4), что правила, в которых фигурирует кишечная палочка, должны быть вызваны преж¬ де, чем правила, имеющие дело с грам-положительными палочками Другими словами, правила, касающиеся кишечной палоч¬ ки, проверяются прежде, чем правила с грам-положи¬ тельными палочками, потому что наличие кишечной палоч¬ ки обычно связано с абсцессом в области почечной лохан¬ ки. В системе TEIRESIAS имеются «модели правил», кото¬ рые представляют собой абстрактные описания наборов правил с общими чертами. Таким образом, система распо¬ лагает предположительными сведениями о правилах и совместно с пользователем производит проверку, если ее предположения не выполняются. Модели правил основаны на концепции фреймов (см. гл. 3). Они образуют дерево, и система начинает «спуск» с его вершины, который про¬ должается до тех пор, пока не будет найдено наиболее близкое соответствие. Рассматриваемая система оснащена дополнительными средствами диалога на естественном языке (построенны¬ ми на основе ключевых слов), с помощью которых она взаимодействует с пользователем. Система GUIDON располагает теми же средствами для объяснения своих действий, что и система MYCIN. Она используется для учебных целей. В нее вводятся специальные знания, необходимые для процесса обуче¬ ния в дополнение к знаниям системы MYCIN. Она вме¬ щает в закодированном виде более 200 правил обучения. Теоретически система GUIDON не полностью зависима от MYCIN, и правила последней могут быть заменены правилами по диагностированию из любой другой области. Дополнительные правила обеспечивают ведение учебного процесса, создание модели студента и ответную реакцию На Действия студента. Одно из правил (фактически мета¬ правил) по обучению выглядит следующим образом: ЕСЛИ (1) Существуют правила, относящиеся к цели, которая была достигнута, но не была рассмотрена (2) Ряд правил, имеющих отношение к цели, которая была достигнута, являются правилами из пункта 1 (3) Имеются серьезные показания, что студент применил это TQ правило Просто констатируйте данное правило и его заключение 4 Зак. 1924 07
Диалог позволяет студенту в определенных ситуация^ проявлять инициативу, например менять тему, обращать, ся к предыдущей теме и к п. При этом взаимодействие с системой контролируется. Рассматриваемая система мо. жет сравнить процесс решения задачи системой MYCI^ с попыткой решения, возможно, частично, той же задачи студентом. Слабая сторона подхода MYCIN заключается в том, что система GUIDON перестает функционировать нормально, если рассуждения студента построены на кон. цепции, отличной от той, что используется в систе. ме MYCIN, или если применяется некорректное пра. вило. 5.3. ОБЩЕЕ ПРЕДСТАВЛЕНИЕ О СИСТЕМЕ PROSPECTOR Система PROSPECTOR разработана для оказания помощи геологам-изыскателям. Она способна давать три типа «советов»: оценку местности на предмет существо¬ вания определенных залежей, оценку геологических ресур¬ сов региона и выбор участков местности, наиболее благо¬ приятных для бурения. Эта программа была создана ком¬ панией SRI International (совместно с консультантами по геологии) и организацией U.S. Geological Survey1. Эксперт-геолог применяет очень ограниченные модели, при выявлении местностей с возможными запасами, например, нефти. В системе PROSPECTOR эти модели в закодиро¬ ванном виде находятся в памяти ЭВМ, они определен¬ ным образом интерпретируются при оценке той или иной местности. Одна из главных особенностей'знаний экспер¬ тов-геологов заключается в том, что они неполны и неопре¬ деленны. В связи с этим используются специальные техни¬ ческие приемы, отличные от тех, что применяются в сис¬ теме MYCIN. 5.3.1. ГЕОЛОГИЧЕСКИЕ МОДЕЛИ Знания геолога-эксперта хранятся в виде набора фак тов и правил. Построение знаний в системе PROSPECTOf имеет свои особенности, но говорить о них в отдельное^ не имеет смысла, поскольку основной принцип остается тем же, что и в системе MYCIN. Одна из моделей (в окон нательном отчете их приведено 15) состоит из пространств связанных правилами. Некоторое пространство можС 1 Орган, руководящий в США изысканиями в области геологии гео дез и к и гидрографии. — Примеч. пер. 98
Предыдущее значение вероятности Предыдущее значение вероятности Пространство 1 Пространство 2 Рис. 5.4. Элементы модели системы PROSPECTOR представлять наблюдаемые показания или предположе¬ ния, и каждому такому пространству соответствует опре¬ деленное значение вероятности, показывающее, насколько оно правдоподобно. В начале процесса показатели вероят¬ ности обычно имеют низкие значения. Правила выявляют, как изменения показателей вероятности одних пространств влияют на подобные показатели других. Это отражено на рис. 5.4. Так, если изменяется значение показателя вероятности пространства 1, то определенное правило распространяет воздействие этого изменения на пространство 2. Аналогия с системой MYCIN очевидна. Пространство 1 соответст¬ вует «предпосылке», а пространство 2—«действию». Модель строится посредством соединения пространств с помощью правил в виде сети. Пример такой сети для системы PROSPECTOR приведен на рис. 5.5. На схеме каждое пространство помечено предшествую¬ щим показателем вероятности. Правила характеризуют¬ ся двумя факторами, определяющими их мощность: фак¬ тором достаточности и фактором необходимости. Отли¬ чия от системы MYCIN также очевидны. В целом подобная •модель имеет дело с вероятностями существующих прост¬ ранств. Мы не порождаем пространств и не фиксируем их> а только изменяем значения показателей их вероят¬ ности в соответствии с собираемыми показаниями. Такие пространства при построении модели используются для извлечения информации от пользователя. Приведенная сеть заключений является эмпирической, а не концеп¬ туальной, поскольку не учитывает контекст правил и пзаимосвязи пространств с точки зрения геологии. Рас¬ смотрим пример правил системы PROSPECTOR. Одно из них устанавливает: ЕСЛИ пирит присутствует в выходах жилы, ТО ... 4* 99
ГИР I 1 | Гранитные | | инструзивы | > | в регионе | (0, 5) | I I БУР 0,001 Благоприятные условия региона 5700, 0,0001 БУЭ 0,005 Благоприятный уровень эрозии Распространение! системы I разломов I СВС 200, 0,0002 СГУР 0,01 Современные вулканические скалы Сверхглубин¬ ные условия региона пмс ПСИП Предположитель¬ ная морфология изверженных I пород I пмс&пс 100, 0,000001 2, 0,000001 П редпол ожитель - ная структура изверженных пород "х С КАД СТВОЛ ДАЙКИ СКИБ сквп Вулканические пробки Порфирная структура Интрузивная брекчия Песок от мелкого до среднего размера Рис. 5.5. Часть модели системы PROSPECTOR (R е b о h R. Know¬ ledge Engineering Techniques and Tools in the PROSPECTOR Environ' ment. Technical Note, No. 243, June 1981. SRI International, Menlo Park, California, p. 15) 100
Рис- 5.6. Семантическая сеть системы PROSPECTOR (Duda R. О., Hart Р. Е., Barrett Р., G a s с h n i g J. G., К о I о n i g e K., Re- R., Slocum J. Development of the PROSPECTOR Consultation ysteni for Mineral Exploration. Final Report, October 1978. SRI Inter¬ national, Menlo Park, California, p. 21) другое правило фиксирует: ЕСЛИ сульфиды присутствуют, ТО ... Действительности пирит относится к сульфидам, и, сле- Д°вательно, ответ пользователя на вопрос первого прави¬ 101
ла включает ответ на вопрос второго. Простого перебору с применением ключевых слов и использованием ключе, вого слова «пирит», которое находится в ассоциативной связи со словом «сульфид», недостаточно, поскольку такие предложения, как «имеет тот же цвет, что и пирит», будут интерпретироваться неправильно. В системе PROSPEC TOR эта проблема решается путем запоминания классу фикации минералов в виде семантической сети (см. гл. 3), Рис. 5.6 иллюстрирует эту концепцию. Изображенные на рис. 5.6 прямоугольники представ¬ ляют пространства сети заключений. Семантическая сеть показана в виде связей между овалами. Каждое простран’ ство может иметь некоторую внутреннюю структуру и мо¬ жет быть связано с каким-либо другим. Дополнение в виде семантической сети позволяет системе сделать вывод, Формы 2 С Интрузивы 1 Пробки Скалы 1 Изверженные скальные породы 1 Риолит Рис. \ ( Е1 ) / Арг2 \ / \ /Арг1 \ Арг1 , Арг2 ^Разновидность^ Состоит из э 5.7. Внутренние и внешние узлы (Reb oh R. Ор. / 102
что пирит входит в сульфидную группу. Следовательно, в системе PROSPECTOR имеется семантическая сеть узлов и дуг, которая, в свою очередь, подразделяется на пространства более высокого уровня, образующие узлы сети заключений. Узлы, присущие только данному прост¬ ранству, включаются в его состав, а те узлы, к которым могут производиться обращения из других пространств, показаны вне определенного пространства. Такая схема приведена на рис. 5.7. Она представляет выражение «Присутствует риолитовая пробка». 5.1.2. МЕХАНИЗМ УПРАВЛЕНИЯ Механизм управления обеспечивает взаимодействие с попеременной инициативой. С помощью определенных ко¬ манд пользователь в любой момент может взять управле¬ ние в свои руки. Другими словами, ему не обязательно каждый раз отвечать на вопрос, задаваемый системой PROSPECTOR. В начале консультации пользователь может, например, повлиять на выбор одной из. исходных гипотез в результате произвольного их перебора (просмот¬ ра) или попросить систему проверить конкретную гипо¬ тезу. Когда процессом управляет сама система PROSPEC¬ TOR, она производит выбор гипотезы, подлежащей обра¬ ботке, и для прохождения по сети заключений применяет стратегию «сначала вглубь». В этом случае производится выбор такого правила, при употреблении которого обеспе¬ чивается наибольшее повышение шансов рассматриваемой гипотезы (или отбрасывание ее). Для минимизации ко¬ личества малоэффективных вопросов служат соответст¬ вующие технические приемы. В любое время пользователь может обратиться к системе с просьбой перефразировать вопрос или пояснить причины, по которым он был ею задан. Пользователь может также потребовать комментариев относительно состояния результатов поиска. Правила могут применяться как под управлением дан- 11ь,х> так и под управлением целей. 5-3.3. ВЗАИМОСВЯЗИ И НЕОПРЕДЕЛЕННОСТЬ В системе PROSPECTOR между пространствами су¬ ществует три типа взаимосвязей: а) мощность правила для выражения взаимодействия 103
между пространствами с применением факторов необхо- димости и достаточности; б) логические взаимосвязи, показывающие, как буду? обрабатываться комбинации утверждений (И, ИЛИ НЕТ); в) контекстные взаимосвязи, показывающие последо¬ вательность вывода утверждения. 5.3.3.1. ФАКТОРЫ НЕОБХОДИМОСТИ И ДОСТАТОЧНОСТИ Мы уже отмечали, что каждое правило характеризует¬ ся «мощностью», которая служит мерой того, насколько сказывается изменение вероятности одного правила на ве¬ роятностях других правил. Исходное пространство (суж¬ дение) и конечное пространство (гипотеза) соотносятся между собой посредством мощности правила, представляе¬ мой парой чисел LS и LN. Для того чтобы понять, что такое LS и LN, рассмотрим пример. Сделаем допущение: «ЕСЛИ идет снег ТО холодно» или ЕСЛИ (Е) TO (Н) В этом примере охарактеризованы погодные условия на продолжительный период. Затем мы можем выразить: условие вероятность снег и холодно СХ снег и нехолодно СНХ нет снега и холодно НСХ нет снега и нехолодно НСНХ Конечно, СХ + СНХ 4~ НСХ 4" НСНХ = 1. Отсюда можно выразить значения вероятности (Р) с помощью нотации Р(Н|Е) для представления вероятности Н, когда мы знаем, что Е истинно: Р (снег) =СХ +СНХ Р (холодно) =СХ + НСХ Р( холодно! снег) = СХ/ (СХ + СНХ) Р (снег| холодно) = СХ/ (CX-j- НСХ) Комбинируя эти выражения, получаем СХ СХ (СХЦ-НСХ) (СХ + СНХ) ” (СХ + НСХ) * (СХ + СНХ) 104
ИЛИ Р (холодно | снег) = Р (снег Г холодно) • Р (снег) и более общее выражение, имеющее вид Р(Н I Е) = Р(Е | Н) • 4^- Р(Е) Оно называется теоремой Байеса. Можно вывести равно¬ ценное выражение Р(~Н|Е) = Р(Е I ~Н) • Р(Е) где Р(~Н) = 1 - Р(Н) (т.е. НЕ Р(Н) ) Разделив одно равенство на другое, получим Р(Н | Е) Р(Е|Н) Р(Н) Р(~Н I Е) Р(Е|~Н)" Р(~Н) Но Вероятность шансы (odds) 0= — 1 — вероятность Следовательно, Р(ЕН) Р(Е|~Н) •0(H) или 0(Н | Е) = LS.O(H) Это выражение — одна из версий теоремы Байеса. Она говорит нам о том, как 0(H) изменяет наблюдаемое зна¬ чение истинности Е. LS называют фактором достаточ¬ ности. Подобным же образом можно вывести выражение 0(Н | ~Е) = LN.O(H) Это выражение подсказывает нам, как вычислить значе¬ ние 0(H), если задано, что Е заведомо ложно. LN назы¬ вают фактором необходимости. Для нашего предыдущего примера «снег/холод» 105
СХ/(СХ + НСХ) LS= , СИХ / (CHX-hHCHX) НСХ / (I-ICX-hCX) ■ НСНХ /(НСНХ + СНХ) LS и LN связаны друг с другом уравнением LN=(1 —LS. Р(Е ! Н) / (1 - Р(Е | -Н) ) Для нашего примера сх.нснх LS_ снх.нсх LN Несложно показать, что если: LS > I, то LN < 1 LS < 1, то LN > 1 LS = Ь, то LN = 1 Составляя предложение вида «Если идет снег, то холодно», мы предполагали, что должен быть разумный шанс его истинности. Это соответствует случаю LS >* 1 и LN<1. Следовательно, значения LS лежат в диапазоне 1 LS ?^оо, значения LN — в диапазоне O^LN^l. Не¬ смотря на существование связи между LN и LS, экс¬ перты не всегда осознают это. Часто эксперт заявляет: «Присутствие Е повышает значение шансов Н, а отсут¬ ствие Е никак не сказывается на шансах Н», т. е. LS >* 1, LN=1, что противоречиво. Система PROSPECTOR соз¬ дана для того, чтобы выявлять подобную' противоречи¬ вость. Так, LS говорит нам, как изменится прежнее зна¬ чение шансов Н, если Е истинно, a LN — в случае, если Е ложно. Тот или иной фактор используется в зависимости от того, истинно или ложно Е. 5.3.3.2. НЕОПРЕДЕЛЕННЫЕ ПОКАЗАНИЯ А что, если Е или ~Е не известны с полной определен¬ ностью? В теоретических моделях обычно пользуются интер¬ поляцией. Если мы знаем, что Е истинно с определенностью Е', например Р(ЕЕ')', то отсюда следует, что Р(Н | Е') =Р(Е | Е'). Р(Н | Е) 4- (1 — Р(Е | Е'). (Р(Н | -Е) 106
Р (Н | Е') 1 Р(Е) 1 P(EIE') Рис. 5.8. Оперирование с неопределенным пока¬ занием (Reb oh R. Op. cit., p. 18) При таком подходе возникает проблема задания предва¬ рительных значений шансов для всех узлов сети. Посколь¬ ку LN/LS связывают предварительные значения шансов по всей сети, эксперт сталкивается с большими затрудне¬ ниями при построении сети, которая была бы полностью непротиворечивой. Эксперты обычно задают предвари¬ тельные значения шансов для узлов и значения LN, LS субъективным (нематематическим) образом. Следователь¬ но, такая сеть обычно не бывает математически непроти¬ воречивой. Допустим, что Е' — это показание, на основа¬ нии которого пользователь предполагает присутствие Е. Это изменит вероятность для Н в соответствии с Р(Н|Е'), и ее значение будет лежать между Р(Н|~Е) и Р(Н|Е). Если Р(Е|Е') равно нулю, то (Р(Н|Е') должно соответст¬ вовать Р(Н|~Е). Если же Р(Е|Е') равно 1, то Р(Н|Е') должно иметь значение Р(Н|Е). Однако если мы ничего не знаем о Е (т. е. Р (Е|Е') = Р (Е)), то предшествующее значение шансов Н не должно изменяться. Отсюда Р (Н|Е') = Р (Н). Эти три точки определяют' взаимосвязь между Р(Н|Е') и Р(Е|Е'), как это показано на рис. 5.8. Такой прием позволяет справиться с проблемой проти¬ воречивости значений LN, LS и предшествующих значе¬ ний шансов, присваиваемых экспертом каждому узлу сети. В результате получаем зависимость Р(Н I Е') = Р(Н I ~ Е) + (Р(Н>~рР(Е^1 ~Е)) ‘ Р(Е 1 £/) 107
при условии 0^ Р(Е|Е')<Р(Е) при условии И позволяет исключить распространение по сети оши- Это бочных значений вероятностей, обусловленных противоре¬ чивостью заданных экспертом значений параметров. Та¬ кой же прием служит для принудительного согласования вводи¬ мых пользователем значений ве'роятно- сти и предшествую¬ щих значений шан¬ сов, приписываемых экспертом соответ¬ ствующему узлу се¬ ти. От пользовате¬ ля требуется полу¬ чить значение фак¬ тора определенности С(Е|Е'), лежащее между —5 (отрица¬ ние) и +5 (под¬ тверждение)^. При этом принято при¬ сваивать ~ значение, лю, если действия шествующую вероят¬ ность, С(Е|Е')=5 — для принудительной установки значения вероятности, равно¬ го 1, и С(Е|Е') = — 5 для принудительной установки ее значения, равного нулю. Этому условию соответствует граф (в виде кусочно-линейной функции, представленной на рис. 5.9), связывающий С(Е|Е') с вероятностью Р(Е), из чего следует: C(E|E') равное ну- нет воз- на пред- Взаимозависимость между показателями определенности и веро¬ ятности (Reb oh R. Op. cit., p. 20) 108
Р(Е I Е')=Р(Е) + —Е- • (1 —Р(Е)) для С(Е I Е')>0 И Р(Е|Е') =Р(Е) +£<^_И_ . Р(Е) для СсЕ , Е,)<0. Следовательно, если пользователь задаст значение 2 при оценке определенности конкретного показания Е, имею¬ щего предшествующую вероятность Р(Е) =0,2, то скор¬ ректированная вероятность примет значение 0,2 Ц- (2/5) X X (0,8) =0,52. 5.3.3.3. ЛОГИЧЕСКИЕ ОТНОШЕНИЯ Применяются три вида логических отношений: И, ИЛИ, НЕ. Если каждое из нескольких высказываний должно иметь значение ИСТИНА для того, чтобы была ис¬ тинна гипотеза, то истинность гипотезы представляется конъюнкцией (И) выражающих ее. высказываний. Если для этого требуется истинность только одного высказыва¬ ния из существующего набора их, то истинность гипотезы выражается дизъюнкцией (ИЛИ) этих высказываний. Третий логический оператор — отрицание (НЕ)— просто меняет на обратное значение истинности гипотезы. Следо¬ вательно, с помощью операторов И, ИЛИ, НЕ произво¬ дится объединение высказываний. В общем случае выска¬ зывания не будут строго истинны или ложны, а скорее они будут иметь некоторую обобщенную вероятность. В такой ситуации применяется теория нечетких множеств. Для И берется минимальная из вероятностей, для ИЛИ — мак¬ симальная, а НЕ просто отрицает вероятность. 5.3.4.4. КОНТЕКСТУАЛЬНЫЕ ОТНОШЕНИЯ К контекстуальным отношениям обращаются тогда, когда требуется справиться с ситуациями, в которых суждения нельзя рассматривать в произвольном порядке. В реальных условиях некоторые показания нельзя анали¬ зировать до тех пор, пока недоступны определенные дру¬ гие показания. В моделях системы PROSPECTOR такие отношения указываются пунктирными линиями со стрел¬ ками. Конечная цель должна быть определена до начала 109
проверки того пространства, к которому направлена стрел¬ ка. Один из примеров приведен на рис. 5.5, где присутствие «гранитных интрузивов в регионе должно быть определено до выявления благоприятных условий региона». 5.4. ЗАКЛЮЧЕНИЕ Рассмотренные в этой главе системы MYCIN и. PROS¬ PECTOR расширяют диапазон задач, решаемых ЭВМ с помощью программ, способных справиться с различного рода неопределенностями. Подобные неопределенности могут быть заложены как в самих знаниях, служащих основой для решения задач, так и в сведениях, в соот¬ ветствии с которыми делается то или иное заключение. В отношении конкретных знаний из какой-либо предметной области метод представления их в виде правил продук¬ ций не накладывает (сам по себе) никаких ограничений на содержание этих правил. В качестве содержания могут выступать либо теоретически обоснованные знания, либо эмпирические знания, такие, как простейшие правила из житейского опыта. Отсюда следует, что нет необходимости в полном и единообразном описании предметной области для успешного решения относящихся к ней задач. Оба типа знаний могут обрабатываться в рамках одной и той же управляющей структуры. Таким образом, представле¬ ние знаний в форме правил продукций является идеаль¬ ным вариантом для предметной области со значительным запасом эмпирических знаний, которые, возможно, придет¬ ся закодировать с приданием им формальной структуры. К этому случаю определенно относятся предметные облас¬ ти диагностирования и лечения инфекционных заболева¬ ний (система MYCIN) или эмпирического построения гео¬ логических моделей (система PROSPECTOR). Наряду с объединенными знаниями различных типов «жиденькая» смесь фактов может быть также обработана путем введения дополнительной численной компоненты, выражающей степень взаимосвязи, которая, несомненно, существует между ними (факторы необходимости и доста¬ точности для системы PROSPECTOR и показатель опреде¬ ленности для системы MYCIN). В качестве второго источ¬ ника неопределенности, с которой имеют дело указанные выше системы, выступает достоверность вводимых пользо¬ вателем показаний. От пользователя требуется сообщить его оценку источника неопределенности при вводе пока¬ заний в ЭВМ. Это затем учитывается наряду с неопреде¬ 110
ленностью взаимосвязей между показаниями при вычис¬ лении значения неопределенности заключения. Принятые в MYCIN и PROSPECTOR архитектуры продукционных систем и систем вероятностных оценок нашли успешное применение при решении задач диагнос¬ тики в предметных областях с преобладанием эмпири¬ ческих знаний. Однако они имеют и слабые стороны. Никакая каузальная или классификационная струк¬ туры (не говоря уже о контекстном дереве системы MYCIN и семантической сети системы PROSPECTOR) в явном ви¬ де непредставима в пределах знаний, закодированных с помощью правил продукций, и, следовательно, она невиди¬ ма для пользователя и недоступна для непосредственной обработки. Вследствие этого импликации подобных знаний не ясны для пользователей, что затрудняет как понимание заключений, так и отладку или модификацию базы знаний. Для таких систем требуются дополнительные «средства объяснения», позволяющие пользователю воспринять зна¬ ния импликаций и структуру, которые при других формах представления он мог бы воспринять непосредственно. Кроме того, такая система не может воспользоваться ; вычислением «математического ожидания» на основе структурированных знаний, заключенных в результатах, получаемых на каждом этапе анализа. Система может иногда продолжать поиск, который, например, явно выра¬ женные знания о каузальных отношениях между эле¬ ментами показаний уже отнесли бы к бесперспективному. Другая проблема заключается в том, что, хотя приме¬ ненный в системах MYCIN и PROSPECTOR простой процесс дедуктивного вывода был выбран с целью облег¬ чить понимание пользователем самого процесса рассужде¬ ний, он не предназначался для моделирования последо¬ вательности рассуждений, свойственной экспертам-людям. Этот процесс включает ряд импликаций. Наиболее значи¬ тельные из них связаны с заданием вопросов. Известно, что в ходе решения любой сложной задачи ответ пользо¬ вателя на вопрос будет видоизменяться в соответствии с воспринимаемым контекстом. Традиционные системы, основанные на правилах, не могут указывать в явном виде стратегии рассуждений, и, следовательно, контекст может быть совершенно невидимым для всех, кроме созда¬ телей системы. По-видимому, эта проблема осложняется еще и тем, что в одной и той же последовательности рас- суждений используется смесь различных классов знаний, т. е. происходит отказ от применения структурирован¬ ных знаний для логического обоснования рассуждений 111
Итак, подходы, аналогичные применяемым в системах MYCIN и PROSPECTOR, наиболее эффективны при поста¬ новке диагнозов в пределах ограниченных и полностью определенных предметных областей и когда у пользовате¬ ля есть уже идея решения задачи. Они менее эффективны, если решения выглядят сложными (например, когда одни и те же симптомы могут относиться к большому числу за¬ болеваний) или если пользователь действует, уделяя срав¬ нительно мало внимания продумыванию возможных ре¬ шений. 6.АССОЦИАТИВНЫЙ И КАУЗАЛЬНЫЙ ПОД¬ ХОДЫ ПРИ ПОСТАНОВКЕ ДИАГНОЗА: СИСТЕ¬ МЫ INTERNIST И CASNET 6.1. ВВЕДЕНИЕ Разработка систем INTERNIST и CASNET была на¬ чата примерно в то же время, что и проектирование сис¬ тем, описанных в гл. 5. Однако считалось, что эти две сис¬ темы служат для моделирования несколько других сторон мыслительного процесса, связанного с постановкой диаг¬ ноза. В какой-то мере при их создании были учтены два основных критических замечания в адрес систем MYCIN и PROSPECTOR, высказанных в разделе 5.4: а) не было сделано попытки смоделировать ту страте¬ гию рассуждений, которой в действительности пользуют¬ ся эксперты-люди; б) не было сделано попытки воспользоваться зна¬ ниями, заложенными в каузальных отношениях (если они существуют). Стратегия диагностирования, которой придерживается эксперт-человек, и каузальное представление могут при¬ вести к тому, что экспертные системы станут как более понятными, так и более мощными. Например, в системах MYCIN и PROSPECTOR больших усилий стоило со¬ здать средства, которые позволяли постфактум оценивать рассуждения системы с помощью простой дедуктивной управляющей структуры. При этом представляются либо результирующие заключения на любой из стадий работы программы (в случае вопроса «почему»), либо указывают¬ ся условия, необходимые для достижения некоторого сос¬ тояния (в случае вопроса «как»). Однако из-за отсутствия явной структуры как в базе знаний, так и в процессах 112
управления пользователю трудно понять, почему именно тот или иной конкретный вывод был сделан в определен¬ ной точке процесса постановки диагноза. В системах TEIRESIAS и GUIDON для этой цели были введены ме¬ таправила. Подобные проблемы в системах INTERNIST и CASNET были разрешены, в результате чего их воз¬ можности диагностирования расширены. При проектиро¬ вании системы INTERNIST впервые внимание было скон¬ центрировано на автоматизации приемов выработки ре¬ шений, применяемых врачом-клиницистом. На после¬ дующих стадиях разработки в нее были встроены также и каузальные рассуждения в рамках логики диагностиро¬ вания. Конечной целью разработки было создание сис¬ темы диагностирования непосредственно на основе при¬ чинно-следственной модели заболевания. Преимущество такого подхода заключается в том, что появилась возмож¬ ность идентификации заболевания на различных стадиях его развития и предсказания действия лечебных средств во времени. 6.2. СИСТЕМА INTERNIST 6.2.1. ОБЩИМ ПОДХОД К ПОСТАНОВКЕ ДИАГНОЗА Работы по созданию системы INTERNIST были начаты в Питсбургском университете (США). Разработка прово¬ дилась Поплом, специалистом в области информатики, и Майерсом, специалистом по заболеваниям внутренних органов. Прототип системы, названной INTERNIST-I, был создан в 1974 г., и с тех пор постоянно проводятся оценки его клинических возможностей и совершенствование. В связи с тем, что такие проверки позволяли выявить не¬ достатки системы, была предпринята разработка усовер¬ шенствованной системы INTERNIST-П (известной также под названием CADUCEUS), которая обладает новыми качествами. В ней, например, предусмотрены система получения вывода относительно анатомических структур и система, позволяющая учитывать при постановке диаг¬ ноза знания о предшествующем лечении. Данная глава посвящена целиком системе INTERNIST-I. Одно из замечательных свойств системы INTERNIST заключается в том, что она при постановке диагноза явно приближается к модели человеческого мыслительного про¬ цесса. Такой процесс позволяет установить взаимосвязь между конкретными болезнями и их «проявлениями» (например, желтуха, рвота или увеличенная печень). Про¬ цесс имеет две стадии: 113
1) ограничение пространства диагностирования, вклю¬ чающее выбор правдоподобных гипотез заболеваний (в медицинской литературе это известно как «дифферен¬ циальная модель диагностирования»); 2) применение некоторой стратегии (учитывающей особенности модели) для решения задачи диагностирова¬ ния путем идентификации одного из заболеваний (из опре¬ деленного набора), наиболее полно отвечающего, симпто¬ мам. Например, боль в области грудной клетки может быть симптомом двух взаимоисключающих заболеваний — ангины и несварения. В этом заключается суть «дифферен¬ циальной модели диагностирования». Наименее дорого¬ стоящая стратегия для решения подобной задачи может включать назначение лекарства в виде таблеток антацида. В настоящее время система INTERNIST решает за¬ дачи, связанные только с постановкой диагноза. Рекомен¬ дации по лечению болезней она не дает. Другие системы занимались главным образом решением собственно задачи дифференциального диагноза, а не задачи, связанной с выявлением ограничений модели. Система MYCIN, например, начинает работу с некоторого допущения о том, что заболевание по своей природе инфекционное. Однако опыт клиницистов показывает, что основные проблемы связаны с дифференциальной постановкой диагноза. Как только это достигается, сама структура задачи долж¬ на внести ограничения на то, каким образом рассматри¬ вать и объединять показания. Наблюдения за работой экспертов-клиницистов пока¬ зали, что во время цикла диагностирования сначала ставится одно или несколько диагностических заданий. Эти задания играют решающую роль при сборе данных и установлении окончательного диапазона альтернатив¬ ных заболеваний. Было установлено, что главное преиму¬ щество «знания и опыта» заключается в том, чтобы разли¬ чить заболевания, идентифицированные в ходе выполне¬ ния таких заданий. Кроме того, эксперты-клиницисты фор¬ мулируют задания по дифференциальному диагностиро¬ ванию в самом начале цикла постановки диагноза, даже если они не совсем корректны из-за отсутствия инфор¬ мации. Подобная недостоверность и отсюда большая сте¬ пень вероятности, что задания придется переформулиро¬ вать на более поздней стадии, доказывают преимущество сужения области рассуждений. Благодаря такому суже¬ нию выявляется контекст для последующего процесса обработки и подход к формулированию гипотезы заболе¬ 114
вания и сбору соответствующих данных, а также опре¬ деляется стратегия выбора заболевания из некоторого множества возможных. Система INTERNIST-I сначала идентифицирует набор заболеваний, характеризующихся некоторыми или всеми симптомами, имеющимися у пациента. После этого она пытается найти в этом наборе единственное заболевание, наилучшим образом объясняющее ряд выявленных симп¬ томов. Затем производится поиск набора заболеваний, которым соответствуют оставшиеся симптомы, и процесс повторяется до тех пор, пока не останется ни одного необъясненного симптома. 6.2.2. ПРЕДСТАВЛЕНИЕ ЗНАНИЙ В СИСТЕМЕ INTERNIST-1 В системе INTERNIST-I заболевания представляются в виде некоторой иерархической структуры —«дерева за¬ болеваний». Они связаны отношением «разновидность». Их взаимосвязи представляются в виде дерева исходной классификации, в основу которой положены заболева¬ ния органов (например, заболевание печени, легких), как это показано на рис. 6.1. Отдельные узлы заболеваний подразделяются на две категории: нетерминальные — те, Все болезни Заболевание печени на гепатит Рис. 6.1. Часть дерева заболеваний для системы INTERNIST-I 115
что представляют «области заболеваний», и терминаль¬ ные — те, что представляют «сущность заболевания» (слово «терминальный» в информатике и медицине имеет разное значение). На рис. 6.1 «заболевание печени на клеточном уровне» является областью заболевания, а «острая форма вирусного гепатита» представляет сущ¬ ность заболевания. В настоящее время в системе INTER- NIST-I закодировано более 500 видов сущностей заболе¬ ваний. Все закодированные в пределах «дерева» заболева¬ ния активно соотносятся с их симптомами через два до¬ полнительных отношения; мощность каждого из этих отно¬ шений представляется числом, которое можно вольно трактовать как вероятность. Первое отношение получило название «ВЫЗЫВАЕТ». Оно означает связь между симптомом и заболеваниями, для которых, как известно, данный симптом характерен («список-вызывает»). Мощ¬ ность каждой такой ассоциативной связи выражается чис¬ лом, лежащим в диапазоне от 0 до 5, получившим назва¬ ние «мощность вызова» заболевания. 0 указывает на то, что сделать какое-либо заключение о «мощности вызова» невозможно, а 5 означает, что соответствующий симптом, безусловно, подразумевает данную болезнь. Ко времени окончания работы над этой книгой в системе было заре¬ гистрировано более 3500 симптомов. Инверсия отношения ВЫЗЫВАЕТ также представлена в системе с помощью отношения ПОКАЗЫВАЕТ. Оно направлено от заболевания к списку его симптомов, при этом мощность отношения оценивается через частоту, с какой у данной болезни проявляется рассматриваемый симптом. Эта оценка выражается числом, лежащим в диапазоне от 1 до 5. В дополнение к первичным отноше¬ ниям (ВЫЗЫВАЕТ, ПОКАЗЫВАЕТ) для ряда сущностей заболеваний задано несколько других отношений. Они включают каузальные и временные ассоциации, помогаю¬ щие при проведении обработки знаний (особенно при пос¬ тановке вопросов). В конечном итоге каждому симптому ставятся в соот¬ ветствие две характеристики — КЛАСС и ЗНАЧИМОСТЬ. Отношение КЛАСС характеризует меру стоимости про¬ верки правильности симптома как в смысле риска для пациента, так и в смысле финансовых затрат. Отношение ЗНАЧИМОСТЬ характеризует, насколько важно наличие некоторого симптома для постановки диагноза конкрет¬ ного заболевания. Обе эти характеристики в основном служат для управления ходом обработки знаний. Отиоше- 16
Тигг=4 Тип=1 Тип = 1 . Тип = 1 Рис. 6.2. Отношения в .системе INTERNIST-1 ние КЛАСС помогает при выборе вопросов; наименее «дорогостоящий» вопрос задается системой, первым. Отно¬ шение ЗНАЧИМОСТЬ помогает установить приоритет, в соответствии с которым должны производиться объясне¬ ния симптомов. Дерево заболеваний и соответствующие отношения отделены от знаний, относящихся к отдельно полученным консультациям; последние образуют динами¬ ческую часть данной программы (довольно схожую с кон¬ текстным деревом системы MYCIN). Рассмотренные выше отношения приведены на рис. 6.2 с целью дать общее представление, а не точное медицинское описание. Отношения ВЫЗЫВАЕТ помечены символом В, вслед за которыми приводятся оценки мощности конкретных от¬ ношений. Отношения ПОКАЗЫВАЕТ обозначены симво¬ лом П со значениями мощности отношений, выраженны¬ ми через частоту проявления соответствующих симптомов. Значения отношения КЛАСС соответствуют каждому узлу, а отношения ЗНАЧИМОСТЬ не показаны вообще. Отметим, например, что значение мощности В для симпто¬ ма «на ощупь увеличенная печень» намного больше по отношению к циррозу печени, чем к метастазированной опухоли печени. Пирексия (высокая температура) явля¬ ется ключевым симптомом острого гепатита (вирусного или сывороточного). Функциональная недостаточность отнесена к более высокому классу, чем увеличенная пе¬ чень, потому что первое требует лабораторных анализов, з второе подтверждается с помощью простой процедуры. Значимость «злоупотребления алкоголем» будет выше для Цирроза, чем для рака. 117
Рис. 6.3. Привязка «показания» к дереву заболеваний На начальной стадии рассмотренные выше отношения между симптомами и заболеваниями вводятся в систему с целью повышения ее эффективности. Все характерные симптомы связываются с соответствующими сущностями заболеваний в терминальных узлах дерева посредством отношений ВЫЗЫВАЕТ и ПОКАЗЫВАЕТ. Эти связи про¬ низывают все дерево заболеваний. Например, узел более высокого уровня принимает в качестве своих отношений пересечение наборов всех отношений вида ВЫЗЫВАЕТ и ПОКАЗЫВАЕТ, присущих его ветвям. Любое отноше¬ ние, свойственное всем терминальным ветвям узла, фик¬ сируется (запоминается) только при узле более высокого уровня. Таким образом, здесь используется общепринятый для семантических сетей принцип запоминания информа¬ ции при узле наиболее высокого уровня иерархии. В ре¬ зультате этого убивают двух зайцев: во-первых, дости¬ гается тривиальная экономия памяти и, во-вторых, в ходе обработки узлов дерева обеспечивается концентрация вни¬ мания (если симптом выявлен, то все расположенные ниже узлы должны быть рассмотрены в процессе диффе¬ ренциального диагностирования). Это положение иллюст¬ рирует рис. 6.3. Буквами на нем обозначены симптомы. 6.2.3. СТРАТЕГИЯ ДИАГНОСТИРОВАНИЯ СИСТЕМЫ INTERNIST-I На первой фазе консультации в систему вводится начальный набор симптомов, выявленных у конкретного пациента. Он включает как положительные, так и возмож- 118
ньгс отрицательные показания. Каждый введенный поло¬ жительный симптом вызывает те узлы дерева заболе¬ ваний, которые имеют с ним связи, включая не только тер¬ минальные сущности заболеваний, но и узлы высокого уровня, представляющие категории болезней. Последнее указывает на то, что показания могут быть объяснены через все подузлы, относящиеся к определенной катего¬ рии болезни. В результате ввода исходных симптомов порождает¬ ся «модель заболевания» для каждого вызванного узла. Такие модели позже используются в качестве гипотез заболевания при конструировании задания дифферен¬ циального диагностирования. Это задание может быть передано для последующей проверки. Модель заболевания порождается путем добавления к каждому узлу заболевания четырех перечней следующих данных: а) наблюдаемых симптомов, которые не имеют отно¬ шения к данному заболеванию в сети; б) наблюдаемых симптомов, связанных с данным за¬ болеванием в сети; в) симптомов,, которые должны были бы наблюдать¬ ся, если бы диагноз был верен, но зарегистрированы не были; г) относящиеся к заболеванию ожидаемые симптомы, не замеченные у пациента. В соответствии с особенностями этих моделей систе¬ ма начинает с того, что формулирует свой первый диффе¬ ренциальный диагноз. Сначала делается подсчет очков для каждой из моделей заболеваний, причем с плюсом учитываются симптомы, объясняющие это заболевание, а с минусом — те, что не связаны с ним. Отношение ЗНА¬ ЧИМОСТЬ тоже вносит свой вклад и делается надбавка, если некоторое заболевание связано каузальным отно¬ шением с другой, уже подтвержденной болезнью. Затем формулируется задание на постановку первого дифферен¬ циального диагноза с помощью моделей, получивших наи¬ большее число очков и обеспечивших равно достоверные объяснения для симптомов пациента. Такие модели, взя¬ тые вместе, объясняют наблюдаемые проявления болезни не больше, чем каждая из них в отдельности. Набор альтернативных моделей высшего ранга занимает цент¬ ральное место на второй стадии, связанной с принятием окончательного решения. Последующие вопросы, обра¬ 119
щенные к клиницисту, направлены на достижение этой цели. Процесс принятия окончательного решения зависит от числа альтернативных заболеваний в полученном набо¬ ре. Если число болезней-кандидатов превышает четыре, то применяется стратегия ИСКЛЮЧЕНИЯ, в соответствии с которой’задаются вопросы с четким указанием одного из заболеваний (с помощью отношения ЗНАЧИМОСТЬ). Если же подходящий симптом отсутствует, то такое забо¬ левание исключается из рассмотрения. Если болезней- кандидатов больше двух, но меньше четырех, то приме¬ няется стратегия ДИСКРИМИНАЦИИ. При этом задают¬ ся вопросы, касающиеся симптомов, определенно указы¬ вающих на одну из болезней и до некоторой степени соот¬ ветствующих другой. При одном кандидате задаются воп¬ росы, для которых существует большая вероятность, что ответы на них могут подтвердить данное заболевание. В конце концов если оказывается, что нет достаточных осно¬ ваний для подтверждения какого-либо конкретного забо¬ левания, то ставится диагноз общего характера в виде класса заболевания. Как только с помощью перечисленных выше процедур опроса будет получена новая информация, все вызван¬ ные модели заболеваний (независимо от того, относятся они к данному диагностическому заданию или нет) пере¬ оцениваются и конструируется новая дифференциальная модель диагностирования. Пересмотренное задание может в значительной степени отличаться от предшествующего в зависимости от того, какие из заболеваний получат наиболее высокие баллы. В результате этого «центр вни¬ мания» системы смещается. Такой процесс проходит ряд итераций до тех пор, пока одно из заболеваний не будет подтверждено. В этой точке все его симптомы помечают¬ ся как «объясненные», и все заболевания, имеющие кау¬ зальные отношения с данным заболеванием, получают надбавки значения мощности вызова. Последующая обработка связана с попыткой объяс¬ нить любой из оставшихся симптомов, пока не будут решены все диагностические задачи, относящиеся к данному пациенту. В результате этой процедуры система INTERNIST-I может у одного пациента обнаружить несколько заболеваний. Это существенный шаг вперед, поскольку традиционные диагностические системы при¬ бегают к упрощающему допущению о наличии един¬ ственного заболевания. 120
6.2.4. ЗАКЛЮЧЕНИЕ Отличительным свойством системы INTERNIST-I яв¬ ляется то, что она следует стратегии конструирования и затем проверки дифференциального диагноза, приме¬ няемой человеком-клиницистом. Такая модель диагноза включает двухступенчатую процедуру, которая сводится к тому, что сначала выдвигаются гипотезы заболевания на основании введенных данных о пациенте (процесс «снизу вверх»), а затем производится их оценка с по¬ мощью дополнительных симптомов, которые должны быть присущи предполагаемым заболеваниям (процесс «сверху вниз»). Система INTERNIST-I регулярно используется в экспе¬ риментальных условиях лаборатории. Она доказала, что способна действовать как эксперт в сложных ситуациях, которые характеризуются множественностью заболева¬ ний. Предполагается, что система будет совершенство¬ ваться в процессе повседневной клинической практики. В ходе одного из испытаний, включающего 19 произволь¬ но выбранных пациентов и 45 анатомически проверенных заболеваний (попавших в пределы базы данных системы INTERNIST-I), система поставила правильный диагноз в 25 случаях, а врачи-клиницисты —в 28. Во время испытаний, проведенных в условиях клиники, выявились две практические проблемы. Одну из них уда¬ лось разрешить (в значительной мере) в системе INTER- NIST-II (CADUCEUS), другая же находится в стадии ис¬ следования. Первая проблема связана с тем, что система INTERNIST-I имеет тенденцию сначала концентрировать внимание на полностью неподходящих моделях заболе¬ ваний. Это было замечено клиницистами, которые протес¬ товали против такого свойства и старались понять его причину. Как выяснилось, источником этого служит после¬ довательный характер организации обработки знаний в системе INTERNIST-I, что было исправлено в системе INTERNIST-II путем введения некоторого параллелизма в анализ дифференциальных диагнозов. В системе INTERNIST-II применяется то же «дерево заболеваний», что и в системе INTERNIST-I, но более разветвленное за счет дополнительных каузальных знаний и множества отношений типа «КОНСТРИКТОР». Они действуют так же, как симптомы, определяющие общий класс заболевания (представленный в виде поддерева Дерева заболеваний). Используя эти отношения, система INTERNIST-II последовательно подразделяет дерево за¬ 121
болеваний, пока не останутся только терминальные узлы (т. е. сущности заболеваний). Применяемые в системе INTERNIST-I отношения меж¬ ду симптомами и болезнями большей частью построены на ассоциативных связях. Поэтому система не в состоянии моделировать процесс развития болезни. Заболевания рассматриваются в качестве статичных категорий, и диаг¬ ноз определяется как отнесение пациента к одной или нескольким категориям. Несмотря на то что такой подход может обеспечивать эффективную идентификацию забо¬ левания, он не позволяет создать средства для убедитель¬ ного объяснения этого из-за отсутствия в явном виде подробного разъяснения мотиваций системы при задании ею вопросов. С подобной проблемой столкнулись на на¬ чальном этапе разработки диагностических компьютерных систем, основанных на знаниях, в частности при созда¬ нии системы CASNET, рассматриваемой в следующем раз¬ деле. Это характерно и для системы INTERNIST-II, использующей дополнительные знания в виде каузальных отношений. 6.3. СИСТЕМА CASNET 6.3.1. ПРЕДСТАВЛЕНИЕ ЗАБОЛЕВАНИЯ В ВИДЕ ПРОЦЕССА Семантические сети нашли широкое распространение при моделировании каузальных знаний. Узлы сети пред¬ ставляют состояние системы, а дуги — каузальные отно¬ шения. Следовательно, было естественным применение се¬ мантических сетей в качестве основной формы представ¬ ления знаний в системе CASNET (Caysal Associational NETwork), разработанной в первой половине 70-х годов Куликовским и Вейссом из Рутгерского университета. Сис¬ тема создавалась с целью разработки и исследования стратегий диагностирования с помощью компьютерных систем, в основу которых положены психологические и функциональные модели болезней. В системе CASNET заболевание рассматривается как процесс, включающий переходы от одного патофизиологи¬ ческого состояния к другому. В результате этого диагноз определяется как идентификация взаимосвязи между кар¬ тиной каузальных маршрутов, свойственных пациенту, и категорией заболевания. У такого процесса описания болезни есть ряд преиму¬ ществ. Во-первых, можно воспользоваться каузальной мо¬ 122
делью для предсказания возможного течения болезни как при ее лечении, так и при отсутствии такового. Подобная информация полезна при принятии решений, касающих¬ ся лечения, в частности решения, когда лечение должно быть применено. Во-вторых, систему можно использовать для моделирования развития заболевания во времени. При разработке системы CASNET в качестве предмет¬ ной области была выбрана глаукома (хотя используемый в системе CASNET подход в равной мере применим и для других болезней, если известно, что можно будет дать их полное каузальное описание). Заболевание глау¬ комой начинается с повышения глазного давления, и если не предпринимать соответствующие меры,- то может насту¬ пить слепота. Эта область оказалась особенно подходящей для проведения исследования каузальной модели диаг¬ ностирования. Воздействие глаукомы* ограничивается только глазами и благодаря структурной .простоте может быть описано достаточно полно. Более того, процессы, протекающие в ходе заболевания глаукомой и ее лечения достаточно хорошо поняты и результаты могут быть от¬ носительно точно оценены. 6.3.2. ПРЕДСТАВЛЕНИЕ ЗНАНИИ В СИСТЕМЕ CASNET Основная клиническая модель системы CASNET сос¬ тоит из четырех «слоев знаний», три из которых описы¬ вают собственно болезнь (см. рис. 6.4), а четвертый — схемы ее лечения. Центральное место в модели болезни занимает описание «патофизиологических состояний». Это описание выражено в форме семантической сети. Узлы представляют физиологические состояния (с их помощью в системе формируются гипотезы заболевания), а дуги— причинные связи между состояниями заболевания. В ка¬ честве примера состояния заболевания может служить «затемнение оптического диска» и «повышенное внутри¬ глазное давление». Весь маршрут от начального до конеч¬ ного состояния обычно отражает полный цикл болезни, и продвижение по этому маршруту соответствует нараста¬ нию серьезности заболевания. Каждой каузальной зависимости соответствует пока¬ затель доверия, задаваемый в виде числа, лежащего в диапазоне от 1 до 5, где 1 соответствует «редко вызы¬ вает» и 5—«(почти) всегда вызывает». Ниже «слоя патофизиологических состояний» находит¬ ся «слой наблюдений». Здесь узлы представляют симптомы и проявления, которые, возможно, связаны с различными 123
Классификационные связи Наблюдения Вторичная глаукома Катёг ории болезни Перекрытие Е2 угла зрения Г лаукома с открытым углом зрения Острая форма глаукомы с перекрытием угла зрения / га Офтальмоскопия Тесты < Симптомы Эдема роговицы Ассоциативные связи —I Гонископия I спайки радуж-/ ной и роговой' *>. оболочек Топометрия утрата зрения в результате глаукомы Затемнение диска скотома Хроническое Каузальные связи Патофизио¬ логические состояния Перекрытие угла зрения Спайка радужной и роговой оболочек оптического ( 'ч Р7Я Острота I Боли й зрения 4---—4- I Двоение ' изображен расШиренг ^ный зрачок Показания I Периметрия: га дугообразная ' Рис 6.4 Трехуровневое описание процесса болезни (Weiss S. М., Kulikowski С A., Amaral S., Sa fir A. A model-based method for computer-aided medical decision-making. Artificial Intelligence, 11, North-Holland Publishing Co, 1978, p. 148, 166). 124
Рис. 6.5. Модель системы CASNET для процесса развития заболевания и его лечения (Weiss S М el al Op cit 148, 166) 125
стадиями болезни, и каждый из них может соотноситься с некоторыми ограничениями проведения наблюдений, та¬ кими, как «стоимость» наблюдений (в смысле опасности для пациента или финансовых затрат) или предваритель¬ ные условия для сбора показаний (например, каждое из таких «наблюдений» связано с состояниями болезни; взаи¬ мосвязи между наблюдениями и заболеваниями носят ха¬ рактер «многие со многими», т. е. каждому состоянию может соответствовать много «наблюдений» и каждое наб¬ людение может указывать на более чем одно состояние заболевания). В конечном счете эти связи имеют веса от 1 до 5, отражающие степень того, насколько данный симптом или тест подтверждает некоторое состояние. Выше «слоя патофизиологических состояний» находит¬ ся слой, ответственный за классификацию заболеваний на уровне более общих понятий. Элементы этого слоя, напри¬ мер заболевание «острая форма глаукомы, вызывающая перекрытие угла зрения», связаны с компонентами слоя патофизиологических состояний, которые или подтвержда¬ ются, или отвергаются в процессе консультации. В резуль¬ тате этого «состояния заболевания» и косвенно «патофи¬ зиологические состояния» связываются со множеством «схем лечения». Последние соотносятся между собой через показатели взаимодействия, временной зависимости, ток¬ сичности и т. д. На рис. 6.5 представлены все четыре уровня модели. 6.3.3. ПРОЦЕСС ПОСТАНОВКИ ДИАГНОЗА В СИСТЕМЕ CASNET Общая стратегия системы CASNET сводится к поиску одного или нескольких каузальных маршрутов между патофизиологическими состояниями. При этом сеанс постановки диагноза начинается с вопроса, задаваемого системой клиницисту о симптомах пациента. После ввода соответствующего сообщения состояниям присваиваются значения «подтверждено», «опровергнуто» или «неизвест¬ но». Эти значения совместно со значениями показателей доверия при каузальных дугах и весовых показателей, связанных с ограничениями наблюдений, используются при вычислении показателей доверия для каждого пато¬ физиологического состояния. Считается, что состояние «подтверждено», если значение его показателя доверия превышает некоторый порог, и «опровергнуто», если зна¬ чение его показателя оказывается ниже второго порога. Порядок задаваемых вопросов будет зависеть от значения 126
параметра, определяющего стоимость собираемых пока¬ заний. Как только введены все «наблюдения», первым делом производится интерпретация хода заболевания с обраще¬ нием к слою патофизиологических состояний. Поскольку заболевание представляется в виде каузальной сети, то наиболее вероятная причина болезни пациента задается в качестве «стартового состояния» в сети, от которого намечаются маршруты, пересекающие наибольшее число подтвержденных узлов (и ни одного отвергнутого узла). Если будет обнаружено не одно такое стартовое состоя¬ ние, то значения вероятностей вычисляются для каждого из них и выбирается состояние с наибольшим весом. Если же какое-либо начальное состояние не может породить маршруты, пересекающие все подтвержденные состояния, то производится поиск других дополнительных путей через оставшиеся подтвержденные состояния. Например, на рис. 6.4 заболевание «перекрытие угла зрения» служит стартовым состоянием, которое ведет через маршрут «по¬ вышенное внутриглазное давление» и «спайка радужной и роговой оболочек» к состояниям «затемнение оптическо¬ го диска» и «утрата зрения в результате глаукомы». Отметим, что это же стартовое состояние может привести и к состоянию «эдема роговицы». Идентифицировав один или несколько каузальных маршрутов, представляющих текущее состояние пациента, выбирают соответствующую стратегию, используя «слой категорий заболеваний» и схемы лечения. Классы заболе¬ вания описаны в наборе «идентификационных таблиц», в которых суммируются маршруты, представленные в «слое патофизиологических состояний» в виде набора пра¬ вил; первоначально они выбираются с помощью указате¬ ля, направленного из стартового состояния. Конечно, из нескольких разных стартовых состояний могут исходить указатели к одной и той же таблице, так как в одну и ту же диагностическую категорию может быть включено несколько различных каузальных механизмов. Для любого отдельно взятого пациента с целью идентификации соот¬ ветствующей таблицы используются наиболее вероятные стартовые состояния. Правила, находящиеся в таблицах, служат для установления связи подтвержденного набора состояний с классификацией заболеваний; в каждой таб¬ лице выбирается такая категория заболевания, которой соответствует «наиболее подтвержденное» состояние. На рис. 6.4 маршрут заболевания указывает на категорию заболевания «хроническое перекрытие угла зрения». По 127
завершении процесса классификации можно выяснить, какое лечение соответствует каждой подтвержденной кате¬ гории заболевания. При идентификации заболеваний необ¬ ходимо действовать осторожно, чтобы не произошло за¬ мены одного способа лечения другим. 63.4. ЗАКЛЮЧЕНИЕ Ко времени завершения работы над книгой система CASNET имела более 100 состояний, 400 тестов, 75 клас¬ сификационных таблиц и 200 диагностических и лечебных предложений. Эта консультационная программа в целях повышения быстродействия написана на языке Фортран. Модификация модели глаукомы выполняется в диалого¬ вом режиме с помощью программы, написанной на языке SNOBOL. Применяемую в системе CASNET стратегию постанов¬ ки диагноза можно коротко выразить как серию преоб¬ разований. Результаты тестов и наблюдений связываются с отдельными патофизиологическими состояниями. Эти состояния либо подтверждаются, либо отвергаются, а за¬ тем формируются маршруты, логически выводимые из сети состояний. Такие маршруты, в свою очередь, соотносятся с классификационными таблицами, содержащими катего¬ рии диагнозов. Категории заболеваний служат в качестве основы при выборе методов лечения. Следовательно, в системе CASNET используется в чистом виде подход «снизу вверх», т. е. от наблюдений к лечебным мероприя¬ тиям. Система CASNET постоянно развивалась. Она достиг¬ ла уровня эксперта-человека при диагностировании и ле¬ чении многих типов глаукомы. Например, при проведении испытания, в ходе которого 95% правильных диагнозов было поставлено опытными клиницистами, система в 45 трудных случаях 77% диагнозов поставила как «эксперт» или на «очень высоком уровне компетентности». В заключение следует отметить, что примененный в системе CASNET подход «на основе модели» имеет су¬ щественное преимущество перед другими методами диаг¬ ностирования. Представление в явном виде процесса за¬ болевания с использованием «слоя патофизиологических состояний» дает возможность применять эту систему для отслеживания состояния пациента в процессе развития за¬ болевания. Отсюда вытекает, что данная модель может служить для анализа реакции пациента на лечебные сред¬ 128
ства, давать оценку возможным лечебным мероприятиям и в качестве метода исследования и оценки альтерна¬ тивных причин заболевания. Каузальные маршруты, за¬ канчивающиеся на подтвержденном узле, предоставляют исчерпывающее объяснение диагноза для данной позиции, а неподтвержденные узлы указывают на возможный ха¬ рактер развития заболевания в будущем. 7. РЕДУЦИРОВАНИЕ БОЛЬШИХ ПРОСТРАНСТВ ПОИСКА ПУТЕМ ФАКТОРИЗАЦИИ: СИСТЕМЫ Heuristic DENDRAL и Meta-DENDRAL 7.1. ОБРАБОТКА БОЛЬШИХ ПРОСТРАНСТВ ПОИСКА В гл. 3 мы ввели понятие «поиска в пространстве сос¬ тояний». В соответствии с этой парадигмой решение зада¬ ли включает поиск среди узлов сети, каждый из которых представляет некоторое возможное состояние задачи. Бы¬ ло также показано, что для любой реальной предметной области характерно большое пространство состояний. В связи с этим трудно (даже невозможно) получить решение задачи путем исчерпывающего поиска (полного перебора). Основное внимание при проведении исследований было сосредоточено на разработке методов «управления» поис¬ ком так, чтобы система могла справиться с большими пространствами состояний. Для эффективных методов управления характерна узкая специализация, т. е. они учитывают тип взаимосвязей, существующих между сос¬ тояниями задачи, и, в частности, относительную неза¬ висимость состояний. Один из известных методов манипу¬ лирования с большими пространствами называется ме¬ тодом «порождения и проверки». Начиная со стартового состояния некоторый «генератор» выстраивает ряд «сос¬ тояний-потомков». Затем применяется последовательность тестов на допустимость порожденных состояний с целью сокращения их количества. Эти тесты обычно представля¬ ются в форме ограничений. Часто удается встроить эти тесты в сам генератор, и тогда сокращается количество состояний-потомков, подлежащих проверке. Метод «по¬ рождения и проверки» применим только при условии, что если какое-либо состояние признается недопустимым, то 5 Зак. 1924 129
из этого вытекает недопустимость всех связанных с ним состояний-потомков. Таким образом, в результате отсе¬ чения ветвей на ранней стадии резко сокращается коли* чество состояний-кандидатов. Если, например, рассматривается первый шахматный ход, то при этом порождаются все возможные ходы каж¬ дой из фигур. Можно создать тест по исключению тех ходов, при которых пересекаются поля, уже занятые дру¬ гими фигурами (для всех фигур, за исключением коня). Другой тест после «порождения состояний» может произ¬ водить проверку, открывается ли возможность для разви¬ тия фигур после следующего хода, например возможность для последующего хода слоном. Однако было бы более эффективно, если бы первый тест был встроен в фазу генерации. Это привело бы к сокращению количества про¬ верок. Метод «порождения и проверки», позволяющий управлять ходом обследования пространства состояний, был применен в системе DENDRAL. Heuristic DENDRAL и Meta-DENDRAL были, по существу, первыми эксперт¬ ными системами, построенными на основе знаний. Систе¬ мы DENDRAL были разработаны большой группой спе¬ циалистов Станфордского университета и предназнача¬ лись для расшифровки структуры соединений органиче¬ ской химии. Разработки начались в 1965 г. с целью созда¬ ния компьютерной системы в помощь профессиональным химикам, которые не обязательно являются специалиста¬ ми по аналитическим методам. Успех в применении этих систем послужил толчком для развития одного из раз¬ делов в области искусственного интеллекта — экспертных систем. 7.2. ПРИКЛАДНАЯ ЗАДАЧА Определение структуры химических молекул представ¬ ляет большой интерес во многих областях биологии и ме¬ дицины. Простейший метод сводится к непосредственной проверке структуры с помощью рентгено-лучевой кристал¬ лографии. Однако это не всегда удается осуществить, и химик вынужден прибегать к другим методам, включаю¬ щим анализ с помощью инфракрасного и ультрафиоле¬ тового излучений, хроматографии и масс-спектрометрии. Структурный анализ, проводимый химиком, включает сле¬ дующие этапы: после получения образца используется один из пере¬ численных выше методов для проверки структуры; 130
эти данные интерпретируются с целью выработки ряда гипотез, касающихся структуры функциональных групп или более сложных фрагментов, из которых состоит ис¬ следуемая молекула; из этих фрагментов собираются законченные структу¬ ры, образуя ряд структур-кандидатов для неизвестной мо¬ лекулы; такие кандидаты проверяются и для установления раз¬ личия между ними конструируются соответствующие эксперименты; производятся эксперименты, включающие сбор допол¬ нительных данных для увеличения объема информации относительно структур, что позволяет сократить количест¬ во структур-кандидатов; в конце концов будет собрана достаточная информа¬ ция для сокращения кандидатов и получения оконча¬ тельной структуры. Провести весь процесс вручную можно только при не¬ большом числе структур-кандидатов. Если же их коли¬ чество велико, то не обойтись без помощи ЭВМ. Систе¬ ма DENDRAL и была создана для этой цели. Первая программа была названа Heuristic DENDRAL (далее для простоты называется DENDRAL). Эта упрощенная экспертная система должна была помогать химикам при установлении структур некоторых неизвестных соединений с применением для этой цели масс-спектрометрических данных. Масс-спектрометр — прибор, в котором образец соеди¬ нения подвергается бомбардировке электронами, что вы¬ зывает «фрагментирование» и перестройку молекул образ¬ ца. Образовавшиеся заряженные частицы соединения затем разделяются по массам, и результат этого представ¬ ляется в виде гистограммы, где указывается количество частиц для каждой массы. На рис. 7.1 изображена такая гистограмма, которую более правильно принято называть масс-спектром. Одно из преимуществ масс-спектрометрии заключается в том, что для ее проведения достаточно иметь образец крохотных размеров — всего микрограмм исследуемого соединения. Однако при этом возникают серьезные проблемы, связанные с интерпретацией резуль¬ татов. Хотя масс-спектр каждой молекулы почти уникален, очень трудно мысленно представить структуру молекулы, включающую от 100 до 300 отдельных элементов. Более того, этим данным может быть присуща очень большая избыточность, так как молекулы могут «фрагментировать¬ ся» разными путями. 5* 131
100-T- Соединение: CgH16O Молекулярный вес (М) =128 q, и Структура молекулы: СН3-СН2-О-СН2-СН2-СН2-СН2-СН3 Представление масс-спектра в ЭВМ: ((41 , 18) (42.7) (43, 100) (44,3) (53,3) (54,1) (55, 11) (56,3) (57,80) (58,2) (70,1) (71 ,36) (72,44) (73,5) (81 , 1) (85,6) (86,2) (99,31) (100,2) (128,5)) Рис. 7.1. Масс-спектр соединения 3-октанон (Bucha¬ nan В., Sutherland G., Feigenb a urn Е. А. HEURISTIC DENDRAL: a program for generating explanatory hypotheses in organic chemistry.— In: Melt¬ zer B., Michie D. (eds). Machine Intelligence, 4, Edinburgh University Press, 1969, p. 210). Знания, используемые при интерпретации масс-спект¬ ров системой DENDRAL, были получены от соответствую¬ щих экспертов. Но при этом возникли затруднения. Сам процесс требовал очень много времени; большая часть знаний экспертов относится к категории подразумевае¬ мых и поэтому их не так просто выразить. Эту проблему 132
хорошо иллюстрирует следующий эпизод, происшедший после окончания сеанса извлечения знаний (по Буканану). Он дает представление о типе знаний, которыми манипули¬ рует система DENDRAL. X — эксперт-химик, 3 — специа¬ лист по манипулированию знаниями, стремящийся полу¬ чить информацию и выразить ее в форме, приемлемой для системы: X: Поскольку Э. Сапремо и его коллеги выразили ’ желание, чтобы мы работали над кетонами, я полагаю, что нам следует приступить к этому. 3: Почему так важны кетоны? X: Кроме того, что они распространены в органической химии, мы также имеем представление и об их масс-спектрах, поскольку они в значительной мере изучены. 3: Какой подграф точно отвечает за отнесение молекулы к классу кетонов? X: Карбонильный радикал. Т. е. С = О (заметив недоумевающий взгляд 3). 3: В этом случае все это кетоны? СНз—СН2—С = О—R, СНз—С = О—R, Н—С = О—R. X: Обождите минуту. Первые два — кетоны, а вот последний — это особый случай, который мы должны выделить в программе. Он служит признаком класса альдегидов. 3: Итак, мы можем сформулировать общее правило: кетон — это любая молекула, содержащая С—С = О—С? X: Да, это так. 3: Какие же общие правила существуют у вас для масс-спектро¬ метрии кетонов? X: Три процесса будут доминировать: альфа-расщепление, отделе¬ ние моноокиси углерода от фрагментов альфа-расщепления и перестрой¬ ки Маклафферти. 3: Хорошо. Я все это записал. Теперь скажите мне точнее, что все это значит. Начнем с альфа-расщепления. Вы имеете в виду связь, бли¬ жайшую к разнородным атомам? X: (Отступление в записи; часто альфа-расщепление относится к такой связи, но не для масс-спектрометрии)... Здесь альфа-расщепление — это расщепление связи С—С = 0, например расщепление, ближайшее к карбонильному радикалу; не забудьте о том, что по обеим сторонам. 3: Хорошо. Это легко представимо в виде правила. Можем ли мы сказать, что пики всегда велики? X: Это будет сделано впервые. Мы не обращаем на интенсивность такого внимания, какое уделяем выделению пиков. (Кратко объясняет¬ ся, почему нельзя подсчитывать интенсивности. Это интерпретируется 3 как недостаточное знание со стороны X данного вопроса.) Учитывая подобные проблемы, связанные с выявлением знаний, была разработана вторая программа — Meta- 133
DENDRAL с целью автоматизации процесса порождения наборов правил для выражения ограничивающих факто¬ ров. О данной системе речь идет в разделе 7.4. 7.3. СИСТЕМА Heuristic DENDRAL 7.3.1. ПЛАНИРУЮЩАЯ ПРОГРАММА ДЛЯ СИСТЕМЫ DENDRAL В качестве основного управляющего процесса в системе DENDRAL служит последовательность «порождение и проверка», как было отмечено в разделе 7.1. Однако, как показала практика, наряду с этим имеется необходимость в дополнительной «планирующей» программе, предназна¬ ченной для выработки ограничений, которые учитываются порождающей и проверяющей программами. Таким обра¬ зом, полный цикл включает «планирование — порожде¬ ние — проверку». Благодаря тщательному планированию значительно сокращаются нежелательные порождения и, следовательно, упрощается фаза проверки. Подобно системе MYCIN система DENDRAL не пре¬ тендует на моделирование того процесса интерпретации, которым пользуется химик. Однако она дополняет его методы, производя тщательный поиск в пространстве воз¬ можных молекулярных структур, в результате чего окон¬ чательный список структур-кандидатов будет точно отра¬ жать те решения, к которым пришел бы в этом случае химик (если ему предоставить достаточное время). Перед началом сеанса анализа (во время фазы пла¬ нирования) химик с помощью системы DENDRAL, исполь¬ зуя планирующую программу, получает по масс-спектру соединения список нужных и запрещенных оснований. Такие списки, названные GOODLIST и BADLIST, помо¬ гают отобрать структуры, представляемые порождающей программой. В результате этого сокращается количество возможных конфигураций, подлежащих проверке. Соответствующий масс-спектр (например, масс-спектр 3-октанона на рис. 7.1) предъявляется планирующей программе вместе со списком входящих в молекулу ато¬ мов. Планирующая программа, используя эти исходные данные, на основании знаний из области масс-спектро¬ метрии производит классификацию вещества (например, есть вероятность того, что оно содержит группу кетонов,— факт, отмечаемый в списке GOODLIST, но определенно не метилкетон — факт, отмечаемый в списке BADLIST). Зна¬ ния кодируются как правила продукций в следующей фор¬ ме: 134
ЕСЛИ ТО Правило 1: Имеется 2 пика с массовыми единицами х1 и х2 КЕТОН так, что: а) х14-х2 = М + 28 О б) х1—28—большой пик || в) х2—28— большой пик —С— г) по крайней мере один из пиков х1 или х2 является большим Правило 2: а) условие относительно кетонов МЕТИЛ-КЕТОН-3 удовлетворяется б) 43— большой пик О н в) 58— большой пик • 11 1 1 г) М —43— малый пик СНз-С-СН2- с- С— д) М —15— малый пик (воз- 1 1 можен 0) Правило 3: а) условия относительно кетонов удовлетворяются ЭТИЛ-КЕТОН-3 б) 57—большой пик О в) 72— большой пик II г) М—29—большой пик СН3—СН?—С—СН2—С—С— д) М —57— большой пик I | Используя представленный на рис. 7.1 масс-спектр, планировщик сначала применяет общие правила, такие, как правило 1, служащее для проверки на ‘ присутствие кетонов. Производя проверку этих условий по отношению к спектру, планировщик устанавливает следующее: а) х14-х2 = М4-28= 156 для следующих пиков (564-100, 57 + 99, 70 + 86, 71+85), б) х1—28—пик, большой для х1 =71, в) х2—28 — пик, большой для х2 = 85, г) х1 или х2—пик, большой для х1 =71. Таким образом, неизвестная структура должна содержать группу кетонов. Достигнув успеха в применении правила 1, планиров¬ щик может производить просмотр вперед, рассматривая только правила, в которых присутствуют группы кетонов. Правила 2 и 3 являются их примерами. Однако, если чи¬ татель произведет сравнение со спектром на рис. 7.1, то обнаружит, что эти условия удовлетворяются для правила 3 и не удовлетворяются для правила 2. Так как эти пра¬ 135
вила самого высокого уровня, система делает заключение, что неизвестное вещество содержит группу ЭТИЛ- КЕТОН-3. Таким образом, эта группа заносится в список GOODLIST, а группа МЕТИЛ-КЕТОН-3— в список BADLIST. Возможно, что при определенных условиях пла¬ нировщик сможет определить положение функциональной группы; в этом случае дополнительная информация фик¬ сируется для последующего использования порождающей программой. Многие из правил продукций планировщика являются чрезвычайно эффективными. Они обеспечивают возмож¬ ность сократить число структур, подлежащих рассмотре¬ нию. Например, знание о том, что спектр содержит 8 ато¬ мов углерода, 16 атомов водорода и 1 атом кислорода, позволяет сократить количество топологически возможных структур с 698 до 3, поскольку в список BADLIST зано¬ сятся все структуры, за исключением содержащих этил- кетон-3. Однако в общем случае такие значительные сокращения невозможны, и поэтому информация, получен¬ ная в фазе планирования, заносится в список принци¬ пиально возможных структур. Результирующие списки GOODLIST и BADLIST затем передаются программе, по¬ рождающей структуры для последующей их идентифика¬ ции. 7.1.2. ГЕНЕРАТОРЫ СТРУКТУР В СИСТЕМЕ DENDRAL Центральное место в системе DENDRAL занимает программа, порождающая пространство поиска возмож¬ ных химических структур. Первоначальный вариант такой программы был готов к началу разработки системы. Его создал Ледерберг из Станфордского университета. Эта программа систематически перебирала структуры моле¬ кул, представляя их в виде плоского графа. Она после¬ довательно наращивала структуру до тех пор, пока все атомы не оказывались включенными во всевозможных сочетаниях. Однако при этом возникали проблемы, свя¬ занные в основном с отсутствием ограничений, в резуль¬ тате чего порождается много таких структур, которые экспертами-химиками обычно без труда исключаются или по крайней мере не рассматриваются первыми. Совре¬ менная версия системы DENDRAL использует более развитую программу-генератор структур — CONGEN (CONstrained GENerator), которая была разработана в 1976 г. Эта программа ограничивает область поиска только правдоподобными структурами. Ограничения на 136
структуры вводятся химиком, выполняющим анализ, и мо¬ гут включать такие факторы, как число атомов для каж¬ дого типа молекул и предполагаемые связи между атома¬ ми молекулы. Программа CONGEN производит разбиение задачи на разные классы подзадач, например: 1) задача учета атомов водорода только в конце про¬ цесса порождения структуры; 2) отделение частей графа, не содержащих циклы, от циклических участков (и объединение их в конце про¬ цесса) ; 3) порождение циклов, содержащих только неимено¬ ванные узлы перед присвоением узлам имен атомов; 4) порождение циклов, содержащих только узлы с тремя (и более) связями (например, азот илц третичный углерод) по краям. На каждой стадии количество порождаемых структур может быть сокращено благодаря наложению нескольких ограничений, и пользователь имеет возможность в диалоге с программой задавать по своему желанию дополнитель¬ ные ограничения. Существует три класса таких ограниче¬ ний, относящихся к следующим областям: теории графов (не рассматриваются симметричные структуры в связи с их уникальностью); синтаксису (определенные структуры неправдоподобны из-за валентности входящих в них атомов); семантике (введение дополнительной информации, ка¬ сающейся молекулы, полученной в результате других про¬ верок и т. п.). Химик может прервать программу в любой точке и ввести дополнительную информацию. Хотя программа CONGEN разработана как составная часть системы Heuristic DENDRAL, она может быть ис¬ пользована самостоятельно. Таким образом, эта програм¬ ма не просто служит для однократного прогона при по¬ рождении структур, используемых другими программами системы DENDRAL. Ее следует рассматривать как комп¬ лекс средств для порождения структур. Такие средства мо¬ гут применяться под управлением системы DENDRAL или под контролем химика. 7.3.3. ПРОВЕРЯЮЩАЯ ПРОГРАММА Проверка порожденных структур производится двумя программами — MSPRUNE и MSRANK. Первая из них берет каждую структуру-кандидата и порождает гипотети¬ 137
ческий масс-спектр для нее. Это достигается с помощью довольно простой модели масс-спектрометра, которая за¬ кодирована в виде набора правил продукций, отражаю щих пути деления молекулы на фрагменты под действием бомбардировки ее электронами. Эти искусственно порож¬ денные масс-спектры затем сравниваются с реальными масс-спектрами неопознанной молекулы, и любая синтези¬ рованная структура исключается из рассмотрения, если обнаруживается значительное различие в сравниваемых масс-спектрах. Оставшиеся структуры-кандидаты ранжируются прог¬ раммой MSRANK. В этой программе применяется набор более изощренных правил масс-спектрометрии с целью выстроить структуры в порядке, соответствующем коли¬ честву предсказанных пиков, обнаруженных (или не обна¬ руженных) в натуральном масс-спектре, с учетом значи¬ мости самих процессов, в результате которых были полу¬ чены пики. Обе программы с помощью набора правил продукций отражают знания о процессах разделения и переноса частиц в масс-спектрометре. Приведем в качестве примера следующее описание фрагментации: ЕСЛИ N—С—С—С ТО N—С*С—С. Это подразумевает, что если фрагментируется молекула со структурой, отражаемой графом N—С—С—С, то проис¬ ходит разрыв связи между первым и вторым атомами углерода, в результате чего образуются две частицы — N—С и С—С. Этим частицам будут соответствовать пи¬ ки, позиции которых на масс-спектрограмме определяют¬ ся молекулярными весами. Перенос атомов выражается в подобной же форме с помощью правил продукций. 7.3.4. ОЦЕНКА СИСТЕМЫ Heuristic DENDRAL Рис. 7.2 дает общее представление о системе Heuristic DENDRAL. Он приведен с целью дать возможность чита¬ телю определить место взаимосвязей между модулями, реализующими планирование, порождение и проверку структур молекул. Система Heuristic DENDRAL занимает важное место в истории создания экспертных систем, так как она продемонстрировала возможность построения ре¬ шателя задач на базе ЭВМ, способного действовать как настоящий эксперт в ограниченной предметной области. Разработчики утверждают, что, хотя система «знает» меньше, чем эксперт-человек, тщательность, с которой применяются эти знания, более чем адекватно компен- 138
Стадия проверки Стадия планирования Л Л \ Стадия порождения А Л Рис. 7.2. Общее представление о программе Heuristic DENDRAL сирует их ограниченность. С помощью системы Heuristic .DENDRAL был проведен экспертный анализ таких ве¬ ществ, как кетоны, амины, эфиры, спирты, эстрогенные стероиды. Одной из основных проблем, с которой столкнулись при построении системы DENDRAL, была разработка эффективного набора правил, позволяющих вводить огра¬ ничения на порождаемые структуры. Как упоминалось в разделе 7.2, эксперты-химики часто испытывают затрудне¬ ния при конструировании правил, поскольку многое в зна¬ ниях специалистов подразумевается или рассматриваемая предметная область не совсем совпадает с областью их деятельности. С целью устранить такие затруднения была предпринята разработка системы Meta-DENDRAL. 7.4. СИСТЕМА Meta-DENDRAL 7.4.1. НАЗНАЧЕНИЕ При попытке решить задачу формулирования знаний масс-спектрометрии в виде правил продукций были выбра¬ ны два подхода. Первый из них должен был обеспечить интерактивный интерфейс, аналогичный используемому в программе TEIRESIAS, служащей для передачи знаний от эксперта в систему MYCIN (см. гл. 5). Второй подход включал автоматическое формулирование общих правил на основании примеров. Этот подход, отработанный в 139
Описание графа Стадия проверки Стадия планирования х Стадия порождения л Рис. 7.3. Общее представление о программе Meta-DENDRAL системе Meta-DENDRAL, в основном соответствовал тому, как порождались правила, применяемые в системе Heuristic DENDRAL в фазе проверки структур для моде¬ лирования процесса фрагментации, переноса атомов и предсказания характерных позиций в масс-спектрах. Рис. 7.3 дает общее представление о системе Meta- DENDRAL. 7.4.2. ПРОЦЕСС ПОРОЖДЕНИЯ ПРАВИЛ Система Meta-DENDRAL предназначена для порожде¬ ния совокупности общих правил фрагментации для неко¬ торого предопределенного класса молекул. Это достига¬ ется привлечением структурного описания и соответству¬ ющего масс-спектра для каждой молекулы заданного класса под контролем управляющей структуры, реали¬ зующей последовательность: «планирование-порождение- проверка». В состав системы вошли три программы: INTSUM (data INTerpretation and SUMmary), вы¬ полняющая планирование; RULEGEN, порождающая правила; RULEMOD, производящая проверку структур. Порождение правил начинается с так называемой «фазы обучения». Для этого применяется программа INTSUM, генерирующая наборы очень специфичных пра¬ вил разрыва связей для конкретных семейств моле¬ кул. Такие семейства обычно включают от 6 до 10 род¬ ственных молекул, для которых наблюдается одинако¬ вая картина разрыва связей. Для этого используются три типа данных: а) описание графов структур для определенного набора молекул; 140
б) описание полученного опытным путем масс-спектра для каждой из молекул; в) «семантическая теория» разрыва связей между фрагментами молекул в масс-спектрометре, применяемая для наложения ограничений на процесс порождения структур. В системе Meta-DENDRAL «семантическая теория» разрыва связей получила название теории «половинного порядка». Она была разработана для сопоставления специфических ограничений на порождение правил. Теория «половинного-порядка» названа так в связи с ее' противопоставлением теории базового уровня, или «нуле¬ вого порядка», утверждающей, что каждое-подмножество связей внутри молекулы может претерпеть разрыв и что будут зарегистрированы все образовавшиеся в результа¬ те этого фрагменты плюс или минус переносимые атомы. Однако действующие ограничения,- .соответствующие реальному поведению молекул при бомбардировке их электронами, более сложны и требуют применения особых руководящих принципов. Такие руководящие принципы и были названы теорией «половинного порядка». Они включают следующие ограничения на разрыв связей: двойные и тройные связи не претерпевают разрыва; две связи, относящиеся к одному и тому же атому углерода, никогда не разрываются совместно; только частицы, которые больше, чем два атома угле¬ рода, проявляют себя на гистограмме масс-спектра. Ограничения на перемещение состоят в следующем: максимум два атома водорода могут переместиться после фрагментации; максимум одна молекула элемента Н2О теряется после любой фрагментации. Задача программы INTSUM заключается в примене¬ нии правил разрыва связей к каждой молекуле с целью объяснения каждого пика на соответствующем масс- спектре. Для установления приемлемого объяснения того или иного пика в состав правил фрагментации будут включены только те их них, которые допускает описанная выше теория «половинного порядка» и которые произво¬ дят частицы, соответствующие пикам заданного масс- спектра. После того как для каждого из пиков спектра будет получен набор объяснений, программа INTSUM Подводит итог. Эта стадия необходима в связи с тем, что Для любого заданного процесса фрагментации могут быть получены объяснения ряда различающихся пиков. 141
В конце фазы планирования программа INTSUM порождает совокупность правил крайне узкого примене¬ ния, с помощью которых объясняется одиночный про¬ цесс фрагментации для конкретной молекулы. Задача программы RULEGEN сводится к применению правил, полученных программой INTSUM, с целью порождения на их основе набора более общих правил. .При этом для обучения используются порожденные программой INTSUM примерные наборы правил, давшие положитель¬ ные результаты. В более общем виде это достигается путем первоначальной идентификации отличительных свойств структуры молекулы, выполняемой программой INTSUM. Результаты идентификации затем обобщаются с целью формирования описания подграфа размещения атомов, близлежащих к разрываемой связи. Этот под¬ граф выражает условие для части ЕСЛИ правила-кан¬ дидата, где в качестве части ТО, представляющей дей¬ ствие, служит процесс разделения, предложенный прог¬ раммой INTSUM. Процесс обобщения осуществляется путем начальной разработки дерева правил фрагментации (начиная с совершенно общего правила о том, что фрагментация имеет место между двумя структурами), которое посте¬ пенно совершенствуется путем добавления новых качеств до тех пор, пока происходит наращивание ограничений, накладываемых на порождаемые структуры. Эти качества включают идентичность фрагментов, количество неугле¬ родных «соседей», количество соседних атомов углерода и количество «соседей» с двойными связями. При добав¬ лении таких качеств оценивается эффективность нового правила с применением вычисляемого «показателя улуч¬ шения», отражающего способность нового правила пред¬ сказывать разрыв связи по сравнению со способностью соответствующего правила-родителя. Когда обнаружива¬ ется, что значения показателя улучшения начинают уменьшаться, добавление новых качеств прекращается и правило поступает на выход. После того как програм¬ ма RULEGEN порождает набор правил-кандидатов, требуется проверить их справедливость. Это необходимо сделать в первую очередь, так как программа RULEGEN не учитывает «отрицательные проявления», касающиеся неправильно предсказанных пиков, и поэтому вполне возможно, что будут выработаны или некоррект¬ ные, или лишние правила. Такое «приведение в поря¬ док» производится программой RULEMOD, которая отыс¬ кивает и удаляет лишние правила, объединяет родствен¬ 142
ные правила (слишком ограниченные для формирова¬ ния более общего правила) и исключает отрицательные проявления путем конкретизации других правил. Результатом всей этой последовательности процедур является некоторый набор правил фрагментации для масс-спектров. Эти правила «достаточно специализирова¬ ны, чтобы представлять интерес, достаточно универсаль¬ ны, чтобы быть эффективными и неизбыточными». 7.4.3. ЗАКЛЮЧЕНИЕ Способности системы Meta-DENDRAL, были с успе¬ хом проверены путем использования порожденных ею правил для предсказания масс-спектров новых моле¬ кул. Система не только повторно открыла известные правила масс-спектрометрии для двух классов молекул, но и для «трех родственных семейств структур, о существований правил для которых прежде не сообщалось». Интересным развитием системы Meta-DENDRAL слу¬ жит ее успешное применение для различных методов спектроскопии, в частности ЯМР-спектроскопии1. В пос¬ леднем случае система Meta-DENDRAL порождает прави¬ ла, устанавливающие взаимосвязь между резонансной частотой атома углерода в магнитном поле и локальным структурным окружением этого атома. 8. МАНИПУЛИРОВАНИЕ БОЛЬШИМИ ПРОСТ¬ РАНСТВАМИ ПОИСКА ПУТЕМ АБСТРАГИРОВА¬ НИЯ: СИСТЕМЫ R1 И MOLGEN 8.1. УРОВНИ ОПИСАНИЙ В ПРОСТРАНСТВЕ ПОИСКА Метод «порождения-проверки», используемый для редуцирования большого пространства, как это было показано в предыдущей главе, наилучшим образом подходит для случаев, когда рассматриваемое простран¬ ство явно факторизуется в ряд независимых подпрост¬ ранств. Однако существует множество предметных облас¬ тей, которые не факторизуются подобным образом. 1 В основе ЯМР-спектроскопии лежит эффект ядерно-магнитного резонанса. — Примеч. пер. .143
Наиболее характерными в этом отношении являются те из них, которые включают задачи конструирования и планирования, где часто заранее невозможно опреде¬ лить точно, какая конечная цель должна быть достигну¬ та. И даже если удастся дать ее общее описание, оно не будет содержать достаточных ограничений для того, чтобы эффективно производить отсечение ветвей дерева поиска решений. При таком отсечении может быть уда¬ лена часть области поиска, показавшаяся сначала бесперспективной, но которая может обеспечить решение при последующей обработке, когда появится больше информации. В подобных ситуациях может применяться подход «абстрагирования» пространства поиска (первоначально разработанный специалистами по искусственному интел¬ лекту для задач планирования). В качестве примера приведем задачу поиска кратчайшего пути между двумя пунктами, предположим, между университетами Ли¬ верпуля и Глазго. Один из подходов заключается в следующем. Возьмем крупномасштабную карту (или нес¬ колько карт), где зафиксированы эти два города. По ней проведем все возможные маршруты между университетами указанных городов (опуская кольцевые маршруты) и отметим длину каждого из них. Наикрат¬ чайший из путей может быть найден просто путем просмотра. Слабое место рассмотренной стратегии очевидно. Существует много сотен дорог как в Ливерпуле, так и в Глазго, и каждую из них следует проверить с учетом всех промежуточных городов. Таким образом, задача поиска кратчайшего маршру¬ та методом полного перебора всех возможных путей, нанесенных на подробной карте, слишком объемна. В действительности, конечно, мы не пользуемся таким под¬ ходом. Вместо этого мы просмотрим несколько карт, масштаб каждой из которых будет соответствовать фазе путешествия. Основной участок путешествия, путь от Ливерпуля до Глазго, будет определяться по карте мелкого масштаба, где показаны только главные дороги. Этот уровень детализации будет соответствовать покрыва¬ емому расстоянию. Прокладка пути по конечным и промежуточным городам будет производиться по картам среднего масштаба, показывающим главные улицы, а маршруты вблизи университетов будут проложены по подробным картам с мелкими улицами и отдельными зданиями. 144
Принцип, на основании которого производился выбор карт в приведенном примере, сводится к тому, чтобы подробность карт каждый раз соответствовала' задаче путешествия. Другими словами, «уровень абстрагирова¬ ния» каждой из карт должен быть таким, чтобы на соот¬ ветствующем этапе поиска маршрута эта задача реша- лась с максимально возможной эффективностью, без излишнего перебора вариантов. Трехуровневая иерархия карт позволяет сначала производить поиск решения укрупненно, в общем виде, а затем выделить подзадачи, которые могут быть решены с помощью более деталь¬ ного описания соответствующих территорий. Применение набора пространств задачи с прогрессивно возрастающей степенью абстрагирования обеспечивает: основу для разбиения задачи на ряд подзадач; пространство поиска для выделенных подзадач, кото¬ рые соответствуют целям на каждом из этапов обработки; содержание пространства поиска на каждом уровне, позволяющее сконцентрировать внимание на сборе только тех показаний, которые относятся к конкретному уров¬ ню. Выбрав подходящие функции для проведения обработ¬ ки на каждом из уровней, маршрут можно спланировать на том уровне, который позволяет не вдаваться в ло¬ кальные проблемы. Работа на принятых уровнях абстра¬ гирования обеспечивает поступательное движение к реше¬ нию задачи. При этом не возникает проблемы продол¬ жения поиска решения после того, как выясняется, что путь, выбранный в результате исчерпывающего поиска, оказывается ложным и требуется отойти назад. Это же достигается и с помощью процедуры «порождения и проверки», описанной в предыдущей главе, хотя в рассмотренном примере, по-видимому, нет достаточных данных для проведения эффективной проверки, пока не достигнут конечный пункт маршрута. А на этом этапе уже поздно стремиться к экономии. В нескольких экспертных системах подход с абстра¬ гированием применяется как метод редуцирования очень большого пространства поиска в предметной области. При этом, однако, для декомпозиции служат разные критерии. С целью иллюстрации применения двух раз¬ ных методов мы рассмотрим в этой главе систему R1 (разработанную Макдермотом, сотрудником универси¬ тета Карнеги-Меллон, для выбора конфигурации ЭВМ типа VAX фирмы Digital Equipment Corporation) и систему MOLGEN (разработанную Стефиком, сотрудии- 145
ком Станфордского университета, для планирования экспериментов по генетике). Программа R1 использует простую форму абстрагирования, когда для любого ее применения служат одни и те же разбиения. Программа MOLGEN более сложная. Она использует объединение методов абстрагирования и порождения пространства поиска, которое может видоизменяться при каждом применении программы. 8.2. СИСТЕМА R1 8.2.1. ПРИМЕНЕНИЕ Система R1 предназначена для составления рабочей конфигурации компонентов вычислительной системы VAX-11 на основании перечня требований к характе¬ ристикам системы, задаваемых покупателем поставщику. Результаты выдаются в виде набора схем и . таблиц. Процесс включает три взаимозависимые функции: определение полноты конфигурации и устранение упущений; формирование жизнеспособной конфигурации; выпуск схем соответствующих пространственных вза¬ имосвязей между компонентами системы. Система R1 оценивает непротиворечивость конфигу¬ рации на основании знаний о каждом из компонентов и о взаимосвязях между ними. ЭВМ VAX-11/780, например, может быть укомплектована более чем 400 ком¬ понентов, каждый из которых может иметь до восьми характеристик. Следовательно, база знаний этой системы включает более 3000 фрагментов информации о компонен¬ тах ЭВМ. Успех пространственной компоновки зависит не только от указанных выше знаний, но и от информации, связанной с геометрией компонентов и узлов. 8.2.2. УПРАВЛЯЮЩАЯ СТРУКТУРА Данная система относится к продукционным системам с просмотром вперед (управляемым данными). В ней используются три основных типа правил: правила упоря¬ дочения (установления последовательностей), операцион¬ ные правила и правила сбора информации. Правила первого типа разбивают задачу на ряд подзадач (или уровней абстрагирования): а) определение противоречивости в составленной кон¬ фигурации; 146
б) размещение соответствующих комплектующих изде- лий в стойке центрального процессора (ЦП); в) размещение блоков в стойках расширения магист¬ рали и соответствующих комплектующих изделий в бло¬ ках; г) размещение наименований по стойкам расширения магистрали; д) изображение компоновочной схемы собираемой сис¬ темы; е) проработка кабельных соединений. Это соответствует порядку, наблюдаемому при выпол¬ нении подобной работы специалистами. Для каждой под¬ задачи формулируется свой контекст. В действие могут быть приведены только правила, соответствующие кон¬ тексту. По окончании решения подзадачи одно из правил порождает новый контекст (т. е. новую подзадачу). При этом нет необходимости в возвратах. Операционные правила проверяют, не относится ли рассматриваемый элемент к специальным случаям (на¬ пример, нет ли необходимости в компоновке запчастей). Они же проверяют уровни напряжения и частоты, а также наличие всех необходимых частей. При размещении ком¬ плектующих изделий по стойкам используются шаблоны. Блоки распределяются по сопрягающим устройствам; размещаются и блоки питания. Модули располагаются по магистрали в допустимой последовательности, и отво¬ дятся пространства, требующиеся для панелей. Выби¬ раются позиции на монтажной панели для размещения модулей. На конечной стадии выдается схема (план) размещения оборудования в машинном зале. Собирающие информацию правила обращаются к базе данных и побуждают соответствующие программы обес¬ печивать информацией правила упорядочения и опера¬ ционные правила. Знания представляются в объеме, достаточном для обоснования на каждом шаге, какой из компонентов должен быть включен в конфигурацию следующим. После решения очередной подзадачи нет необходимости в том, чтобы последующая подзадача производила про¬ верку, верно ли предшествующее конфигурирование. Конечная цель каждой подзадачи достигается, когда не остается ни одного непримененного правила. Хотя на первый взгляд кажется, что пространство может быть де¬ композировано на ряд независимых подзадач, это не так. Результаты предыдущих подзадач будут сказываться на результатах последующих подзадач. Последствия любого 147
действия заносятся в часть пространства решения с несогласованными данными, но на поздних стадиях согласованность может появиться. Таким образом, в сис¬ теме R1 применяется обобщенная форма согласования. Два примера правил системы R1: ЕСЛИ текущий этап — размещение модулей на монтажной панели каркаса И выявлено, размещение какого модуля будет производиться И этим модулем является мультиплексор интерфейса терминала И он сочетается не с каждой позицией монтажной панели И известны тип и количество требуемых для него гнезд монтажной панели И по крайней мере доступно большое количество соответствующего типа гнезд монтажной панели И известна текущая нагрузка магистрали для данной монтажной панели И известна позиция монтажной панели в каркасе ТО ввести контекст проверки соответствия позиции на монтажной панели для мультиплексора ЕСЛИ текущий этап — выбор каркаса и размещение модуля в нем И известен последующий модуль в ряду оптимально размещенных модулей И известно, какое количество единиц пространства занимает данный модуль И данный каркас содержит модулей не больше, чем какой-либо каркас на другом участке магистрали ТО делается попытка разместить заданный модуль в данном каркасе Первое — правило упорядочения. Оно меняет контекст на следующий: «проверка соответствия позиции монтаж¬ ной панели для мультиплексора». Второе — операцион¬ ное правило, применяемое для продолжения компоновки системы. 8.2.3. БАЗА ЗНАНИЙ Каждая статья в базе данных включает описание некоторого комплектующего изделия. Такое описание содержит имя изделия и набор пар значений атрибутов для него. Каждое изделие относится к некоторому классу и типу. Тип изделия (например, дисковод) и его класс, а также другие атрибуты (например, стой¬ ка, каркас, монтажная панель) фиксируются в базе дан¬ ных. На рис. 8.1 (содержащем одно из сообщений, выдаваемых системой R1) приведен типичный набор таких статей. Устройство RK711-EA является узлом, в состав кото¬ рого входит ряд комплектующих элементов. К ним от- 148
RK711-EA Класс: Узел Тип: Дисковод Поддерживается: Да Перечень компонентов: 1 070-12292-25 1 RK07-EA* 1 RK611 RK07-EA* Класс: Элемент общей шины Тип: Дисковод Поддерживается: Да Ранг пола: 8 Глубина: 28 дюймов Ширина: 24 дюйма Высота: 42 дюйма Требуемый модуль общей шины:ВК611* Количество портов: 1 Напряжение: 120 вольт Частота: 60 герц Требуемый тип кабеля: 1070-12292 от модуля общей шины дисковода или 1070—12292 от элемента общей шины RK611 Класс: Узел Тип: Дисковод Поддерживается: Да Перечень компонентов: 3 G727 1 М9202 1 070-12412-00 1 RK611* 070-12412-00 Класс: Монтажная панель Тип: RK611 Поддерживается: Да Количество системных единиц: 2 Длина: 2.0 фута Количество гнезд: 9 Типы гнезд: 3 SPC >(14-3) 6 RK611 >(4 4-9) RK611* Класс: Модуль общей шины Тип: Дисковод Поддерживается: Да Уровень приоритета: Буферизированный Скорость передачи: 212 Количество системных единиц: 2 Требуемые гнезда: 6 RK611 (4 4- 9) Перечень плат: (HEX А М7904) (HEX А М7903) (HEX А М7902) (НЕХАМ7901) (HEX А М7900) Схема источника постоянного тока: 15.0. 175.4 Нагрузка на общую шину: 1 Количество поддерживаемых элементов общей шины: 8 Требуемый тип кабеля: 1070-12292 от элемента общей шины Рис. 8.1. Позиции в базе знаний (McDermott J. Rl: A Rule-Based Configurer of Computer Systems. Carnegie-Mellon University Report CMU-CS-80-119, April 1980, p. 8) носятся: 25 футов кабеля (070-12292-25), дисковод (RKO7-EA) и устройство (RK611) в свою очередь, также содержащее ряд комплектующих изделий. Послед¬ ние два устройства, а также модуль 070-12412-00 пред¬ ставлены на рис. 8.1. 149
В базе знаний находится также набор шаблонов, дающих возможность системе R1 судить о полноте кон¬ кретного изделия в конкретный момент времени и о том, куда должен быть помещен тот или иной комплектую¬ щий элемент. Пример такого шаблона для стойки ЦП приведен на. рис. 8.2 Рис. 8.3 иллюстрирует два правила, одно из которых является подмножеством другого. Предпосылки второго правила являются особым случаем первого. Поэтому выбирается второе правило. Стойка ЦП Класс: стойка Высота: 60 дюймов Ширина: 52 дюйма Глубина: 30 дюймов Пространство модуля SBI соединение ЦП-2 (35 23 30) Четырехдюймовое гнездо 1 соединение-3 (23 5 27 30) Соединение памяти-4 (27 5 38 30) Четырехдюймовое гнездо 2 соединение-5 (38 5 42 30) Четырехдюймовое гнездо 3 соединение-5 (42 5 46 30) Трехдюймовое гнездо соединение-6 (46 5 49 30) Пространство источника питания: FPA соединение-1 (2 32 10 40) Пространство элемента SBI: В/В Соединение ЦП-2 (10 32 18 40) Четырехдюймовое гнездо 1 соединение-3 (18 32 26 40) Соединение памяти-4 (26 32 34 40) Четырехдюймовое гнездо 2 соединение-5 (34 32 42 40) Батарея часов (2 46 26 49) Батарея памяти (2 46 26 49) (2 52 50 56) Рис. 8.2. Шаблон центрального процессора (ЦП) (Me Dermott J. Op. cit., р. 10) Назначить - блок питания-2 Если: самый последний активный контекст - назначение блока питания ТО: И модуль SBI любого типа установлен в стойке И его позиция в стойке (его соединения) известна И в стойке имеется пространство для блока питания для данного соединения И имеется свободный блок питания Установить блок питания в стойку на свободное место Назначить - блок питания-6 Если: Самый последний контекст - назначение блока питаниь ТО: И адаптер общей шины установлен в стойке И его позиция в стойке (его соединение) известна И в стойке имеется пространство для блока питания для данного соединения И имеется свободный блок питания И не имеется регулятора Н7101 Добавить в заказ регулятор Н7101 Рис. 8.3. Разрешение конфликтов в системе (Me Dermott J. Op. cit., р. 24) 150
Устанавливаются высота, ширина и глубина стойки Перечень модулей, которые могут быть заказаны для стойки, совместно с описанием возможного размещения модулей, выводятся на печать. База данных содержит также знания о контекстах, о частично укомплектованных изделиях, а также результаты расчетов. Система R1 производит поиск информации в базе данных, когда ей требуется или породить новый ком¬ понент, или расширить состав существующего. 8Л.4. РЕАЛИЗАЦИЯ Система R1 первоначально была создана с примене¬ нием языка правил продукций, названного OPS4. В ос¬ нове ее лежит стратегия опровержения на основе резо¬ люции1, используемая в языке OPS4. Если возможны два альтернативных варианта, то производится выбор того, в котором содержится подмножество элементов, входящих в состав другого. Все правила оцениваются в каждом цикле. Позже система R1 была модифицирована с примене¬ нием языка OPS5 — улучшенной версии OPS4. Этот язык позволяет выражать правила продукций более со¬ вершенным способом. Авторы языка OPS5 утверждают, что он позволяет строить более интеллектуальные пра¬ вила. К тому же при модификации системы ранее созданные правила были переоценены и некоторые из них обобщены. Прежде насчитывалось 750 правил, их число было сокращено до 500. 50 правил были исклю¬ чены вследствие расширения возможностей представления знаний в языке OPS5. Сокращение количества правил явилось следствием обобщения, устранения избыточности и упрощения стратегии комплектования. Разработка системы R1 относится ко второй половине 1978 г. Первоначально ставилась цель — правильно произ¬ водить комплектование систем для 75% заказов; 25% неправильно скомплектованных систем свидетельствовали о необходимости совершенствования набора правил. При испытании системы ей были заданы примеры на 1 Стратегия опровержения на основе резолюции (conflict reso¬ lution strategy) предназначена для построения доказательств путем установления противоречия. — Примеч. пер. 151
комплектование ЭВМ. Полученные результаты незави¬ симо проверяли шесть экспертов. На заключительной стадии испытания эксперты были поражены тем, как функционирует система R1. Ее запустили в постоянную эксплуатацию. Однако в течение последующих восьми месяцев результаты ее работы разочаровали. Ошибки при выполнении заказов были всесторонне проанализи¬ рованы. Анализ показал, что используемые системой R1 приемы комплектования «неудачных» компонентов не соответствовали традиционной практике. С учетом этого программа была переработана. В ходе последую¬ щего развития набор правил был расширен до 850. Это доказывает важность наращивания базы знаний. Новые средства, дополнившие систему R1, удалось ввести без каких-либо значительных изменений существующих правил. К 1981 г. система успешно выполнила 90% заказов, и ее стали применять для комплектования ЭВМ PDP-11. 8.3. ЗАКЛЮЧЕНИЕ По мнению Макдермота, комплектование ЭВМ типа VAX-11/780 было удачным. Степень трудности была приемлемой. При разработке системы составление кон¬ фигураций ЭВМ PDP-11 рассматривалось в качестве одной из альтернатив первоначальной задачи. И как предполагает Макдермот, если бы выбрали такой вариант, то система R1, возможно, не заинтересовала бы фирму DEC. К реализации базы знаний для технических предметных областей обычно относятся с большой долей недоверия и скептицизма. Неоднократно специалисты по базам знаний были обескуражены тем, насколько высо¬ кий уровень возможной системы требовался для того, чтобы побороть этот скептицизм. В процессе разработки экспертной системы должна быть постоянно обеспечена поддержка со стороны специалистов в соответствующей предметной области. Несмотря на то что процесс создания системы R1, по мнению разработчиков, шел медленнее, чем они предполагали, никогда не возникало сомнений в возможности достижения цели. Система R1 «выжила» благодаря большой поддержке со стороны специалистов. 152
8-4. СИСТЕМА MOLGEN 8.4.1. ЗАДАЧА Система MOLGEN предназначена помочь биологам в планировании экспериментов в области молекулярной генетики. В данном случае речь идет- о планировании, а не о решении аналитических зад’ач. Поэтому перед разработчиками системы MOLGEN стояли те же проб¬ лемы, что и при создании системы R1. Наиболее важ¬ ная из них была связана с невозможностью полностью описать цель задачи перед началом ее решения. В данном случае редуцировать пространство поиска с помощью такого простого метода, как метод «порождения и про¬ верки», нельзя, поскольку подобная проверка строится на основе хорошо специфицированной цели. При отсутст¬ вии полноты спецификации цели всегда существует опасность, что может быть преждевременно отсечена некоторая часть пространства поиска, содержащая возможное решение; последнее устанавливается на осно¬ вании информации, полученной на более поздней ста¬ дии рассматриваемого процесса. В системе R1 для реше¬ ния задачи поиска производится абстрагирование (т. е. отвлечение от несущественных деталей) процесса плани¬ рования. После этого на каждой стадии решения четко определяется цель, которая реализуется до начала сле¬ дующей стадии. В результате этого задача планирова¬ ния решается без отказа от ранее сделанных заклю¬ чений. Управляющая процедура, принятая для R1, приме¬ нима только в том случае, когда процесс решения зада¬ чи может быть разложен на несколько дискретных стадий, которые постепенно приводят к цели через ряд уровней абстрагирования. Однако при планировании экспериментов в генетике это не так, поскольку часто невозможно завершить одну подзадачу до тех пор, пока не будет продвижения вперед в решении другой подза¬ дачи. В системе MOLGEN ряд подзадач решается согласованно и до определенной степени независимо. Рассмотрим, как планируется классический экспе¬ римент в молекулярной генетике — получение крысиного инсулина. Такой эксперимент служит моделью при раз¬ работке системы MOLGEN. Он связан с синтезом гор¬ монального инсулина, что является альтернативой извле¬ чения этого вещества из поджелудочной железы живот¬ ных. Бактериям вводят ген крысы, кодирующий инсулин, 153
в результате чего они начинают производить инсулин. Однако непосредственно сделать такую операцию невоз¬ можно, поэтому необходимо применить довольно сложную процедуру (см. рис. 8.4). Это и является задачей эксперимента, который должен быть спланирован системой MOLGEN. При одной из возможных процедур используется структура, известная как «плазмида». Она служит в ка¬ Фермент- Плазмида рестриктор Рис. 8.4. Схема эксперимента с крыси¬ ным инсулином (S t е f i k М. J. Planning with Constraints. PhD Disser¬ tation, Heuristic Programming Project, Computer Science Department, Stan¬ ford University, Stanford, CA, 1980) честве переносчика гена в бактерии. Рас¬ сматриваемый про¬ цесс требует приме¬ нения фермента-рес- триктазы для раз¬ рыва кольцевых плазмидных молекул при введении в их состав копий гена инсулина. Видоизме¬ ненные плазмиды за¬ тем вводят в суспен¬ зию бактериальных клеток. Плазмиды абсорбируются клет¬ ками и, проникая внутрь последних, превращают их в производителей ин¬ сулина. В конце про¬ цесса бактериям да¬ ется возможность воспроизводиться в присутствии «селек¬ тирующего (экрани¬ рующего) агента», в качестве которого служит антибиотик, обеспечивающий уст¬ ранение бактерий без видоизмененных пла¬ змид. Хотя такой «план» эксперимента может показаться на первый взгляд очень простым, его реали¬ 154
зация требует определенной последовательности процедур, которые могут выполняться при следующих ограничениях* а) необходим выбор таких плазмид, которые могут абсорбироваться бактериями; б) бактерии не должны быть резистентны к при¬ меняемому на конечной стадии антибиотику; в) плазмиды должны делать бактерии резистентными по отношению к указанному антибиотику; г) к концу процесса ген, определяющий резистент¬ ность бактерий, должен сохраняться в плазмидах, в противном случае видоизмененные бактерии не будут резистентны к антибиотику, служащему в качестве экранирующего агента. Следует отметить, что каждое из приведенных усло¬ вий в явном виде не рассматривается как промежуточ¬ ная цель в системе MOLGEN. Однако если они не будут выполнены, эксперимент не удастся. Поэтому их следует обозначить при поиске конкретных решений на каждой стадии планирования эксперимента. Выявление ограничений по ходу эксперимента свой¬ ственно исследованиям в генетике, поскольку, с одной стороны, они носят аналитический характер (напри¬ мер, при определении последовательностей оснований мо¬ лекулы ДНК), а с другой — связаны с синтезом (как при эксперименте с крысиным инсулином). Обсуж¬ даемая здесь система имеет дело только с задачей синтеза, сформулированной М. Стефиком. Принятый под¬ ход основан на абстрагировании и трехуровневом пла¬ нировании экспериментов. Отдельные процессы решения задач на каждом уровне и наиболее важные взаимо¬ связи между процессами на различных уровнях пред¬ ставлены так, чтобы была обеспечена возможность их анализа. Как было установлено выше, такие взаимосвязи называют «ограничениями». 8.4.2. ПРИМЕР ПОИСКА РЕШЕНИЯ СИСТЕМОЙ MOLGEN Представление и обработка данных в системе MOLGEN, достаточно сложны. В эксперименте с кры¬ синым инсулином перед системой сначала ставится общая цель: «нам требуется организм—бактерия, содержащая экзосомы, являющиеся переносчиками генов, определя¬ ющих синтез крысиного инсулина». Это выражается на языке Лисп следующим образом: (Культура-1 с ОРГАНИЗМЫ: (БАКТЕРИЯ-1 с 155
ЭКЗОСОМЫ: (ПЕРЕНОСЧИК-1 с ГЕНЫ: (КРЫСИНЫЙ ИНСУЛИН)))) где БАКТЕРИЯ-1 и ПЕРЕНОСЧИК-1 представляют собой переменные. На рис. 8.5 описания целей представле¬ ны в виде графических образов, используемых для иллюстрации последующих процессов. Показан также конкретный тип бактерии — E.coli, которая имеет, абсорби¬ руемый ею специфический переносчик — плазмиду РМ89. Эта плазмида переносит ген инсулина и некото¬ рый ген, делающий бактерию резистентной по отношению к тетрациклину (TCR). Змееобразная линия в верхней части бактерии обозначает ее хромосому. После того как перед системой MOLGEN постав¬ лена цель, она начинает разработку некоторого абстракт¬ ного плана (см. рис. 8.6). По этому плану первой должна быть выполнена операция «слияние», с помощью которой производится сначала встраивание желаемого гена в плаз¬ миду, а затем введение трансформированной плазмиды в бактерию для формирования щей инсулин. Е. coli Рис. 8.5. Представление решения для эксперимента с крысиным ин¬ сулином (Stef i k М. J. Ор. cit.) бактерии, производя - Заметим, что на этой стадии детали рассматриваемого процесса опущены. Например, не уста¬ навливается, каким образом происходит проникновение плаз¬ мид в бактерию или какой тип бактерии должен быть исполь¬ зован в этом случае. Имея абстракт¬ ный план, можно приступить к его уточнению путем вы¬ бора конкретных опе¬ раторов и соответ¬ ствующих экспери¬ ментальных прие¬ мов. В результате этого выявляются до¬ полнительные огра¬ ничивающие усло¬ вия. Такая конкре- 156
Плазмида Г ен крысиного инсулина Рис. 8.6. Исходный абстрактный план с использованием операции «слияние» (Stefik М. J. Op. cit.) тизация иллюстрируется с помощью рис. 8.7. В ходе ее производятся три операции, -отмеченные на ри¬ сунке пунктирными линиями со стрелками. Первая операция — уточнение оператора слияния для конкретного лабораторного оператора трансформации, который, в свою очередь, требует выбора конкретной комбинации — плазмида/бактерия (оператор трансформации работает не со всеми парами). Однако система MOLGEN «не же¬ лает» осуществлять такой выбор, поскольку могут поя¬ виться на последующих стадиях процесса дополнитель¬ ные ограничивающие (конкретизирующие) . факторы. Поэтому система откладывает намеченный выбор и фик¬ сирует «отложенность» факта ограничения, заключающе¬ гося в необходимости обеспечить совместимость бакте¬ рий и трансформируемых плазмид. Этот факт будет использован позже. При таком приеме, известном как метод «наименьшего риска», решения, для которых не хватает адекватных ограничений, откладываются до полу¬ чения необходимой информации. Отложенное ограничение 157
Ген крысиного инсулина Плазмида Рис 8.7. Улучшение процедуры «слияния» (Stefik М. J. Op. cit.) отмечено на рис. 8.7 прямоугольником с жирными ли¬ ниями. В конце процесса система моделирует работу оператора-трансформации, под действием которого смеши¬ ваются в общей суспензии бактерии и плазмиды и устанавливается, что не все бактерии подвергаются трансформации (см. рис. 8.8). На последнем этапе оказывается, что не все результа¬ ты отвечают поставленной цели — некоторые бактерии не трансформируются. Система MOLGEN вводит операцию сортировки для удаления таких бактерий. Эта операция завершается уточнением оператора экранирования. Одна¬ ко обнаруживается, что в качестве такого оператора используется антибиотик, который не может быть задан потому, что на этой стадии не специфицирована сама бактерия. В результате антибиотик остается также неспецифицированным и представляется в системе в виде абстрактной переменной. 158
Ген крысиного инсулина Плазмида Бактерия 1 Слияние Г о Рис. 8.8. Модель оператора трансформации и введения анти¬ биотика (Stef ik М. J. Op. cit.) Для обеспечения эффективного экранирования необ¬ ходимо, чтобы нетрансформированные бактерии были чувствительны к конкретному антибиотику, а трансфор¬ мированные были к нему резистентны. Однако, поскольку конкретные бактерии и плазмиды остаются неспецифи- цированными, применение этих ограничений откладывает¬ ся. Вторая операция, относящаяся к данному экспе¬ рименту, теперь представляется как две конкретные лабораторные процедуры: трансформация и экранирова¬ ние. Система должна попытаться уточнить объекты 159
(бактерии, плазмиды и антибиотики) для этих про¬ цедур. Процесс может быть вызван повторно, при этом оператор слияния определяет, должен ли первый опе¬ ратор оставаться на наиболее абстрактном уровне. Эта часть задачи все еще находится на стадии «уста¬ новления ограничений» в том отношении, что все еще допустимо множество решений. Таким образом, система пытается найти ограничения, позволяющие продвинуться в уточнении решения. Это достигается с помощью про¬ цесса, известного как «распространение ограничений». Плазмида о" Ген крысиного инсулина Бактерия Слияние —X О Рис. 8.9. Ограничения, вытекающие из стадии экрани¬ рования (S t ef i k M. J. Op. cit.) 160
Система отмечает, что определенные бактерии, не про¬ шедшие стадию трансформации, подобны тем, что уда¬ ляются в результате экранирования и, следовательно должны быть чувствительны к антибиотику (см. рис. 8.9). Поэтому ограничение, связанное с такой чувстви¬ тельностью, распространяется на стадии, предшествующие стадии трансформации. Более. того, отмечается также, что бактерии, способные сохранить жизнестойкость к кон¬ цу стадии экранирования, идентичны тем, что названы в задании для стадии экранирования, и поэтому они должны быть резистентны к антибиотику. Ограниче¬ ние, связанное с резистентностью, распространяется . на стадию экранирования. Однако это не единственный исход распространения ограничений. Так, ретроспективное рас- Плазмида Ген крысиного инсулина Рис. 8.10. Распространение ограничений (Stclik М. J. Op. cit.) 6 Зак. 1924 161
пространение ограничений в отношении резистентности бактерий на стадию трансформации порождает требова¬ ние резистентности для гена в плазмиде. В результате распространения этого ограничения, как показано на рис. 8.10, порождается новое ограничение. С появлением нового ограничения относительно выбо¬ ра плазмиды система MOLGEN переключает внимание на начальную стадию операции слияния и временно «отвлекается» от стадии экранирования. Этот процесс продолжается так, как было описано выше, и в ходе его раскрываются дополнительные ограничения, позво¬ ляющие выявить чувствительные к ферментам участки плазмиды, подходящим образом расположенные относи¬ тельно гена резистентности. 8.4.3. ПРЕДСТАВЛЕНИЕ ЗНАНИИ Основная структура системы MOLGEN имеет три яв¬ но выраженные уровня. Каждый из них называется «пространством». Эта структура представлена на рис. 8.11. Нижний уровень — «пространство лаборатории»— содержит описания объектов и операций (операторов), используемых при проведении эксперимента по введению гена. Объекты и операции, в свою очередь, описы¬ ваются на различных уровнях абстрагирования. На самом нижнем обычно располагаются описания опре¬ деленных бактерий и антибиотиков, таких, как E.coli и пенициллин, а на самом верхнем — общие понятия «бак¬ терии» и «медикаменты». Знания об операциях и объектах на всех уровнях системы описываются с помощью фреймообразных пакетов, называемых «блоками». Средний уровень структуры системы занимает «прос¬ транство проектирования», охватывающее разработку планов операций на лабораторном уровне. Операции включают такие процедуры, как уточнение лаборатор¬ ного оператора и распространение ограничений. Объек¬ тами служат ограничения и абстрактные сущности, например, «различия». Верхний уровень пространства планирования имеет дело с «мета-планированием». Основной принцип стра¬ тегии системы MOLGEN заключается в том, чтобы с помощью абстрагирования объекта, операций и планов предотвращать необходимость в отказах от ранее при¬ нятых решений. Однако это не всегда возможно. Иногда приходится обращаться к эвристической стратегии, позволяющей производить «возвращение». «Стратегиче- 162
Интерпретатор Пространство стратегии Концентрация Шаги стратегии Продолжение Предположение Отказ Пространство проектирования Мета¬ планирование Развитие улучшение Ограничение Кортеж проектирования Планирование Фермент Антибиотик Сортировка Экранирование Слияние Т рансформация Лабораторные шаги Оператор улучшения Цель — предложение Распространение ограничении Рис. 8.11. Пространства планирования (Stef i k М. J. Ор. сн.) Пространство лаборатории 6* 163
ское пространство» охватывает четыре операции самого общего характера: КОНЦЕНТРАЦИЯ И ПРОДОЛЖЕНИЕ, которые задают новые шаги в планировании и возобновляют отложенные операции; ПРЕДПОЛОЖЕНИЕ И ОТКАЗ, с помощью которых производится эвристическое планирование при недостатке информации для применения операции КОНЦЕНТРАЦИЯ или ПРОДОЛЖЕНИЕ. ОТКАЗ является оператором возврата, а оператор ПРЕДПОЛОЖЕНИЕ служит для выбора одной из задач, когда ни одна из них не может быть выбрана в ходе операции КОНЦЕНТРАЦИЯ или ПРОДОЛЖЕНИЕ. 8.4.4. ХОД РАССУЖДЕНИЙ СИСТЕМЫ MOLGEN Три области планирования системы MOLGEN в совокупности представляют собой иерархическую управ¬ ляющую структуру. На самом верхнем уровне определя¬ ется стиль планирования. Возможны два таких стиля: «наименьшего риска» и «эвристический». Первый из них обеспечивает наиболее эффективное планирование. Осуществляется это следующим образом. Сначала сис¬ тема взаимодействует с операторами построения экспе¬ римента в пространстве проектирования (среднее про¬ странство), запрашивая задания для операции КОН¬ ЦЕНТРАЦИЯ на верхнем уровне. При этом соверша¬ ются такие действия, как обозначение цели или рас¬ пространение ограничения. При выполнении одного из заданий система может обнаружить, что завершить его нет возможности в связи с неопределенностью некоторых ограничений. В этом случае исполнение текущего задания будет «приостановлено» и начнется выполнение другого. Может сложиться и такая ситуация, когда не будет выявлено ни одной новой задачи. Система реагирует на это следующим образом. Прежде всего производится пересмотр всех «приостановленных» задач для того, что¬ бы выявить, нельзя ли продолжить решение какой-либо из них, поскольку ограничения могли быть установлены на основании результатов, полученных при решении других задач. Если же из числа приостановленных не будет найдено ни одной подходящей задачи, то управ¬ ляющая структура верхнего уровня переключится в «эвристический» режим и приступит к операции ПРЕД¬ ПОЛОЖЕНИЕ. 164
В системе MOLGEN ограничения — это знания о взаимодействиях подзадач. Они служат в качестве основ¬ ных средств обмена информацией между подзадачами. «Формулирование ограничений» имеет прямое отношение к идентификации подобных - взаимодействий. В разделе 8.4.2, например, было отмечено (при уточнении операции введения плазмиды в бактерию и последующей операции трансформации), что для достижения успеха выбранные бактерия и плазмида должны быть совместимыми. Не каждая плазмида может быть абсорбирована данной бактерией. Следующая операция заключается в порождении но¬ вых ограничений исходя из старых. Этот процесс получил название «распространение ограничения». Его иллюстри¬ рует рис. 8.10. В нашем примере сначала было выявле¬ но, что для отделения бактерий, претерпевших под дей¬ ствием плазмиды трансформацию, от оставшихся без из¬ менений трансформированные бактерии должны быть ре¬ зистентными по отношению к антибиотику, который был применен для экранирования. Этот факт позво¬ ляет сделать вывод, что используемая для трансформа¬ ции плазмида должна нести ген, определяющий ре¬ зистентность к антибиотику. Такая информация может служить ограничением при управлении начальным выбо¬ ром плазмиды. О подобном ограничении говорят, что оно подлежит распространению через стадию трансфор¬ мации на абстрактную переменную — плазмиду. По завершении рассмотренной операции система стре¬ мится «удовлетворить» ограничения. Это сводится к за¬ мене абстрактного объекта на конкретный, удовлетво¬ ряющий заданному ограничению. 8.5. ЗАКЛЮЧЕНИЕ Система MOLGEN-планировщик Стефика, так же как и система DENDRAL, предназначена для того, чтобы помогать ученому-экспериментатору. Она вносит су¬ щественный вклад в создание систем, использующих стратегию «наименьшего риска» и показывающих, что эта стратегия применима для решения многих задач планирования. В рамках этой системы применяются различные управляющие стратегии. Специализированная управляющая структура, требующая наименьших затрат, применяется первой, а,в случае неудачи вступают в действие другие, более универсальные структуры. Коллектив разработчиков системы MOLGEN продол¬ жает работы, связанные с созданием новых систем 1.65
автоматизации для исследований в области молекуляр¬ ной генетики. В последнее время они сосредоточили усилия на разработке системы, названной SPEX (Ske¬ letal Planner of Experiments), которая обладает мно¬ гими достоинствами как системы MOLGEN-планировщика Стефика, так и другой системы, созданной Фридлендом для планирования аналитических экспериментов. Исполь¬ зуемая Стефиком иерархическая структура справляется с частично независимыми подзадачами при построении экспериментов. Используемая Стефиком иерархическая структура справляется с частично независимыми под¬ задачами при построении экспериментов. Однако не¬ достаток ее заключается в том, что много времени уходит на планирование относительно несложных экспериментов, особенно когда степень взаимозависимости подзадач мала. В системе SPEX эта проблема решена благодаря привлечению основополагающих знаний соответствующей предметной области. 9. ДАЛЬНЕЙШЕЕ РАЗВИТИЕ РАБОТ В ОБЛАСТИ ЭКСПЕРТНЫХ СИСТЕМ 9.1. АВТОМАТИЗАЦИЯ ОБРАБОТКИ ВЫРАЖЕНИИ ПРЕДИКАТНОЙ ЛОГИКИ В гл. 3 мы говорили о тупике в области автоматиза¬ ции обработки выражений предикатной логики. Логик в состоянии решить, какое из правил получения вывода следует применить в каком-либо частном высказывании при проведении логического доказательства. Автомати¬ зировать этот процесс до последнего времени не удава¬ лось. Поэтому приходилось вместо разработки общих методов решения задач сосредоточить внимание на авто¬ матизации решения задач в конкретных областях путем разработки программ на языке Лисп. При этом усилия были сконцентрированы на представлении и применении больших объемов специфических знаний. Вместе с тем некоторые специалисты, главным образом в Европе, продолжали поиск общих методов автоматизации процес¬ са рассуждений. И этом им удалось благодаря разработ¬ ке языка Пролог. В основу языка Пролог положены приемы, получив¬ шие название «доказательство теорем на основе резо¬ люции». Метод резолюции позволяет справиться с таки¬ 166
ми проблемами, как выбор правил вывода и порождение не относящихся к делу высказываний, путем сведения процедуры доказательства к применению единственного правила. С тем чтобы можно было воспользоваться прие¬ мами решения задач на основе резолюции (позже они будут рассмотрены более детально)., предложения ис¬ числения предикатов сначала приводят к упрощенной форме нотации, называемой «клаузальной формой»*. Все отдельно взятые логические связки могут быть вы¬ ражены в терминах групп других связок. Процесс подобного упрощения включает редуцирование выраже¬ ния к списку предикатов, соединяемых связкой ИЛИ (V)- При этом импликационная связка для выражения правила (->) вновь вводится в нотацию языка Пролог, поскольку некоторые средства выражения правил в яв¬ ном виде необходимы при использовании логики преди¬ катов в качестве языка программирования. 9.1.1. ПРЕДСТАВЛЕНИЕ ИСЧИСЛЕНИЯ ПРЕДИКАТОВ В КЛАУЗАЛЬНОЙ ФОРМЕ Перевод предложений исчисления предикатов в кла- узальную форму включает процесс упрощения путем преобразования. Для иллюстрации последовательности преобразований приведем простой пример: «Все программисты имеют пароль (password)» V (X) 3 (Y) (программист (Х)->пароль (X) имеет (X,Y)) Это может означать следующее: для конкретного програм¬ миста X из общего множества программистов существует среди множества паролей пароль Y, принадлежащий X. Если все переменные в некотором выражении под¬ вергнуты квантификации, то мы можем опустить кван¬ торы общности. Однако в конкретном случае квантор общности относится только к X, но не к Y (т. е. все Y не удовлетворяют высказыванию). Мы решаем эту проб¬ лему путем введения функциональной зависимости, которая порождает по крайней мере один Y и исполь¬ зует X в качестве переменной, например g(X)^Y * Clause (англ.) — предложение, составное высказывание.— Примсч. пер. 167
Функция вида g (X) называется сколемовской. Перепишем наше выражение: V (X) (программист (Х)->пароль (g(X)) & имеет (X,g(X)) Теперь квантор общности распространяет свое действие на все выражение, и, следовательно, знак квантора общ¬ ности можно опустить. Главная трудность преодолена. Далее исключим связку «импликация» с помощью правила А->В эквивалентно ~А\/В В результате выражение может быть преобразовано следующим образом: ^программист (Х)\/пароль (g(X))& имеет (X,g(X)) На данной стадии оно может быть представлено в общем виде как AV (В&С) Это выражение на самом деле содержит два разных предложения со связкой ИЛИ: AVB AVC и оно может быть записано так: ^программист (X) V пароль (g(X)) ^программист (Х)\/имеет (X, g(X)) Эти предложения означают: «Если X является програм¬ мистом, то пароль, который представляет собой значение функции g(X), будет принадлежать X». О представлен¬ ном в таком виде пропозициональном выражении говорят, что оно имеет «клаузальную форму». Любая представлен¬ ная в клаузальной форме фраза состоит из серии высказываний (или их отрицаний), соединенных посред¬ ством связки ИЛИ, например АV-ВVCV ~D 9.1.2. ПРОЦЕДУРА РЕЗОЛЮЦИИ В основе применения метода резолюции лежит опера¬ ция исключения высказываний из различных предложе¬ ний, если эти высказывания в одних предложениях отрицаются, а в других — нет. Сначала зафиксируем в клаузальной форме известные нам факты: 1) ~BVA 2) CVB 3) -С 168
Затем допустим, что мы хотим доказать А. Чтобы это сделать, дополним заданный набор отрицанием А* 1) -BVA 2) CVB 3) ~С 4) -А Исключим теперь вновь введенное предложение и его отрицание в другом предложении. Этот процесс называется резолюцией. Например, мы можем исключить —А в четвертом предложении и А в первом, оставив в них без изменения совокупность остальных выска¬ зываний (такую совокупность называют резольвентой). В нашем случае это ~В. В результате остаются предложения: 1) ~В 2) CVB 3) -с После этого продолжим процесс, исключая, например, ~В в первом предложении и соответственно В — во вто¬ ром. В результате остаются: 2) С 3) —С Наконец, исключив последние два предложения, по¬ лучим пустое предложение, изображаемое символически (). Если удается вывести пустое предложение, то истинность для исходного высказывания считается дока¬ занной. В этом случае говорят, что получена «нулевая резольвента». Теперь, используя ту же последовательность рас- суждений, рассмотрим конкретный пример. Допустим, что мы имеем правило программист (смит)-^-оптимист (смит) и факт программист (смит) Нас интересует, можно ли на основе этой информации сделать заключение оптимист (смит) Как было показано выше, сначала представим приведен¬ ные утверждения в клаузальной форме. После этого, введя отрицание предполагаемого заключения получим: П1 программист (смит) Vоптимист (смит) П2 программист (смит) П3 ^оптимист (смит) Процедура резолюции может быть представлена следую¬ щим образом (см. рис. 9.1). Выбирая два предложения (в данном случае П1 и ПЗ) и исключая противоречивые высказывания, получаем резольвенту. После этого выбира- 169
ПЗ: ~ оптимист (смит) П1:—программист (смит) v оптимист (смит) Резол ьвентапро г рам ми ст (смит) П2: программист (смит) Пустая резольвента: ( ) Рис. 9.1. Дерево резолюции ем другое предложение (П2) и полученную резоль¬ венту с целью порождения второй резольвенты, которая в нашем случае оказывается нулевой. Порождение нулевой резольвенты указывает на то, что заданный набор предложений противоречив, и, следовательно, мы можем заключить, что утверждение «оптимист (смит)» справедливо. Теперь рассмотрим более сложное рассужде¬ ние, в ходе которого хотелось бы проверить, что следую¬ щий факт: —развивающаяся (информатика) может быть установлен исходя из приведенных ниже правила и факта: развивающаяся (информатика)->- —дефицит (информатика, специалис¬ ты) дефицит (информатика, специалисты) Переведя заданные выражения в клаузальную форму и дополнив их отрицанием предполагаемого заключения, получим: П1: —развивающаяся (информатика) V ^дефицит (информатика, спе¬ циалисты) П2: дефицит (информатика, специалисты) ПЗ: развивающаяся (информатика) При просмотре приведенных предложений обнаруживает¬ ся, что, используя ПЗ и П1, можно получить резоль¬ венту «дефицит (информатика, специалисты)», которая, в свою очередь, в сочетании П2 дает пустое предло- жен.ие, что подтверждает справедливость выражения «~ развивающаяся (информатика)». 170
На этом этапе, может быть, уместно задаться, вопросом! насколько мы продвинулись в автоматизации исчисления предикатов? Ответить можно так: этот про¬ цесс завершается введением клаузальной формы пропо¬ зициональных выражений и применением метода резолю¬ ции. В распоряжении ЭВМ имеется простая процедура, с помощью которой можно предотвратить комбинатор¬ ный взрыв. Об этом говорилось в гл. 2. Там же был приведен пример порождения бесполезных (не имеющих отношения к делу) высказываний при многократном применении вслепую правила «исключающее И». К со¬ жалению, сам по себе метод резолюции не указывает, какие предложения следует выбирать для резолюции. В приведенных примерах, по существу, в этом не было необходимости, поскольку предложений было очень мало. Однако даже при умеренном их количестве мы сталки¬ ваемся с проблемой комбинаторного взрыва второго уровня. Так, если мы будем проверять все возможные комбинации предложений, то, по оценке Чарниака, для 10 предложений будет 50 комбинаций при первой попытке применения метода резолюции. Их число воз- . растет до 1017 при десятой попытке. Бессмысленность такого способа без применения специальных средств, исключающих возможность комбинаторного взрыва, оче¬ видна. Для сравнения отметим, что столетие составляет примерно 101сГ секунд. Итак, проблема, связанная с применением метода резолюции, заключается в том, что соответствующей управляющей структуры для предотвращения комбина¬ торного взрыва пока не существует. Было предложено несколько разных методов, но многие из них не оправдали надежд. Вместе с тем в последнее время разработан достаточно эффективный метод, послуживший основой для языка логического программирования Пролог. 9.1.3. ПРОЛОГ И ПРОГРАММИРОВАНИЕ ЛОГИКИ ПРЕДИКАТОВ При разработке языка программирования на основе применения метода резолюции связка «импликация» вводится в клаузальный синтаксис. Напомним, что логи¬ ческое выражение в клаузальной форме состоит из высказываний (или их отрицаний), соединенных связ¬ ками ИЛИ. Любой набор высказываний, соединенных связками ИЛИ, может быть перестроен без изменения их значения. Сначала отделим отрицаемые высказыва¬ 171
ния от неотрицаемых, перенося их соответственно налево и направо. Выражение А V ~ В V С V ~Е> V ~Е в этом случае приобретает следующий вид: ( ~В V ~ О V ~ Е) V (А V С) Набор высказываний, связанных с помощью ИЛИ, может быть заменен эквивалентным ему набором высказыва¬ ний, соединенных связкой И, например (-BV-DV-E)S - (B&D&E) В результате нашему предложению эквивалентно сле¬ дующее предложение: ~ (B&D&E) V (А V С) Полученное предложение после преобразования в импли¬ кационную форму с учетом соотношения ~ G V Н = G->H примет вид B&D&E->A V С Другими словами, набор условий, соединенных связ¬ кой И, имплицирует набор заключений, соединенных связкой ИЛИ. Теперь мы подошли вплотную к тому, чтобы сформировать предложение, характерное для языка Пролог. Введем дальнейшее ограничение: каждое предложение может содержать только одно заключение. При таком условии приведенное выше предложение следует пред¬ ставить как B&D&E А B&D&E -> С Подобные выражения называются предложениями Хорна. В Прологе для удобства такие предложения представля¬ ются следующим образом: Заключение-^-Условия а в принятой для Пролога нотации: Заключение: — Условия В нашем примере А : - B&DE С: - B&DE 172
Читатель может заметить, что используемая в гл. 1 нотация соответствует приведенной выше. Например: П1: руководит (петр, джон):— П2: руководит (джон, анна);— ПЗ: руководит (анна, фред):— П4: отчитывается (X, Y): —руководит (Y, X) П5: отчитывается (X, Z): — руководит (Z,Y) & докладывает (X.Y) Факт представляется как безусловное предложение руководит (петр, джон): — Запрос (то, что мы хотим подтвердить) отрицается, в соответствии с методом резолюции, т. е. ?— А превра¬ тится в ~А. Поскольку для ~А\/В эквивалентно А->В (или В:—А), для —А эквивалентно А->(или:—А). Итак, запрос — это условие или набор условий без заклю¬ чения. Следовательно, в Прологе запрос представляется в форме :—отчитывается (фред, петр) Однако в Прологе существует проблема выбора двух предложений, сопоставляемых при выводе очередной резольвенты. Для ее решения требуется иметь некоторую форму управляющей структуры. Свойственный Прологу процесс управления лучше всего можно понять, если воспользоваться концепцией поиска в пространстве сос¬ тояний, введенной в гл. 3 и применяемой при описании экспертных систем. Высказывания в наборе взаимосвя¬ занных предложений на языке Пролог мо¬ гут быть представ¬ лены в виде иерар¬ хически организован¬ ного пространства состояний (как не¬ которое дерево типа И/ИЛИ). Это проще воспринять с по¬ мощью отвлеченного примера (см. рис. 9.2). При взгляде на рис. 9.2 можно об¬ наружить, что при¬ веденная на нем кро¬ на дерева сформи¬ рована на основа¬ нии взаимосвязан¬ П1 р: - q & г П2 q: — s n3q; — t П4 г: — а & b И/ИЛИ для простой Рис. 9.2. Дерево абстрактной программы 173
ных. правил, где фактам. соответствуют терминальные вершины. Напомним, что в Прологе условия пра¬ вил — это ветви со связками И. Там, где к одному и тому же заключению приводят различные условия, эти условия имеют связку ИЛИ, и такие ветви изображаются без перемычки между ними. Дерево типа И/ИЛИ можно рассматривать двояко: и как декларативное выражение, что обычно свойственно логическим выражениям, и как процедурное выражение, что характерно для программирования. Например, сле¬ дуя логике, мы можем утверждать: для того, чтобы высказывание «р» было истинным, оба высказывания «q» и «г» должны быть истинны, а для того, чтобы «q» было истинным, должно быть истинным одно из высказы¬ ваний — либо «s», либо «t». С позиций процедурного представления правила языка Пролог можно интерпре¬ тировать как декомпозицию доказательства заданного высказывания. Доказательство «р» распадается на два доказательства: «q» и «г», а доказательство «q» распа¬ дается или на доказательство «s», или на доказательство «Ь>. Задав представление набора предложений Пролога как дерево типа И/ИЛИ, можно применять различные стратегии для его прохождения при поиске решения. Это эквивалентно выработке стратегии решения относи¬ тельно того, какие из предложений следует выбрать для резолюции при доказательстве теорем методом резо¬ люции. В Прологе принята стратегия поиска «сначала вглубь», начиная слева. Предположим, что в соответствии с приведенным примером мы хотим доказать высказы¬ вание «р». Выразим это как отрицание «р»: Р и добавим обычным способом это выражение к заданному набору предложений. В соответствии с терминологией Пролога высказывания запроса (ов) называют «целью». Заданная цель «:—р» после этого «сопоставляется» с первым предложением, имеющим «р» в качестве заклю¬ чения. В рассматриваемом случае есть только одно такое высказывание — «р:—q&r». В Прологе берется первое условное допущение (случайно им оказывается «q») и делается попытка доказать его истинность. Поскольку оно является условием, его можно представить через отри¬ цание, рассматривать в качестве новой цели или «под¬ цели» и снова сопоставить с первым встретившимся предложением, содержащим «q» в качестве заключения. .174
Такое высказывание-заключение в Прологе известно как «головное высказывание» предложения. Этот процесс бу¬ дет продолжен до тех пор, пока не будет выбрана под¬ цель «:—s», с которой сопоставляется факт «s». В ре¬ зультате этого доказывается истинность высказывания «s». Как только высказывание «q» будет удовлетворено через «s», программа на языке Пролог приступит к обработке высказывания «г», которое удовлетворяется через «а», а затем через «Ь». Таким образом, исходный запрос «:—р» подтверждается путем «обхода» последова¬ тельности узлов дерева р, q, s, г, а, Ь. Необходимо отметить, что если подтверждение «q» или «г» невозможно в силу отсутствия в программе любого из высказываний «s», «Ь>, «а» или «Ь», то запрос «:—q» постигнет неудача (в отношении его подтверждения). Следует рассмотреть еще одну особенность исполнения программы на языке Пролог. Когда для приведенного выше примера производился подбор подцели «:—q», был сделан выбор головного высказывания первого встретившегося предложения с «q» в качестве условия. После удовлетворения «q» (посредством удовлетворения «s») была продолжена попытка подбора пары для новой подцели — «г». Однако при этом возникает вопрос: что произошло бы, если бы два предложения, со¬ держащие «q», были расположены в обратном порядке, т. е. «q:—t» шло первым? В такой ситуации применяется стратегия с возвращением (см. рис. 9.3). Предположим, что тот же самый запрос «:—р» снова адресован системе. Цели «:—р» в этом случае соответствует головное высказывание «р», в результате будет порождена подцель «:—t». Этому будет соответст¬ вовать головное высказывание «q», порождающее подцель «:—Ь>, которая не будет удовлетворена из-за отсутствия Рис. 9.3. Дерево И/ИЛИ для иллюстрации возвращения 175
«t». Получив отрицательный результат, система произво¬ дит возврат к удовлетворенному сопоставлению и осу¬ ществляет поиск альтернативы, который завершится вы¬ бором второго предложения с «q» и его головного высказывания «q:—s». Затем доказательство может про¬ текать по-прежнему. Сопровождает (X, Y) Рис. 9.4. Дерево, представляющее одиночное правило Приведем последний пример для иллюстрации некото¬ рых деталей процесса исполнения программы на языке Пролог. Мы выбрали более реальные предложения, содержащие переменные: П1: нравится (джилл, вино) П2: нравится (джон, еда) ПЗ: нравится (джон, вино) П4: мужчина (джон) П5: провожатый (X,Y):— нравится (Y, вино) & мужчина (Y) Соответствующее этому одиночному правилу дерево изоб¬ ражено на рис. 9.4, Даже в случае такой простой программы, как эта, процесс ее исполнения может оказаться очень сложным. Для пояснения процесса служит специальная нотация в виде дерева цели. Она дает возможность проследить все сопоставления между головными высказываниями, целями и подцелями и записать результаты. Целевое дерево для нашей программы приведено на рис. 9.5 в соответствии с запросом «: — провожатый (мэри, XI)», т. е. «Кто является провожатым Мэри?». При сопоставле¬ нии цели и предложения с «провожатым» X принимает значение «.Мэри». Перейдя вправо к условиям, мы возь¬ мем новую цель — «нравится (Y, вино)». Она сопоставима с утверждением «нравится (джилл, вино)». Затем мы пе¬ рейдем к условию со связкой И, порождая новый запрос — «мужчина (джилл)», который не подтверждает¬ ся. Далее происходит возврат с целью поиска альтер¬ нативного значения для Y. Оно будет обнаружено в третьем утверждении, содержащем «джон». Теперь порож- 176
Рис. 9.5. Ход исполнения программы на языке ПРОЛОГ дается новая цель — «мужчина (джон)», которая удов¬ летворяется. В результате определяется значение для пе¬ ременной XI, а именно «джон». После этого запрос в целом удовлетворяется. Исходный запрос принимает вид предложения с «провожатым» при присвоении зна¬ чения «джон» для переменной XI. 9.2. НЕКОТОРЫЕ ДОСТОИНСТВА ЛОГИКИ ПРЕДИКАТОВ Применение логики предикатов в качестве языка программирования обеспечивает ряд преимуществ. Боль¬ шая их часть может быть отнесена к самой логике, а не к управляющей структуре, используемой для автоматизации процесса обработки выражений предикатной логики. По существу, источником большинства недостатков языков логического программирования, таких, как Про¬ лог, является методика управления. Во-первых, логика обеспечивает четкий, хорошо отра¬ ботанный формализм представления, который приемлемо интерпретируется на естественном языке и позволяет легко оперировать результатами квантификации. В то же время при использовании прагматических форм пред¬ ставления, наиболее свойственных семантическим се¬ тям, обеспечить это зачастую трудно. В рассматри¬ ваемом нами случае проблема семантических сетей была решена с помощью нотации в виде подразделенных сетей. Однако с этой проблемой всякий раз сталкиваются 177
при использовании специализированных форм представ¬ ления для манипулирования данными, свойственными кон¬ кретным предметным областям. Во-вторых, логике предикатов присущи достоинства, обусловленные дедуктивными процедурами исчисления предикатов. Благодаря применению в логических постро¬ ениях формальных правил получения вывода обеспе¬ чивается гарантия правильности заключений, если их удается вывести, и предоставляется механизм, для выявления причины неудачи, когда заключение вывести невозможно. Последнее свойство используется при реше¬ нии задачи поддержания непротиворечивости фактов в базах данных. При этом подход включает фиксацию (записи) условий (называемых «условиями доверия»), которые приводят к заключению. Фиксация условий доверия может служить для таких операций, как выявление заключений, которые не согласуются с проис¬ шедшими изменениями в исходных утверждениях, и про¬ слеживание источника противоречия, если оно обнару¬ жено. Подобные процедуры называются «обеспечением истинности». Они находят применение в тех случаях, когда имеют дело с «немонотонным» характером логи¬ ческих построений. Проблема автоматизации немонотонных рассуждений рассмотрена в конце гл. 2. Напомним только, что в моно¬ тонной системе никогда не требуется производить заново вывод заключений при появлении дополнительных фактов. Однако человеческая логика устроена иначе. Люди часто пересматривают заключения в свете новых фактов. В программировании для этой цели служат «подразумеваемые значения» (см. гл. 3, разделы 3.3.1 и 3.3.2). Предполагается, что некоторый факт или значение истинно, несмотря на полученное в явном виде альтер¬ нативное значение. Хотя иногда имеется возможность для использования подразумеваемых значений, нельзя создать систему обработки подразумеваемых значений для общего случая. И как результат этого невозможно скон¬ струировать язык логического программирования, спо¬ собный автоматически манипулировать подразумеваемы¬ ми значениями в самом общем случае. Конечно, существуют некоторые ограничения для выра¬ зительной способности исчисления предикатов, по крайней мере в тех пределах, которые могут быть заданы через их классические формальные ограничения, напри¬ мер, в отношении представления возможностей, на¬ мерений, доверия и т. п. Вместе с тем логику можно 178
использовать в качестве языка программирования и для реализации функционально эквивалентных эвристик при отсутствии формальных приемов. В отношении управле¬ ния, реализуемого средствами логики, Пролог менее удов¬ летворителен. В стандартном случае используется един¬ ственная управляющая структура, которая может быть описана как стратегия поиска «сверху вниз» и «сначала вглубь» с возвращением. Теоретически такая методика считается достаточно универсальной, и при этом не тре¬ буется понимания решаемых задач. Программист может игнорировать вопросы управления и свободно поль¬ зоваться декларативными выражениями. Процесс испол¬ нения программы на языке Пролог часто трудно понять, поскольку синтаксис языка слабо развит в отношении средств обслуживания этого процесса. В таком аспекте управления, как «возвращение», эта «скрытность» усу¬ губляется. Еще одна проблема касается исполнения программ с управляющими структурами, отличными от основной системы поиска «сначала вглубь». Исполнение программ с поиском «сначала вширь» программируется с помощью средств Пролога менее эффективно, чем с помощью другого языка с более примитивной управляющей струк¬ турой, например Паскаля. К тому же программы, на¬ писанные на языке Пролог, могут быть сложны для пони¬ мания и отладки из-за путаницы, которая может быть вызвана различием управляющих структур. Подобные затруднения возникают при попытке применить прямую последовательность просмотра, та-к как для языка Пролог принята обратная последовательность просмотра. 9.3. СОВЕРШЕНСТВОВАНИЕ ЭКСПЕРТНЫХ СИСТЕМ В предыдущем разделе были рассмотрены возможность применения логики предикатов в качестве языка програм¬ мирования и достоинства такого подхода. Разработки в этой области, проводимые в настоящее время европей¬ скими и японскими специалистами по искусственному интеллекту, являются составной частью программы созда¬ ния ЭВМ пятого поколения. К логическому программи¬ рованию проявляют интерес и в США, хотя больше в направлении расширения языка Лисп, чем в смысле создания базового средства программирования. Сущест¬ вуют и другие направления. К ним относятся: расширение возможностей экспертных систем в отно¬ шении применения знаний, отличных от простых эмпи¬ 179
рических ассоциаций, и разработка архитектур ЭВМ, способных манипулировать такими знаниями; создание систем, способных реализовать более широ¬ кий набор когнитивных функций, чем в основном пре¬ допределенное, направляемое системой решение задач, производимое прежними программами. Множество проводимых в последнее время исследова¬ ний было посвящено использованию в экспертных систе¬ мах так называемых «глубинных знаний». «Глубинные знания» включают модели функциональных и каузаль¬ ных отношений, лежащих в основе решаемой задачи; организация решения задач на базе этих моделей, а не на основе эмпирических ассоциаций. Одно из принципиальных преимуществ применения функциональных и каузальных знаний заключается в том, что соображения, служащие подоплекой хода рассужде¬ ний, могут быть с большей оперативностью представ¬ лены в явном виде. Это было проиллюстрировано в гл. 6 при рассмотрении системы CASNET. Диагности¬ ческие вопросы, например, были четко мотивированы необходимостью установить последовательные стадии про¬ цесса развития заболевания. Таким образом, модель процесса заболевания формирует объяснение порядка следования вопросов. Решение задачи, связанной с пос¬ тановкой диагноза, может быть подтверждено самим процессом заболевания, установленного во время сеанса. В системах, созданных на основе функциональных и кау¬ зальных моделей, применяются разнообразные представ¬ ления. Их диапазон простирается от систем, которые «компилируют» каузальные отношения, необходимые для решения конкретного класса задач (например, диагности¬ рования, управления базами данных), до систем, испол¬ няющих процедуры решения на основе реляционных моделей предметных областей. Высказываются мнения (со ссылкой на «компилированные» системы), что воз¬ можна реализация всех операций, связанных с полу¬ чением выводов и их объяснением путем представления каузальных знаний в явном виде. В последние годы ведутся работы, в которых основное внимание обращается на обеспечение адекватности кау¬ зальных моделей конкретным классам задач. Исследо¬ вания, проведенные в связи с созданием системы диагно¬ стирования неисправностей электронных схем, показали, что применение каузальной модели подразумевает пред¬ положение относительно всех возможных каузальных взаимосвязей. Эффективность конкретной модели будет 180
отчасти определяться таким условием. При применении этих моделей в диагностической системе определенные неисправности будут вызывать видоизменения во взаимо¬ связях. По этой причине может оказаться необходимым введение упорядоченного по степени . сложности набора моделей, каждая из которых способна идентифициро¬ вать определенные классы неисправностей. Для редуци¬ рования непомерно большого пространства поиска, когда включены все возможные взаимосвязи, может потребо¬ ваться набор моделей с тем, чтобы переходить к модели последующего уровня в случае неадекватности модели более низкого уровня. Другое направление совершенствования экспертных систем связано с расширением диапазона их когнитив¬ ных возможностей. Традиционные экспертные системы в значительной мере были решателями задач. Разработчики на первое место ставили обеспечение правильного и точного решения задачи, не придавая достаточного зна¬ чения тому, чтобы система пользовалась теми же мето¬ дами, что и эксперт-человек. Несмотря на то что способ¬ ность системы объяснять свои заключения была желатель¬ ным свойством, их проектирование велось без учета этого. Внимание разработчиков было больше сконцентри¬ ровано на необходимости эффективного вывода заклю¬ чений, чем на их понятности. Средства объяснения были нацелены на выдачу ответов на вопросы, касающиеся абстрактного процесса получения логического вывода, а не хода рассуждений, непосредственно относящихся к соответствующей предметной области. Более того, подобные средства не предназначались для того, чтобы сделать понятным ход рассуждений системы для пользо¬ вателя* с конкретным запасом знаний и определенным уровнем умственных способностей. Разделение когнитивных функций на такие состав¬ ляющие, как, например, решение задач, обучение и т. п., редко происходит на практике. Обычно все они взаимо¬ связаны, когда реализуются при решении вопросов любой сложности. При решении их с помощью ЭВМ всегда возни¬ кает потребность в расширении состава подобных функ¬ ций за счет ввода дополнительного «пользовательского комплекта» когнитивных функций. История создания автоматизированных систем подтверждает, что рано или поздно возникает необходимость в их дополнении фун¬ кциями такого рода. Первоначальные попытки были нап¬ 181
равлены на использование для этой цели одной и той же базы знаний, что для реализации дополнительных функций обычно не совсем подходило. Позже системы реконстру¬ ировали для удовлетворения новых требований. При разработке экспертных систем первоначально делался упор на создание эффективного формального решения задач. Однако сложность процессов обработки знаний во многих системах требовала «поясняющих средств», позволяющих производить оценку заключений и их коррекцию. В таких системах, как MYCIN и PROSPECTOR, использовались простейшие средства объяснения заключений. Это в дальнейшем послужило основанием для изменения роли подобных средств в сис¬ темах, при создании которых уделялось особое внима¬ ние удобству их применения. Создание систем с такими возможностями стимулировало разработку альтернатив¬ ных архитектур. Традиционные экспертные системы стремились прис¬ пособить к выполнению новых функций. Например, сис¬ тему MYCIN пытались использовать в учебных целях. В результате появилась система GUIDON. Для ее созда¬ ния были введены дополнительные правила по управлению процессом обучения и моделированию поведения сту¬ дента. Основная база знаний системы MYCIN не удовлет¬ воряла целям обучения из-за отсутствия четких знаний о примитивах предметной области (например, E.coli является бактерией) и о структуре данной области (на¬ пример, классификации инфекционных заболеваний). Такие знания позволяют упростить процесс обучения. Основанные на знаниях системы, предназначенные для учебных целей, должны иметь структуру, отлич¬ ную от структуры систем-решателей задач. Вместе с тем, конечно, возможна ориентация на решение задач, когда система сама обучается «на опыте». Примером здесь может служить система SHRINK, созданная для постановки диагноза в психиатрии. В ней используется архитектура, характерная для систем, понимающих естественный язык, в частности концепция «памяти, управляемой отказами (нарушениями)». Благодаря этому появилась возможность обнаружить нарушения в ходе заключений и принять меры по изменению фактуальных знаний или знаний, связанных с логическим выводом, с целью предотвращения неудачных исходов. Что касается новой роли экспертных систем, сво¬ дящейся к выработке критической оценки умозаключе¬ ний пользователя, то она скорее связана с расширением 182
возможностей систем, чем с радикальным изменением когнитивных функций. Система повторяет все действия пользователя, как его тень, и прерывает этот процесс, как только обнаруживает значительное расхождение в сопо¬ ставляемых процессах. Такое поведение свойственно одной из последних версий системы ONCOCIN, разработанной группой MYCIN для регистрации и критической оценки планов лечения рака с помощью химических препа¬ ратов. В заключение следует сказать об усовершенствовани¬ ях, затрагивающих основы экспертных систем. Во-первых, проводятся исследования, направленные на привлечение множества источников знаний там, где неприемлем более простой подход. Такой подход был применен при разработке системы HEARSAY-11, предназначенной для распознавания речи. В данном случае обеспечивается доступ к информации, лежащей в широком диапазоне — от параметров речевого сигнала до семантического контекста, причем каждый из этих видов информации сам по себе не позволяет интерпретировать произне¬ сенный фрагмент речи. При использовании их совмест¬ но один вид информации может компенсировать недо¬ четы другого. Во-вторых, ведется работа по созданию бо¬ лее формальной основы для экспертных систем. Наибо¬ лее выделяется направление, связанное с применением теории множеств в медицинской диагностике. Этот подход обеспечивает возможность решения сложной за¬ дачи диагностирования при нескольких заболеваниях одновременно. В системе INTERNIST предпринята по¬ пытка решить такую задачу прагматически. В этом случае требуется математическая база для подтвержде¬ ния справедливости принимаемых решений. В настоящее время развитие экспертных систем достигло критической стадии. Ранние разработки под¬ твердили их жизнеспособность и теперь требуются всесторонний анализ и оценка того, как их следует использовать с учетом реальных условий.
ЛИТЕРАТУРА ГЛАВА 1 Barr А & Feigenbaum Е A (eds) (1981), The Handbook of Artificial Intelligence, Vols I & II, Los Altos, CA: Kaufmann. Cohen P R & Feigenbaum E A (eds) (1982), The Handbook of Artificial Intelligence, Vol III, Los Altos, CA: Kaufmann. Hayes-Roth F, Waterman D A & Lenat D (eds) (1983), Building Expert Systems, Reading, MA: Addison Wesley. Webber В L & Nilsson N J (eds) (1981), Readings in Artificial Intellig¬ ence, Palo Alto, CA: Tioga Press. Winston P H (1977), Artificial Intelligence, Reading, MA: Addison- Wesley ГЛАВА 2 Hodges W F (1978), Logic, Harmondsworth: Penguin Press. Lemmon E J (1972), Beginning Logic, London: Nelson. ГЛАВА 3 Brackman R J (1979), On the epistemological status of semantic net¬ works. In N V Findler (ed), Associative Networks: Representation and Use of Knowledge by Computers, London: Academic Press. Bundy A, Burstall R M, Weir S & Young R M (1978), Artificial Intellig¬ ence: An Introductory Course, Edinburgh: Edinburgh University Press. Davis R (1982), Expert Systems: Where are We? and Where do We Go from Here?, Al Memo No 665, MIT Al Laboratory. 184
Davis R & King J (1976), An overview of production systems. In E W Elcock & D Michie (eds), Machine Intelligence, 8, New York: Wiley. Gloess P Y (1981), Understanding Artificial Intelligence, Sherman Oaks, CA: Alfred Publishing Co. Haugeland J (1981), Semantic engines: an introduction to mind design. In J Haugeland (ed), Mind Design: Philosophy, Psychology and Artifi¬ cial Intelligence, Montgomery, VT: Bradford Books. Hendrix G G (1979), Encoding knowledge in partitioned networks. In N V Findler (ed), Associative Networks: Representation and Use of Knowledge by Computers, London: Academic Press. Minsky M L (1980), A framework for representing knowledge. In J Haugeland (ed), Mind Design: Philosophy, Psychology and Artificial Intelligence, Montgomery, VT: Bradford Books. Nilsson N J (1982), Principles of Artificial Intelligence, New York: Springer-Verlag 1 Norman D, Rumelhart D E & the LNR Group (1975), Explorations in Cognition, San Francisco: W H Freeman and Co. Winston P H & Horn В К P (1981), LISP, Reading, MA: Addison- Wesley. Woods W A (1975), What’s in a link: foundations of semantic networks. In D G Bobrow & A Collins (eds), Representation and Understanding: Studies in Cognitive Science, London: Academic Press. ГЛАВА 4 Schank R & Abelson R (1977), Scripts, Plans, Goals and Understanding, Hillsdale, NJ: Lawrence Erlbaum. Sleeman D & Brown J S (eds) (1982), Intelligent Tutoring Systems, London: Academic Press. Stefik M, Aikins J, Balzer R, Beniot J, Birnbaum L, Hayes-Roth F & Sacerdoti E (1982), The Organization of Expert Systems: A Prescrip¬ tive Tutorial, Research Report VLSI-82-1, XEROX PARC, Palo Alto, CA. 1 Русский перевод: Нильсон H. Дж. Принципы искусственно¬ го интеллекта.— М.: Радио и связь, 1985. 185
ГЛАВА 5 Davis R (1983), TEIRESIAS: Experiments in communication with a knowledge-based expert system. In M E Sime & M J Coombs (eds), Designing for Human-Computer Communication, London: Academic Press. Davis R & Lenat D В (1982), Knowledge-Based Systems in Artificial Intelligence, New York: McGraw-Hill. Duda R O, Gaschnig J & Hart P E (1979), Model design in the PROS¬ PECTOR consultant program for mineral exploration. In D Michie (ed), Expert Systems in the Microelectronic Age, Edinburgh: Edin¬ burgh University Press. Duda R O, Gaschnig J, Hart P E, Konolige K, Reboh R, Barrett P & Slocum J (1978), Development of the PROSPECTOR Consultation System for Mineral Exploration, Final Report, SRI Projects 5821 and .6451, SRI International Inc, Menlo Park, CA. Duda R O, Hart P E & Nilsson N (1976), Subjective Bayesian Methods for Rule-Based Inference Systems, Proceedings of the National Com¬ puter Conference, AFIPS, 45, 1075-1082. Shortliffe E H (1976), Computer-Based Medical Consultations: MYCIN, New York: American Elsevier. Shortliffe E H & Buchanan В G (1975), A model of inexact reasoning in medicine, Mathematical Bioscience, 23, 351-379. ГЛАВА 6 Kulikowski C A & Weiss S M (1982), Representation of expert know¬ ledge for consultation: the CASNET and EXPERT projects. In P Szolovitz (cd), Artificial Intelligence in Medicine, Boulder, Colorado: Westview ,Prcss. Miller A M, Poplc H E & Myers J D (1982), 1NTERN1ST-I, a-n experi¬ mental computer-based diagnostic consultant for general internal medicine, New England Journal of Medicine, 307, 468-476. Pople H E (1977), The formation of composite hypotheses in diagnostic problem solving: an exercise in synthetic reasoning, Proceedings of the 5th International Joint Conference in Artificial Intelligence, Carnegie-Mellon University, Pittsburgh. Pople H E (1982), Heuristic methods for imposing structure on ill- structured problems: the structuring of medical diagnostics. In P Szolovitz (ed), Artificial Intelligence in Medicine, Boulder, Colorado: Westview Press. 186
Weiss S M, Kulikowski C A, Amaral S & Safir A (1978), A model-based method for computer-aided medical decision-making, Artificial Intel¬ ligence, 11, 145-172. ГЛАВА 7 Buchanan В G & Feigenbaum E A (1978), DENDRAL and Meta- DENDRAL: the applications dimension, Artificial Intelligence, 11, 5-24. Buchanan В G, Smith D H, White W C, Gritter R, Feigenbaum E A, Lederberg J & Djerassi С (1976), Applications of artificial intelligence for chemical inference. XXII. Automatic rule formation in mass spec¬ trometry by means of the meta-DENDRAL program, Journal of the American Chemical Society, 96, 6168. Buchanan В G, Sutherland G L & Feigenbaum E A (1969), Heuristic DENDRAL: a program for generating explanatory hypotheses in organic chemistry. In В Meltzer & D Michie (eds), Machine Intellig¬ ence, 4, Edinburgh: Edinburgh University Press. Buchanan В G, Sutherland G L & Feigenbaum E A (1970), Towards an understanding of information processes of scientific inference in the context of organic chemistry . In В Meltzer & D Michie (eds), Machine Intelligence, 5, Edinburgh: Edinburgh University Press. Lindsay R K, Buchanan В G, Feigenbaum E A & Lederberg J (1980), Applications of Artificial Intelligence in Organic Chemistry: The DENDRAL Project, New York: McGraw-Hill. ГЛАВА 8 Friedland P E (1979), Knowledge-Based Experiment Design in Molecular Genetics, PhD Dissertation, Heuristic Programming Project, Compu¬ ter Science Department, Stanford University, Stanford, CA. McDermott J (1980),Я/.* A Rule-Based Configurer of Computer Systems, Research Report CMU-CS-80-119, Department of Computer Sci¬ ence, Carnegie-Mellon University, Pittsburgh, PA. McDermott J (1981), Rl’s formative years, Al Magazine, 2. McDermott J (1982), EXCEL: a computer salesperson’s assistant. In J Hayes, D Michie & Y -H Pao (eds), Machine Intelligence, 10, Chichester: Ellis Horwood.
Stefik M J (1980), Planning with Constraints, PhD Dissertion, Heuristic Programming Project, Computer Science Department, Stanford Uni¬ versity, Stanford, CA. ГЛАВА 9 Chandrasekaran В & Mittal S (1984), Deep versus compiled approaches to diagnostic problem-solving. In M J Coombs (ed), Developments in Expert Systems, London: Academic Press. Clancey W J (1983), The epistemology of a rule-based expert system: a framework for explanation, Artificial Intelligence, 20, 215-251. [guidon] Clocksin W F & Mellish C (1981), Programming in Prolog, Heidelberg, West Germany: Springer-Verlag. Davis R (1984), Reasoning from first principles in electronic troub¬ leshooting. In M J Coombs (ed), Developments in Expert Systems, London: Academic Press. Davis R & Lenat D В (1982), Knowledge-Based Systems in Artificial Intelligence, New York: McGraw-Hill. Doyle J (1979), A truth maintenance system, Artificial Intelligence, 12, 231-272. Kolodner J L (1984), Towards an understanding of the role of experience in the evolution from novice to expert. In M J Coombs {cd},Develop¬ ments in Expert Systems, London: Academic Press. [SHRINK]
ОГЛАВЛЕНИЕ Предисловие к русскому изданию . 5 Предисловие . 10 Ч а с т ь I. основные концепции 13 1. Традиционная обработка данных и экспертные системы 13 1.1. Введение . 13 1.2. Проблема представления . 13 1.3. Представление знаний 16 1.4. Традиционный подход 20 1.4.1. Классы и отношения 20 1.4.2. Процедуры 23 1.4.3. Традиционные управляющие структуры ... 24 1.4.4. Резюме 25 1.5. Альтернативное представление классов, отношений и правил 25 1.6. Альтернативная управляющая структура — продукционные системы . 26 1.7. Управляющие структуры и их взаимосвязь с предметной об¬ ластью 28 1.8. Другие ограничения традиционного подхода .... 29 1.8.1. Логически выводимые данные 30 1.8.2. Неточные рассуждения 31 1.8.3. Отсутствие подходящих алгоритмов 32 1.9. Перспективы 33 2. Основы исчисления предикатов и получения логических выводов 34 2.1. Введение 34 2.2. Исчисление предикатов и представление знаний 36 2.3. Логический вывод 41 2.4. Проблемы, связанные с исчислением предикатов при обработ¬ ке знаний 46 3. Подход к компьютеризации представления и управления 49 3.1. Переход к системам, основанным на знаниях ...... 49 3.2. Лисп — язык для программирования систем, основанных на знаниях . 53 3.3. Представление знаний предметной области ... . . 57 3.3.1. Семантические сети . . 57 3.3.2. Фреймы . . 63 3.3.3. Правила продукций . 67 3.4. Задачи управления .... 72 189
Часть II ПРИМЕРЫ ЭКСПЕРТНЫХ СИСТЕМ 79 4. Экспертные системы и эксперты . , . . « 79 4 1 Решение задач, основанное на знаниях 79 4.2 Схема классификации экспертных систем , • • 83 4.2.1. Диагностические системы на основе правил для выво¬ да заключений в случае неопределенных данных . . 84 4.2.2. Ассоциативный и каузальный подходы к постановке диагноза 85 4.2.3. Редуцирование больших пространств поиска путем факторизации 86 4.2.4. Манипулирование большими пространствами поиска посредством абстрагирования 86 5. Обработка эмпирических данных в условиях неопределенности: MYCIN и PROSPECTOR . 87 5.1 Введение . . 87 5.2 Общее представление о системе MYCIN ... . . . 89 5.2.1 Факты .... 89 5.2.2. Правила продукций 90 5.2.3. Вычисление показателя определенности ... 91 5.2.4. Проблемно-зависимая управляющая структура . 93 5.2.5. Получение информации от пользователя .... 94 5.2.6. Средства пояснения решений 95 5.2.7. Распространение подхода, использованного в системе MYCIN, на системы TEIRESIAS и GUIDON 96 5.3 Общее представление о системе PROSPECTOR 98 5.3.1 Геологические модели 98 5.3.2. Механизм управления 103 5.3.3. Взаимосвязи и неопределенность 103 5.3.3.1. Факторы необходимости и достаточности 104 5.3.3.2. Неопределенные показания 106 5.3.3.3. Логические отношения 109 5.3.3.4. Контекстуальные отношения . . . 109 5.4. Заключение . . . . 110 6. Ассоциативный и каузальный подходы при постановке диагно¬ за: системы INTERNIST и CASNET 112 6.1. Введение 112 6.2 Система INTERNIST 113 6.2.1. Общий подход к постановке диагноза 113 6.2.2. Представление знаний в системе INTERNIST-I . . 115 6.2.3. Стратегия диагностирования системы INTERNIST-I 118 6.2.4. Заключение 121 6.3. Система CASNET 122 6.3.1. Представление заболевания в виде процесса ... 122 6.3.2. Представление знаний в системе CASNET . . . 123 6.3.3. Процесс постановки диагноза в системе CASNET . . 126 6.3.4. Заключение 128 7. Редуцирование больших пространств поиска путем факториза¬ ции: системы Heuristic DENDRAL и Meta-DENDRAL .... 129 7 .1 Обработка больших пространств поиска . 129 7.2 Прикладная задача . 130 190
7.3. Система Heuristic DENDRAL 134 7.3.1. Планирующая программа для системы DENDRAL 134 7.3.2. Генераторы структур в системе DENDRAL . . . 136 7.3.3. Проверяющая программа ... 137 7.3.4. Оценка системы Heuristic DENDRAL .... 138 7.4. Система Meta-DENDRAL 139 7.4.1. Назначение 139 7.4.2. Процесс порождения правил • 140 7.4.3. Заключение 143 8. Манипулирование большими пространствами поиска путем абстрагирования: системы R1 и MOLGEN 143 8.1. Уровни описаний в пространстве поиска 143 8.2. Система R1 146 8.2.1. Применение 146 8.2.2. Управляющая структура 146 8.2.3. База знаний . 148 8.2.4. Реализация 151 8.3. Заключение 152 8.4. Система MOLGEN . 153 8.4.1. Задача 153 8.4.2. Пример поиска решения системой MOLGEN 155 8.4.3. Представление знаний . 162 8.4.4. Ход рассуждений системы MOLGEN . . . 164 8.5. Заключение 165 9. Дальнейшее развитие работ в области экспертных систем 166 9.1. Автоматизация обработки выражений предикатной логики 166 9.1.1. Представление исчисления предикатов в клаузальной форме 167 9.1.2. Процедура резолюции 168 9.1.3. Пролог и программирование логики предикатов 171 9.2. Некоторые достоинства логики предикатов 177 9.3. Совершенствование экспертных систем 179 Литература . . 184
Научное издание Джим Элти, Майк Кумбс ЭКСПЕРТНЫЕ СИСТЕМЫ: КОНЦЕПЦИИ И ПРИМЕРЫ Книга одобрена па заседании секции рсдсовета по электронной обработке данных в экономике 22.11.84 г. Зав. редакцией К. В. Коробов Редактор Е. В. Крестьянинова Мл. редактор.Л. С. Шиманская Худож.' редактор Ю. И. Артюхов Техн, редактор Л. Г. Челышева Корректоры Я. Б. Островский, И. П. Елкина и Т. М. Иванова Обложка художника С. И. Валдаева ИБ № 1916 Сдано в набор 24.07.86. Подписано в печать 20.01.87. Формат 84ХЮ8‘/з2. Бум тип № 1 Гарнитура «Литера¬ турная». Печать высокая. Усл. п. л. 10,08. Усл. кр.-отт. 10,19. Уч.-изд. л. 10,31. Тираж 28 000 экз. Заказ 1924. Цена 60 коп. Издательство «Финансы и статистика», 101000, Москва, ул. Чернышевского, 7. Московская типография № 4 Союзполиграфпрома при Государственном комитете СССР по делам издательств, полиграфии и книжной торговли. 129041, Москва, Б. Переяславская, 46.