Построение графа связей фактов и определение структуры базы знаний. Описание функций инициализации и констатации фактов, входных и выходных данных. Операции, направленные на занесение фактов и действий в базу знаний. Итоговое представление базы знаний.
Аннотация к работе
Вследствие чего становится затруднительным сделать логический вывод на основании тех или иных фактов(условий), для облегчения процесса установления вывода необходимо формализовать знания, упорядочить и представить в виде некой структуры, удобной для хранения и отображения информации.Цель: Необходимо разработать и реализовать модуль, для хранения базы знаний (содержит факты и действия), а так же процедур инициализации и констатации фактов.База знаний должна содержать факты и действия при выполнении данных фактов. Факты, образцы (условие выполнения действия) Действие, консиквент (логический вывод исходя из факта) Поставщик проверенный и товар является качественным, а так же цена приемлемая Можно сделать вывод о том, что данный поставщик нам подходит Цена, предложенная данным поставщиком,чуть ниже чем у других поставщиков товара Можно утверждать, что цена нас устраивает (цена приемлемая) Товар,предлагаемый поставщиком имеет сертификаты качества или прошел государственные экспертизы Скорее всего товар является качественнымДля определения необходимой структуры базы знаний, построим граф (см.Рис.2.1.1.) отображения зависимостей фактов приведенных в таблице (см. таблица 1.2.2.)Исходя донных таблицы (см.таблица1.2.2.) и графа (см.Рис.2.1.1.) можно определить структуру базы знаний: 1.Исходя предъявленных требований, получаем структуру следующего вида (см. Условие 1 Условие 2 Условие 3 Действие условие активность условие активность условие активность Где: Условие 1,Условие 2, Условие 3 - составные части образца (в поле «условие» хранится сам факт, а в поле «активность» хранится текущее состояние факта). Поставщик проверенный, товар является качественным и цена приемлемая, а значит поставщик нам подходит. Условие 1 Условие 2 Условие 3 Поставщик подходит{public struct Yslovie {public string yslovie; public bool ACTIVE;} public Yslovie yslovie1;Структура DATA содержит в своем составе четыре элемента (yslovie1, yslovie2, yslovie3, deistvie), а элементы yslovie1, yslovie2 и yslovie3 являются объектами структуры Yslovie, и содержат поля yslovie и ACTIVE. База знаний представляет собой последовательность записей структурой DATA, для создания базы необходимо добавить определение объектов yslovie1, yslovie2 и yslovie3, и создать объект записей структуры DATA. Для этого необходимо добавить следующие строки: public DATA.Yslovie yslovie1 = new DATA.Yslovie(); Итоговое представление базы знаний на языке программирования C# будет выглядеть следующим образом: public struct DATA {public struct Yslovie {public string yslovie; public bool ACTIVE;} public Yslovie yslovie1;Функция инициализации представляет собой последовательный набор операций, направленных на занесение фактов и действий в базу знаний. база знание{BD[0].yslovie1.yslovie = "поставщик проверенный"; BD[0].yslovie1.ACTIVE = false; BD[0].yslovie2.yslovie = "товар качественный"; BD[0].yslovie2.ACTIVE = false; BD[2].yslovie2.yslovie = "поставка производится в срок"; BD[2].yslovie2.ACTIVE = false; BD[2].yslovie3.yslovie = "товар не получает дефектов в ходе транспатрировки"; BD[2].yslovie3.ACTIVE = false; BD[3].yslovie1.yslovie = "товар сертифицирован"; BD[3].yslovie1.ACTIVE = false;Функция принимает в качестве входных данных непосредственно базу знаний и значения фактов и действий. Представим входные данные в виде таблицы (см.Функция, в качестве выходных данных возвращает базу знаний с занесенными в нее значениями фактов и действий.В ней реализован принцип сопоставления полученного факта с фактами находящимися в базе знаний и при установлении соответствия функция ставит «статус» true.else BD[0].yslovie1.ACTIVE = true; break; else BD[0].yslovie2.ACTIVE = true; break; else BD[0].yslovie3.ACTIVE = true; break; else BD[1].yslovie1.ACTIVE = true; break; else BD[1].yslovie2.ACTIVE = true; break;Функция принимает в качестве входных данных непосредственно базу знаний и значения фактов и действий, а также идентификатор установленного пользователем факта. Представим входные данные в виде таблицы(см.Функция, в качестве выходных данных возвращает базу знаний с занесенными в нее значениями активности фактов.Граф-схема.В ходе выполнения курсовой работы был разработан модуль, представляющий из себя описание структуры «базы знаний», а так же включающий в себя функции инициализации записей базы знаний и констатации фактов.{public struct Yslovie {public string yslovie; public bool ACTIVE;} public Yslovie yslovie1; {BD[0].yslovie1.yslovie = "поставщик проверенный"; BD[0].yslovie1.ACTIVE = false; BD[2].yslovie2.yslovie = "поставка производится в срок"; BD[2].yslovie2.ACTIVE = false; BD[2].yslovie3.yslovie = "товар не получает дефектов в ходе транспатрировки"; BD[2].yslovie3.ACTIVE = false; BD[3].yslovie1.yslovie = "товар сертифицирован"; BD[3].yslovie1.ACTIVE = false;НАЗНАЧЕНИЕ И УСЛОВИЯ ПРИМЕНЕНИЯ МОДУЛЯ Модуль предназначен для определения и хранения базы знаний (записей содержащих информацию о фактах (обра
План
Содержание
Введение
1. Описание постановки задачи
1.1 Характеристика задачи
1.2 Определение фактов и действий
2. Разработка структуры базы знаний
2.1 Построение графа связей фактов
2.2 Определение структуры базы знаний
2.2.1 Требования к базе знаний
2.2.2 Полученная структура записи базы знаний
2.3 Представление структуры базы знаний на языке программирования С#
2.3.1 Разработанная структура
2.3.2 Описание структуры
3. Описание функций инициализации и констатации фактов
3.1 Описание функции инициализации
3.1.1 Текст функции
3.1.2 Описание входных данных
3.1.3 Описание выходных данных
3.2 Описание функции констатации фактов
3.2.1 Текст функции
3.2.2 Описание входных данных
3.2.3 Описание выходных данных
3.2.4 Граф-схема функции
Заключение
Приложение
Введение
Знание - это сила. Всем известное утверждение как никогда становится актуальным наше время, так как прогресс не стоит на месте и технологии постоянно развиваются. Вследствие чего становится затруднительным сделать логический вывод на основании тех или иных фактов(условий), для облегчения процесса установления вывода необходимо формализовать знания, упорядочить и представить в виде некой структуры, удобной для хранения и отображения информации.
За такую структуру можно принять Базу знаний, представляющую из себя набор фактов и действий, возникающий при утверждении того или иного условия.
Вывод
В ходе выполнения курсовой работы был разработан модуль, представляющий из себя описание структуры «базы знаний», а так же включающий в себя функции инициализации записей базы знаний и констатации фактов.