![](/user_photo/2706_HbeT2.jpg)
- •Нечеткие логические системы Постановка задачи
- •Решение задачи
- •Нейронные сети Постановка задачи
- •Эвристическое решение задачи
- •Выбор нейронной сети для решения задачи
- •Вычислительный эксперимент
- •Экспертная система Постановка задачи
- •Исследование структуры экспертной системы
- •Создание собственной базы продукционных правил
- •Литература
Исследование структуры экспертной системы
Рассмотрим пользовательские типы данных в данной экспертной системе:
word_string – строка для хранения отдельных слов;
line_string – строка для построчного чтения файлов базы знаний;
value - структура для представления значений присваиваемых объектам. Поля:
name – текстовое представление значения,
cert – коэффициент уверенности,
setby – назначение неясно,
next – указатель на следующее значение;
legal_value – структура для хранения допустимых значений объекта. Поля:
name – имя,
next – указатель на следующее допустимое значение ;
obiect – структура для представления объектов. Поля:
name - имя,
question – ассоциированный вопрос,
multivald – признак многозначности,
legal_list – список допустимых значений объекта,
sought ,
value_list – список значений объекта,
next – указатель на следующий объект;
prem – структура для представления фактов-условий (объект = значение). Поля:
obiect_ – имя объекта,
value_ – строковое представление значения,
next – указатель на следующий факт-условие;
con – структура для представления фактов-заключений(объект = значения). Поля:
obiect_ – имя объекта,
value_ – строковое представление значения,
cert – коэффициент уверенности,
next – указатель на следующий факт-заключение;
rule – структура для представления продукционных правил. Поля:
name – название правила,
prem_ – факт-условие (объект = значение),
con_ – факт-заключение,
next – указатель на следующее правило.
Рассмотрим структуру файла базы знаний:
списки допустимых значений объектов в формате:
разрешзн(имя_объекта)=значение1,значение2
вопросы для ввода значений каждого объекта:
вопрос(имя_объекта)=Вопрос
правила для осуществления продукционного вывода:
название_правила: если
объект1=значение1 и
объект2=значение2 и
объект3=значение3
то
объект=значение.
Рассмотрим основные опции экспертной системы:
Добавление факта в базу знаний – добавление факта об объекте;
Проверка истинности факта – сравнение факта с содержимым базы знаний;
Просмотр фактов базы знаний – вывод фактов базы знаний;
Объявление объекта многозначным – позволяет задать объекту несколько значений;
Ввод разрешенных значений – задание списка значений для объекта;
Добавление вопросов об объекте – изменение вопроса для определения значения объекта;
Ответ на вопрос об объекте – ввод значений;
Консультация – интерактивный ввод значений и принятие решения о значении переменной.
Необходимо отметить несколько существенных недостатков исследуемой системы. Во-первых, все факты, вводимые в программу, хранятся исключительно в оперативной памяти, из-за чего при новом запуске программы необходимо повторно заносить их значения. Во-вторых, используемый в ней прямой вывод будет эффективным только на сравнительно небольшом количестве переменных. В-третьих, режимы ввода Добавление факта в базу знаний и Ввод разрешенных значений допускают ввод переменных с некорректными именами и значениями. Однако, не смотря на данные недостатки, для небольших баз правил система показывает корректную работу.