Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Алгоритм формирования базы знаний
В данном курсовом проекте для формирования базы был применен алгоритм с прямой цепочкой рассуждений Пусть iое правило имеет следующую структуру Если Фi1 = ЗФi1 и Ф i2 = ЗФi2 и Фi3 = ЗФi3 то Вi = ЗВ i. Здесь i – номер правила, Фi1,2,3 - это факты iго правила, ЗФi1,2,3 – значение факта Фi j, Вi - название вывода iго правила, ЗВi – содержание или значение вывода Вi.. В данном курсовом проекте число условий в одном правиле не ограничено. Пусть есть N правил подобной структуры. Число правил задает эксперт при создании базы знаний. Чтобы в алгоритме вывода можно было оперировать фактами, значениями фактов, учитывать их связь в определенном правиле и делать выводы, соответствующие данному набору фактов, база данных экспертной системы представляется в виде определенных структур: массив переменных условия (МПУ), массив переменных вывода (МПВ), списки переменных условия (СПУ) и вывода (СПВ), очередь переменных вывода (ОПВ). Вначале формируем массив переменных условия МПУ и массив переменных вывода МПВ путем переписывания туда содержимого из соответствующих полей формы. Далее, после ввода всех правил строим СПВ и СПУ. В таблицах 2.1, 2.2 приведена структура МПУ, МПВ, СПУ, СПВ.
Таблица 2.1 – Структура массивов условий и выводов
Таблица 2.1 – Структура списков условий и выводов
Вначале на основе анализа МПВ формируем список переменных вывода СПВ. Анализ заключается в следующем алгоритме: 1. Первую переменную вывода В1 помещаем без обработки как СПВ (1) и устанавливаем текущее количество выводов кв=1 и в третий столбец МПВ записываем: МПВ(1,3)=1, т.е. по содержимому этого столбца обеспечиваем связь МПВ и СПВ. 2. От i =2 до N: (для всех МПВ(i, 1) проверяем была ли эта переменная уже записана в состав СПВ): От р=1 до кв: если МПВ(i, 1) = СПВ (р), то МПВ(i, 3) =р; иначе кв=кв+1; СПВ(кв)= МПВ(i, 1); МПВ(i, 3)=кв. Далее аналогично анализируем МПУ для формирования списка переменных условия СПУ. 1. ку=1; СПУ(1)=МПУ(1); 2. От i =1 до N*М: (для всех МПУ(i, 1): От р=1 до кв: если МПУ(i, 1) = СПВ (р), то МПУ(i, 3)=0; i= i + 1 и перейти к п.2. (т.е. проверяем была ли эта переменная уже записана в состав СПВ как переменная вывода и в этом случае в третий столбец МПУ записываем 0 и эту переменную в перечень переменных условия не включаем). От у=1 до ку: если МПУ(i, 1) = СПУ (у), то МПУ(i, 3) =у; иначе ку=ку+1; СПУ(ку)= МПУ(i, 1); МПУ(у, 3)=ку. Теперь формируем ТПУ (таблица переменных условия) и ТПВ (таблица переменных вывода). Структура таблиц приведена в таблицах 2.3, 2.4. Для i=1,ку ТПУ.условие (i)=СПУ(i), j=1 для кк=1, n*3 если МПУ(1,3)=i, то ТПУ.значение (i, j)=МПУ(кк,2); j= j +1. Для определения ТПУ.вопрос формируем форму и в ней запрашиваем у эксперта о том, какой вопрос следует задавать пользователю для выяснения переменной условия ТПУ.условие(i). Таблица 2.3 – Структура таблицы переменных условия
Аналогично формируем ТПВ. В поле ТПВ рекомендация помещаем для каждого значения вывода соответствующую текстовую интерпретацию, для чего запрашиваем ее у эксперта. В качестве значений вывода можно использовать ссылки на любые объекты, поясняющие текущий вывод. Последним действием формирования БЗ будет процедура сохранения МПУ, МПВ, СПУ, СПВ, ТПУ и ТПВ в виде файла. В данном проекте база знаний сохраняется в один файл с расширением *.bzn. Таблица 2.4 – Структура таблицы переменных вывода
Date: 2015-07-27; view: 687; Нарушение авторских прав |