Необходимость разработки приложения



Министерство образования и науки Российской Федерации

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ

ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«ОРЕНБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

 

 

Факультет математики и информационных технологий

 

Кафедра программного обеспечения вычислительной техники

и автоматизированных систем

 

 

                                                                          УТВЕРЖДАЮ

                                                                          Зав. кафедрой   ПОВТАС

                                                                          д-р.техн.наук, профессор

                                                                          ____________ Н. А. Соловьев

                                                                          «___» _____________ 2018 г.

 

 

ОТЧЕТ

 

по научно-исследовательской деятельности

 

Разработка приложения математического аппарата автоматизированной информационно-аналитической системы

 

ОГУ 09.01.01.5318.210 Н

 

Руководитель

Канд. техн. наук, доцент               ______________             А.М. Семенов

 

 

Нормоконтролер        

Канд. техн. наук, доцент          ______________             А.М. Семенов

 

 

Студент группы 15ИВТ(ба)        _______________         А. А. Иванов

 

Оренбург 2018


Аннотация

 

    В данной работе разработана программная оболочка «Экспертная система 1.0», использующая байесовскую систему логического вывода на основе метода Криса-Нейлора. Пояснительная записка включает краткие теоретические сведения, анализ существующих аналогов программных средств, описание структуры приложения и базы знаний.

Пояснительная записка содержит 51 страницу, в том числе 1 таблицу, 19 рисунков, 10 использованных источников и 1 приложение.

 

 


Содержание

Введение............................................................................................................. 4

1        Исследовательская часть.................................................................. 5

1.1     Краткие теоретические сведения...................................................... 5

1.2     Необходимость разработки приложения........................................... 7

1.2.1  Анализ аналогов – подобных программных систем......................... 7

1.2.2  Обоснование собственной разработки. Постановка задачи........... 9

1.3     Описание структуры программной системы..................................... 9

1.4     Обзор и обоснование выбора инструментальных средств............... 10

2        Проектирование и разработка программной системы...................... 12

2.1     Общая архитектура ПС...................................................................... 12

2.2     Реализация функционального назначения ПС................................ 13

2.3     Разработка алгоритма решения задачи.......................................... 14

2.4     Разработка интерфейса ПС.............................................................. 17

2.5     Создание базы знаний...................................................................... 18

3        Эксплуатация программной системы................................................. 19

3.1     Руководство по инсталляции.............................................................. 19

3.2     Руководство пользователя............................................................... 19

3.2.1     Назначение программной системы...................................................................... 19

3.2.2     Условия выполнения программы......................................................................... 19

3.2.3     Выполнение программной системы..................................................................... 20

3.2.4     Сообщения пользователю...................................................................................... 21

Заключение......................................................................................................... 22

Список используемых источников................................................................. 23

Приложение А Листинг программы............................................................... 24

Приложение Б Оконные формы работы экспертной системы...................... 47

 

 


Введение

 

При построении экспертной системы необходимо принимать во внимание тот факт, что в реальных условиях знания, которыми располагает человек, всегда в какой-то степени неполны, приближенны, ненадежны. Тем не менее, людям на основе таких знаний все же удается делать достаточно обоснованные выводы и принимать разумные решения. Следовательно, разработанная экспертная система должна учитывать неполную определенность знаний и успешно действовать в таких условиях.

В процессе исследований по искусственному интеллекту для решения этой проблемы выработано несколько подходов.

Для устранения неопределенностей в данной экспертной системе целесообразно применение вероятностного подхода, а именно метода Криса-Нейлора.

Целью данной курсовой работы является разработка программной оболочки «Экспертная система 1.0», использующей байесовскую систему логического вывода на основе метода Криса-Нейлора.

    Для достижения поставленной цели необходимо решить ряд инженерных задач по специальности 230105.65 ПОВТАС:

    - изучение теоретических сведений;

    - анализ существующих аналогов программных средств;

    - выбор моделей данных, метода и инструментальных средств разработки программной системы;

    - проектирование и разработка приложения;

    - анализ предметной области;

    - проектирование и создание базы знаний.

    Результатом анализа характеристик и функциональных возможностей различных средств разработки приложений стал выбор Borland C++ Builder 6.0, так как это одна из самых мощных и удобных в использовании сред программирования, предоставляющая возможность разработки как визуальных, так и консольных приложений, поддерживающая объектно-ориентированное программирование.


Исследовательская часть

 

Краткие теоретические сведения

 

При построении экспертной системы необходимо принимать во внимание тот факт, что в реальных условиях знания, которыми располагает человек, всегда в какой-то степени неполны, приближенны, ненадежны. Тем не менее, людям на основе таких знаний все же удается делать достаточно обоснованные выводы и принимать разумные решения. Следовательно, разработанная экспертная система должна учитывать неполную определенность знаний и успешно действовать в таких условиях.

В процессе исследований по искусственному интеллекту для решения этой проблемы выработано несколько подходов.

Для устранения неопределенностей в данной экспертной системе целесообразно применение вероятностного подхода, а именно метода Криса-Нейлора.

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

Для каждой гипотезы Н (пример таких гипотез приведён на рисунке 1), которая может быть выведена в данной системе и может рассматриваться как целевая гипотеза, в одной части базы знаний фиксируются:

1. P(H) – априорная вероятность гипотезы H;

2. P(Е/Н) – вероятность свидетельства гипотезы Е при подтверждении гипотезы Н;

3. Р(Е/неН) – вероятность свидетельства гипотезы Е при отрицании гипотезы Н.

 

 

Рисунок 1 – Список целевых гипотез H

