Обычно считается, что прагматические требования к экспертной системе сводятся к тому, что она должна быть предназначена для удобной, квалифицированной поддержки информационной деятельности человека в определенной предметной области. Подразумевается наличие развитого диалога, обеспечивающего понимание входных сообщений, выполнение нужных процедур и выдача разумных сообщений в удобной форме. Считают, что сообщения разумны, если они заслуживают доверия и "прозрачны".
Структура типичной экспертной системы приведена на Рис.2. Как
правило, в ее состав входят:
1. - Интерфейс, обеспечивающий общение пользователя с экспертной системой в удобной для него форме, он позволяет передавать ей информацию, составляющую содержание базы данных, обратиться к системе с вопросом или за объяснением.
2. - Рабочая память, хранящая данные (база данных), соответствующие объектам, связь между которыми задается правилами в базе знаний.
3. - Диспетчер, определяющий порядок функционирования экспертной системы, планирующий порядок постановки и достижения целей.
4. - Машина вывода - формально-логическая система, реализованная в виде программного модуля, позволяющая логически выводить необходимую для пользователя информацию, исходя из сведений, размещенных в базе знаний.
5. - База знаний - совокупность всех имеющихся сведений о проблемной области, для которой предназначена данная экспертная система, записанных с помощью определенных формальных структур представления знаний (набора правил, фреймов, семантических сетей и пр.)
Важной компонентой экспертной системы является блок объяснений, дающий возможность пользователю убедиться в обоснованности информации, получаемой им от экспертной системы, позволяющий задавать ей вопросы, и на основании разумных ответов проникаться к ней доверием.
|
Два подхода получили наибольшее распространение при создании машин логического вывода экспертных систем.
- Системы с прямым логическим выводом, в которых производится многократное применение всех правил базы знаний к доступным данным, с возможностью запроса недостающих. Процесс преобразования данных под воздействием машины логического вывода происходит до тех пор пока возможно изменение их значений. Упрощенный алгоритм функционирования такой экспертной системы имеет вид (структура экспертной системы приведена на рис.2).
1. В рабочую память 2 через интерфейс 1 вводятся пользователем значения исходных переменных.
2. В базе знаний 5 определяются те правила, в условиях которых присутствуют переменные, имеющиеся в рабочей памяти.
3. Производится попытка применения правил с помощью машины логического вывода 4 и занесение результатов в рабочую память.
4. Если применение хотя бы одного правила оказалось успешным, то переход к п.2.
5. Если достигнутое состояние рабочей памяти (базы данных) не позволяет больше применить ни одно из правил базы знаний, то процесс логического вывода заканчивается и диспетчер 3 принимает решение о выдаче пользователю через интерфейсный блок информации, полученной в результате применения правил.
Системы с прямым логическим выводом более просты в построении, результатом работы у них обычно является целый пакет данных, но их эффективность не всегда соответствует требованиям практических задач.
|
В системах обратного вывода намечается перечень конечных целей - переменных, значения которых необходимо получить. Далее производится поиск правил, определяющих эти цели. Вычисляются значения всех переменных, входящих в условия правила. Если переменные определяются другими правилами, происходит переход к выяснению истинности их условий, в противном случае значения переменных запрашиваются у пользователя. Процесс экспертизы заканчивается после того, как будут найдены все поставленные цели консультации. Это означает, что должна быть выяснена истинность всех переменных, входящих в задействованные правила. Упрощенный алгоритм функционирования экспертных систем обратного вывода можно
представить в следующем виде.
1. Задается набор целей - переменных, значение которых требуется определить с помощью экспертной системы. Список этих переменных через интерфейс вводится в рабочую память.
2. В базе знаний машина логического вывода выделяет список правил, из которых можно найти неизвестные переменные в рабочей памяти.
3. Из условий выделенных правил, определяются остальные переменные, необходимые для применения правил.
4. Определяется, какие из найденных в п.3 переменных можно получить из правил базы знаний.
5. Дополняется список целей переменными найденными в п.4.
6. Значения переменных из списка определенного в п.3, за исключением найденных в п.4, запрашиваются у пользователя.
7. Производится попытка применения правил базы знаний для достижения поставленных целей.
8. Если не все цели достигнуты (не удалось применить все правила, определяющие интересующие нас переменные), производится переход к п.2, исключив из списка целей найденные переменные.
9. По достижению всех первоначально поставленных целей диспетчер прекращает работу машины логического вывода и через интерфейс выводит пользователю значения этих переменных. Логический вывод прекращается также, если нельзя достичь поставленных целей.
В большинстве реально работающих экспертных систем, как правило, используются различные модификации и комбинации рассмотренных выше алгоритмов.