ЭС- это набор программ или программное обеспечение, которое выполняет функции эксперта при решении какой-либо задачи в области его компетенции. ЭС, как и эксперт-человек, в процессе своей работы оперирует со знаниями. Знания о предметной области, необходимые для работы ЭС, определенным образом формализованы и представлены в памяти ЭВМ в виде базы знаний, которая может изменяться и дополняться в процессе развития системы.
База знаний- наиболее важная компонента экспертной системы, на которой основаны ее «интеллектуальные способности». В отличие от всех остальных компонент ЭС, база знаний- «переменная » часть системы, которая может пополняться и модифицироваться инженерами знаний и опыта использование ЭС, между консультациями (а в некоторых системах и в процессе консультации). Существует несколько способов представления знаний в ЭС, однако общим для всех них является то, что знания представлены в символьной форме (элементарными компонентами представления знаний являются тексты, списки и другие символьные структуры)
Подсистема вывода - программная компонента экспертных систем, реализующая процесс ее рассуждений на основе базы знаний и рабочего множества. Она выполняет две функции: во-первых, просмотр существующих фактов из рабочего множества и правил из базы знаний и добавление (по мере возможности) в рабочее множество новых фактов и, во-вторых, определение порядка просмотра и применения правил. Эта подсистема управляет процессом консультации, сохраняет для пользователя информацию о полученных заключениях, и запрашивает у него информацию, когда для срабатывания очередного правила в рабочем множестве оказывается недостаточно данных.
Цель ЭС - вывести некоторый заданный факт, который называется целевым утверждением (то есть в результате применения правил добиться того, чтобы этот факт был включен в рабочее множество), либо опровергнуть этот факт (то есть убедиться, что его вывести невозможно, следовательно, при данном уровне знаний системы он является ложным). Целевое утверждение может быть либо «заложено» заранее в базу знаний системы, либо извлекается системой из диалога с пользователем.
Прямой порядок вывода- от фактов, которые находятся в рабочем множестве, к заключению. Если такое заключение удается найти, то оно заносится в рабочее множество. Прямой вывод часто называют выводом, управляемым данными.
Обратный порядок вывода: заключения просматриваются до тех пор, пока не будет обнаружены в рабочей памяти или получены от пользователя факты, подтверждающие одно из них.
Его действия основаны на применении правила вывода, обычно называемого модус поненс, суть которого состоит в следующем: пусть известно, что истинно утверждение А и существует правило вида «Если А, то В», тогда утверждение В так же истинно. Правила срабатывают, когда находятся факты, удовлетворяющие их левой части: если истинна посылка, то должно быть истинно и заключение.
Компонент вывода должен обладать способностью функционировать при любых условиях. Механизм вывода должен быть способен продолжить рассуждение и со временем найти решение даже при недостатке информации. Это решение может и не быть точным, однако система ни в коем случае не должна останавливаться из-за того, что отсутствует какая-либо часть входной информации.
Управляющий компонент.
Этот компонент определяет порядок применения правил, а также устанавливает, имеются ли еще факты, которые могут быть изменены в случае продолжения консультации. Управляющий компонент выполняет четыре функции:
1. Сопоставление- образец правила сопоставляется с имеющимися фактами;
2. Выбор- если в конкретной ситуации могут быть применены сразу несколько правил, то из них выбирается одно, наиболее подходящее к заданному критерию (разрешение конфликта).
3. Срабатывание- если образец правила при сопоставлении совпал с какими- либо фактами из рабочего множества, то правило срабатывает.
4. Действие- рабочее множество подвергается изменению путем добавления в него заключения сработавшего правила. Если в правой части правила содержится указание на какое- либо действие, то оно выполняется (как, например, в системах обеспечения безопасности информации).
Диалог с ЭС. Объяснение.
Поскольку системы, основанные на знаниях, реализуются на компьютерах, то и входная информация воспринимается или в виде, понятном компьютеру, т.е. в битах и байтах. Однако для того чтобы мог взаимодействовать неподготовленный пользователь, в нее требуется включить средства общения на естественном языке. Подавляющее большинство систем, основанных на знаниях, обладают достаточно примитивным интерфейсом на естественном языке- допустимые входные сообщения пользователя ограничены набором понятий, содержащихся в базе знаний.
Рассмотрим теперь работу подсистемы объяснения. Для получения объяснения в процессе консультации пользователь может “перехватить инициативу” диалога в тот момент, когда система задает очередной вопрос, “переспросив” в ответ систему, почему она его задала. Таким образом, вместо ответа на вопрос системы, пользователь может задать ей встречный вопрос:
ПОЧЕМУ?
(“ Почему система задала такой вопрос?”). Система интерпретирует вопрос “Почему?” в “понятных” ей терминах дерева вывода