ИНСТРУМЕНТАЛЬНЫ Е СРЕДСТВА
Одно из наиболее замечательных свойств продукционных сис-
тем - возможность создания на их основе совершенно новой экс-
пертной системы путем простой замены базы знаний. В частности,
система MYCIN, предназначенная для диагностики и лечения ме-
нингита и инфекционных заболеваний, путем замены базы знаний
может быть превращена в систему PUFF, ориентированную на
диагностику и лечение заболеваний совершенно другого типа, а
именно легочных. Та часть системы, которая остается неизменной
после перепрофилирования, получила название оболочки. Она
включает в себя такие компоненты, как механизм вывода, подсис-
темы объяснения и взаимодействия на естественном языке, а так-
же рабочую память. Оболочка, полученная путем удаления базы
знаний из системы MYCIN, известна как EMYCIN.
Таблица 3.1
Характеристики некоторых продукционных систем
Область применения
Станфордский университет
Питсбургский университет
Станфордский университет
SRI International
Станфордский университет
DEC
|
Органическая масс-
спектрометрия
Диагностика внутренних
болезней
Диагностика инфекци-
онных заболеваний и
менингита
Геологическая разведка
Диагностика легочных
заболеваний
Определение
конфигурации компьютерных систем
Оболочка часто поставляется в виде самостоятельного прог-
раммою средства, которое позволяет инженеру знаний создать
специализированную базу правил и после наполнения ее эксперт-
ной информацией получить полную систему, основанную на зна-
ниях. Качество такой системы будет зависеть только от объема
базы знаний и адекватности содержащихся в ней правил. Это дает
возможность сократить время разработки системы, так как при на-
68
69
личии оболочки инженер знаний концентрирует свои усилия на
построении одной лишь базы знаний. Следует, правда, отметить,
что инженеру знаний тем самым навязывается единственная стра-
тегия вывода, которая заложена в оболочку. Однако хорошие обо-
лочки представляют собой достаточно гибкий инструментарий, пос-
кольку располагают несколькими стратегиями вывода, из которых
инженер может выбрать наиболее соответствующую специфике ре-
шаемой задачи.
Применение коммерческих оболочек весьма значительно сок-
ращает время создания систем, основанных на знаниях. В настоя-
щее время при использовании оболочек построение экспертных
систем занимает около восьми человеко-часов на правило. Некото-
рые из инструментальных средств, ориентированных на персональ-
ные компьютеры, приведены в табл. 3.2. Эволюция коммерческих
экспертных систем и инструментальных средств показана на рис.
3.7. Более полный перечень таких систем и средств содержится в
приложениях Г и Д. Во второй части книги вы сможете ознакоми-
ться с листингами программ, реализующих оболочку, а добавив
конкретную базу правил, получите полную систему, основанную
на знаниях.
Таблица 3.2
Примеры оболочек продукционного типа,
ориентированных на персональные компьютеры
типа IBM PC и Tl Professional Computer
Оболочка
| Фирм а-изготовитель
| Цена,
| Язык реа-
|
|
| дол.
| лизации
|
ES/PADVISR
| Expert Systems International
| 1895
| Пролог
|
INSIGHT
| Level 5 Research
| 95
| Паскаль
|
М.1
| Teknowledge
| 12500
| Пролог
|
PERSONAL
| Texas Instruments
| 3000
| IQLISP
|
CONSULTANT
|
|
|
|
SERIES-PC
| SRI INTERNATIONAL
| 5000
| IQLISP
|
KES
| Software A& E
| 4000
| IQLISP
|
EXPERT-2
| Mountain View Press
| 100
| Форт
|
При выборе для последующего приобретения инструменталь-
ного средства построения экспертных систем инженер знаний дол-
70
71
Оболочки экспертных систем
|
Языки программирования для задач искусственного интеллекта
|
Языки программирования общего назначения
|
Примеры: INSIGHT,
MYCIN, PROSPEKTOR
(см. приложение Е)
|
Примеры: EMYCIN, КЕЕ (см. приложение Д)
|
Примеры: Пролог, Интерлисп
|
жен быть очень внимателен. Чтобы выбор был удачным, необходи-
мо учесть все характеристики разрабатываемой с его помощью экс-
пертной системы - число правил в базе знаний, особенности интер-
фейса с пользователем, вид решаемой задачи и стратегии вывода.
Так как последняя является частью механизма вывода, тип оболо-
чки предопределяет и набор доступных стратегий вывода. Цена
оболочки - немаловажный параметр. Если вы предполагаете испо-
льзовать оболочку для разработки коммерческой системы, осно-
ванной на знаниях, которая будет продана большому количеству
потребителей, то необходимо учесть ее стоимость при определении
цены конечного продукта. В отличие от компилятора с языка про-
граммирования, затраты на который окупаются за время эксплуа-
тации, оболочка в этом смысле подобна интерпретатору, т.е. ее ко-
пию должен иметь каждый пользователь. К изложенному следует
добавить, что лучшие образцы инструментальных средств могут
эффективно применяться только после того, как будущие разрабо-
тчики пройдут соответствующий курс обучения. Стоимость обуче-
ния также следует включить в смету построения системы, основан-
ной на знаниях.
ЯЗЫКИ ПРОГРАММИРОВАНИЯ СИСТЕМ,
ОСНОВАННЫХ НА ЗНАНИЯХ
Системы, основанные на знаниях, могут быть реализованы
практически с помощью любого языка программирования, однако
наиболее известные из них были разработаны на языках, позво-
ляющих выполнять символьную обработку, таких, как Лисп и
Форт (см. гл. 6). Последние являются языками интерпретирующего
типа, что замедляет скорость выполнения программ. Поэтому в на-
стоящее время ведутся работы по созданию компиляторов для язы-
ков символьной обработки. Ожидается, что это даст новый мощный
импульс к построению экспертных систем.
Более широкими возможностями обладают языки программи-
рования, специально предназначенные для разработки систем, ос-
нованных на знаниях (рис. 3.8). Одним из таких языков является
Пролог, транслятор с которого часто пишется на Лиспе. Пролог
позволяет весьма просто создавать эти системы.
И наконец, самый высокий уровень по своим возможностям
для построения систем, основанных на знаниях, занимают оболоч-
ки. Они также часто разрабатываются на языке Лисп (или Про-
лог), и поэтому тоже работают в режиме интерпретации. Оболоч-
ки обладают меньшей гибкостью и стоят дороже по сравнению с
трансляторами языков программирования, однако их применение
сокращает время создания экспертных систем и позволяет разра-
ботчику полностью сосредоточиться на построении базы знаний.
72
Рис. 3.8. Программные средства построения систем, основанных на
знаниях
ПРОДУКЦИОННАЯ СИСТЕМА - СРЕДСТВО
МОДЕЛИРОВАНИЯ ПРОЦЕССОВ
МЫШЛЕНИЯ ЧЕЛОВЕКА
Одной из причин высокой популярности продукционных сис-
тем как моделей представления знаний является совпадение схемы
их функционирования с формой процессов мышления человека (в
том числе и эксперта) при решении задач. Долговременной памяти
человека можно поставить в соответствие базу знаний, а кратко-
временной-рабочую память или базу данных экспертной системы.
Символьные образы создаются в кратковременной памяти из поня-
тий и связей между ними. Они используются для нахождения и
выполнения продукций, хранимых в долговременной памяти. Пос-
ле срабатывания продукции ее заключение добавляется в кратко-
временную память.
. Каждый набор взаимосвязанных образов (пар атрибут-значе-
ние) из рабочей памяти представляет собой единый чанк. В крат-
ковременной памяти одновременно могут быть обработаны от че-
73
тырех до семи чанков. Память человека имеет еще одно свойство -
способность поддерживать во время решения задачи иерархические
связи между чанками. Как вы увидите в следующей главе, это мо-
жет быть сделано с помощью другой модели представления знаний,
основанной на фреймах.
Однако следует иметь в виду, что сходство между работой
продукционной системы и решением задач человеком не является
абсолютным. Действительно, человек-эксперт в своей деятельности
не только применяет известные ему правила, но и существенно
опирается на свой опыт для распознавания исключений из правил,
прибегает к аналогии, использует интуицию и индуктивный вывод.
Кроме того, база правил представляет собой всего лишь модель
знаний эксперта. По мере приближения к границе познаний экс-
перта качество его рекомендаций снижается довольно плавно, в то
время как система, основанная на знаниях, при выходе за пределы
своей области приложений оказывается просто неработоспособной.
К этому нужно добавить. что база знаний эксперта весьма динами-
чна - в ней постоянно происходит образование новых понятий, ко-
торые эксперт сопоставляет с имеющимися. При решении задач эк-
сперт обучается и по мере необходимости реорганизует свою базу
знаний. И наконец, в незнакомой ситуации эксперт всегда может
руководствоваться здравым смыслом, что недоступно даже лучшим
из компьютеров.
УПРАЖНЕНИЯ
1. Приведите какие-либо общие стратегии сужения пространства поиска,
применимые и шахматных компьютерных программах.
2. При разработке стратегии вывода на каком правиле вы остановите свой
выбор - на том, при котором у вас наибольшая вероятность потерпеть неудачу, или
на том, при котором вероятность неудачи наименьшая? Почему?
3. Сопоставьте эффективность традиционных компьютерных программ,
использующих для решения задач процедуры, логику, деревья решений, и систем,
основанных на знаниях, которые ориентированы на решение этого же класса задач.
Перечислите достоинства и недостатки систем, основанных на знаниях. Как
изменится объем базы знаний и что с. ней произойдет, если некоторые фрагменты
знаний, используемые для решения задач, окажутся неоднозначными?
4. За счет чего применение инструментальных средств упрощает процесс
построения систем, основанных на знаниях?
5. Какие доводы вы приведете при выборе инструментальных средств для
решения конкретной задачи? Какие критерии при этом будете использовать?
Глава 4
ПРЕДСТАВЛЕНИЕ ЗНАНИЙ
В предыдущей главе были рассмотрены экспертные системы,
использующие конкретный способ представления знаний, в основе
которого лежат продукции, или правила. Здесь обсуждается альтер-
нативный способ представления знаний в сопоставлении с вышеу-
помянутым. Чтобы сопоставление было более понятным, мы прове-
дем его на примере простой задачи, построив для нее фрагмент ба-
зы знаний с применением как того, так и другого способа. В каче-
стве примера приведем игру, которая называется " Отгадай живот-
ное". Этот пример может показаться тривиальным, но следует
иметь в виду, что путем замены правил на совокупность других
или увеличением их числа можно создать систему любой степени
сложности, ориентированную на решение задач из какой угодно
предметной области.
Все способы представления знаний имеют свои ограничения.
Поэтому важной проблемой, которая еще долго будет оставаться
актуальной, является разработка общей теории или метода пред-
ставления знаний произвольного вида.
ИГР А" ОТГАДАЙ ЖИВОТНОЕ"
Суть игры состоит в том, что пользователь задумывает какое-
либо животное, а компьютер, задавая вопросы, пытается отгадать
его. База знаний, необходимая для проведения игры, содержит све-
дения о признаках различных видов животных и хранится в памя-
ти компьютера, который обращается к ней для организации диало-
га с пользователем. Фрагмент типичного диалога приведен на рис.
4.1. Компьютер задает пользователю серию вопросов, а пользова-
тель может отвечать на них только словами " да" и " нет". Анали-
зируя ответы, компьютер со временем отгадывает задуманное жи-
вотное. В любой момент диалога пользователю предоставляется воз-
можность задать вопрос " почему? ", после которого компьютер вос-
производит цепочку своих рассуждений, объясняющую, почему
именно был задан тот или иной вопрос.
ПРЕДСТАВЛЕНИЕ ЗНАНИЙ В ВИДЕ ПРАВИЛ
В продукционной системе (системе, использующей при выводе
сопоставление по образцу), рассматривавшейся в предыдущей гла-
ве, мы могли бы представить необходимые для игры знания в виде
набора правил. Как известно,.правила состоят из двух частей - ан-
тецедента и консеквента. В нашем примере база знаний включает
15 правил, которые дают возможность распознавать животных се-
ми видов. На рис. 4.2 приведены сами эти правила, а на рис. 4.3
изображена сеть, иллюстрирующая связи между ними.
В процессе игры формируется также рабочая память, куда за-
носятся выявленные в процессе диалога признаки животных. В на-
чальный момент времени в рабочей памяти отсутствуют какие-ли-
бо данные о животных. Система выдвигает некоторую гипотезу о
виде животного, а затем, используя обратный вывод, пытается оп-
ределить те вопросы, которые необходимо задать для подтрержде-
ния этой гипотезы. Например:
[(Гипотеза) Задуман альбатрос!
(Требуемый вопрос) Может летать?
Являются ли следующие утверждения истинными?
(МОЖЕТ ЛЕТАТЬ)?
Да/Нет? - НЕТ
(ИМЕЕТ ПЕРЬЯ)
Да/Нет? - НЕТ
(ДАЕТ МОЛОКО)
Да/Нет? - ДА
(ЖУЕТ ЖВАЧКУ)
Да/Нет? - ДА
(ИМЕЕТ НА ТЕЛЕ ЧЕРНЫЕ ПОЛОСЫ)
Да/Нет? - ДА
Гипотеза (ЗАДУМАННОЕ ЖИВОТНОЕ - ЗЕБРА) подтвердилась
Рис 4.1. Фрагмент диалога из игры ''Отгадай животное"
Рассматривая рис. 4.1 и 4.3, легко заметить, как система
реализует обратный вывод - сначала выдвигается гипотеза, затем
ПРАВИЛО 01 ЕСЛИ животное имеет волосяной покров
ТО это животное - млекопитающее
ПРАВИЛО 02 ЕСЛИ животное дает молоко
ТО это животное - млекопитающее
ПРАВИЛО 03 ЕСЛИ животное имеет перья
ТО это животное - птица
ПРАВИЛО 04 ЕСЛИ животное может летать
И откладывает яйца
ТО это животное - птица
ПРАВИЛО 05 ЕСЛИ животное ест мясо
ТО это животное - хищник
ПРАВИЛО 06 ЕСЛИ животное имеет острые зубы
И животное имеет когти
И его глаза смотрят вперед
то это животное - хищник
ПРАВИЛО 07 ЕСЛИ животное является млекопитающим
И имеет копыта
ТО это животное - парнокопытное
ПРАВИЛО 08 ЕСЛИ животное является млекопитающим
И жует жвачку
ТО это животное - парнокопытное
ПРАВИЛО 09 ЕСЛИ животное является млекопитающим
И это животное - хищник
И это животн > е желто-коричневого цвета
И это животное имеет темные пятна
ТО МОЖНО ПРЕДПОЛОЖИТЬ, ЧТО
это животное - гепард
ПРАВИЛО 10 ЕСЛИ животное является млекопитающим
И это животное - хищник
И это животное - желто-коричневого цвета
И это животное имеет темные полосы
ТО МОЖНО ПРЕДПОЛОЖИТЬ, ЧТО
это животное - тигр
ПРАВИЛО 11 ЕСЛИ животное является парнокопытным
И имеет длинную шею
И имеет длинные ноги
И имеет черные пятна
ТО МОЖНО ПРЕДПОЛОЖИТЬ, ЧТО
это животное - жираф
ПРАВИЛО 12 ЕСЛИ животное является парнокопытным
И имеет черные полосы
ТО МОЖНО ПРЕДПОЛОЖИТЬ, ЧТО
это животное - зебра
76
77
Продолжение
ПРАВИЛО 13 ЕСЛИ животное является птицей
И не может летать
И имеет длинную шею
И имеет длинные ноги
И имеет черно-белую окраску
ТО МОЖНО ПРЕДПОЛОЖИТЬ, ЧТО
это животное - страус
ПРАВИЛО 14 ЕСЛИ животное является птицей
И не может летать
И может плавать
И имеет черно-белую окраску
ТО МОЖНО ПРЕДПОЛОЖИТЬ, ЧТО
это животное - пингвин
ПРАВИЛО 15 ЕСЛИ животное является птицей
И хорошо летает
ТО МОЖНО ПРЕДПОЛОЖИТЬ, ЧТО
это животное - альбатрос
Рис. 4.2. Продукции для игры " Отгадай животное"
отыскивается подтверждающий ее вопрос, который находится на,
самом верхнем уровне сети, после чего включается прямой вывод
от вопроса к заключению. Если, например, на первый вопрос по-
лучен ответ " да", то в рабочую память заносится факт (МОЖЕТ
ЛЕТАТЬ).
В рабочей памяти хранятся пары атрибут - значение, истин-
ность которых установлена в процессе решения конкретной задачи.
Поэтому для экономии памяти система вьдвигает предположение о
виде объекта (животного). В системах этого типа правила из базы
знаний состоят из пар атрибут-значение (А - 3), причем каждая
часть антецедента и консеквента содержит единственный атрибут и
единственное значение. Например:
Атрибут Значение
ЕСЛИ животное может летать
И животное откладывает яйца
ТО животное является птицей
В некоторых продукционных системах' каждое высказывание
состоит из атрибута, объекта и значения атрибута. В этом случае
антецеденты и консеквенты состоят из троек атрибут - объект. -
значение (А - О - 3). Так, например, база знаний системы MYCIN
включает следующее правило:
ЕСЛИ Окраска микроорганизма по Граму является грам-отри-
цательной
И Организм является бактерийной палочкой
И Микроорганизм рос в анаэробных условиях
ТО Можно определенно утверждать, что микроорганизмом
является bakteroides
-В форме троек А - О - 3 это правило будет иметь следующий
вид:
Атрибут Объект Значение
ЕСЛИ Окраска по Микроорганизм Грам-отрицательная
Граму
И Является Микроорганизм Бактерийная палочка
И Условия роста Микроорганизм Анаэробные
ТО Является Микроорганизм Bacteroides
Заметим, что в нашем случае все объекты идентичны. В сис-
темах, где все объекты идентичны, выдвинутая гипотеза также
может быть представлена в виде пары А - 3. В системе MYCIN ис-
пользование троек А - О - 3 дает, возможность рассматривать па-
циента или культуру тоже как объект. В большинстве существую-
щих продукционных систем применяются пары А - 3, что упроща-
ет процесс формирования правил.
В системах, основанных на знаниях, существует четкая грань
между следствием, или гипотезой, с одной стороны, и заключением
- с другой. Следствие, или гипотеза, носит предположительный ха-
рактер, поскольку оно получено на основании фактов, которые мо-
гут быть как истинными, так и ложными. Заключение представля-
ет собой факт, полученный путем вывода на основании фактов,
которые считаются истинными.
Например, если животное летает и откладывает яйца, то мы
можем вывести следствие (выдвинуть гипотезу), что это пингвин
(см. рис. 4.3). Но наша гипотеза нуждается в дополнительной
проверке. Однако на основании тех же фактов мы можем прийти к
истинному заключению, что отгадываемое животное - птица.
Предполагая истинность выдвинутой гипотезы, можно спросить у
пользователя, умеет ли птица плавать. Получив утвердительный
ответ, мы вправе предположить, что это пингвин. В конце концов
на каком-то шаге мы придем к заключению, что рассматриваемый
объект - определенно пингвин. Заключения заносятся в рабочую
память или базу данных. Гипотезы никогда не включаются в базу
данных, но используются при выводе.
Часто бывает необходимо включить в правила элемент неоп-
ределенности. Например, заключение упомянутого выше правила
из базы знаний системы MYCIN в действительности выполняется
только в 70% случаев. В зависимости от вида системы фактор оп-
ределенности может назначаться как антецеденту, так и консекве-
нту. Способы включения элементов неопределенности в базу зна-
78
79
80
ний и методы их обработки при выводе будут более подробно рас-
смотрены в гл. 10.
Продукции имеют по сравнению с другими классами представ-
ления знаний следующие преимущества:
* модульность;
* единообразие структуры (основные компоненты эксперт-
ной системы могут применяться для построения систем с иной про-
блемной ориентацией);
* естественность (вывод заключения в продукционной системе
во многом аналогичен процессу рассуждений эксперта);
* гибкость родовидовой иерархии понятий, которая поддержи-
ваетет только как связи между правилами (изменив правило, вы
тем самым внесете изменение и в иерархию).
Однако продукционные системы не свободны от недостатков:
* процесс вывода менее эффективен, чем в других системах,
поскольку большая часть времени при выводе затрачивается на
непроизводительную проверку применимости правил;
* этот процесс трудно поддается управлению;
* сложно представить родовидовую иерархию понятий.
Представление знаний с помощью продукций иногда называют
плоским. Реляционную базу данных также считают плоской, пос-
кольку в ней в отличие от систем представления знаний не от-
ражена в явном виде иерархия понятий, т.е. родовидовые отно-
шения между объектами из базы данных. В этом же смысле следу-
ет понимать и плоскость продукционных систем, так как в них
отсутствуют средства для установления иерархии правил. Объем
базы знаний продукционных систем растет линейно по мере вклю-
чения в нее новых фрагментов знаний, в то время как в традици-
онных алгоритмических системах, использующих деревья реше-
ний, зависимость между объемом базы знаний и количеством собс-
твенно знаний является логарифмической.
Большинство существующих коммерческих систем, основан-
ных на знаниях, - продукционные. Краткие сведения о некоторых
из них были приведены в предыдущей главе (см. рис. 3.1).
ФРЕЙМЫ
Продукционные системы, базы знаний которых насчитывают
сотни правил, отнюдь не считаются чем-то необычным. При такой
сложности системы для инженера знаний процесс обновления сос-
тава правил и контроль связей между ними становится весьма зат-
руднительным, поскольку добавляемые правила могут дублировать
имеющиеся или вступать с ними в противоречие. Для выявления
подобных фактов можно использовать программные средства, но
включение их в работу системы приводит к еще более тяжелым
последствиям - потере ею работоспособности, так как в этом слу-
чае инженер знаний теряет представление о том, как взаимодейст-
81
вуют правила. Сеть, отражающая взаимосвязи правил, в такой си-
туации похожа на схему организационной структуры федерального
правительства. Количество опосредованных родовидовых связей
между понятиями резко возрастает, и инженеру знаний трудно их
контролировать. j
Семейство
ястребиных
|
|
Мин. величина
|
|
Макс, величина
|
|
Места обитания
| ---
|
Представление знаний, основанное на фреймах, является аль-
тернативным по отношению к системам продукций: оно дает воз-
можность хранить родовидовую иерархию понятий в базе знаний в
явной форме. Фреймом называется структура для описания стере-
отипяой ситуации, состоящая из характеристик этой ситуации и
их значений, характеристики называются слотами, а значения -
заполнителями слотов. Пример типичной системы фреймов, опи-
сывающих различные классы птиц, приведен на рис. 4, 4. Слот
может содержать не только конкретное значение, но и имя проце-
дуры, позволяющей вычислить его по заданному алгоритму, а так-
же одну или несколько продукций (эвристик). с помощью которых
это значение можно найти.
Й слот может входить не одно, а несколько значений. Напри-
мер, в слоте БРАТ фрейма, описывающего больного, допускается
одновременно несколько имен. Иногда слот включает компонент,
называемый фасетом, который задает диапазон или перечень его
возможных значений. Фасет указывает также граничные значения
заполнителя слота (например, максимально допустимое число
братьев).
Домашние воробьи
|
Мин. величина
|
|
Макс, величина
|
|
Леста обитания
|
|
Окраска самца
|
|
Окраска самк>
|
|
Место гнездования
|
|
Певчая птица?
|
|
Полевые воробьи
|
Мин. величина |
|
Макс, величине
|
|
Места обитания
|
|
Окраска самца
|
|
Окраска самки
|
|
Место гнездования
|
|
Певчая птица?
|
|
Как уже отмечалось, помимо конкретного значения, в слоте
могу храниться процедуры и правила, которые вызываются при
необходимости вычисления этого значения. Можно сказать, что та-
кие процедуры, или правила, действуют как демоны (см. гл. 3),
активизируемые только по мере надобности. Если, например,
фрейм, описывающий человека, включает слоты ДАТА РОЖДЕ-
НИЯ и ВОЗРАСТ и в первом из них находится некоторое значе-
ние, то во втором слоте может стоять имя процедуры, вычисляю-
щей возраст по дате рождения и текущей дате. Процедуры, распо-
лагающиеся в слоте, называются связанными процедурами (см. гл.
10). В приведенном примере связанная процедура будет активизи-
роваться при каждом изменении текущей даты.
Совокупность фреймов, моделирующая какую-либо предмет-
ную область, представляет собой иерархическую структуру, в
которую фреймы соединяются с помощью родовидовых связей. На
верхнем уровне иерархии находится фрейм, содержащий наиболее
общую информацию, истинную для всех остальных фреймов.
Фреймы обладают способностью наследовать значения характерис-
тик своих родителей, находящихся на более высоком уровне иерар-
хии. Так, фрейм АФРИКАНСКИЙ СЛОН наследует от фрейма
СЛОН значение СЕРЫЙ характеристики ЦВЕТ. Значения харак-
теристик фреймов могут передаваться по умолчанию фреймам, на-
ходящимся ниже них в иерархии, но если последние содержат со-
82
| Птицы, обитающие на северо-западе США |
|
Ласточки
|
|
Мин. величина
|
|
Макс, величина
|
|
Места обитания
|
|
Семейство воробьиных
|
|
Мин. величина
|
|
Макс, величина
|
|
Места обитания
|
|
Мухоловки
|
|
Мин. величина
|
|
Макс, величина
|
|
Места обитания
|
|
Воробьи
|
|
Мин. величина
|
|
Макс, величина
|
|
Места обитания
|
|
Соловьи
|
|
Мин. величина
|
|
Макс, величина
|
|
Места обитания
|
|
Воробьи Харриса
|
Мин. величина
|
|
Макс, величина
|
|
Места обитания
|
|
Окраска самца
| ■
|
Окраска самки
|
|
Место гнездования
|
|
Певчая птица?
|
|
Рис. 4.4. Пример базы знаний, основанной на фреймах
Африканский слон Цвет Серый
|
Азиатский слон Цвет Коричневый
|
бственные значения данных характеристик, то в качестве истин-
ных принимаются именно они. Это обстоятельство позволяет легко
учитывать во фреймовых системах различного рода исключения; В
частности, во фрейме АЗИАТСКИЙ СЛОН значением слота ЦВЕТ
будет КОРИЧНЕВЫЙ, а не СЕРЫЙ, которое могло бы в нем на-
Рис. 4.5. Пример наследования свойств
ходиться, если бы предпочтение при выборе отдавалось не собст-
венному значению, а наследуемому от фрейма СЛОН (рис. 4.5).
Различают статические и динамические системы фреймов. В
системах первого типа фреймы не могут быть изменены в процессе
решения задачи, в системах второго типа это допустимо.
О системах программирования, основанных на фреймах го-
ворят, что они являются объектно-ориентированными, Каждый
фрейм соответствует некоторому объекту предметной области, а
слоты содержат описывающие этот объект данные, т.е. в слотах
находятся значения признаков объекта. Фрейм может быть пред-
ставлен в виде списка свойств, а если использовать средства базы
данных, то в виде записи.
Наиболее ярко достоинства фреймовых систем представления
знаний проявляются в том случае, если родовидовые связи изменя-
ются нечасто и предметная область насчитывает немного исключе-
ний. Во фреймовых системах данные о родовидовых связях хранят-
ся явно, т.е. так же. как и знания всех других типов. Значения
слотов представляются в системе в единственном экземпляре, пос-
кольку включаются только в один фрейм, описывающий наиболее
общее понятие из всех тех, которые содержат слот с данным име-
нем. Такое свойство систем фреймов дает возможность уменьшить
84
объем памяти1, необходимый для их размещения в компьютере.
Еще одно достоинство фреймов состоит в том, что значение любого
слота при необходимости может быть вычислено с помощью соот-
ветствующих процедур или найдено эвристическими методами.
Для этого инженер знаний должен заранее разработать все требуе-
мые процедуры и эвристические методы, чтобы включить их в сис-
тему на этапе ее проектирования.
Как недостаток фреймовых систем следует отметить их отно-
сительно высокую сложность, что проявляется в снижении скоро-
сти работы механизма вывода и в увеличении трудоемкости вне-
сения изменений в родовидовую иерархию. Кроме того, во фреймо-
вых системах затруднена обработка исключений Например, не
ясно, как представить в базе знаний игры " Отгадай животное"
сведения о гепарде-альбиносе.
В настоящее время имеется лишь небольшое число экспертных
систем, где для представления знаний служат фреймы. Самая по-
пулярная среди них - система КЕЕ, созданная компанией Inteili-
согр. Программное обеспечение этой системы выполнено на языке
Лисп и требует применения специальной аппаратуры. Стоимость
самих программ равна приблизительно 60000 дол., а к ней еще
нужно добавить стоимость Лисп-машины, на которой они выполня-
ются, т.е. еще 50000 - 100000 дол. Стоимость же полного ком-
плекта системы составляет не менее 250000 дол.
ПРЕДСТАВЛЕНИЕ ЗНАНИЙ В ВИДЕ
СЕМАНТИЧЕСКОЙ СЕТИ
Семантические сети, по мнению специалистов, - наиболее об-
щий способ представления знаний, причем они появились, по-ви-
димому, ранее других. Семантическая сеть отображает совокуп-
ность объектов предметной области и отношений между ними, при
этом объектам соответствуют вершины (или узлы) сети, а отноше-
ниям - соединяющие их дуги. Так, семантическая сеть, которая
представляет факты " Альбатрос является птицей" и " Птица летает
и имеет перья", приведена в верхней части рис. 4.6.
В семантическую сеть включаются только те объекты предмет-
ной области, которые необходимы для решения прикладных задач.
В качестве объектов могут выступать события, действия, обобщен-
ные понятия (например, хищники) или свойства объектов (напри-
мер, " имеет перья", " может летать" ).. Свойства представляются в
сети также в виде вершин и служат для описания классов объек-
тов.
Однако основным назначением родовидовой иерархии является все же не
экономия памяти, а представление в базе знаний семантических снязей,
существующих между понятиями предметной области. - Примеч. перс е.
85
Рис. 4.6. Пример семантической сети
Вершины сети соединяются дугой, если соответствующие объ-
екты предметной области находятся в каком-либо отношении. Наи-
более распространенными являются следующие типы отношений:
* БЫТЬ_ЭЛЕМЕНТОМ_КЛАССА (ЯВЛЯТЬСЯ) - означает,
что объект входит в состав данного класса, например альбатрос
является птицей;
86
* ИМЕТЬ - позволяет задавать свойства объектов, например
жираф имеет длинную шею;
* ЯВЛЯТЬСЯ_СЛЕДСТВИЕМ - отражает причино - следст-
венные связи, например низкое содержание альбумина в крови
является следствием нарушения работы печени (рис. 4.7);
*ИМЕТЬ_ЗНАЧЕНИЕ - задает значения свойств объектов,
например пациент может иметь двух братьев (рис. 4.8).
Как и в системе, основанной на фреймах, в семантической
сети могут быть представлены родовидовые отношения, которые
позволяют реализовать наследование свойств от объектов-родите-
лей это обстоятельство приводит к тому, что семантические сети
приобоетают все недостатки и достоинства представления знаний в
виде фреймов. Основной недостаток сетей - сложность обработки
исключений.
ПРЕДСТАВЛЕНИЕ ЗНАНИЙ СРЕДСТВАМИ
ЛОГИКИ ПЕРВОГО ПОРЯДКА
Четвертый способ представления знаний реализуется средства-
ми логики предикатов. Это один из наиболее важных способов,
рассматриваемых в книге, поскольку он составляет базис языка
Пролог, который будет обсуждаться в гл. 10.
В основе такого представления лежит язык математической
логики, позволяющий формально описывать понятия предметной
области и связи между ними. В естественном языке существуют
грамматические правила, которые задают его синтаксис. Эти пра-
вила никак не связаны со значением слов, т.е. с семантикой языка.
Основными компонентами естественного языка являются слова
(существительные, глаголы, предлоги, наречия, прилагательные),
предложения и контексты. Правила языка задают порядок следова-
ния слов в предложениях.
Точно так же язык, предназначенный для формализации зна-
ний, должен иметь собственный синтаксис и располагать средст-
вами для выражения связей между объектами реального мира.
Указанным требованиям отвечают два языка математической логи-
ки: логика высказываний и исчисление предикатов, или логика
первого порядка. Оба эти языка были разработаны задолго до по-
явления компьютеров. Прежде чем перейти к практическому при-
менению логики для представления знаний, введем ее некоторые
понятия.
Основные понятия логики предикатов
Предикатом называется функция, принимающая только два
значения - истина и ложь - и предназначенная для выражения
свойств объектов или связей между ними. Выражение, в котором
87
Низкое
содержание
альбумина в
крови
|
Рис. 4.7. Пример отношения ЯВЛЯТЬСЯ_СЛЕДСТВИЕМ
утверждается или отрицается наличие каких-либо свойств у объ-
екта. называется высказыванием. Констан т ы служат для имено-
.вания объектов предметной области. Логические предложения или
высказывания образуют атомарные формулы. Интерпретация
предикат а - это множество всех допустимых связываний перемен-
ных с константами. Связывание представляет собой подстановку
констант вместо переменных. Предикат считается общезначимым,
если он истинен на всех возможных интерпретациях. Говорят, что
высказывание логически следует из заданных посылок, если оно
истинно всегда, когда истинны посылки. Рассмотрим, например,
утверждение:
ЕСЛИ Животное имеет перья
И Откладывает яйца
ТО Это животное - птица
Здесь высказывание " это животное - птица" логически следу-
ет из двух других высказываний. Заключение данного утверждения
истинно всегда, когда истинны обе посылки. Правила вывода назы-
ваются непротиворечивыми, если их заключения логически следу-
ют из посылок. Совокупность правил вывода, позволяющих вывес-
ти все высказывания, которые логически следуют из посылок, яв-
ляется полной. База знаний считается полной, если любое выска-
зывание, истинность которого вытекает из содержащихся в ней
сведений, может быть получено с помощью логического вывода.
Исчисление предикатов с кванторами
(логика предикатов)
Наиболее простым языком логики является исчисление выска-
зываний, в котором отсутствуют переменные. Любому высказыва-
нию можно приписать значение истинно или ложно. Отдельные
высказывания могут соединяться связками Й, ИЛИ, НЕ, которые
называются булевыми операторами. Основу исчисления высказы-
ваний составляют правила образования сложных высказывании из
Рис. 4.8. Пример отношения ИМЕТЬ_ЗНАЧЕНИЕ
атомарных. В качестве примеров сложных (составных) высказыва-
ний можно привести следующие:
X - ИСТИННО и Y - ЛОЖНО,
X и Y ЛОЖНО,
X или Y ИСТИННО
Здесь переменные обозначают логические высказывания, т.е.
высказывания, о которых можно сказать, что они истинны или
ложны. Логические операторы имеются в большинстве языкок про-
граммирования, в такие, например, как Бейсик, Си, Паскаль.
Однако исчисление высказываний - недостаточно выразительное
средство для обработки знаний, поскольку в нем не могут быть
88
89
представлены предложения, включающие переменные с кванто-
рами.
Исчисление предикатов с кванторами (логика предикатов)
является расширением исчисления высказываний, в котором для
выражения отношений между объектами предметной области могут
использоваться предложения, включающие не только константы,
но и переменные.