Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 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 – Структура массивов условий и выводов

МПУ(n*3, 3) МПВ(n,3)
Ф11 ЗФ11 1 Ф12 ЗФ12 2 Ф13 ЗФ13 3 Ф21 ЗФ21 3 ???????? ???????? Ф31 ЗФ31 0 Ф32 ЗФ32 4 Ф33 ЗФ33 1 …………….. Фn1 ЗФn1 * Фn2 ЗФn2 * Фn3 ЗФn3 * В1 ЗВ1 1 В2 ЗВ2 2 В3 ЗВ3 1 ………. Вn ЗВn *  

Таблица 2.1 – Структура списков условий и выводов

СПУ(ку) СПВ(кв)
Ф11 Ф12 Ф13 Ф32 …………….. Фn1 Фn2 Фn3 В1 В2 ………. Вn  

 

 


 

Вначале на основе анализа МПВ формируем список переменных вывода СПВ. Анализ заключается в следующем алгоритме:

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 – Структура таблицы переменных условия

ТПУ.условие ТПУ.значение ТПУ.вопрос
Ф11 ЗФ11 ***********
ЗФ33
Ф12 ЗФ12 ***********
Ф13 ЗФ13 ***********
ЗФ21
Ф32 ЗФ32 ***********
……………..   ***********
Фn1 ЗФn1 ***********
Фn2 ЗФn2 ***********
Фn3 ЗФn3 ***********

 

Аналогично формируем ТПВ. В поле ТПВ рекомендация помещаем для каждого значения вывода соответствующую текстовую интерпретацию, для чего запрашиваем ее у эксперта. В качестве значений вывода можно использовать ссылки на любые объекты, поясняющие текущий вывод.

Последним действием формирования БЗ будет процедура сохранения МПУ, МПВ, СПУ, СПВ, ТПУ и ТПВ в виде файла. В данном проекте база знаний сохраняется в один файл с расширением *.bzn.

Таблица 2.4 – Структура таблицы переменных вывода

ТПВ.вывод ТПВ.значение ТПВ.рекомендация
В1 ЗВ 1 ***********
ЗВ 3 ***********
В2 ЗВ 2 ***********

 







Date: 2015-07-27; view: 687; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.007 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию