Главная страница
Навигация по странице:

  • Список использованных источников

  • Приложение А (обязательное) Архитектура программного средства

  • Приложение Б

  • Приложение В (обязательное) Листинг программы

  • Курсовая ОИИ. Курсовая работа по дисциплине Основы искусственного интеллекта


    Скачать 0.98 Mb.
    НазваниеКурсовая работа по дисциплине Основы искусственного интеллекта
    АнкорКурсовая ОИИ
    Дата09.06.2022
    Размер0.98 Mb.
    Формат файлаdocx
    Имя файлаkurovaya_OII (1).docx
    ТипКурсовая
    #580413
    страница5 из 6
    1   2   3   4   5   6

    4.1 Требования к системным ресурсам


    Для работы ПП используется персональный компьютер, удовлетворяющий следующим системным требованиям:

    Минимальная системные требования:

    • Процессор Intel Core 2 Duo или аналогичный ему процессор AMD с минимальной тактовой частотой 500MHz;

    • свободное место на жестком диске не менее 1 Мб;

    • объем оперативного запоминающего устройства не менее 32 Мб.

    Требования к информационной и программной совместимости:

    • Язык: C#, Microsoft .NET Framework 4.7;

    • Прикладная программа ОС: Windows 8.1/10;

    Объем программы: 1Мб.

    4.2 Руководство пользователя


    Запуск программы осуществляется запуском Oii.exe

    После запуска программы перед пользователем появляется данное окно (Рисунок 5).



    Рисунок 5– Главная форма




    Лист

    21


    В верхней части главного окна программы располагается меню работы с данной программной системой. Для того, чтобы загрузить данные, нужно выбрать пункт меню «Файл», затем «Открыть», в появившемся окне ввести название папки, в которой хранятся файлы базы знаний и нажать кнопку «Загрузить» (рисунок 6).



    Рисунок 6 – Выбор базы знаний

    База знаний должна быть сформирована в редакторе переменных и правил.

    Ниже представлено окно добавления переменных (рисунок 7).



    Рисунок 7 –Добавление переменных




    Лист

    22



    Ниже представлено окно добавления правил (рисунок 8).



    Рисунок 8 – Добавление правил

    Если по каким-то причинам какое-либо поле не будет соответствовать правилам, то программа выдаст ошибку (рисунок 9).



    Рисунок 9 – Пример информационного окна ошибки





    Лист

    23





    Основное окно программы при загруженной базе знаний и начатой консультации (рисунке 10).



    Рисунок 10 – Основное окно программы при консультации

    Данный результат означает, что неисправностью будет являться терма со значением 0. Ниже представлена экранная форма термы со значением 0 (рисунок 11).



    Рисунок 11 – Экранная форма переменных





    Лист

    24

    Основное окно программы при загруженной базе знаний и начатой консультации (рисунке 12).



    Рисунок 12 – Основное окно программы при консультации

    Данный результат означает, что неисправностью будет являться терма со значением 7-8. Ниже представлена экранная форма термы со значением 7-8 (рисунок 13).



    Рисунок 13 – Экранная форма переменных





    Лист

    25


    Заключение

    В результате выполненных исследований разработана оболочка ЭС, которая позволяет разрабатывать и редактировать базу знаний.

    ЭС имеет дружелюбный интерфейс. Ее работоспособность была проверена на многих тестовых данных, что позволяет сделать вывод о том, что данная программная система удовлетворяет, по крайней мере, трем критериям качества – это функциональность, надежность и легкость применения.





    Лист

    26


    Список использованных источников

    1 Семенов, А.М. Интеллектуальные системы [Текст] : учебное пособие для студентов, обучающихся по программам высшего профессионального образова-ния по направлениям подготовки 230100.68 Информатика и вычислительная тех-ника, 231000.68 Программная инженерия / А. М. Семенов, Н. А. Cоловьев, Е. Н. Чернопрудова, А. С. Цыганков; М-во образования и науки Рос. Федерации, Фе-дер. гос. бюджет. образоват. учреждение высш. проф. образования "Оренбург. гос. ун-т". - Оренбург : ОГИМ, 2014. - 237 с. - Библиогр.: с. 218-221. - Прил.: с. 222-236. - ISBN 978-5-9723-0158-4. Издание на др.носителе [Электронный ре-сурс]

    2 Семенов, А.М. Интеллектуальные системы [Электронный ресурс] : учеб-ное пособие для студентов, обучающихся по программам высшего профессио-нального образования по направлениям подготовки 230100.68 Информатика и вычислительная техника, 231000.68 Программная инженерия / А. М. Семенов [и др.]; М-во образования и науки Рос. Федерации, Федер. гос. бюджет. образоват. учреждение высш. проф. образования "Оренбург. гос. ун-т". - Электрон. тексто-вые дан. (1 файл: 3.85 Мб). - Оренбург : ОГУ, 2013. - 236 с. - Загл. с тит. экрана. -Adobe Acrobat Reader 6.0-ISBN978-5-9723-0158-4.. Издание на др. носите-ле [Текст]

    3 Барсегян, А. А. Анализ данных и процессов: учеб. пособие / А. А. Барсе-гян, М. С. Куприянов, И. И. Холод, М. Д. Тесс, С. И. Елизаров. - 3-е изд., пе-рераб. и доп. - СПб.: БХВ-Петербург, 2009.- 512 с. Режим доступа: http://znanium.com/catalog/product/350638

    4 Quinlan, J. R., (1986). Induction of Decision Trees. Machine Learning 1: 81-106, Kluwer Academic Publishers

    5 Ананий В. Левитин Глава 10. Ограничения мощи алгоритмов: Деревья принятия решения // Алгоритмы: введение в разработку и анализ = Introduction to The Design and Analysis of Aigorithms. — М.: «Вильямс», 2006. — С. 409-417.

    6 Павловская,Т.С. C#. Программирование на языке высокого уровня / Т.С.Павловская. — СПб.: Питер, 2009. — 432 с.

    7 Нейлор К., Как построить свою экспертную систему: Пер. с англ./ К. Нейлор. - М.: Энергоатомиздат, 1991. - 286 с.: ил.





    Лист

    27


    Приложение А

    (обязательное)

    Архитектура программного средства

    Рисунок А.1 – Архитектура





    Лист

    28


    Приложение Б

    (обязательное)

    Укрупненная схема алгоритма


    А

    Начало





    А





    А



    А



    А



    А



    А



    А



    Конец


    Рисунок Б.2 – Укрупненная схема алгоритма




    Лист

    29

    Приложение В

    (обязательное)

    Листинг программы

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;

    using AForge.Fuzzy;
    namespace ExpertSystem

    {

    public class DatabaseCreator

    {

    private Database database;

    private InferenceSystem inferenceSystem;

    public InferenceSystem Create(InformationBase informationBase)

    {

    database = new Database();

    AddVariables(informationBase.variables);

    inferenceSystem = new InferenceSystem(database, new CentroidDefuzzifier(1000));

    AddRules(informationBase.rules);

    return inferenceSystem;

    }

    public void AddVariables(Variable[] vars)

    {

    LinguisticVariable lv;

    foreach (Variable var in vars)

    {

    if (var != null)

    {

    lv = new LinguisticVariable(var.Name, var.Min, var.Max);

    AddFuzzyLabels(ref lv, var.FuzzyLabels);

    database.AddVariable(lv);

    }

    }

    }

    public void AddFuzzyLabels(ref LinguisticVariable lv, FuzzyLabel[] fuzzyLabels)

    {

    foreach(FuzzyLabel fl in fuzzyLabels)

    {

    if (fl != null)

    {

    switch (fl.Type)

    {

    case 1:

    lv.AddLabel(new FuzzySet(fl.Name, new TrapezoidalFunction(fl.Numbers[0], fl.Numbers[1], TrapezoidalFunction.EdgeType.Right)));

    break;

    case 2:

    lv.AddLabel(new FuzzySet(fl.Name, new TrapezoidalFunction(fl.Numbers[0], fl.Numbers[1], TrapezoidalFunction.EdgeType.Left)));

    break;

    case 3:

    lv.AddLabel(new FuzzySet(fl.Name, new TrapezoidalFunction(fl.Numbers[0], fl.Numbers[1], fl.Numbers[2])));

    break;

    case 4:




    Лист

    30

    lv.AddLabel(new FuzzySet(fl.Name, new TrapezoidalFunction(fl.Numbers[0], fl.Numbers[1], fl.Numbers[2], fl.Numbers[3])));

    break;

    case 5:

    lv.AddLabel(new FuzzySet(fl.Name, new SingletonFunction(fl.Numbers[0])));

    break;

    default:

    break;

    }

    }

    }

    }

    public void AddRules(Rule[] rules)

    {

    foreach(Rule var in rules)

    {

    if (var != null)

    {

    try

    {

    inferenceSystem.NewRule(var.Name, var.Value);

    }

    catch

    {

    }

    }

    }

    }

    }

    }

    using System;

    using System.Collections.Generic;

    using System.Linq;

    using System.Text;

    using System.Threading.Tasks;
    namespace ExpertSystem

    {

    public class FuzzyLabel

    {

    public string Name { get; set; }

    public int Type { get; set; } //1 - две цифры и линия справа ; 2 - две цифры и линия слева; 3 - треугольник; 4 - трапеция, 5 - одиночная;

    public float[] Numbers { get; set; }
    public FuzzyLabel(string name, int type, float[] numbers)

    {

    Name = name;

    Type = type;

    Numbers = numbers;

    }

    override public string ToString()

    {

    return Name;

    }

    }

    }

    1   2   3   4   5   6


    написать администратору сайта