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

2. Структура экспертных систем

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

Экспертные системы в общем случае подразделяются на статические и динамические.

Для начала рассмотрим статическую экспертную систему.

Стандартная статическая экспертная система состоит из следующих основных компонентов:

1) рабочей памяти, называемой также базой данных;

2) базы знаний;

3) решателя, называемого также интерпретатором;

4) компонентов приобретения знаний;

5) объяснительного компонента;

6) диалогового компонента.

Рассмотрим теперь каждый компонент более подробно.

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

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

Решатель, называемый также интерпретатором, функционирует следующим образом: используя исходные данные из рабочей памяти и долгосрочные данные из базы знаний, он формирует правила, применение которых к исходным данным приводит к решению задачи. Одним словом, он действительно «решает» поставленную перед ним задачу;

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

Компонент объяснений разъясняет, как система получила решение данной задачи, или почему она это решение не получила и какие знания она при этом использовала. Иначе говоря, компонент объяснений создает отчет о проделанной работе.

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

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

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

Базы данных: конспект лекций - i_111.png

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

Итак, на этом закончим пока рассмотрение статистической экспертной системы, перейдем к анализу экспертной системы динамической.

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

В отличие от статической экспертной системы в структуру динамической экспертной системы дополнительно вводятся два следующих компонента:

1) подсистема моделирования внешнего мира;

2) подсистема связей с внешним окружением.

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

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

Это главное различие между статической и динамической экспертными системами.

Пример динамической экспертной системы – управление производством различных медикаментов в фармацевтической промышленности.

3. Участники разработки экспертных систем

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

1) эксперт;

2) инженер по знаниям;

3) программист по разработке инструментальных средств.

Разъясним обязанности каждого из приведенных здесь специалистов.

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

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

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

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

4. Режимы работы экспертных систем

Экспертная система работает в двух основных режимах:

1) в режиме приобретения знаний;

2) в режиме решения задачи (называемом также режимом консультаций, или режимом использования экспертной системы).

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

Рассмотрим более подробно режим приобретения знаний.

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

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