Skip to Content

Экспертные системы

Экспертные системы

Совершенствование средств вычислительной техники по пути улучшения технических характеристик позволяет значительно расширить сферу ее применения в народном хозяйстве. Появление персональных компьютеров дает возможность облегчить доступ к ЭВМ широкому кругу специалистов из различных областей производства, науки и техники. В настоящее время при помощи ЭВМ различные типы задач решаются с большой эффективностью:
- Вычислительные задачи – в которых в соответствии с определенным алгоритмом и множеством входных данных получают множество результатов. Алгоритм в таких задачах выступает в качестве строгой последовательности операций.
- Информационные задачи – нахождение части базы данных, соответствующей внешнему запросу. Алгоритм здесь – последовательность информационно-поисковых процедур, а база данных – набор декларативных знаний.
- Задачи АСУ принятия решений – когда на основании определенного набора критериев из множества альтернатив выбирается наиболее подходящая для достижения поставленных целей. Цели и критерии могут быть как постоянными, так и изменяться в процессе решения задачи.
- Логические задачи, в которых по описанию начальной и целевой ситуаций из имеющегося набора действий синтезируется алгоритм достижения цели.
Для решения двух последних типов задач могут применяться методы искусственного интеллекта, основанные на знаниях. Одной из разновидностей систем, использующих эти методы, являются экспертные системы (ЭС). Они представляют собой попытку создания человеко-машинных комплексов для решения слабо формализуемых задач или задач вообще не имеющих алгоритмического решения.
Экспертная система
На сегодняшний день всем, кто работает в области информатики или интересуется этой новой областью науки, известен термин «экспертные системы» [1]. В отношении определения «экспертная система» существует большое количество самых различных трактовок, дополняющих друг друга и, в результате, позволяющих рассматривать проблемы создания ЭС с разных точек зрения (программно-технические средства реализации, приобретение и обработка знании, формализация эвристических знании и т.д.).
Экспертная система (ЭС) – это компьютерная программа, содержащая накопленные знания специалистов в определенной предметной области. Эта программа способна вырабатывать рекомендации, какие бы дал эксперт-человек, запрашивая при необходимости дополнительную информацию. Экспертные системы могут работать на том же уровне что и эксперты (а в некоторых случаях даже лучше), позволяют имитировать творческую деятельность или усиливать интеллектуальные возможности специалиста-эксперта в части выбора решении, используя, в основном, эвристические знания специалистов, накопленный ранее коллективный опыт в конкретной предметной области знаний [3].
Экспертная система состоит из базы знаний, механизма логического вывода и подсистемы объяснений. ЭС предназначены, главным образом, для решения практических задач, возникающих в слабо структурированной и трудно формализуемой предметной области. ЭС были первыми системами, которые привлекли внимание потенциальных потребителей продукции искусственного интеллекта [6].
В последние годы ведутся активные исследования в области создания и внедрения интеллектуальных систем во все области человеческой деятельности. В рамках исследования искусственного интеллекта созданы многочисленные экспертные системы для разных областей знания, таких, например, как медицинская диагностика и обследование пациентов, генные и молекулярные исследования, составление конфигурации вычислительных машин, образование, поиск неисправностей в устройствах и системах и многие другие практические приложения.
Структура экспертной системы
Структура типичной экспертной системы представлена следующими структурными элементами:
- База знаний (БЗ);
- База данных (БД);
- Пользовательский интерфейс;
- Механизм логического анализа (МЛА);
- Модуль приобретения знаний (МПЗ);
- Модуль советов и объяснений (МСО).

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

В описанной выше структуре собственно знания отделены от алгоритмов, использующих эти знания. Такое разделение удобно по следующим соображениям. База знаний, очевидно, зависит от конкретного приложения. С другой стороны, оболочка теоретически независима от приложений. Таким образом, разумный способ разработки экспертной системы для нескольких приложений сводится к созданию универсальной оболочки, после чего для каждого приложения достаточно подключить к системе новую базу знаний [7]. Разумеется, все эти базы знаний должны удовлетворять одному и тому же формализму, который оболочка «понимает». Практический опыт показывает, что для сложных экспертных систем сценарий с одной оболочкой и многими базами знаний работает, не так гладко, как бы этого хотелось, за исключением тех случаев, когда прикладные области очень близки. Тем не менее, даже если переход от одной прикладной области к другой требует модификации оболочки то, по крайней мере, основные принципы ее построения обычно удается сохранить.
Для создания оболочки, при помощи которой можно проиллюстрировать основные идеи и методы в области экспертных систем, можно придерживаться следующего плана:
- Выбрать формальный аппарат для представления знаний.
- Разработать механизм логического вывода, соответствующий этому формализму.
- Добавить средства взаимодействия с пользователем.
- Обеспечить возможность работы в условиях неопределенности.

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

