Задание №3, «Анализ существующей экспертной системы»

Страницы работы

Содержание работы

Санкт-Петербургский Государственный Политехнический Университет

Факультет Технической Кибернетики

Кафедра Системного Анализа и Управления

Задание №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) {

Похожие материалы

Информация о работе