Санкт-Петербургский Государственный Политехнический Университет
Факультет Технической Кибернетики
Кафедра Системного Анализа и Управления
Задание №3
Курс: «Интеллектуальные системы»
Тема: «Анализ существующей экспертной системы»
Выполнил: студент группы 4082/2
Дегтярёв Илья
Проверил: Станкевич Л. А.
Санкт- Петербург
2008
1. Постановка задачи
Необходимо:
– проанализировать структуру программы определения геометрических фигур и определение различных характеристик человека по входным параметрам;
– добавить новое правило.
2. Ход работы
Проанализировав структуру программы, можно определить, где находится
блок вывода необходимого объекта (фигуры):
void pursue(char *f_obiect)
{
word_string f_value;
obiect *curr_obiect;
value *curr_value;
rule *curr_rule;
prem *curr_prem;
boolean bad;
boolean solved;
long lowest;
curr_obiect = find_obiect(f_obiect);
if (curr_obiect == NULL)
make_node(&curr_obiect);
strcpy(curr_obiect->name, f_obiect);
if (curr_obiect->sought == true)
return;
solved = false;
curr_obiect->sought = true;
curr_rule = find_rule(f_obiect, top_rule);
while ((curr_rule != NULL) & (ok_add(f_obiect, (long)DEFINITE) == true)) {
curr_prem = curr_rule->prem_;
bad = false;
lowest = DEFINITE;
while (curr_prem != NULL && bad == false) {
pursue(curr_prem->obiect_);
curr_value = test(curr_prem->obiect_, curr_prem->value_);
if (curr_value == NULL) {
bad = true;
} else if (curr_value->cert < lowest)
lowest = curr_value->cert;
curr_prem = curr_prem->next;
}
if (bad == false) {
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.