ЭС поддерживает несколько режимов работы с пользователем:
- обучение ЭС пользователями-экспертами новым знаниям;
- обучение пользователя ЭС;
- консультации пользователя с ЭС.

Опишем назначение компонентов экспертной системы:
База знаний (БЗ) – механизм представления знаний в конкретной предметной области и управления ими. БЗ содержит формализованные знания специалистов в виде наборов эвристических правил, относящиеся к конкретной прикладной области, в том числе отдельные факты, правила, описывающие отношения или явления, метаправила, определяющие стратегию управления эвристическими правилами в ходе реализации основных функций ЭС, сведения о структуре и содержании БД. БЗ, в отличие от БД, содержит не только количественные характеристики фактов (данные), а в основном субъективные эвристические знания экспертов. Знания в БЗ образуют сложные, иерархические структуры, что достигается путем введения разнообразных отношений, взаимосвязей [6]. Качество БЗ напрямую зависит от знаний, опыта, интуиции специалистов-экспертов и профессионализма инженера по знаниям.
База данных (БД) – электронные хранилища информации, содержащие сведения о некоторой предметной области человеческой деятельности или области реального мира, доступ к которым осуществляется с одного или нескольких компьютеров.
Механизм логического анализа (МЛА) – представляет собой логико-математический аппарат, осуществляющий анализ ситуации и поиск решения задачи и получение правдоподобного вывода на основе знании БЗ данных БД.
Интерфейс с пользователем отвечает за бесперебойный обмен информацией между пользователем и системой; он также дает пользователю возможность наблюдать за процессом решения задач, протекающим в машине логического вывода.
Принято рассматривать машину вывода и интерфейс как один крупный модуль, обычно называемый оболочкой экспертной системы, или, для краткости, просто оболочкой.
Модуль приобретения знаний – служит для получения знаний от эксперта, адаптации ЭС к изменяющейся действительности, поддержки мощности и актуальности БЗ путем исключения устаревших и несовершенных правил, введением новых. Этот модуль условно разделяют на следующие блоки: блок приобретения знаний, блок построения правил, блок накопления и корректировки.
Модуль советов и объяснений – обеспечивает объяснение полученных выводов и позволяет прослеживать цепь «рассуждений» ЭС, участвовать пользователю в ходе решения задачи. Это механизм, способный не только давать заключение, но и представлять различные комментарии, прилагаемые к этому заключению, и объяснять его мотивы. В противном случае пользователю будет трудно понять заключение. Такое понимание необходимо, если заключение используется для консультации или оказания помощи при решении каких-либо вопросов. Кроме того, с его помощью эксперт определяет, как работает система, и позволяет точно выяснить, как используются знания, предоставленные им.
Пользователь – специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.

