Основные компоненты экспертных систем


Основные компоненты информационной технологии экспертных систем.

Основными компонентами информационной технологии, используемой в ЭС, являются: интерфейс пользователя, база знаний, интерпретатор, модуль создания системы (рис. 15.1).

Интерфейс пользователя - комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и на стадии получения результатов.

Технология ЭС предусматривает возможность получать в качестве выходной информации не только решение, но и необходимые объяснения. Различают два вида объяснений:

- объяснения, выдаваемые по запросам. Пользователь в любой момент может потребовать от ЭС объяснения своих действий:

- объяснения полученного решения проблемы. После получения решения пользователь может потребовать объяснений того, как оно было получено. Система должна пояснить каждый шаг своих рассуждений, ведущих к решению задачи.

Хотя технология работы с ЭС не проста, пользовательский интерфейс этих систем является дружественным и обычно не вызывает трудностей при ведении диалога.


 

Рис. 15.1. Структура экспертной системы

 

Основу ЭС составляетбаза знаний, хранящая множество знаний и набор правил, полученных от экспертов и из специальной литературы. Она содержит факты, описывающие проблемную область, а также логическую взаимосвязь этих фактов. Центральное место в базе знаний принадлежит правилам.

Правило определяет, что следует делать в данной конкретной ситуации, и состоит из двух частей: условие, которое может выполняться или нет, и действие, которое следует произвести, если условие выполняется.

Интерпретатор - часть экспертной системы, производящая в определенном порядке обработку знаний (мышление), находящихся в базе знаний. Технология работы интерпретатора сводится к последовательному рассмотрению совокупности правил (правило за правилом). Если условие, содержащееся в правиле, соблюдается, выполняется определенное действие, и пользователю предоставляется вариант решения его проблемы.

Кроме того, во многих экспертных системах вводятся дополнительные блоки: база данных, блок расчета, блок ввода и корректировки данных. Блок расчета необходим в ситуациях, связанных с принятием управленческих решений. В базе данных содержатся плановые, физические, расчетные, отчетные и другие постоянные или оперативные показатели. Блок ввода и корректировки данных используется для оперативного и своевременного отражения текущих изменений в базе данных.

Модуль создания системы служит для создания набора (иерархии) правил. Существуют два подхода, которые могут быть положены в основу модуля создания системы: использование алгоритмических языков программирования и использование оболочек экспертных систем.

Для представления базы знаний специально разработаны языки Лисп и Пролог, хотя можно использовать и любой известный алгоритмический язык. Оболочка экспертных систем представляет собой готовую программную среду, которая может быть приспособлена к решению определенной проблемы путем создания соответствующей базы знаний. В большинстве случаев использование оболочек позволяет создавать экспертные системы быстрее и легче в сравнении с программированием.

Разработка ЭС начинается с:

- определения проблемной области и задачи;

- нахождения эксперта, желающего сотрудничать при решении проблемы;

- определения предварительного подхода к решению проблемы;

- анализа расходов и прибыли от разработки;

- подготовки подробного плана разработки. Правильный выбор проблемы представляет самую критическую часть разработки в целом. Если выбрать неподходящую проблему, можно начать спроектировать задачи, которые никто не знает, как решать. Неподходящая проблема может привести к созданию системы, которая стоит намного больше, чем экономит, или которая работает, но не приемлема для пользователей.

Приведем некоторые факты, свидетельствующие о необходимости разработки и внедрения ЭС:

- нехватка специалистов;

- потребность в многочисленном коллективе специалистов, поскольку ни один из них не обладает достаточным знанием;

- сниженная производительность, поскольку задача требует полного анализа сложного набора условий, а обычный специалист не в состоянии просмотреть (за отведенное время) все эти условия;

- большое расхождение между решениями самых хороших и самых плохих исполнителей;

- наличие конкурентов, имеющих преимущество в том, что они лучше справляются с поставленной задачей.

Обычно ЭС разрабатываются путем получения специфических знаний от эксперта и ввода их в систему.

В коллектив разработчиков ЭС входят как минимум четыре человека: - эксперт - ведущий специалист в какой-либо области деятельности, обладающий уникальными знаниями;

- инженер по знаниям - специалист по искусственному интеллекту, выступающий в роли промежуточного буфера между экспертом и базой знаний;

- программист - специалист в области разработки программного обеспечения:

- пользователь - специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС. Возглавляет коллектив инженер по знаниям, это ключевая фигура при разработке систем, основанных на знаниях.

В процессе разработки системы инженер по знаниям и эксперт обычно работают вместе. Инженер по знаниям помогает эксперту структурировать знания, определять и формализовать понятия и правила, необходимые для решения проблемы. Программную реализацию задачи осуществляет программист.

Прибыль от разработки ЭС возможна за счет снижения цены продукции, повышения производительности труда, расширения номенклатуры продукции и услуг или даже разработки новых видов продукции и услуг в этой области.

Классификация экспертных систем

Можно выделить семь основных классов задач, для решения которых создаются ЭС.

1. Интерпретация данных, т.е. анализ поступающих в систему данных с целью идентификации ситуации в предметной области. Например:

- обнаружение и идентификация различных типов океанских судов;

- определение основных свойств личности по результатам психодиагностических тестов.

2. Диагностика, т.е. идентификация критических ситуаций в предметной области на основе интерпретации данных. Под диагностикой обычно понимается обнаружение неисправности в некоторой системе. Например:

- диагностика и терапия сужения коронарных сосудов;

- диагностика ошибок в аппаратуре и математическом обеспечении ЭВМ.

3. Мониторинг, т.е. слежение за ходом событий в предметной области с целью определения момента возникновения критических ситуаций на основе непрерывной интерпретации данных. Например:

- контроль работы электростанций, помощь диспетчерам атомного реактора;

- контроль аварийных датчиков на химическом заводе.

4. Проектирование, т.е. разработка объектов, удовлетворяющих определенным требованиям. Например:

- проектирование конфигураций ЭВМ VАХ - 11/780 в системе ХСОМ,

- синтез электрических цепей и др.

5. Прогнозирование, т.е. предсказание возникновения в предметной области тех или иных ситуаций в будущем на основе моделей прошлого и настоящего с вероятностными. Например:

- предсказание погоды; - оценки будущего урожая; - прогнозы в экономике и др.

6. Планирование, т.е. создание программ действий, выполнение которых позволит достичь поставленной цели.

Например:

- планирование поведения робота;

- планирование промышленных заказов;

- планирование эксперимента и др.

7. Обучение, т.е. диагностика ошибок при изучении какой-либо дисциплины и подсказка правильных решений. Например: - обучение языку программирования Лисп; - система обучения иностранному языку и др. По своему назначению ЭС можно условно разделить на консультационные или информационные, исследовательские и управляющие.

Консультационные ЭС предназначены для получения пользователем квалифицированных советов: исследовательские ЭС призваны помогать пользователю квалифицированно решать научные задачи; управляющие ЭС служат для автоматизации управления процессами в реальном масштабе времени.

Экспертные системы создаются для решения разного рода проблем, типы которых можно сгруппировать в категории (табл. 15.1).

Ниже перечислены некоторые из предметных областей, в которых применяются экспертные системы. Из них особенно популярна медицина.