Экспертные системы
Назначение экспертных
систем
Экспертная система — компьютерная программа,
способная частично заменить специалиста-эксперта
в разрешении проблемной ситуации. ЭС
начали разрабатываться исследователями
искусственного интеллекта в 1970-х годах,
а в 1980-х получили коммерческое подкрепление.
Важность экспертных систем
состоит в следующем:
1)В расширении круга практически значимых
задач, решение которых приносит значительный
экономический эффект;
2)В решении глобальных проблем традиционного
программирования: длительность и высокая
стоимость разработки сложных приложений;
высокая стоимость сопровождения сложных
систем и низкий уровень повторной используемости
программ и т.п.
ЭС предназначены неформализованных
задач. Неформализованные задачи
обычно обладают следующими особенностями:
1)Ошибочностью, неоднозначностью,
неполнотой и противоречивостью исходных
данных или знаний о проблемной области
и решаемой задаче; 2)Большой размерностью
пространства решения, т.е. перебор при
поиске решения весьма велик; 3)Динамически изменяющимися
данными и знаниями.
Специалисты считают, что неформализованные
задачи являются наиболее массовым классом
задач, решаемых ЭВМ. Экспертные системы
и системы искусственного интеллекта
в основном используют символьный (а не
числовой) способ представления и вывода
и эвристический поиск решения.
Экспертные системы применяются
для решения только трудных практических
задач. По качеству и эффективности решения
они не уступают решениям эксперта-человека.
Решения экспертных систем обладают "прозрачностью",
т.е. могут быть объяснены пользователю
на качественном уровне. Экспертные системы
способны пополнять свои знания в ходе
взаимодействия с экспертом.
В настоящее время технология экспертных
систем используется для решения различных
типов задач (диагностика, планирование,
конструирование, контроль, отладка, управление)
в самых разнообразных проблемных областях
(финансы, энергетика, транспорт, фармацевтическое
производство, космос, металлургия, химия,
образование, телекоммуникации и связь
и др.).
Причины, приведшие СИИ к коммерческому
успеху:
1)Интегрированность. Разработаны инструментальные средства
искусственного интеллекта (ИС ИИ), легко
интернирующиеся с другими информационными
технологиями и средствами (с CASE, СУБД,
контроллерами, концентраторами данных
и т.п.).
2)Открытость и переносимость
инструментальных средств искусственного
интеллекта.
3)Использование языков традиционного
программирования и рабочих станций,
увеличивших круг приложений. Переход
от ИС ИИ, реализованных на языках ИИ (Lisp,
Prolog и т.п.), к традиционным языкам программирования
(С, C++ и т.п.), упростил обеспечение интегрированности,
снизил требования приложений ИИ к быстродействию
ЭВМ и объемам оперативной памяти. 4)Использование архитектуры клиент-сервер
для распределенных вычислений ИС ИИ,
позволившей снизить стоимость оборудования,
децентрализовать приложения, повысить
надежность и общую производительность
(так как сокращается количество информации,
пересылаемой между ЭВМ, и каждый модуль
приложения выполняется на адекватном
ему оборудовании). 5)Проблемно/предметно-ориентированные
ИС ИИ. Переход обеспечивает: сокращение
сроков разработки приложений; увеличение
эффективности использования ИС; упрощение
и ускорение работы эксперта; повторную
используемость информационного и программного
обеспечения (объекты, классы, правила,
процедуры).
Структура экспертных систем
Статическая ЭС используются в тех приложениях,
где можно не учитывать изменения окружающего
мира, происходящие за время решения задачи.
Она состоит из основных компонентов (рис. 1.):
1)Базы данных (рабочей памяти) предназначенной
для хранения исходных и промежуточных
данных решаемой в текущий момент задачи.
2)Базы знаний (БЗ) предназначенной для
хранения долгосрочных данных, описывающих
рассматриваемую область, и правил, описывающих
целесообразные преобразования данных
этой области. 3)Решателя (интерпретатора),
использующего исходные данные из рабочей
памяти и знания из БЗ для формирования
последовательности правил, необходимых
для примененными к исходным данным с
целью получения решения задачи. 4)Компоненты приобретения
знаний, автоматизирующей процесс наполнения
ЭС знаниями с помощью пользователя-эксперта. 5)Объяснительной компоненты,
объясняющей как система получила решение
задачи (или почему она не получила) и какие
знания она при этом использовала, что
облегчает эксперту тестирование системы
и повышает доверие пользователя к полученному
результату. 6)Диалоговой компоненты,
ориентированной на организацию дружественного
общения с пользователем как в ходе решения
задач, так и в процессе приобретения знаний
и объяснения результатов работы.
В разработке ЭС участвуют:
1)Эксперт в проблемной области, задачи
которого будет решать ЭС. Он определяет
знания (данные и правила), характеризующие
проблемную область, обеспечивает полноту
и правильность введенных в ЭС знаний. 2)Инженер по знаниям - специалист
по разработке ЭС. Он помогает эксперту
выявить и структурировать знания, необходимые
для работы ЭС; осуществляет выбор того
ИС, которое наиболее подходит для данной
проблемной области, и определяет способ
представления знаний в этом ИС; выделяет
и программирует (традиционными средствами)
стандартные функции (типичные для данной
проблемной области), которые будут использоваться
в правилах, вводимых экспертом. 3)Программист по разработке
инструментальных средств (ИС) и их сопряжению
с той средой, в которой они будут использованы.
Необходимо отметить, что отсутствие
среди участников разработки инженеров
по знаниям (т. е. их замена программистами)
либо приводит к неудаче процесс
создания ЭС, либо значительно удлиняет
его.
Экспертная система работает
в двух режимах: режиме приобретения знаний и в режиме
решения задачи (в режиме консультации
или использования ЭС).
В режиме приобретения знаний общение
с ЭС осуществляет (через посредничество
инженера по знаниям) эксперт. В этом
режиме эксперт, используя компонент
приобретения знаний, наполняет систему
знаниями, которые позволяют ЭС в
режиме решения самостоятельно решать
задачи из проблемной области. Эксперт
описывает проблемную область в виде совокупности
данных и правил. Данные определяют объекты,
их характеристики и значения, существующие
в области экспертизы. Правила определяют
способы манипулирования с данными, характерные
для рассматриваемой области.
В режиме консультации общение с
ЭС осуществляет конечный пользователь,
которого интересует результат и (или)
способ его получения. В режиме консультации
данные о задаче пользователя после обработки
их диалоговым компонентом поступают
в рабочую память. Решатель на основе входных
данных из рабочей памяти, общих данных
о проблемной области и правил из БЗ формирует
решение задачи. ЭС при решении задачи
предварительно формирует предписанную
последовательность операций, которую
затем исполняет.
На рис. 1.2 показана архитектура
динамической ЭС, в которой дополнительно
вводятся два компонента: Подсистема моделирования
внешнего мира и подсистема связи с внешним
окружением, осуществляемая через
систему датчиков и контроллеров. Кроме
того, традиционные компоненты статической
ЭС (база знаний и машина вывода) претерпевают
существенные изменения, чтобы отразить
временную логику происходящих в реальном
мире событий.
Этапы разработки экспертных
систем
Чтобы разработка ЭС была возможной
для данного приложения, необходимо
одновременное выполнение требований: 1)Существуют эксперты
в данной области, которые решают задачу
значительно лучше, чем начинающие специалисты; 2)Эксперты сходятся в оценке
предлагаемого решения; 3)Эксперты способны вербализовать
(выразить на естественном языке) и объяснить
используемые ими методы; 4)Решение задачи требует
только рассуждений, а не действий; 5)Задача не должна быть
слишком трудной; 6)Задача должна относиться
к достаточно "понятной" и структурированной
области, т.е. должны быть выделены основные
понятия, отношения и известные (хотя бы
эксперту) способы получения решения задачи; 7)Решение задачи должно
использовать широкий спектр общих сведений
о мире и о способе его функционирования,
которые знает и умеет использовать любой
нормальный человек.
Применение ЭС может быть оправдано
одним из следующих факторов: 1)Решение задачи принесет
значительный эффект, например экономический; 2)Использование человека-эксперта
невозможно либо из-за недостаточного
количества экспертов, либо из-за необходимости
выполнять экспертизу одновременно в
различных местах; 3)Если при передаче информации
эксперту происходит недопустимая потеря
времени или информации; 4)Если необходимости решать
задачу в окружении, враждебном для человека.
Приложение соответствует методам
ЭС, если решаемая задача обладает совокупностью
следующих характеристик: 1)Задача может быть естественным
образом решена посредством манипуляции
с символами (т.е. с помощью символических
рассуждений), а не манипуляций с числами,
как принято в математических методах; 2)Задача должна иметь эвристическую,
а не алгоритмическую природу, т.е. ее решение
должно требовать применения эвристических
правил. 3)Задача должна быть достаточно
сложна, чтобы оправдать затраты на разработку
ЭС. 4) задача должна быть достаточно
узкой, чтобы решаться методами ЭС, и практически
значимой.
Разработчики на начальном этапе создают
прототип (прототипы) ЭС. Прототипы должны
удовлетворять двум противоречивым требованиям:
1)Они должны решать типичные задачи конкретного
приложения; 2)Время и трудоемкость их
разработки должны быть весьма незначительны,
чтобы можно было максимально запараллелить
процесс накопления и отладки знаний (осуществляемый
экспертом) с процессом выбора (разработки)
программных средств (осуществляемым
инженером по знаниям и программистом).
Для удовлетворения указанным требованиям,
как правило, при создании прототипа используются
разнообразные средства, ускоряющие процесс
проектирования.
Прототип должен продемонстрировать
пригодность методов инженерии
знаний для данного приложения. В
случае успеха эксперт с помощью
инженера по знаниям расширяет знания
прототипа о проблемной области.
При неудаче может потребоваться
разработка нового прототипа или
разработчики могут прийти к выводу
о непригодности методов ЭС для
данного приложения. По мере увеличения
знаний прототип может достигнуть такого
состояния, когда он успешно решает
все задачи данного приложения. Преобразование
прототипа ЭС в конечный продукт
обычно приводит к перепрограммированию
ЭС на языках низкого уровня, обеспечивающих
как увеличение быстродействия ЭС,
так и уменьшение требуемой памяти.
Трудоемкость и время создания ЭС
в значительной степени зависят
от типа используемого инструментария.
Технология разработки ЭС, включающая
шесть следующих этапов (рис. 1.4): 1)На этапе идентификации
определяются задачи, которые подлежат
решению, выявляются цели разработки,
определяются эксперты и типы пользователей. 2)На этапе концептуализации
проводится содержательный анализ проблемной
области, выявляются используемые понятия
и их взаимосвязи, определяются методы
решения задач. 3)На этапе формализации
выбираются ИС и определяются способы
представления всех видов знаний, формализуются
основные понятия, определяются способы
интерпретации знаний, моделируется работа
системы, оценивается адекватность целям
системы зафиксированных понятий, методов
решений, средств представления и манипулирования
знаниями. 4)На этапе выполнения осуществляется
наполнение экспертом базы знаний. Процесс
приобретения знаний разделяют на извлечение
знаний из эксперта, организацию знаний,
обеспечивающую эффективную работу системы,
и представление знаний в виде, понятном
ЭС. Процесс приобретения знаний осуществляется
инженером по знаниям на основе анализа
деятельности эксперта по решению реальных
задач.