
2488
.pdfобразом решена посредством манипуляции с символами, а не с числами; имеет эвристическую природу, т.е. не может быть решена гарантированно с помощью некоторых формальных процедур; должна быть достаточно сложной, чтобы оправдать затраты, но не чрезмерно сложной; должна быть достаточно узкой, но практически значимой.
1.4.2. Характеристики ЭС и составляющие компоненты
Основными характеристиками ЭС являются:
накопление и организация знаний – одна из самых важных характеристик ЭС;
знания – основа ЭС, они являются явными и доступными, что отличает эти системы от большинства традиционных программ;
ЭС применяет для решения проблем высококачественный опыт квалифицированных экспертов, ведущие специалисты уходят, но их опыт остается и используется в ЭС, именно этот опыт в сочетании с умением его применять делает систему рентабельной;
наличие прогностических способностей, ЭС может объяснить каким образом новая ситуация привела к изменениям;
ЭС можно использовать для обучения и тренировки.
Три главных компонента, которые содержатся в каждой ЭС: БЗ, механизм вывода и пользовательский интерфейс.
База знаний содержит знания, необходимые для понимания, формулирования и решения задач. Она включает два основных элемента: факты, такие как проблемная ситуация и теоретические знания о проблемной области, и специальные эвристики – правила, которые направляют использование знаний при решении специфических задач в отдельной области. Эвристики выражают неформальные знания, мнения и суждения в прикладной области. Глобальные стратегии, которые могут быть как эвристиками, так и частью теории проблемной области, обычно включаются в БЗ. Знания, а не просто факты, являются первоначальным необработанным материалом экспертных систем. Информация и знания в БЗ представлены и включены в компьютерную программу путем реализации процесса, называемого представлением знаний.
Механизм вывода, тесно связанный с БЗ, содержит стандартные
51
правила решения задач и принятия решений, его называют управляющей структурой или интерпретатором правил (в ЭС, основанных на правилах). Эта компонента является в основном компьютерной программой, которая обеспечивает методологию для рассуждения об информации в БЗ и в рабочей области, а также для формулирования заключений. Она обеспечивает указания о том, как использовать знания системы при реализации агенды (расписания запланированных действий в рабочей области), которая организует и управляет шагами, предпринимаемыми для решения задачи.
Механизм вывода имеет два главных элемента:
-интерпретатор, который выполняет выбранные позиции агенды, используя соответствующие правила БЗ;
-планировщик, который поддерживает управление агендой и оценивает результаты используемых правил вывода в свете их приоритетов или других критериев в агенде.
Пользовательский интерфейс. ЭС содержат языковой процес-
сор для дружественного, проблемно-ориентированного общения между пользователем и компьютером. Общение наилучшим образом выполняется на естественном языке. Иногда оно дополняется меню и графикой.
Кроме обязательных компонент ЭС могут содержать также:
подсистему извлечения знаний;
рабочую область;
подсистему объяснения;
подсистему верификации знаний.
Извлечение знаний представляет собой накопление, передачу и преобразование экспертиз решения задачи от экспертов или документированных источников знаний компьютерной программой для конструирования или расширения БЗ. Потенциальные источники знаний включают экспертов, учебники, справочники, мультимедийные документы, базы данных (общественные или частные), специальные исследовательские отчеты и информацию, доступную через Интернет.
Извлечение знаний из экспертов является сложной задачей, которая требует от инженера знаний способности взаимодействовать с одним или более людьми-экспертами при построении БЗ. Инженер знаний помогает эксперту структурировать проблемную область путем интерпретации и объединения ответов человека на вопросы, проводя аналогии, предлагая контрпримеры и выявляя концептуальные труд-
52
ности.
Рабочая область – это область, расположенная отдельно для описания текущей задачи, как определено входными данными. Она также используется для запоминания промежуточных результатов. В рабочей области запоминаются промежуточные гипотезы и решения.
Могут быть запомнены три типа решений: план (как атаковать задачу), агенда (потенциальные действия, ожидающие выполнения) и решение (гипотезы-кандидаты и альтернативные направления действий, которые система сгенерировала до сих пор).
Подсистема объяснения. Способность отслеживать ответственность и соответствие заключений их источникам является решающей и при проведении экспертизы, и при решении задачи. Подсистема объяснения может отслеживать такую ответственность и объяснять поведение экспертной системы, интерактивно отвечая на вопросы.
Подсистема верификации и совершенствования знаний. Экс-
перты обладают способностями верифицировать и совершенствовать знания. То есть они могут анализировать свои собственные знания и их использование, обучаться от них и улучшать их для будущих консультаций. Аналогично такая эволюция необходима в компьютеризованном обучении, чтобы программа могла анализировать рассуждения под углом их успеха или неудачи. Это может привести к улучшениям, как результат, к более точным БЗ и более эффективному рассуждению. Такой составляющей в настоящее время пока нет в коммерческих ЭС, но она разрабатывается в экспериментальных ЭС.
1.4.3. Типы экспертных систем по классам решаемых задач
ЭС могут быть классифицированы несколькими путями. Одним из них является классификация по основным проблемным областям, на которые они ориентированы. При этом проблемные области определяются основными классами задач, эффективно решаемыми методами ЭС. Например, диагностика может быть определена как «выявление неисправностей системы через наблюдения». Диагностика является общей по своей сути деятельностью, совершаемой в медицине, организационных исследованиях, компьютерных операциях, контроле за оборудованием. Основные классы задач, для решения которых создаются экспертные системы, перечислены в табл. 2.
53
|
Таблица 2 |
|
Основные классы решения задач, решаемые ЭС |
||
|
|
|
Класс |
На решение какой задачи направлена |
|
Интерпретация |
Выявление описаний ситуации из наблюдений |
|
|
|
|
Предсказание |
Выявление похожих последствий в данной ситуации |
|
Диагностика |
Выявление неисправности системы через наблюдения |
|
Проектирование |
Конфигурирование и разработка объектов, удовлетво- |
|
ряющих определенным требованиям |
|
|
Планирование |
Разработка планов для достижения целей |
|
Мониторинг |
Сравнение наблюдений с планами, сигнализирующее об |
|
отклонениях и исключениях |
|
|
|
|
|
Отладка |
Выявление и устранение неисправностей |
|
Управление |
Интерпретирование, предсказывание восстановления и |
|
мониторинг поведения системы |
|
|
|
|
Некоторые ЭС принадлежат к двум или более из этих категорий. Системы интерпретации выявляют описания ситуации из наблюдений. Эта категория включает наблюдения, понимание речи, анализ образов, интерпретацию сигналов и многие другие виды интеллектуального анализа. Система интерпретации объясняет наблюдаемые данные путем присвоения им символических значений, опи-
сывающих ситуацию.
Системы предсказания включают прогнозирование погоды, демографические предсказания, экономическое прогнозирование, оценки урожайности, а также военное, маркетинговое и финансовое прогнозирование.
Системы диагностики включают диагностику в медицине, электронике, механике и программном обеспечении. Диагностирующие системы обычно соотносят наблюдаемые поведенческие отклонения с причинами, лежащими в их основе.
Системы проектирования разрабатывают конфигурации объектов, которые удовлетворяют определенным требованиям задачи проектирования. Такие задачи включают конструирование зданий, планировку расположения оборудования и др. Эти системы конструируют различные взаимосвязи описаний объектов друг с другом и проверяют, удовлетворяют ли эти конфигурации установленным ограничениям и требованиям.
54
Системы планирования специализируются на задачах планирования, например такой, как автоматическое программирование. Они также работают с кратко и долгосрочным планированием в управлении проектами, маршрутизацией, коммуникацией, разработкой продукта, военными приложениями, производственным и финансовым планированием.
Системы мониторинга сравнивают наблюдения поведения системы со стандартами, которые представляются определяющими для достижения цели. Выявленные отклонения соответствуют потенциальным недостаткам на предприятии. Существует много компьютерных систем мониторинга: от контроля движения воздушных потоков до задач управления сбором налогов.
Системы управления и контроля адаптивно управляют всеоб-
щим поведением системы. Для осуществления этого система управления должна периодически интерпретировать текущую ситуацию, предсказывать будущее, диагностировать причины ожидаемых проблем, формулировать план устранения этих проблем и осуществлять мониторинг его выполнения для обеспечения успеха.
Рассмотренные классы задач решаются в различных предметных областях. Области применения существующих на сегодняшний день ЭС охватывают: медицину, геологию, научные исследования в области химии и биологии, военное дело, инженерное дело, космическую технику, метеорологию, экологию, производство, управление процессами, юриспруденцию, маркетинг, финансы, банковское дело и др.
Сегодня ЭС используются многими большими и средними организациями как главный инструмент для улучшения производительности и качества. Они являются также важным инструментом для поддержания стратегических решений и реинжиниринга бизнеспроцессов.
1.4.4.Этапы создания экспертных систем
Впроцессе проектирования экспертных систем выделяются следующие этапы.
Определение участников и их ролей в процессе создания и эксплуатации экспертной системы. В процессе создания экспертной сис-
55
темы могут участвовать следующие специалисты: инженеры по знаниям, эксперты, программисты, руководитель проекта, заказчики (конечные пользователи). Роль инженера по знаниям – извлечение профессиональных знаний из экспертов и проектирование базы знаний экспертной системы и ее архитектуры. Программист необходим при разработке специализированного для данной экспертной системы программного обеспечения, когда подходящего стандартного (например, оболочки для создания экспертных систем) не существует или его возможностей недостаточно и требуются дополнительные модули. В процессе эксплуатации могут принимать участие конечные пользователи, эксперты, администратор.
Идентификация проблемы. На этом этапе разработчики должны ответить на ряд вопросов, определяющих особенности решаемых экспертами, а следовательно, будущей экспертной системой, задач. Эти особенности определят и особенности архитектуры экспертной системы, формируемой на последующих этапах. К этим вопросам относятся следующие:
–какой класс задач должна решать ЭС;
–как эти задачи могут быть охарактеризованы или определены;
–какие можно выделить подзадачи;
–какие исходные данные должны использоваться для решения;
–какие понятия и взаимосвязи между ними используются при решении задачи экспертами;
–какой вид имеет решение и какие концепции используются в
нем;
–какие аспекты опытаэксперта существенны для решения задачи;
–какова природа и объем знаний, необходимых для решения за-
дачи;
–какие препятствия встречаются при решении задач;
–как эти помехи могут влиять на решение задачи.
Определение необходимых ресурсов – временных, людских,
материальных.
Определение целей. В качестве целей, преследуемых при создании экспертных систем, могут быть: повышение скорости принятия решения, повышение качества решений, тиражирование опыта экспертов и т.п.
Концептуализация. На этом этапе разработчики должны ответить на следующие вопросы:
какие типы данных нужно использовать;
56
что из данных задано, а что должно быть выведено;
имеют ли подзадачи наименования;
имеют ли стратегии наименования;
имеются ли ясные частичные гипотезы, которые широко используются.
Формализация. На этом этапе разработчики имеют дело с описанием (формализацией) пространства гипотез, моделей процессов и характеристик данных. Чтобы понять структуру пространства гипотез, необходимо формализовать концепции и определить, как они связываются между собой, образуя гипотезы. При этом надо ответить, например, на следующие вопросы:
- стоит ли описывать концепции как структурированные объекты или рассматривать их как простые понятия;
- являются ли причинно-следственные связи между концепциями важными и следует ли представлять их в явном виде;
- конечно или бесконечно пространство гипотез; - состоит ли пространство гипотез из заранее определенных клас-
сов или должно генерироваться из концепций по некоторой процедуре;
- полезно или нет рассматривать гипотезы в иерархическом виде; - присутствует ли неопределенность в каком-либо виде в конеч-
ных или промежуточных гипотезах; - следует ли использовать разные уровни абстракции?
Для понимания природы данных необходимо выяснить:
- являются ли данные редкими и недостаточными или обильными
иизбыточными;
-имеется ли неопределенность в данных;
-зависит ли логическая интерпретация данных от порядка их появления во времени;
-какова стоимость приобретения данных;
-как данные приобретаются или извлекаются, какие вопросы надо задать, чтобы получить данные;
-как некоторые характеристики данных можно получить на основе обработки непрерывного потока данных: текста на естественном языке, рисунков, графиков;
-являются ли данные надежными, точными, однозначными или они ненадежны, неточны, неоднозначны (размыты);
-являются ли данные непротиворечивыми и понятными для решения поставленных задач?
57
Результатом этого этапа является выбор инструментальных средств для реализации экспертной системы и формализация базы знаний в терминах методов представления, поддерживаемых в них.
Демонстрационный вариант предназначен для демонстрации возможностей будущей экспертной системы, основных архитектурных решений, пользовательского интерфейса, для уточнения требований к пользовательскому интерфейсу и функциям, выполняемым экспертной системой. Содержит демонстрационную, далеко не полную базу знаний.
Исследовательский вариант предназначен для исследования направлений дальнейшего совершенствования экспертной системы и для пополнения базы знаний. Может использоваться для решения реальных задач в ограниченных пределах.
Промышленный вариант предназначен для использования, как правило, в организации, где был разработан, в нем возможны ограничения, условности, специализация, свойственные для данной организации.
Коммерческий вариант предназначен для широкого распространения, обладает гибкостью, удобством в эксплуатации, адаптируемостью к конкретным задачам и требованиям пользователя.
Жизненный цикл экспертной системы состоит из этапов разработки и сопровождения. На этапе разработки создается программное обеспечение и база знаний экспертной системы, на этапе сопровождения происходит исправление выявленных ошибок и пополнение базы знаний без участия разработчиков (если последнее допускается архитектурой экспертной системы).
Применение экспертной системы с базой знаний, не изменяемой в процессе эксплуатации, возможно при достаточно стабильной в течение длительного времени предметной области, в которой решаются задачи. Примерами таких предметных областей являются разделы математического анализа, описание правил диагностики различных заболеваний.
Примерами областей применения, требующих гибкости со стороны создания и пополнения базы знаний, являются планирование производства, проектирование и диагностика в области электроники, вычислительной техники и машиностроения.
58
1.5. Инструментальные средства проектирования интеллектуальных систем
1.5.1. Специализированный язык LISP
Одним из самых популярных языков программирования в системах ИИ является язык LISP. Этот язык был создан в 60-х годах американским ученым Дж. Маккарти и его учениками. На сегодняшний день существует около 20 диалектов этого языка. Наиболее извест-
ными являются INTERLISP, FRANZLISP, QLISP, COMMONLISP. На языке LISP написаны многие экспертные системы (MYCIN, INTERNIST, KEE и др.), системы естественно-языкового общения (MARGIE, SHRDLU, ДИЛОС и др.), интеллектуальные операционные системы (FLEX).
Популярность языка LISP в первую очередь объясняется тем, что он с помощью довольно простых конструкций позволяет писать сложные и изящные системы обработки символьной информации. К сожалению, почти все существующие LISP-системы имеют низкую вычислительную эффективность. Именно это не дает возможность языку LISP выйти за рамки «академических» экспериментальных систем. Однако бурное повышение производительности современных компьютеров, а также разработка LISP-машин типа С/330, SYMBOLICS и т.д. вселяют оптимизм в отношении будущего языка.
Язык LISP имеет очень простой синтаксис, поскольку возможны только две его конструкции: атом и список.
Атом – элементарная конструкция языка LISP, характеризуемая своим именем и значением. В некоторых LISP-системах с атомом связывается также определенный список свойств. Примерами атомов могут служить: А, В, А1, ВРЕМЯ ВЫЛЕТА, ВЫПУСК, АИ-93 и т.д.
Список – конструкция LISP, состоящая из множества атомов и подсписков. В LISP принята скобочная нотация описания списков. Примеры списков: (А1, А2,…,АК), (А, В) (ВРЕМЯ ВЫЛЕТА, 15_40) (ВЫПУСК АИ-93).
Существенной особенностью языка LISP является то, что здесь «данные» и «программы» внешне ничем не отличаются друг от друга. Это дает возможность писать на LISP «программы», манипулирующие не только данными, но и «программами». Именно данное свойст-
59
во позволяет LISP стать изящным средством программирования систем ИИ. Понятия «данные» и «программа» в LISP не используются, их заменяют такие понятия, как «выражение» и «функция».
LISP – функциональный язык. Все процедуры обработки информации оформляются в виде функций. Благодаря стандартному набору системных функций, LISP может быть «расширен» за счет пользовательских функций. Системные функции делятся на арифметические, списковые функции, функции ввода-вывода, предикаты и др.
LISP – это рекурсивный язык, т.е. обеспечивает возможность определения функций с помощью самих себя.
Рекурсивность LISP удобна при решении очень популярной в искусственном интеллекте задачи «поиска по дереву», которая является довольно обобщенной и охватывает широкий класс конкретных задач, начиная от шахматных и кончая задачами «принятия решений» или управления сложными объектами. В каждом конкретном случае вер- шины-дуги будут иметь свою семантику. Например, при решении шахматной задачи вершинам могут соответствовать возможные позиции, а дугам – те или иные ходы, приводящие к этим позициям. Последовательность ходов, обязательно приводящих к «выигранной» позиции, и будет решением данной задачи. Древовидная структура очень часто имеет также и сценарий диалога человека с ЭВМ. В этом случае с вершинами соотносятся состояния (шаги) диалога, а с дугами – возможные переходы из одного состояния в другое.
1.5.2. Фрейм-ориентированный язык FRL
Одним из известных языков представления знаний является язык
FRL (Frame Representation Language), относящийся к классу фрейм-
ориентированных. Основная единица знания в таких языках – фрейм, представляющий собой информационную модель (или описание) некоторой стереотипной ситуации. Фрейм в FRL – это совокупность поименованных, ассоциативных списков, содержащая до пяти уровней подструктур. Подструктурами фреймов могут быть слоты, аспекты, данные, комментарии и сообщения. Основной структурной единицей во фрейме являются слоты, отражающие взаимосвязи между понятиями предметной области. Слот характеризуется своим именем и значением. Имена слотов назначаются проектировщиками БЗ. Однако FRL имеет также и зарезервированные имена слотов: АКО, INSTANSE, CLAS SIFICATON. В качестве значения слотов могут вы-
60