Построение продукционной модели заданной предметной области

Автор: Пользователь скрыл имя, 19 Апреля 2011 в 23:07, лабораторная работа

Краткое описание

Разработать программное обеспечение, реализующее оболочку экспертных систем, основанных на продукционной модели представления знаний.

Файлы: 1 файл

ЛАБА 2.docx

— 328.46 Кб (Скачать)

        { 

            int count;

            int[] I = new int [n];

            I[0] = -1;

            for (int i = 0; i < n; i++)

            {

               

                if(i == I[i])

                {

                    continue;

                }

                count = 0;

                for (int j = 0; j < J[i]; j++)

                {

                    for (int m = 0; m < N; m++)

                    {

                        if (conditions[i][j] == (P[m] + "=" + start_status[m]))

                        {

                            count++;

                        }

                    }

                }

                if (count == J[i])

                {

                       for(int w = 0; w < N; w++)

                        {

                            if (res_obj[i] == P[w])

                            {

                                start_status[w] = res_stat[i];

                                I[i] = i;

                                                             

                                textBox1.Text += res_obj[i] + "=" + res_stat[i] + Environment.NewLine;

                                i = -1; 

                                break; 

                            }

                        }

     Функция Solution(P, start_status) получает массив объектов предметной области и их начальные состояния. Здесь находится соответствие какому-либо варианту диагностического вывода, либо выводится решение о том, что оно неоднозначно.

        private void Solution(String[] P, String[] start_status)

        { 

            String Diagnost = "";

            textBox2.Clear();

            for (int i = 0; i < N; ++i)

            {

                Diagnost += P[i] + "=" + start_status[i] + " ";

            }

            for (int i = 0; i < n3; ++i)

            {

                if (Diagnost == diag_cond[i])

                {

                    textBox2.Text = diag_res[i];

                    break;

                }

                else textBox2.Text = "Решение неоднозначно";

            }

     } 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Руководство пользователя по выполнению программы

  1. Необходимо  запустить laba2.exe.
  2. В появившемся окне выбрать меню файл;
  3. Затем подгрузить все вкладки:
  • Предметная область;
  • Правила;
  • Диагностика.
  1. В поле «Состояние» прописать начальные состояния;
  1. Нажать кнопку «Анализировать данные»;
  2. В окне «Этапы принятия решений» появятся результаты применения правил;
  3. В окне «решения» появится диагностический вывод
  4. Кнопкой «Очистить» можно очистить поля «Этапы принятия решения» и «Решения».

 

     

ПРИЛОЖЕНИЕ 

Рис.1. Вариант  диагностики для CD-привода 

Рис.2. Вариант  диагностики для компьютера

Информация о работе Построение продукционной модели заданной предметной области