На каждом шаге пересчитываются вероятности всех гипотез для какого-либо свидетельства гипотезы Е (пример представлен на рисунке 2) по формулам (1) и (2):

 

P(H/E)=P(Е/Н)*P(H)/(P(Е/Н)*P(H)+Р(Е/неН)*(1–P(H))),                          (1)

 

P(неH/E)=(1–P(Е/Н))*P(H)/((1–P(Е/Н))*P(H)+(1–Р(Е/неН))*(1–P(H))),  (2)

 

где P(H/E) – апостериорная вероятность гипотезы Н, определяемая с учетом того, что имеет место свидетельство E;

 P(неH/E) – апостериорная вероятность отрицания гипотезы Н при условии, что имеет место свидетельство Е.

 

 

Рисунок 2 – Список гипотез E

 

Далее в качестве P(H) рассматривается полученная апостериорная вероятность, т.е. P(H)=P(H/E).

На каждом шаге для каждой целевой гипотезы значение апостериорной вероятности пересчитывается с учетом того, что полученный от пользователя ответ Q имеет градацию от -5 до +5 с шагом 1, в которой +5 означает «Да», -5 означает «Нет», а 0 – «Не знаю» (рисунок 3). Все остальные варианты ответа будут располагаться в промежуточных точках шкалы. Градация ответов может быть изменена по желанию экспертов, например, от -3 до 3. В результате к текущей апостериорной вероятности добавляется поправка (формула 3):

 

P(Q)=(Q–a1)/(a2–a1),                                                                                       (3)

 

где Q[j] принадлежит [a1, a2] = [-5, +5].

 

P(неQ)=1–P(Q)

 

 

Рисунок 3 – Ответ пользователя

 

После того, как пользователь выставит цену Q, делается пересчет вероятностей для всех гипотез, в которых упоминалось это свидетельство. Итоговое выражение апостериорной вероятности будет иметь вид (формула 4):

 

P(H/Q)=P(H/E)*P(Q)+P(неH/E)*P(неQ)                                                      (4)

 

Необходимость разработки приложения

 

    В настоящее время большую актуальность приобретает использование экспертных систем для решения объемных, трудно формализуемых задач в различных предметных областях. Эти задачи характеризуются, как правило, отсутствием или сложностью формальных алгоритмов решения, неполнотой и нечеткостью исходной информации, нечеткостью достигаемых целей. Данные особенности приводят к необходимости использования в процессе решения данных задач знаний, полученных от человека-эксперта в предметной области, и разработки экспертных систем, осуществляющих сбор и управление этими знаниями, принимающими решения об оптимальном способе достижения целей в условиях неполноты и нечеткости.

 

    1.2.1 Анализ аналогов – подобных программных систем

 

    В настоящее время существует небольшое количество программных продуктов, представляющих собой оболочки экспертных систем и которых можно использовать для решения экспертных задач. В качестве примера можно привести программное средство «Малая Экспертная Система v2.0».

Программа «Малая Экспертная Система v2.0» представляет собой простую экспертную систему, использующую байесовскую систему логического вывода. Она предназначена для проведения консультации с пользователем в какой-либо прикладной области (на которую настроена загруженная база знаний) с целью определения вероятностей возможных исходов и использует для этого оценку правдоподобности некоторых предпосылок, получаемую от пользователя.

Важным достоинством данной программы является возможность создания и применения собственной базы знаний. Для этого можно использовать «Редактор баз знаний», прилагаемый к «Малой Экспертной Системе v2.0».

Программа «Малая Экспертная Система v2.0» характеризуется следующими свойствами:

- удобный интерфейс;

- наличие «горячих» клавиш;

- настройка различных параметров интерфейса;

- возможность отключения обработки выбранных свидетельств;

- возможность сохранения, загрузки и автозагрузки конфигурации;

- наличие двух способов ввода ответа пользователя, различных с математической точки зрения;

- возможность отмены любых введённых ответов;

- регистрация в операционной системе типа файлов «.mkb» (базы знаний);

- работа с зашифрованными базами знаний;

- наличие специального редактора баз знаний;

- наличие сугубо прикладной базы знаний по микроорганизмам.

 

    На рисунке 4 представлен общий вид программного средства «Малая Экспертная Система v2.0».

 

 

Рисунок 4 – Окно программы «Малая Экспертная Система v2.0»

 

По окончании консультации можно сохранить её ход в текстовом файле, нажав кнопку Сохранить протокол или выбрав одноимённый пункт меню Файл («горячая» клавиша <F4>). В протокол будет записано текущее время, описание базы знаний, список обработанных свидетельств и результаты консультации в том порядке, в каком они представлены в окне.

 

 

    1.2.2 Обоснование собственной разработки. Постановка задачи

 

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

    - создание и редактирование баз знаний;

- проведение консультации;

- трассировка с помощью встроенной функции, а также с помощью программы Microsoft Office Excel;

- сохранение протокола консультации.

Целью работы является разработка программной оболочки «Экспертная система 1.0», использующей байесовскую систему логического вывода на основе метода Криса-Нейлора.

    Для достижения поставленной цели необходимо решить ряд инженерных задач:

    - изучение теоретических сведений;

    - анализ существующих аналогов программных средств;

    - выбор моделей данных, метода и инструментальных средств разработки программной системы;

    - проектирование и разработка приложения;

    - анализ предметной области;

    - проектирование и создание базы знаний.

    Разрабатываемая экспертная система должна иметь возможность функционального развития: расширение функциональных подсистем.

 


Дата добавления: 2019-01-14; просмотров: 656; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!