Экспертная система - это система искусственного интеллекта, построенная на основе глубоких специальных знаний о некоторой предметной области (полученных от экспертов-специалистов этой области). Экспертные системы – один из немногих видов систем искусственного интеллекта, которые получили широкое распространение и нашли практическое применение. Существуют экспертные системы по военному делу, геологии, инженерному делу, информатике, космической технике, математике, медицине, метеорологии, промышленности, сельскому хозяйству, управлению, физике, химии, электронике, юриспруденции и т.д. И только то, что экспертные системы остаются весьма сложными, дорогими, а главное, узкоспециализированными программами, сдерживает их еще более широкое распространение.
Технология экспертных систем является одним из направлений новой области исследования, которая получила наименование искусственного интеллекта (Artificial Intelligence - AI). Исследования в этой области сконцентрированы на разработке и внедрении компьютерных программ, способных эмулировать (имитировать, воспроизводить) те области деятельности человека, которые требуют мышления, определенного мастерства и накопленного опыта. К ним относятся задачи принятия решений, распознавания образов и понимания человеческого языка. Эта технология уже успешно применяется в некоторых областях техники и жизни общества - органической химии, поиске полезных ископаемых, медицинской диагностике. Перечень типовых задач, решаемых экспертными системами, включает:
- извлечение информации из первичных данных (таких как сигналы, поступающие от гидролокатора);
- диагностика неисправностей (как в технических системах, так и в человеческом организме);
- структурный анализ сложных объектов (например, химических соединений);
- выбор конфигурации сложных многокомпонентных систем (например, распределенных компьютерных систем);
- планирование последовательности выполнения операций, приводящих к заданной цели (например, выполняемых промышленными роботами).
Особенности экспертных систем
- компетентность – в конкретной предметной области экспертная система должна достигать того же уровня, что и специалисты-люди; при этом она должна пользоваться теми же эвристическими приемами, также глубоко и широко отражать предметную область;
- символьные рассуждения – знания, на которых основана экспертная система, представляют в символьном виде понятия реального мира, рассуждения также происходят в виде преобразовании символьных наборов;
- глубина – экспертиза должна решать серьезные, нетривиальные задачи, отличающиеся сложностью знаний, которые экспертная система использует, или обилием информации; это не позволяет использовать полный перебор вариантов как метод решения задачи и заставляет прибегать к эвристическим, творческим, неформальным методам;
- самосознание – экспертная система должна включать в себя механизм объяснения того, каким образом она приходит к решению задачи.
Экспертные системы создаются для решения разного рода проблем, но они имеют схожую структуру (рис. 8); основные типы их деятельности можно сгруппировать в категории, приведенные в табл. 2.
Рис. 1. Схема обобщенной экспертной системы
Таблица 1. Типичные категории способов применения экспертных систем
Категория | Решаемая проблема |
---|---|
Интерпретация | Описание ситуации по информации, поступающей от датчиков |
Прогноз | Определение вероятных последствий заданных ситуаций |
Диагностика | Выявление причин неправильного функционирования системы по наблюдениям |
Проектирование | Построение конфигурации объектов при заданных ограничениях |
Планирование | Определение последовательности действий |
Наблюдение | Сравнение результатов наблюдений с ожидаемыми результатами |
Отладка | Составление рецептов исправления неправильного функционирования системы |
Ремонт | Выполнение последовательности предписанных исправлений |
Обучение | Диагностика и исправление поведения обучаемого |
Управление | Управление поведением системы как целого |
Функции, выполняемые экспертной системой
Не всякую систему, основанную на знаниях, можно рассматривать как экспертную. Экспертная система должна также уметь каким-то образом объяснять свое поведение и свои решения пользователю, так же, как это делает эксперт-человек. Это особенно необходимо в областях, для которых характерна неопределенность, неточность информации (например, в медицинской диагностике). В этих случаях способность к объяснению нужна для того, чтобы повысить степень доверия пользователя к советам системы, а также для того, чтобы дать возможность пользователю обнаружить возможный дефект в рассуждениях системы. В связи с этим в экспертных системах следует предусматривать дружественное взаимодействие с пользователем, которое делает для пользователя процесс рассуждения системы "прозрачным".
Часто к экспертным системам предъявляют дополнительное требование - способность иметь дело с неопределенностью и неполнотой. Информация о поставленной задаче может быть неполной или ненадежной; отношения между объектами предметной области могут быть приближенными. Например, может не быть полной уверенности в наличии у пациента некоторого симптома или в том, что данные, полученные при измерении, верны; лекарство может стать причиной осложнения, хотя обычно этого не происходит. Во всех этих случаях необходимы рассуждения с использованием вероятностного подхода.
В самом общем случае для того, чтобы построить экспертную систему, мы должны разработать механизмы выполнения следующих функций системы:
- решение задач с использованием знаний о конкретной предметной области - возможно, при этом возникнет необходимость иметь дело с неопределенностью;
- взаимодействие с пользователем, включая объяснение намерений и решений системы во время и после окончания процесса решения задачи.
Каждая из этих функций может оказаться очень сложной и зависит от прикладной области, а также от различных практических требований. В процессе разработки и реализации могут возникать разнообразные трудные проблемы. Здесь мы ограничился наметками основных идей, подлежащих в дальнейшем детализации и усовершенствованию.
Структура экспертных систем
Рис.2. Архитектура экспертной системы
Классы экспертных систем
По степени сложности решаемых задач экспертные системы можно классифицировать следующим образом:
По способу формирования решения экспертные системы разделяются на два класса: аналитические и синтетические . Аналитические системы предполагают выбор решений из множества известных альтернатив (определение характеристик объектов), а синтетические системы - генерацию неизвестных решений (формирование объектов).
По способу учета временного признака экспертные системы могут быть статическими или динамическими . Статические системы решают задачи при неизменяемых в процессе решения данных и знаниях, динамические системы допускают такие изменения. Статические системы осуществляют монотонное непрерываемое решение задачи от ввода исходных данных до конечного результата, динамические системы предусматривают возможность пересмотра в процессе решения полученных ранее результатов и данных.
По видам используемых данных и знаний экспертные системы классифицируются на системы с детерминированными (четко определенными) знаниями и неопределенными знаниями . Под неопределенностью знаний (данных) понимается их неполнота (отсутствие), недостоверность (неточность измерения), двусмысленность (многозначность понятий), нечеткость (качественная оценка вместо количественной).
По числу используемых источников знаний экспертные системы могут быть построены с использованием одного или множества источников знаний . Источники знаний могут быть альтернативными (множество миров) или дополняющими друг друга (кооперирующими).
Наиболее известные/распространённые ЭС
- CLIPS - весьма популярная ЭС (public domain)
- OpenCyc - мощная динамическая ЭС с глобальной онтологической моделью и поддержкой независимых контекстов
- WolframAlpha - поисковая система, интеллектуальный «вычислительный движок знаний»
- MYCIN - наиболее известна диагностическая система, которая предназначена для диагностики и наблюдения за состоянием больного при менингите и бактериальных инфекциях.
- HASP/SIAP - интерпретирующая система, которая определяет местоположение и типы судов в тихом океане по данным
акустических систем слежения.
Этапы проектирования экспертной системы
В настоящее время сложилась определенная технология разработки ЭС, которая включает следующие шесть этапов:
Приемы Описание 1. Наблюдение Инженер наблюдает, не вмешиваясь, за тем, как эксперт решает реальную задачу 2. Обсуждение задачи Инженер на представительном множестве задач неформально обсуждает с экспертом данные, знания и процедуры решения 3. Описание задачи Эксперт описывает решение задач для типичных запросов 4. Анализ решения Эксперт комментирует получаемые результаты решения задачи, детализируя ход рассуждений 5. Проверка системы Эксперт предлагает инженеру перечень задач для решения (от простых до сложных),которые решаются разработанной системой 6. Исследование системы Эксперт исследует и критикует структуру базы знаний и работу механизма вывода 7. Оценка системы Инженер предлагает новым экспертам оценить решения разработанной системы Таблица 2
Первые два этапа разработки экспертной системы составляют логическую стадию, не связанную с применением четко определенного инструментального средства. Последующие этапы реализуются в рамках физического создания проекта на базе выбранного инструментального средства. Вместе с тем, процесс создания экспертной системы, как сложного программного продукта, имеет смысл выполнять методом прототипного проектирования, сущность которого сводится к постоянному наращиванию базы знаний, начиная с логической стадии.
Правильный ответ – 1.
В экспертных системах нуждаются предметные области: медицина, фармакология, химия, геология, экономика, юриспруденция и др., в которых большая часть знания...
1) является личным опытом специалистов высокого уровня 2) может быть сведена к системе машинных команд и реализована на компьютере 3) уже получена и можно отказаться от непосредственного участия человека и передать возможность принятия решений компьютеру 4) требует нахождения оптимальных показателей для конкретной задачи данной отрасли
Правильный ответ – 1.
1) коммерческая система 2) исследовательский прототип3) действующий прототип 4) промышленная система
Правильный ответ – 1.
Экспертные системы используются, когда...
Правильный ответ – 1.
Правильный ответ – 1.
1) необходимо решать задачу в окружении , враждебном для человека 2) задачу требуется решать ограниченное количество раз 3) существует достаточное количество экспертов для решения данного круга задач 4) решение задачи с помощью эксперта-человека менее затратно по времени и более полно по охвату
Правильный ответ – 1.
Правильный ответ – 1.
Характерной особенностью любой экспертной системы , отличающей ее от других компьютерных информационных систем, является...
1) способность к саморазвитию 2) сортировка, выборка данных по запросам пользователей 3) использование таких методов, которые позволяют свести решение любой задачи к конкретному набору машинных команд 4) обеспечение множественного доступа к информации
Правильный ответ – 1.
Правильный ответ – 1.
Правильные ответы – 1, 2.
В состав системного программного обеспечения входят...
1) программы, отвечающие за взаимодействие с конкретными устройствами 2) программы, отвечающие за взаимодействие с пользователем 3) средства обеспечения компьютерной безопасности 4) средства автоматизации работ по проверке, наладке и настройке компьютерной системы
Правильные ответы – 1, 2.
1) системы автоматизированного проектирования 2) экспертные системы 3) программы обслуживания магнитных дисков 4) программы восстановления системы
Правильные ответы – 1, 2.
Функциями базового программного обеспечения являются...
1) проверка состава и работоспособности вычислительной системы 2) вывод на экран диагностических сообщений 3) обеспечение пользовательского интерфейса 4) расширение функций операционной системы
Правильные ответы – 1, 2.
В состав прикладного программного обеспечения входят...
1) Web-редакторы 2) настольные издательские системы 3) антивирусные программы 4) средства сжатия данных
Правильные ответы – 1, 2.
BIOS (Basic Input Output System)
является
...
1) группой программ в постоянном запоминающем устройстве 2) стандартной кодовой таблицей 3) частью оперативной памяти 4) базовой частью микропроцессора
Правильный ответ – 1.
Устройство, обеспечивающее соединение административно независимых коммуникационных сетей , – это...
1) роутер 2) хост 3) домен 4) концентратор.
Правильный ответ – 1.
Сетевые операционные системы – это комплекс программ, которые...
1) обеспечивают одновременную работу группы пользователей 2) пользователи переносят в сети с одного компьютера на другой 3) обеспечивают обработку, передачу и хранение данных на компьютере 4) расширяют возможности многозадачных операционных систем
Правильный ответ – 1.
Задан адрес электронной почты в сети Интернет – [email protected]. Именем почтового сервиса в нем является
1) mail 2) pochta 3) mail.ru 4) ru
Правильный ответ – 1.
Прокси-сервер сети Интернет...
1) обеспечивает анонимизацию доступа к различным ресурсам 2) обеспечивает пользователя защищенным каналом связи 3) позволяет зашифровать электронную информацию 4) используется для обмена электронными подписями между абонентами сети
Правильный ответ – 1.
Шлюз – это устройство, которое...
1) позволяет организовать обмен данными между двумя сетями, использующими различные протоколы взаимодействия 2) позволяет организовать обмен данными между двумя сетями, использующими один и тот же протокол взаимодействия 3) соединяет сети разного типа, но использующие одну операционную систему 4) соединяет рабочие станции
Правильный ответ – 1.
Сетевым протоколом является... 1) PPP 2) WWW 3) ECP 4) URL
Правильный ответ – 1.
Замечания. PPP (Point to Point Protocol) – протокол канального уровня, позволяющий использовать для выхода в Интернет обычные модемные линии. ECP (Enhanced Capability Port) – порт с расширенными возможностями. URL (Uniform Resource Locator – единый указатель ресурсов) – единообразный определитель местонахождения ресурса. Это стандартизированный способ записи адреса ресурса в сети Интернет. WWW (World Wide Web – Всемирная паутина) – распределенная система, предоставляющая доступ к связанным между собой документам, расположенным на различных компьютерах , подключенных к Интернету.
Поставщиком Интернет-услуг является...
1) провайдер 2) компьютер, подключенный к Интернету 3) браузер 4) модем, подключенный к сети Интернет
Правильный ответ – 1.
В соответствии со стандартом скорость передачи информации по сети может измеряться в...
1) Кбит/с 2) Кбайт/мин 3) Кбит/мин 4) Кбайт/с
Правильный ответ – 1.
Для быстрого перехода от одного www-документа к другому используется...
1) гиперссылка 2) браузер 3) сайт 4) тег
Правильный ответ – 1.
Документ запрашивается со страницы сайта университета по следующему адресу:http://university.faculty.edu/document.txt. Доменным именем компьютера, в котором находится документ, является...
1) university.faculty.edu 2) university 3) faculty 4) university.faculty
Правильный ответ – 1.
Компьютер, подключенный к Интернету, обязательно должен...
1) получить IP-адрес 2) иметь установленный web-сервер 3) получить доменное имя 4) иметь размещенный на нем web-сайт
Правильный ответ – 1.
Для просмотра web-страниц используются...
1) браузеры 2) Интернет-порталы 3) брандмауэры 4) программы хэширования
Правильный ответ – 1.
Наиболее эффективным средством контроля данных в сети являются...
1) пароли, идентификационные карты и ключи 2) системы архивации 3) RAID-диски 4) антивирусные программы
Правильный ответ – 1.
Мост – это устройство, соединяющее...
1) две сети, использующие одинаковые методы передачи данных 2) две сети, имеющие одинаковый сервер 3) рабочие станции одной сети 4) абонентов локальной вычислительной сети
Правильный ответ – 1.
Для того чтобы наладить обмен электронными сообщениями, имеющими цифровую подпись, необходимо передать получателю сообщений...
1) открытый ключ шифрования 2) закрытый ключ шифрования 3) вид вашей цифровой подписи 4) используемый вами алгоритм шифрования
Правильный ответ – 1.
Топологиями локальных вычислительных сетей являются...
1) звезда, шина, кольцо 2) ромашка, сфера, звезда 3) серверная, доменная, терминальная 4) корпоративная, административная, смешанная
Правильный ответ – 1.
Наиболее эффективным способом защиты локального компьютера от несанкционированного доступа при его включении является...
1) использование программно-аппаратных средств защиты 2) установка пароля на BIOS 3) установка пароля на операционную систему 4) использование новейшей операционной системы
Правильный ответ – 1.
Компьютер, подключенный к сети Интернет, может иметь два следующих адреса:
1) цифровой и доменный 2) цифровой и пользовательский 3) символьный и доменный 4) прямой и обратный
Правильный ответ – 1.
В Интернете используются различные сервисы: электронная почта, телеконференции, Интернет-пейджер, Интернет-магазин и т.д. Сервисная система, при помощи которой можно общаться через сеть Интернет с другими людьми в режиме реального времени, имеет наименование...
1) IRC 2) Windows Chat 3) Slideshare 4) FTP
Правильный ответ – 1.
Система обмена через Интернет мгновенными сообщениями называется...
1) ICQ 2) IRC 3) URL 4) GPS
Правильный ответ – 1.
Сетевой сервис FTP предназначен для...
1) перемещения данных между различными операционными системами 2) проведения видеоконференций 3) просмотра web-страниц 4) «скачивания» сообщений и приложенных файлов
Правильный ответ – 1.
Наиболее эффективным способом защиты локального компьютера от несанкционированного доступа при его включении является...
1) использование программно-аппаратных средств защиты 2) установка пароля на BIOS 3) установка пароля на операционную систему 4) использование новейшей операционной системы
Правильный ответ – 1.
Как известно, IP-адрес компьютера состоит из четырех чисел, разделенных точками. Каждое из чисел IP-адреса может принимать десятичные значения от 0 до...
1) 255 2) 256 3) 999 4) 192
Правильный ответ – 1.
Необходимо послать электронное сообщение удаленному адресату. При этом получатель должен знать, что это именно то самое сообщение. Для этого нужно...
1) использовать цифровую подпись 2) послать сообщение по секретному каналу связи 3) заархивировать сообщение 4) закрыть сообщение паролем
Правильный ответ – 1.
Для того чтобы наладить обмен электронными сообщениями, имеющими цифровую подпись, необходимо передать получателю сообщений...
1) открытый ключ шифрования 2) закрытый ключ шифрования 3) вид вашей цифровой подписи 4) используемый вами алгоритм шифрования
Правильный ответ – 1.
Для поиска информации в сети Интернет с помощью поисковых систем (например, Google, Rambler, Yandex, Yahoo!) пользователи задают...
1) ключевые слова 2) теги 3) поисковые слова 4) словарные слова
Правильный ответ – 1.
Задан адрес электронной почты в сети Интернет – [email protected]. Именем владельца этого электронного адреса является...
1) postbox 2) yandex 3) yandex.ru 4) postbox@
Правильный ответ – 1.
В таблицу базы данных СКЛАД, содержащую 5 столбцов информации о товаре (наименование, поставщик, количество, дата окончания срока хранения, цена), внесена информация о 25 видах товара. Количество записей в таблице равно...
1) 25 2) 5 3) 125 4) 30
Правильный ответ – 1.
Основу любой интеллектуальной экспертной системы составляет...
1) база знаний 2) математическая модель 3) система правил решения поставленной задачи 4) управляющая система
Правильный ответ – 1.
В экспертных системах нуждаются предметные области: медицина, фармакология, химия, геология, экономика, юриспруденция и др., в которых большая часть знания...
1) является личным опытом специалистов высокого уровня 2) может быть сведена к системе машинных команд и реализована на компьютере 3) уже получена и можно отказаться от непосредственного участия человека и передать возможность принятия решений компьютеру 4) требует нахождения оптимальных показателей для конкретной задачи данной отрасли
Правильный ответ – 1.
Конечной стадией существования экспертной системы является...
1) коммерческая система 2) исследовательский прототип 3) действующий прототип 4) промышленная система
Правильный ответ – 1.
Экспертные системы используются тогда, когда...
1) исходные данные хорошо формализуются, но для принятия решения требуются специальные обширные знания 2) исходные данные компактны и удобны для реализации на компьютере 3) требуется нахождение оптимальных показателей (например, нахождение минимальных затрат или определение максимальной прибыли) 4) исследуются объекты, процессы или явления путем построения и изучения моделей для определения или уточнения характеристик оригинала
Правильный ответ – 1.
Сходство экспертных систем с прочими прикладными программами заключается в том, что они...
1) предназначены для решения определенного круга задач 2) используют в качестве основных методов решения задачи эвристические методы 3) на этапе решения задачи формируют определенные факты и выводы 4) моделируют мышление человека, а не конкретную природу предметной области
Правильный ответ – 1.
Применение экспертной системы целесообразно, если...
1) необходимо решать задачу в окружении, враждебном для человека 2) задачу требуется решать ограниченное количество раз 3) существует достаточное количество экспертов для решения данного круга задач 4) решение задачи с помощью эксперта-человека менее затратно по времени и более полно по охвату
Правильный ответ – 1.
Ядро экспертной системы не реализуется на...
1) языках разметки гипертекста 2) декларативных языках программирования 3) императивных языках программирования 4) языках представления онтологий
Правильный ответ – 1.
Характерной особенностью любой экспертной системы, отличающей ее от других компьютерных информационных систем, является...
1) способность к саморазвитию 2) сортировка, выборка данных по запросам пользователей 3) использование таких методов, которые позволяют свести решение любой задачи к конкретному набору машинных команд 4) обеспечение множественного доступа к информации
Правильный ответ – 1.
Основными классами экспертных систем являются...
1) системы диагностики неисправностей 2) метеорологические системы 3) системы управления базами данных 4) системы геолокации
Правильный ответ – 1.
В состав программного обеспечения (ПО) вычислительных систем входят...
1) системное ПО 2) служебное ПО 3) функциональное ПО 4) информационное ПО
Правильные ответы – 1, 2.
Экспертные системы - это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмпирический опыт для консультаций менее квалифицированных пользователей.
Области применения систем, основанных на знаниях, весьма разнообразны: бизнес, производство, военные приложения, медицина, социология, геология, космос, сельское хозяйство, управление, юриспруденция и др.
Системы, основанные на знаниях (СОЗ) - это системы программного обеспечения, основными структурными элементами которых являются база знаний и механизм логических выводов . Среди СОЗ можно выделить:
- интеллектуальные информационно-поисковые системы;
- экспертные системы (ЭС).
Интеллектуальные информационно-поисковые системы отличаются от предыдущего поколения информационно-поисковых систем не только гораздо более обширным справочно-информационным фондом, но и важнейшей способностью формировать адекватные ответы на запросы пользователя даже тогда, когда запросы не носят прямого характера.
Наиболее известным практическим примером СОЗ могут служить экспертные системы, способные диагностировать заболевания, оценивать потенциальные месторождения полезных ископаемых, осуществлять обработку естественного языка, распознавание речи и изображений и т.д. Экспертные системы являются первым шагом в практической реализации исследований в области искусственного интеллекта
Базовая структура экспертной системы приведена на рисунке ниже.
Структурные элементы, составляющие экспертную систему, выполняют следующие функции.
База знаний реализует функции представления знаний в конкретной предметной области и управление ими.
Механизм логических выводов выполняет логические выводы на основании знаний, имеющихся в базе знаний.
Пользовательский интерфейс необходим для правильной передачи ответов пользователю, иначе пользоваться системой крайне неудобно.
Модуль приобретения знаний необходим для получения знаний от эксперта, поддержки базы знаний и дополнения ее при необходимости.
Модуль ответов и объяснений формирует заключение экспертной системы и представляет различные комментарии, прилагаемые к заключению, а также объясняет мотивы заключения.
Структура экспертной системы.
Перечисленные структурные элементы являются наиболее характерными, хотя в реальных экспертных системах их функции могут быть соответствующим образом усилены или расширены.
Знания в базе знаний представлены в конкретной форме и организация базы знаний позволяет их легко определять, модифицировать и пополнять. Решение задач с помощью логического вывода на основе знаний хранящихся в базе знаний, реализуется автономным механизмом логического вывода. Хотя оба эти компонента системы с точки зрения ее структуры являются независимыми, они находятся в тесной связи между собой и определение модели представления знаний накладывает ограничения на выбор соответствующего механизма логических выводов.
Преимущества экспертных систем :
- Постоянство . Экспертные системы ничего не забывают в отличие от человека-эксперта.
- Воспроизводимость . Можно сделать любое количество копий экспертной системы, а обучение новых экспертов отнимает много времени и средств.
- Эффективность. Может увеличить производительность и уменьшать затраты персонала.
- Постоянство . С использованием экспертных системам подобные транзакции обрабатываются одним и тем же способом. Система будет делать сопоставимые рекомендации для похожих ситуаций.
- Влияние на людей . Новый эффект (самая современная информация, имеющая влияние на здравый смысл). Главный эффект (ранняя информация доминирует над здравым смыслом).
- Документация. Экспертная система может документировать процесс решения.
- Законченность . Экспертная система может выполнять обзор всех транзакций, a человек-эксперт сможет сделать обзор только отдельной выборки.
- Своевременность . Погрешности в конструкциях и-или могут быть своевременно найдены.
- Широта . Могут быть объединены знания многих экспертов, что дает системе больше широты, чем с вероятно может достичь один человек.
- Снижение риска ведения дела благодаря последовательности принятия решения документированности и компетентности.
Недостатки экспертных систем:
- Здравый смысл . В дополнение к широкому техническому знанию, человек-эксперт имеет здравый смысл. Еще не известно, как заложить здравый смысл в экспертные системы.
- Творческий потенциал . Человек-эксперт может реагировать творчески на необычные ситуации, экспертные системы не могут.
- Обучение . Человек-эксперт автоматически адаптируются к изменению среды; экспертные системы нужно явно модифицировать.
- Сенсорный опыт . Человек-эксперт располагает широким диапазоном сенсорного опыта; экспертные системы в настоящее время основаны на вводе символов.
Экспертные системы не хороши, если решения не существует или когда проблема лежит вне области их компетенции.
Класс экспертных систем сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям: решаемая задача, связь с реальным временем, тип ЭВМ, степень интеграции.
Методология разработки экспертных систем
Разработка интеллектуальных информационных систем отличается от создания обычного программного продукта. Опыт разработки ранних экспертных систем показал, что использование традиционной технологии программирования либо чрезмерно затягивает процесс разработки, либо вообще приводит к отрицательному результату. Это связано главным образом с необходимостью модифицировать принципы и способы построения по мере того, как увеличивается знание разработчиков о проблемной области.
Известно, что большая часть знаний в конкретной предметной области остается личной собственностью эксперта. Наибольшую проблему при разработке экспертной системы представляет процедура получения знаний у эксперта и занесения их в базу знаний, называемая извлечением знаний. Это происходит не потому, что он не хочет разглашать своих секретов, а потому, что не в состоянии сделать это - ведь эксперт знает гораздо больше, чем сам осознает. Для выявления знаний эксперта и их формализации на протяжении всего периода разработки с ним взаимодействует инженер по знаниям.
Чтобы избежать дорогостоящих и безуспешных попыток, был разработан набор рекомендаций для того, чтобы определить, является ли проблема подходящей для решения с помощью экспертной системы:
- Потребность в решении должна соответствовать затратам на ее разработку. Суммы затрат и полученная выгода должны быть реалистическими.
- Невозможно использовать знания человека-эксперта там, где это необходимо. Если «экспертные» знания широко распространены, то маловероятно, что стоит разрабатывать экспертную систему. Однако в таких областях как разведка нефти и медицина могут быть редкие специализированные знания, которыми можно недорого снабдить экспертную систему, и не использовать очень высоко оплачиваемого эксперта.
- Проблема может быть решена с использованием символических методов рассуждения.
- Проблема хорошо структурирована и не требует применения знаний, основанных на здравом смысле. Знания, основанные на здравом смысле, хорошо известны, поэтому их незачем фиксировать и представлять.
- Проблема не может быть легко решена с использованием более традиционных вычислительных методов. Если имеется хорошее алгоритмическое решение проблемы, не следует использовать экспертную систему.
- Существуют эксперты в данной проблемной области. Поскольку экспертная система проектируется для успешной работы, весьма существенно, чтобы эксперты желали помогать при ее проектировании, а не считали, что их работе угрожают. Кроме того необходима поддержка администрации и потенциальных пользователей.
- Проблема имеет подходящий размер и область применения. Как правило, проблема требует применения знаний высоко специализированных экспертов, но человек-эксперт должен тратить на ее решение короткое время, максимум час.
В настоящее время сложилась последовательность действий при разработке экспертных систем. Она включает следующие этапы: идентификация, получение знаний, концептуализация, формализация, выполнение, тестирование и опытная эксплуатация.
Рис. 10.2. Технология разработки экспертных систем
Идентификация
Этап идентификации связан, прежде всего, с осмыслением тех задач, которые предстоит решать будущей экспертной системе, и формированием требований к ней. На этом этапе планируется ход разработки прототипа системы, определяются источники знаний (книги, эксперты, методики), цели (распространение опыта, автоматизация рутинных операций), классы решаемых задач и т.д. Результатом идентификации является ответ на вопрос, что надо сделать и какие ресурсы необходимо задействовать.
Получение знаний
При решении проблемы получения знаний выделяют три стратегии: приобретение знаний, извлечение знаний и обнаружение знаний.
Под приобретением (acquisition) знаний понимается способ автоматизированного наполнения базы знаний посредством диалога эксперта и специальной программы.
Извлечением (elicitation) знаний называют процедуру взаимодействия инженера по знаниям с источником знаний (экспертом, специальной литературой и др.) без использования вычислительной техники.
Термины «обнаружение знаний» (knowledge discovery), а также Data Mining связывают с созданием компьютерных систем, реализующие методы автоматического получения знаний.
Концептуализация
На этапе концептуализации проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач. Этот этап завершается созданием модели предметной области, включающей основные концепты и отношения. Модель представляется в виде графа, таблицы, диаграммы или текста.
Формализация
На этапе формализации все ключевые понятия и отношения выражаются на некотором формальном языке, который выбирается из числа уже существующих, либо создается заново. Другими словами, на данном этапе определяется состав средств и способы представления декларативных и процедурных знаний, осуществляется это представление и в итоге создается описание решения задачи экспертной системы на выбранном формальном языке.
Выполнение (реализация)
На этапе выполнения создается один или несколько реально работающих прототипов экспертной системы. Для ускорения этого процесса в настоящее время широко применяются различные инструментальные средства.
Тестирование
На данном этапе оценивается и проверяется работа программы прототипа с целью приведения ее в соответствие с реальными запросами пользователей. Прототип проверяется по следующих основным позициям:
- удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и др.);
- эффективность стратегии управления (порядок перебора, использование нечеткого вывода и т.д.);
- корректность базы знаний (полнота и непротиворечивость правил).
Задача стадии тестирования - выявление ошибок и выработка рекомендаций по доводке прототипа экспертной системы до промышленного образца.
Опытная эксплуатация
На этапе опытной эксплуатации проверяется пригодность экспертной системы для конечного пользователя. Пригодность определяется в основном удобством и полезностью разработки. Под полезностью понимается способность экспертной системы определять в ходе диалога потребности пользователя, выявлять и устранять причины неудач в работе, а также удовлетворять указанные потребности пользователя (решать поставленные задачи). Удобство работы подразумевает естественность взаимодействия с экспертной системой, гибкость (способность системы настраиваться на различных пользователей, а также учитывать изменения в квалификации одного и того же пользователя) и устойчивость системы к ошибкам (способность не выходить из строя при ошибочных действиях пользователя).
После успешного завершения этапа опытной эксплуатации экспертная система классифицируется как коммерческая система, пригодная не только для собственного использования, но и для продажи различным потребителям.
Инструментальные средства построения экспертных систем
В настоящее время имеются средства, ускоряющие проектирование и разработку ЭС. Их называют инструментальными средствами , или просто инструментарием. Иными словами, под инструментальными средствами понимают совокупность аппаратного и программного обеспечения, позволяющего создавать прикладные системы, основанные на знаниях.
Среди программных инструментальных средств выделяют следующие большие группы:
- символьные языки программирования (LISP, INTERLISP, SMALLTALK);
- языки инженерии знаний, то есть языки программирования, позволяющие реализовать один из способов представления знаний (OPS5, LOOPS, KES, Prolog);
- оболочки экспертных систем (или пустые экспертные системы), то есть системы, не содержащие знаний ни о какой предметной области (EMYCIN, ЭКО, ЭКСПЕРТ, EXSYS RuleBook, Expert System Creator и др.)
Третий этап. Загрузка завершена. Как видно на рис.12.6 , в меню инструментов добавилась новая вкладка с названием "Advanced Process ".
Это напоминает загрузку тематических панелей в Visio . Однако ARENA - не "рисовалка", а мощное средство имитационного моделирования .
Программа ARENA позволяет создавать диаграммы, отражающие функционирование того или иного процесса. Процесс создания диаграмм во многом схож с таковым в MS Visio . Здесь также используется технология Drag and Drop , однако для некоторых процесс "рисования" в MS Visio будет более удобным и предпочтительным.
Центральным компонентом экспертной системы является база знаний, которая выступает по отношению к другим компонентам как содержательная подсистема, составляющая основную ценность.
Рис. 12.9.
База знаний - это совокупность единиц знаний, которые представляют собой формализованное с помощью некоторого метода представления знаний отражение объектов проблемной области и их взаимосвязей, действий над объектами и, возможно, неопределенностей, с которыми эти действия осуществляются .
В качестве методов представления знаний чаще всего используются либо правила, либо объекты (фреймы), либо их комбинация. Так, правила представляют собой конструкции:
Если < условие > То <заключение> CF (фактор определенности) <значение>
В качестве факторов определенности (CF ), как правило, выступают либо условные вероятности байесовского подхода (от 0 до 1), либо коэффициенты уверенности нечеткой логики (от 0 до 100).
Примеры правил имеют следующий вид.
Правило 1: если Коэффициент рентабельности > 0.2, то Рентабельность = "удовлетворительна" CF 100.
Правило 2: если Задолженность = "нет" и Рентабельность = "удовлетворительна", то Финансовое состояние = "удовлетворительно" CF 80.
Правило 3: если Финансовое состояние = "удовлетворительно" и Репутация = "удовлетворительна", то Надежность предприятия = "удовлетворительна" CF 90.
Объекты представляют собой совокупность атрибутов, описывающих свойства и отношения с другими объектами. В отличие от записей баз данных, каждый объект имеет уникальное имя. Часть атрибутов отражают типизированные отношения, такие как "род - вид" (super-class - sub-class ), "целое - часть" и др. Вместо конкретных значений атрибутов объектов могут задаваться значения по умолчанию, присущие целым классам объектов, или присоединенные процедуры (process ).
Интеллектуальный интерфейс . Обмен данными между конечным пользователем и ЭС выполняет программа интеллектуального интерфейса, которая воспринимает сообщения пользователя и преобразует их в форму представления базы знаний и, наоборот, переводит внутреннее представление результата обработки в формат пользователя и выдает сообщение на требуемый носитель.
Важнейшим требованием к организации диалога пользователя с ЭС является естественность, которая не означает буквально формулирование потребностей пользователя предложениями естественного языка, хотя это и не исключается в ряде случаев .
Важно, чтобы последовательность решения задачи была гибкой, соответствовала представлениям пользователя и велась в профессиональных терминах.
Механизм вывода. Этот программный инструментарий получает от интеллектуального интерфейса преобразованный во внутреннее представление запрос, формирует из базы знаний конкретный алгоритм решения задачи, выполняет алгоритм, а полученный результат предоставляется интеллектуальному интерфейсу для выдачи ответа на запрос пользователя. В основе применения любого механизма вывода лежит процесс нахождения в соответствии с поставленной целью и описанием конкретной ситуации (исходных данных), относящихся к решению единиц знаний (правил, объектов, прецедентов и т.д.) и связыванию их при необходимости в цепочку рассуждений, приводящую к определенному результату. Для представления знаний в форме правил это может быть прямая или обратная цепочка рассуждений (рис.12.10 и рис.12.11).
Рис. 12.10.
Рис. 12.11.
Для объектно-ориентированного представления знаний характерно применение механизма наследования атрибутов, когда значения атрибутов передаются по иерархии от вышестоящих классов к нижестоящим. Также при заполнении атрибутов фрейма необходимыми данными запускаются на выполнение присоединенные процедуры.
Механизм объяснения. В процессе или по результатам решения задачи пользователь может запросить объяснение или обоснование хода решения. С этой целью ЭС должна предоставить соответствующий механизм объяснения.
Объяснительные способности ЭС определяются возможностью механизма вывода запоминать путь решения задачи. Тогда на вопросы пользователя "Как?" и "Почему?" получено решение или запрошены те или иные данные, и система всегда может выдать цепочку рассуждений до требуемой контрольной точки, сопровождая выдачу объяснения заранее подготовленными комментариями. В случае отсутствия решения задач объяснение должно выдаваться пользователю автоматически.
Полезно иметь возможность и гипотетического объяснения решения задачи, когда система отвечает на вопросы, что будет в том или ином случае. Однако не всегда пользователя интересует полный вывод решения, содержащий множество ненужных деталей. В этом случае система должна уметь выбирать из цепочки только ключевые моменты с учетом их важности и уровня знаний пользователя. Для этого в базе знаний необходимо поддерживать модель знаний и намерений пользователя.
Если же пользователю все еще не понятен полученный ответ, то система должна быть способна в диалоге на основе поддерживаемой модели проблемных знаний обучать пользователя тем или иным фрагментам знаний, т.е. раскрывать более подробно отдельные понятия и зависимости, если даже эти детали непосредственно в выводе не использовались.
Механизм приобретения знаний. База знаний отражает знания экспертов (специалистов) в данной проблемной области о действиях в различных ситуациях или процессах решения характерных задач. Выявлением подобных знаний и последующим их представлением в базе знаний занимаются специалисты, называемые инженерами знаний . Для ввода знаний в базу и их последующего обновления ЭС должна обладать механизмом приобретения знаний. В простейшем случае используется интеллектуальный редактор, который позволяет вводить единицы знаний в базу и проводить их синтаксический и семантический контроль, например, на непротиворечивость. В более сложных случаях инженер знаний должен из-влекать знания путем специальных сценариев интервьюирования экспертов, или из вводимых примеров реальных ситуаций, как в случае индуктивного вывода, или из текстов, или из опыта работы самой интеллектуальной системы .
Классы экспертных систем
По степени сложности решаемых задач экспертные системы можно классифицировать следующим образом .
По способу формирования решения экспертные системы разделяются на два класса: аналитические и синтетические . Аналитические системы предполагают выбор решений из множества известных альтернатив (оп-ределение характеристик объектов), а синтетические системы - генерацию неизвестных решений (формирование объектов).
По способу учета временного признака экспертные системы могут быть статическими или динамическими . Статические системы решают задачи при не изменяемых в процессе решения данных и знаниях, динамические системы допускают такие изменения. Статические системы осуществляют монотонное непрерываемое решение задачи от ввода исходных данных до конечного результата, динамические системы предусматривают возможность пересмотра в процессе решения полученных ранее результатов и данных.
По видам используемых данных и знаний экспертные системы классифицируются на системы с детерминированными (четко определенными) знаниями и неопределенными знаниями. Под неопределенностью знаний понимается их неполнота, недостоверность, двусмысленность, нечеткость.
По числу используемых источников знаний экспертные системы могут быть построены с использованием одного или множества источников знаний. Источники знаний могут быть альтернативными или дополняющими друг друга
В соответствии с перечисленными признаками классификации выделяются следующие основные классы экспертных систем (табл. 12.1 .).
Классифицирующие экспертные системы. Экспертные системы , решающие задачи распознавания ситуаций, называются классифицирующими, поскольку определяют принадлежность анализируемой ситуации к некоторому классу.
В качестве основного метода формирования решений используется метод логического дедуктивного вывода от общего к частному, когда путем подстановки исходных данных в некоторую совокупность взаимосвязанных общих утверждений получается частное заключение.
Доопределяющие экспертные системы . Более сложный тип аналитических задач представляют задачи, которые решаются на основе неопределенных исходных данных и применяемых знаний. В этом случае экспертная система должна как бы доопределять недостающие знания, а в пространстве решений может получаться несколько возможных решений с различной вероятностью или уверенностью в необходимости их выполнения.
В качестве методов работы с неопределенностями могут применяться байесовский вероятностный подход и нечеткая логика .
Доопределяющие экспертные системы могут использовать для формирования решения несколько источников знаний. В этом случае могут применяться эвристические приемы выбора единиц знаний из их конфликтного набора, например, на основе использования приоритетов важности, или получаемой степени определенности результата, или значений функций предпочтений и т.д.
Для аналитических задач классифицирующего и доопределяющего типов характерны следующие проблемные области .
- Интерпретация данных - выбор решения из фиксированного множества альтернатив на базе введенной информации о текущей ситуации. Основное назначение - определение сущности рассматриваемой ситуации, выбор гипотез, исходя их фактов. Типичным примером является экспертная система анализа финансового состояния предприятия.
- Диагностика - выявление причин, приведших к возникновению ситуации. Требуется предварительная интерпретация ситуации с последующей проверкой дополнительных фактов, например, выявление факторов снижения эффективности производства.
- Коррекция - диагностика, дополненная возможностью оценки и рекомендации действий по исправлению отклонений от нормального состояния рассматриваемых ситуаций.
Трансформирующие экспертные системы . В отличие от аналитических статических экспертных систем синтезирующие динамические экспертные системы предполагают повторяющееся преобразование знаний в процессе решения задач, что связано с характером результата, который нельзя заранее предопределить, а также с динамичностью самой проблемной области.
Для синтезирующих динамических экспертных систем наиболее применимы следующие проблемные области .
- Проектирование - определение конфигурации объектов с точки зрения достижения заданных критериев эффективности и ограничений, например, проектирование бюджета предприятия или портфеля инвестиций .
- Прогнозирование - предсказание последствий развития текущих ситуаций на основе математического и эвристического моделирования, например, прогнозирование трендов на биржевых торгах.
- Диспетчеризация - распределение работ во времени, составление расписаний, например, планирование графика освоения капиталовложений.
- Планирование - выбор последовательности действий пользователей по достижению поставленной цели, например, планирование процессов поставки продукции.
- Мониторинг - слежение за текущей ситуацией с возможной последующей коррекцией. Для этого выполняется диагностика, прогнозирование, а в случае необходимости - планирование и коррекция действий пользователей, например, мониторинг сбыта готовой продукции.
- Управление - мониторинг, дополненный реализацией действий в автоматических системах, например, принятие решений на биржевых торгах.
Многоагентные экспертные системы. Для таких динамических систем характерна интеграция в базе знаний нескольких разнородных источников знаний, обменивающихся между собой получаемыми результатами на динамической основе, например, через "доску объявлений".
Для многоагентных систем характерны следующие особенности:
- проведение альтернативных рассуждений на основе использования различных источников знаний с механизмом устранения про-тиворечий;
- распределенное решение проблем, которые разбиваются на параллельно решаемые подпроблемы, соответствующие самостоя-тельным источникам знаний;
- применение множества стратегий работы механизма вывода заключений в зависимости от типа решаемой проблемы;
- обработка больших массивов данных, содержащихся в базе данных;
- способность прерывания решения задач в связи с необходимостью получения дополнительных данных и знаний от пользователей, моделей, параллельно решаемых подпроблем.
По степени сложности решаемых задач экспертные системы можно классифицировать следующим образом:
- По способу формирования решения экспертные системы разделяются на два класса: аналитические и синтетические. Аналитические системы предполагают выбор решений из множества известных альтернатив (определение характеристик объектов), а синтетические системы - генерацию неизвестных решений (формирование объектов).
- По способу учета временного признака экспертные системы могут быть статическими или динамическими. Статические системы решают задачи при неизменяемых в процессе решения данных и знаниях, динамические системы допускают такие изменения. Статические системы осуществляют монотонное непрерываемое решение задачи от ввода исходных данных до конечного результата, динамические системы предусматривают возможность пересмотра в процессе решения полученных ранее результатов и данных.
- По видам используемых данных и знаний экспертные системы классифицируются на системы с детерминированными (четко определенными) знаниями и неопределенными знаниями. Под неопределенностью знаний (данных) понимается их неполнота (отсутствие), недостоверность (неточность измерения), двусмысленность (многозначность понятий), нечеткость (качественная оценка вместо количественной).
- По числу используемых источников знаний экспертные системы могут быть построены с использованием одного или множества источников знаний. Источники знаний могут быть альтернативными (множество миров) или дополняющими друг друга (кооперирующими).
В соответствии с перечисленными признаками классификации, как правило, выделяются следующие четыре основные класса экспертных систем
Классифицирующие экспертные системы. К аналитическим задачам прежде всего относятся задачи распознавания различных ситуаций, когда по набору заданных признаков (факторов) выявляется сущность некоторой ситуации, в зависимости от которой выбирается определенная последовательность действий. Таким образом, в соответствии с исходными условиями среди альтернативных решений находится одно, наилучшим образом удовлетворяющее поставленной цели и ограничениям.
Экспертные системы, решающие задачи распознавания ситуаций, называются классифицирующими, поскольку определяют принадлежность анализируемой ситуации к некоторому классу. В качестве основного метода формирования решений используется метод логического дедуктивного вывода от общего к частному, когда путем подстановки исходных данных в некоторую совокупность взаимосвязанных общих утверждений получается частное заключение.
Доопределяющие экспертные системы. Более сложный тип аналитических задач представляют задачи, которые решаются на основе неопределенных исходных данных и применяемых знаний. В этом случае экспертная система должна как бы доопределять недостающие знания, а в пространстве решений может получаться несколько возможных решений с различной вероятностью или уверенностью в необходимости их выполнения. В качестве методов работы с неопределенностями могут использоваться байесовский вероятностный подход, коэффициенты уверенности, нечеткая логика. Доопределяющие экспертные системы могут использовать для формирования решения несколько источников знаний. В этом случае могут использоваться эвристические приемы выбора единиц знаний из их конфликтного набора, например, на основе использования приоритетов важности, или получаемой степени определенности результата, или значений функций предпочтений и т.д.
Для аналитических задач классифицирующего и доопределяющего типов характерны следующие проблемные области:
- Интерпретация данных - выбор решения из фиксированного множества альтернатив на базе введенной информации о текущей ситуации. Основное назначение - определение сущности рассматриваемой ситуации, выбор гипотез, исходя их фактов. Типичным примером является экспертная система анализа финансового состояния предприятия.
- Диагностика - выявление причин, приведших к возникновению ситуации. Требуется предварительная интерпретация ситуации с последующей проверкой дополнительных фактов, например, выявление факторов снижения эффективности производства.
- Коррекция - диагностика, дополненная возможностью оценки и рекомендации действий по исправлению отклонений от нормального состояния рассматриваемых ситуаций.
Трансформирующие экспертные системы . В отличие от аналитических статических экспертных систем синтезирующие динамические экспертные системы предполагают повторяющееся преобразование знаний в процессе решения задач, что связано с характером результата, который нельзя заранее предопределить, а также с динамичностью самой проблемной области.
В качестве методов решения задач в трансформирующих экспертных системах используются разновидности гипотетического вывода:
- генерации и тестирования, когда по исходным данным осуществляется генерация гипотез, а затем проверка сформулированных гипотез на подтверждение поступающими фактами;
- предположений и умолчаний, когда по неполным данным подбираются знания об аналогичных классах объектов, которые в дальнейшем динамически адаптируются к конкретной ситуации в зависимости от ее развития;
- использование общих закономерностей (метауправления) в случае неизвестных ситуаций, позволяющих генерировать недостающее знание.
Многоагентные системы . Для таких динамических систем характерна интеграция в базе знаний нескольких разнородных источников знаний, обменивающихся между собой получаемыми результатами на динамической основе, например, через "доску объявлений"
Для многоагентных систем характерны следующие особенности:
- Проведение альтернативных рассуждений на основе использования различных источников знаний с механизмом устранения противоречий;
- Распределенное решение проблем, которые разбиваются на параллельно решаемые подпроблемы, соответствующие самостоятельным источникам знаний;
- Применение множества стратегий работы механизма вывода заключений в зависимости от типа решаемой проблемы;
- Обработка больших массивов данных, содержащихся в базе данных;
- Использование различных математических моделей и внешних процедур, хранимых в базе моделей;
- Способность прерывания решения задач в связи с необходимостью получения дополнительных данных и знаний от пользователей, моделей, параллельно решаемых подпроблем.
Для синтезирующих динамических экспертных систем наиболее применимы следующие проблемные области:
- Проектирование - определение конфигурации объектов с точки зрения достижения заданных критериев эффективности и ограничений, например, проектирование бюджета предприятия или портфеля инвестиций.
- Прогнозирование - предсказание последствий развития текущих ситуаций на основе математического и эвристического моделирования, например, прогнозирование трендов на биржевых торгах.
- Диспетчирование - распределение работ во времени, составление расписаний, например, планирование графика освоения капиталовложений.
- Планирование - выбор последовательности действий пользователей по достижению поставленной цели, например, планирование процессов поставки продукции.
- Мониторинг - слежение за текущей ситуацией с возможной последующей коррекцией. Для этого выполняется диагностика, прогнозирование, а в случае необходимости планирование и коррекция действий пользователей, например, мониторинг сбыта готовой продукции.
- Управление - мониторинг, дополненный реализацией действий в автоматических системах, например, принятие решений на биржевых торгах.
По данным публикации, в которой проводится анализ 12500 действующих экспертных систем, распределение экспертных систем по проблемным областям имеет следующий вид:
В основе самообучающихся систем лежат методы автоматической классификации примеров ситуаций реальной практики (обучения на примерах). Примеры реальных ситуаций накапливаются за некоторый исторический период и составляют обучающую выборку. Эти примеры описываются множеством признаков классификации. Причем обучающая выборка может быть:
- "с учителем", когда для каждого примера задается в явном виде значение признака его принадлежности некоторому классу ситуаций (классообразующего признака);
- "без учителя", когда по степени близости значений признаков классификации система сама выделяет классы ситуаций.