Основные разновидности экспертных систем
Известны три основные разновидности исполнения экспертных систем [9]:
- Экспертные системы, выполненные в виде отдельных программ, на некотором алгоритмическом языке, база знаний которых является непосредственно частью этой программы. Как правило, такие системы предназначены для решения задач в одной фиксированной предметной области. При построении таких систем применяются как традиционные процедурные языки PASCAL, C и др., так и специализированные языки искусственного интеллекта LISP, PROLOG.
- Оболочки экспертных систем – программный продукт, обладающий средствами представления знаний для определенных предметных областей. Задача пользователя заключается не в непосредственном программировании, а в формализации и вводе знаний с использованием предоставленных оболочкой возможностей. Недостатком этих систем можно считать невозможность охвата одной системой всех существующих предметных областей. Примером могут служить ИНТЕРЭКСПЕРТ, РС+, VP-Expert.
- Генераторы экспертных систем – мощные программные продукты, предназначенные для получения оболочек, ориентированных на то или иное представление знаний в зависимости от рассматриваемой предметной области. Примеры этой разновидности – системы KEE, ART и др.
Области и критерии применимости экспертных систем
Не останавливаясь на подробном перечне многочисленных областей применения систем искусственного интеллекта, отметим лишь некоторые отрасли народного хозяйства развитых стран, в которых методология экспертных систем была успешно опробована: химия, сельское хозяйство, электроника, образование, финансы, геология, медицина, военное дело, программное обеспечение и многие другие [9].
Из перечня основных типов решаемых задач экспертными системами можно выделить интерпретацию, прогноз, диагностику, проектирование, планирование, управление, наблюдение, отладку, ремонт, обучение.
В списке наиболее распространенных в настоящее время за рубежом экспертных систем и их оболочек можно выделить следующие наименования: INSIGT, LOGIAN, NEXPERT, RULE MASTER, KDS, PICON, KNOWLEDGE CRAFT, KESII, S1, TIMM и др.
В качестве критериев, по которым можно судить о возможности создания экспертной системы следует отметить следующие:
- Необходимость символьных рассуждений, очевидно, нет смысла разрабатывать экспертную систему для численных расчетов, например, для преобразований Фурье, интегрирования, решения систем алгебраических уравнений и др.
- Наличие экспертов, компетентных в избранном круге вопросов, которые согласны сотрудничать при создании ЭС.
- Поставленная проблема должна быть достаточно важной и актуальной. Это могут быть проблемы, требующие высокого уровня экспертизы, либо простые, но трудоемкие многократно повторяющиеся проверки. Нет смысла тратить время на решение проблем, которые возникают редко и могут быть разрешены человеком с обычной квалификацией.
- Необходимо четко ограничивать круг решаемых задач, т.е. предметная область выбирается достаточно «узкой», чтобы избежать «комбинаторного взрыва» объема информации необходимой для компетентного решения поставленной задачи.
- Необходима согласованность мнений экспертов о том, как следует решать поставленные задачи, какие факты необходимо использовать и каковы общие правила вынесения суждений. В противном случае невозможно расширить базу знаний за пределы опыта одного человека и осуществить сплав экспертных знаний из нескольких областей.
- Достаточность исходных данных для проверки работоспособности экспертной системы в выбранной предметной области, чтобы разработчики смогли убедиться в достижимости некоторого заданного уровня ее функционирования.
- Обеспечение возможности постепенного наращивания системы. База знаний должна легко расширяться и корректироваться, так как правила часто меняются с появлением новых фактов.

Ценность использования ЭС проявляется в следующих аспектах:
- В сборе, оперативном уточнении, кодировании и распространении экспертных знаний.
- В эффективном решении проблем, сложность которых превышает человеческие возможности и для которых требуются экспертные знания нескольких областей.
- В сохранении наиболее уязвимой ценности коллектива – коллективной памяти.
Создание баз знаний открывает широкие возможности, которые обусловлены безошибочностью и тщательностью, присущими ЭВМ и синтезом знаний экспертов. Если база знаний объединяет информацию по нескольким дисциплинам, то такой «сплав» знаний приобретает дополнительную ценность.
Экспертная система позволяет решить проблему сохранения экспертных знаний, связанную с утратой наиболее квалифицированных экспертов в результате их продвижения по службе, смерти, перехода на другую работу или выхода на пенсию, а также позволит сделать знания легко доступными для тех, кто займет места ушедших экспертов.
Методика построения экспертной системы
Проектирование экспертных систем имеет определенные отличия от создания традиционного программного продукта [3]. Суть этого отличия в том, что разработчики не пытаются сразу построить конечный продукт, а создают прототип экспертной системы. Прототип должен удовлетворять основным требованиям к системе при минимальной трудоемкости при его создании. Для удовлетворения этим требованиям используются разнообразные инструментальные средства (специализированные языки искусственного интеллекта, оболочки экспертных систем и др.) ускоряющие процесс разработки. Возможно, что может потребоваться создание не одного, нескольких прототипов, базирующихся на различных способах представления знаний, с последующим выбором наиболее удачного. B том случае, когда достигнута удовлетворительная работа прототипа по всему комплексу задач, возможно принятие решения об окончательном перепрограммировании всей системы на языках низкого уровня, с целью улучшения ее характеристик – увеличения быстродействия, уменьшения занимаемой памяти, повышения эргономических параметров интерфейса.
В настоящее время сложилась определенная технология разработки ЭС, которая включает следующие семь этапов: идентификация, концептуализация, формализация, выполнение, тестирование и опытная эксплуатация [7].

(c) 2009 Раздобарина Е.А.
Все права принадлежат ООО "Смарт Автоматикс" (Smart Automatics ltd).
Ссылка на www.smaut.com при использовании материалов ОБЯЗАТЕЛЬНА.