ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 12.01.2024
Просмотров: 298
Скачиваний: 1
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Рисунок 1.5 - Структура статической ЭС
Объяснительный компонент расшифровывает, как система получила решение задачи (или почему она не получила решения) и какие знания она при этом использовала, что облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.
Диалоговый компонент ориентирован на организацию дружественного общения с пользователем как в ходе решения задач, так и в процессе приобретения знаний и объяснения результатов работы.
1.4.2 Разработка и использование экспертных систем
В разработке ЭС обычно участвуют представители следующих специальностей:
- эксперт в проблемной области, задачи которой будет решать ЭС;
- инженер по знаниям — специалист по разработке ЭС
(используемую им технологию (методы) называют технологией (методами) инженерии знаний);
- программист по разработке инструментальных средств (ИС), предназначенных для ускорения разработки ЭС.
Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введенных в ЭС знаний.
Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы ЭС, осуществляет выбор инструментальных средств, которые наиболее подходят для данной проблемной области, и определяет способ представления знаний в этом инструментарии, выделяет и программирует (традиционными средствами) стандартные функции, типичные для данной проблемной области, которые будут использоваться в правилах, вводимых экспертом.
Программист разрабатывает ИС (если инструментарий разрабатывается заново), содержащие все основные компоненты ЭС, и осуществляет их сопряжение с той средой, в которой они будут использованы.
Необходимо отметить, что отсутствие среди участников разработки инженеров по знаниям (т. е. их замена программистами) чаще всего приводит к неудаче процесса создания ЭС либо значительно удлиняет его.
Экспертная система может работать в двух режимах: в режиме приобретения знаний и в режиме решения задачи (называемом также
«режимом консультации» или «режимом использования ЭС»).
В режиме приобретения знаний общение с ЭС осуществляет (через посредничество инженера по знаниям) эксперт. Он, используя компонент приобретения знаний, наполняет систему знаниями, которые позже позволят
ЭС в режиме решения самостоятельно (уже без эксперта) решать задачи из определенной проблемной области. Эксперт описывает проблемную область в виде совокупности данных и правил, где данные определяют объекты, их характеристики и значения, существующие в области экспертизы, а правила определяют способы манипулирования с данными, характерные для рассматриваемой области.
В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения.
При этом данные о задаче пользователя после их обработки диалоговым компонентом поступают в рабочую память. Решатель на основе входных данных из рабочей памяти, общих данных о проблемной области и правил из
БЗ формирует решение задачи. Заметим, что ЭС при решении задачи не только исполняет предписанную последовательность операции, но и предварительно формирует ее.
1.4.3 Классификация экспертных систем
Класс «экспертные системы» сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям (рис. 1.6).
Классификация по решаемой задаче
Интерпретация данных — это одна из традиционных задач для экспертных систем. Под интерпретацией понимается определение смысла данных, результаты которого должны быть согласованными и корректными.
Обычно предусматривается многовариантный анализ данных, например, обнаружение и идентификация различных типов океанских обитателей, определение основных свойств личности по результатам психодиагностического тестирования и др.
Диагностика
Под диагностикой понимается обнаружение неисправности в некоторой системе, где неисправность — это некоторое отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии.
Например, это может быть диагностика ошибок в аппаратуре или математическом обеспечении ЭВМ и др.
Мониторинг
Основная задача мониторинга — непрерывная интерпретация данных в реальном масштабе времени и сигнализация о выходе тех или иных параметров за допустимые пределы. Главные проблемы при этом — пропуск
тревожной ситуации и «инверсная» проблема ложного срабатывания.
Примерами являются контроль за работой электростанции, помощь диспетчерам атомного реактора, контроль аварийных датчиков на химическом заводе и др.
Проектирование
Проектирование — состоит в подготовке спецификаций на создание объектов с заранее определенными свойствами. Под спецификацией здесь понимается весь набор необходимых документов, включая чертежи, пояснительные записки и т. д. Для организации эффективного проектирования (и в еще большей степени — перепроектирования) необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связаны два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения. Примером может являться проектирование конфигураций ЭВМ, синтез электрических схем и др.
Прогнозирование
Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров
«подгоняются» под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.
Примеры: предсказание погоды, оценка будущего урожая, прогнозы в экономике и др.
Примерами являются контроль за работой электростанции, помощь диспетчерам атомного реактора, контроль аварийных датчиков на химическом заводе и др.
Проектирование
Проектирование — состоит в подготовке спецификаций на создание объектов с заранее определенными свойствами. Под спецификацией здесь понимается весь набор необходимых документов, включая чертежи, пояснительные записки и т. д. Для организации эффективного проектирования (и в еще большей степени — перепроектирования) необходимо формировать не только сами проектные решения, но и мотивы их принятия. Таким образом, в задачах проектирования тесно связаны два основных процесса, выполняемых в рамках соответствующей ЭС: процесс вывода решения и процесс объяснения. Примером может являться проектирование конфигураций ЭВМ, синтез электрических схем и др.
Прогнозирование
Прогнозирующие системы логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров
«подгоняются» под заданную ситуацию. Выводимые из этой модели следствия составляют основу для прогнозов с вероятностными оценками.
Примеры: предсказание погоды, оценка будущего урожая, прогнозы в экономике и др.
Планирование
Под планированием понимается нахождение планов действий, относящихся к объектам, способным выполнять некоторые функции. В таких
ЭС используются модели поведения реальных объектов, чтобы логически вывести последствия их планируемой деятельности. Примеры: планирование поведения робота, планирование промышленных заказов, планирование эксперимента и др.
Обучение
Системы обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, а затем при работе способны диагностировать слабости в знаниях обучаемых и находить соответствующие средства для ликвидации пробелов в знаниях. Кроме того, подобные системы планируют акт общения с учеником, в зависимости от успехов ученика, с целью передачи знаний.
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа и задачи синтеза.
Основное отличие задач анализа от задач синтеза заключается в следующем: если в первых из них множество решений может быть перечислено и включено в систему, то во-вторых множество решений потенциально строится из решений компонентов или подпроблем. Таким образом, задача анализа — это интерпретация данных и диагностика, а к задачам синтеза относятся проектирование и планирование.
Возможны также комбинированные задачи: обучение, мониторинг, прогнозирование.
Классификация по связи с реальным временем
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются во времени, стабильны. Пример — диагностика неисправностей в автомобиле.
Квазидинамические ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени. Примером являются микробиологические ЭС (скажем, в производстве лизина), в которых один раз в 4 - 5 часов снимаются лабораторные измерения с технологического процесса и анализируется динамика полученных показателей по отношению к предыдущему измерению.
Динамические ЭС работают в сопряжении с датчиками объектов в режиме реального времени с непрерывной интерпретацией поступаемых данных. Примеры — управление гибкими производственными комплексами, мониторинг в реанимационных палатах и т. д.
Классификация по типу ЭВМ
На сегодня существуют:
-
ЭС для уникальных стратегически важных задач, функционирующие на суперЭВМ;
-
ЭС для ЭВМ средней производительности;
-
ЭС для символьных процессоров и рабочих станций;
-
ЭС для мини- и супер-мини-эвм;
-
ЭС для персональных компьютеров.
Классификация по степени интеграции с другими программами
Автономные ЭС работают непосредственно в режиме консультаций с пользователем для «специфически экспертных» задач, при решении которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т. д.).
Гибридные ЭС представляют собой программные комплексы, объединяющие в себе стандартные пакеты прикладных программ (например, математической статистики, линейного программирования или системы управления базами данных) и средства манипулирования знаниями.
Несмотря на внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем представляет собой задачу, на порядок более сложную, чем разработка автономной ЭС. Стыковка не просто разных пакетов, а разных методологий (что часто и происходит в гибридных системах) порождает целый комплекс теоретических и практических трудностей.
1.4.4 Представление знаний в экспертных системах
Первый (и основной) вопрос, который надо решить при представлении знаний, — это вопрос определения состава знаний, т. е. определение того, что представлять в экспертной системе. Второй вопрос касается того, как представлять знания. Необходимо отметить, что эти две проблемы являются взаимозависимыми, поскольку выбранный способ представления может оказаться непригодным в принципе либо неэффективным для выражения некоторых знаний.
В соответствии с общей схемой статической экспертной системы
(см. рис. 1.5) для ее функционирования требуются следующие знания:
- о процессе решения задачи, используемые интерпретатором
(решателем);
- о языке общения и способах организации диалога, используемые лингвистическим процессором (диалоговым компонентом);
- о способах представления и модификации знаний, используемые компонентом приобретения знаний;
- поддерживающие структурные и управляющие знания, используемые объяснительным компонентом.
1.4.5 Инструментальные средства построения экспертных систем
Традиционные языки программирования
В эту группу инструментальных средств входят традиционные языки программирования (С, C++, Basic, SmallTalk, Fortran и т. д.), ориентированные в основном на вычислительные алгоритмы и потому малопригодные для работы с символьными и логическими данными.
Поэтому создание систем искусственного интеллекта на основе этих языков требует значительных усилий программистов.
Однако большим достоинством этих языков является высокая эффективность, связанная с их близостью к базовой машинной архитектуре. Кроме того, использование традиционных языков программирования позволяет включать интеллектуальные подсистемы (например, интегрированные экспертные системы) в крупные программные комплексы общего назначения. Среди традиционных языков наиболее удобными считаются объектно- ориентированные (SmallTalk, C++). Это связано с тем, что парадигма объектно-ориентированного программирования тесно связана с фреймовой моделью представления знаний.
Языки искусственного интеллекта
Это прежде всего Lisp и Prolog — наиболее распространенные языки, предназначенные для решения задач искусственного интеллекта.
Универсальность этих языков меньше, нежели у традиционных, но ее потерю языки искусственного интеллекта компенсируют богатыми возможностями для работы с символьными и логическими данными, что очень важно для задач искусственного интеллекта. На основе таких языков создаются специализированные компьютеры
(например,
«Лисп-машины»), предназначенные для решения задач искусственного интеллекта. Недостаток
же этих языков заключается в их неприменимости для создания гибридных экспертных систем.
Специальный программный инструментарий
В эту группу программных средств искусственного интеллекта входят специальные инструментарии общего назначения. Как правило, это различные библиотеки и надстройки над языком искусственного интеллекта
Lisp: КЕЕ (Knowledge Engineering Environment), FRL (Frame Representation
Language), KRL (Knowledge Representation Language), ARTS и др., позволяющие пользователям работать с заготовками экспертных систем на более высоком уровне, чем это возможно в обычных языках искусственного интеллекта.
«Оболочки»
Под «оболочками» (shells) понимают «пустые» версии существующих экспертных систем, т. е. готовые экспертные системы без базы знаний.
Примером может служить система EMYCIN («Empty MYCIN» — «пустой
MYCIN»), которая представляет собой незаполненную экспертную систему
MYCIN. Достоинство «оболочек» в том, что они вообще не требуют работы программистов для создания готовой экспертной системы, — требуются только специалисты в предметной области для заполнения базы знаний.
Однако если некоторая предметная область плохо укладывается в модель, используемую в данной конкретной «оболочке», то заполнить базу знаний в этом случае очень непросто.
Специальный программный инструментарий
В эту группу программных средств искусственного интеллекта входят специальные инструментарии общего назначения. Как правило, это различные библиотеки и надстройки над языком искусственного интеллекта
Lisp: КЕЕ (Knowledge Engineering Environment), FRL (Frame Representation
Language), KRL (Knowledge Representation Language), ARTS и др., позволяющие пользователям работать с заготовками экспертных систем на более высоком уровне, чем это возможно в обычных языках искусственного интеллекта.
«Оболочки»
Под «оболочками» (shells) понимают «пустые» версии существующих экспертных систем, т. е. готовые экспертные системы без базы знаний.
Примером может служить система EMYCIN («Empty MYCIN» — «пустой
MYCIN»), которая представляет собой незаполненную экспертную систему
MYCIN. Достоинство «оболочек» в том, что они вообще не требуют работы программистов для создания готовой экспертной системы, — требуются только специалисты в предметной области для заполнения базы знаний.
Однако если некоторая предметная область плохо укладывается в модель, используемую в данной конкретной «оболочке», то заполнить базу знаний в этом случае очень непросто.
1.4.6 Технология разработки экспертной системы
В настоящее время сложилась определенная технология разработки
ЭС, которая включает в себя следующие шесть этапов (рис. 1.7): идентификацию, концептуализацию, формализацию, выполнение, тестирование и опытную эксплуатацию.
Рисунок 1.7 - Этапы разработки ЭС
Этап идентификации
Данный этап связан прежде всего с осмыслением задач, которые предстоит решать будущей ЭС, и с формированием требований к ней.
Результатом его является ответ на вопрос, что надо сделать и какие ресурсы необходимо задействовать (идентификация задачи, определение участников процесса проектирования и их ролей, выявление ресурсов и целей).
Идентификация задачи заключается в составлении неформального
(вербального) описания, в котором указываются общие характеристики задачи, подзадачи, выделяемые внутри данной задачи, ключевые понятия
(объекты), их входные (выходные) данные, предположительный вид решения, а также знания, относящиеся к решаемой задаче.
При идентификации целей важно отличать цели, ради которых создается ЭС, от задач, которые она должна решать. Примерами возможных целей могут быть формализация неформальных знаний экспертов, улучшение качества решений, принимаемых экспертом, автоматизация рутинных аспектов работы эксперта (пользователя), тиражирование знаний эксперта.
Этап концептуализации
На данном этапе проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач. Он завершается созданием модели предметной области (ПО), включающей в себя основные концепты и отношения. На этапе концептуализации определяются следующие особенности задачи: типы доступных данных, исходные и выводимые данные, подзадачи общей задачи, используемые стратегии и гипотезы, виды взаимосвязей между объектами
ПО, типы используемых отношений (иерархия, причина — следствие, часть
— целое и т. п.), процессы, используемые в ходе решения, состав знаний, используемых при решении задачи, типы ограничений, накладываемых на процессы, используемые в ходе решения, состав знаний, используемых для обоснования решений.
Существуют два подхода к процессу построения модели предметной области, которая и является целью разработчиков ЭС на этапе концептуализации. Признаковый, или атрибутивный подход предполагает наличие полученной от экспертов информации в виде троек «объект — атрибут — значение атрибута», а также наличие обучающей информации.
Этот подход развивается в рамках направления, получившего название
«формирование знаний», или «машинное обучение» (machine learning).