Архитектура экспертной системы, в которой знания представлены совокупностью правил логического вывода, показана на рис. 3.
Рис. 3. Архитектура экспертной системы на правилах (МВ – механизм или "машина" выводв; ИР – интерфейс разработчика; ОС – объясняющая система; ИП – интерфейс пользователя)
В простейшем случае экспертная система может состоять из базы знаний, механизма вывода и интерфейса разработчика-пользователя (рис. 4).
Рис. 4. Минимальная архитектура экспертной системы
(ИР – интерфейс разработчика; МВ – "машина" вывода)
Основой экспертной системы является база знаний о предметной области. База знаний (БЗ) содержит знания – информацию об объектах предметной области.
В экспертных системах для представления знаний используют:
– семантические сети
– фреймы
– правила логического вывода
Семантические сети и фреймы используют в системах, предназначенных для решения исследовательских задач в области искусственного интеллекта. Рассмотрение этих способов представления знаний выходит за рамки этой книги.
Правила логического вывода в общем случае представляют собой выражения вида
ЕСЛИ условие ТО заключение
Правила логического вывода отражают ход рассуждений человека-эксперта и позволяют наиболее естественно и понятно описать процесс принятия решений.
Например, на естественном языке правила выбора галстука можно записать так:
If jacket is blazer and shirt is white classic then tie is narrow
If jacket is sport coat and shirt is striped then no tie
В базе знаний экспертной системы эти правила выглядят так:
rule(1)
jacket = blazer
shirt = white_classic
then
tie=narrow;
rule(2)
jacket = sport_coat
shirt = striped
then
tie = no;
Факты базы знаний представляю собой утверждения вида
Объект = Значение, cf=к
Факты в базе знаний появляются в процессе консультации как результат ответов пользователя на вопросы экспертной системы, а также как результат согласования фактов с правилами.
Например, если на вопрос экспертной системы Shirt? пользователь введет white_classic, то в базу знаний будет добавлен факт
shirt=white_classic, cf=100
Если в процессе консультации в ответ на вопросы машины вывода Jacket? и Shirt? пользователь, соответственно, введет sport_coat и strip, то в базу знаний сначала будут добавлены факты
jacket=sport_coat, cf=100
shirt=strip, cf=100
Затем, в результате согласования текущих значений объектов jacket и shirt с предпосылкой правила 2 (см. выше) будет добавлен факт-заключение
tie=no,cf=60
Механизм или "машина" вывода (inference engine) моделирует процесс рассуждений эксперта, реализует цепочку вывода заключения путем сопоставления фактов и правил логического вывода.
Интерфейс пользователя (user interface) обеспечивает взаимодействие пользователя с экспертной системой в процессе консультации.
Интерфейс разработчика (developer interface) имеет доступ к базе знаний, что позволяет вносить в нее изменения, корректировать правила логического вывода.
Объясняющая система (explanation module) обеспечивает отображение цепочки вывода заключения, показывает правила, на основе которых заключение было сделано.