Разработка программного модуля для моделирования и исследования нейронных сетей по дисциплине «Системы искусственного интеллекта» для Б

Автор работы: Пользователь скрыл имя, 23 Мая 2013 в 17:44, дипломная работа

Описание работы

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

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

Перечень условных обозначений 3
Введение 5
1 Анализ технологии обработки информации в предметной области и определение требований к АСОИ 6
1.1 Сбор и анализ исходной информации 6
1.2 Определение требований к проектируемой АСОИ 17
1.2.1 Диаграмма вариантов использования 21
1.2.2 Диаграмма деятельности 33
1.2.3 Модель данных 34
Выводы 37
2 Создание модели АСОИ 38
2.1 Диаграмма классов 38
2.2 Диаграмма последовательности 45
2.3 Диаграмма состояний 46
2.4 Диаграмма деятельности 54
2.5 Диаграмма компонентов 54
2.6 Диаграмма размещения 57
Выводы 58
3 Разработка программного обеспечения 59
3.1 Выбор среды программирования 59
3.2 Разработка таблиц баз данных АСОИ 59
3.3 Разработка запросов 59
3.4 Разработка форм 61
3.5 Разработка вычислительных процедур обработки данных 62
3.6 Тестирование программного обеспечения 65
Заключение по проекту 69
4 Экономическая часть 70
4.1 Общая постановка к технико-экономическому обоснованию 70
4.2 Расчет трудоемкости (производительности) 71
4.3 Расчет единовременных затрат 76
4.4 Расчет годовых текущих издержек 80
4.5 Расчет показателей экономической эффективности 83
4.6 Организация внедрения системы и рекомендации по ее эксплуатации 84
4.7 Выводы и рекомендации 85
5 Охрана труда 86
5.1 Идентификация и анализ вредных и опасных факторов в проектируемом объекте 86
5.2 Технические, технологические, организационные решения по устранению опасных и вредных факторов, разработка защитных средств 89
5.3 Разработка мер безопасности при эксплуатации объекта проектирования 93
6 Энерго- и ресурсосбережение 96
Список использованных источников 104

Файлы: 1 файл

Дипломный проект Мельников И.И. гр. АСОИ-052искуст.doc

— 2.22 Мб (Скачать файл)

 

 

 

 

 

 

 

 

Продолжение таблицы 4

Вариант использования

Изменить описание обучающего массива

Основной поток

Изменение описания обучающего массива

1. Вариант использования начинается, когда пользователь меняет описание обучающего массива в таблице.

2. Пользователь сохраняет  данные путем нажатия на кнопку «Сохранить».

3. Программа сохраняет обучающий массив в базу данных и выводит сообщение об успешном сохранении данных.

Альтернативный  поток

Ошибка сохранения обучающего массива

1. Программа не может сохранить  обучающий массив в базу данных.

2. Программа выводит  сообщение об ошибке и не  вносит никаких изменений в  базу данных.

Предусловие

Обучающий массив должен быть выбран.

Вариант использования

Удалить обучающий массив

Основной поток

Удаление обучающего массива.

1. Вариант использования начинается, когда пользователь удаляет массив из таблицы путем нажатия клавиши «Delete».

2. Программа удаляет  массив из базы данных, попутно  удаляя все связанные с ним обучающие пары.

Альтернативный  поток

Ошибка при удалении обучающего массива

1. При удалении обучающего массива  возникает ошибка.

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

Предусловие

Обучающий массив должен быть выбран.


 

 

 

 

 

 

 

 

 

Продолжение таблицы 4

Вариант использования

Добавить обучающую  пару

Основной поток

Создание обучающей пары

1. Вариант использования начинается, когда пользователь создает обучающую пару путем нажатия на кнопку «Создать пару».

2. Программа создает  обучающую пару, заносит информацию  о ней в базу данных и  отображает на форме.

Альтернативный  поток

Ошибка создания обучающей пары

1. Программа не может создать  обучающую пару в базе данных.

2. Программа выводит  сообщение об ошибке и не  вносит никаких изменений в базу данных.

Предусловие

Обучающий массив должен быть выбран.

Вариант использования

Изменить обучающую  пару

Основной поток

Изменение обучающей пары

1. Пользователь выбирает обучающую  пару в таблице.

2. Программа предоставляет  пользователю ввести вектор значений входных и выходных сигналов.

3. Пользователь вводит  значения входных и выходных сигналов.

4. Пользователь сохраняет  обучающую пару путем нажатия на кнопку «Сохранить».

5. Программа вносит  изменения в базу данных и  выдает сообщение об успешном  сохранении данных.

Альтернативный  поток

Ошибка сохранения обучающей пары

1. Программа не может сохранить измененную обучающую пару в базе данных.

2. Программа выводит  сообщение об ошибке и не  вносит никаких изменений в  базу данных.

Предусловие

Обучающий массив должен быть выбран.


 

 

 

Продолжение таблицы 4

Вариант использования

Выбрать обучающий массив, которому принадлежит пара

Основной поток

Выбор обучающего массива

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

2. Программа загружает  из базы данных обучающие пары, соответствующие выбранному обучающему  массиву, и отображает их на  форме.

Предусловие

В базе данных должен быть создан хотя бы один массив.

Вариант использования

Удалить обучающую пару

Основной поток

Удаление обучающей пары

1. Вариант использования начинается, когда пользователь и выделяет обучающую пару в таблице для ее удаления..

2. Пользователь нажимает  клавишу "Delete".

3. Программа удаляет  пару из таблицы.

4. Пользователь нажимает  кнопку "Сохранить".

5. Программа вносит  изменения в базу данных, удаляя  соответствующую обучающую пару.

6. Программа выводит  сообщение об успешном сохранении данных.

Альтернативный  поток

Ошибка при удалении обучающей  пары

1. Программа не может удалить  обучающую пару.

2. Программа выводит  сообщение о возникшей ошибке  и не вносит никаких изменений в базу.

Предусловие

Обучающий массив должен быть выбран.

Вариант использования

Задать значения входных  сигналов

Основной поток

Задание значений входных сигналов

Вариант использования  начинается. Когда пользователь начинает ввод значений входных сигналов в таблицу входных сигналов.


 

 

Продолжение таблицы 4

Альтернативный  поток

Некорректный ввод значения входного сигнала

1. Пользователь ввел некорректное  значение входного сигнала.

2. Программа выдает  сообщение об ошибке и удаляет  введенное значение сигнала.

Предусловие

Обучающая пара должна быть выбрана.

Вариант использования

Задать значения выходных сигналов

Основной путь

Задание значений выходных сигналов.

Вариант использования  начинается. Когда пользователь начинает ввод значений выходных сигналов в таблицу выходных сигналов.

Альтернативный путь

Некорректный ввод значения выходного  сигнала.

1. Пользователь ввел некорректное  значение выходного сигнала.

2. Программа выдает  сообщение об ошибке и удаляет  введенное значение сигнала.

Предусловие

Обучающая пара должна быть выбрана.

Вариант использования

Опрос нейронной сети

Основной поток

Опрос нейронной сети

1. Вариант использования начинается, когда пользователь открывает форму для опроса сети путем нажатия на кнопку «Опросить» на главной форме.

2. Программа отображает  графическую схему текущей нейронной сети и создает поля для ввода значений входных сигналов (по количеству входов сети), по умолчанию значения входных сигналов равны 0.

3. Пользователь вводит  значение каждого входного сигнала.

4. Пользователь нажимает  кнопку «Опросить».

5. Программа производит  опрос сети и выдает значения  выходных сигналов на форму  и схему нейронной сети.

Предусловия

Нейронная сеть должна быть определена


Продолжение таблицы 4

Вариант использования

Задание значений входных  сигналов

Основной поток

Задание значений входных сигналов

Вариант использования  начинается, когда пользователь вводит значение входного сигнала.

Альтернативный  поток

Некорректный ввод значения входного сигнала

1. Пользователь ввел некорректное значение входного сигнала.

2. Программа удалит  некорректное число и вернет предыдущее значение входного сигнала.

Вариант использования

Опросить сеть

Основной поток

Опрос сети

1. Вариант использования начинается, когда пользователь нажимает на кнопку "Опросить".

2. Программа осуществляет опрос сети на основе введенных значений сигналов.

3. Программа выводит  значения выходных сигналов на форму и на схему нейронной сети.

Вариант использования

Обучение нейронной  сети

Основной поток

Обучение нейронной сети

1. Вариант использования начинается, когда пользователь открывает форму для обучения нейронной сети (пункт меню "Обучение" "Обучение...").

2. Программа открывает  форму для выбора обучающего массива и ввода дополнительных параметров обучения.

Предусловие

Нейронная сеть должна быть определена


 

 

 

 

 

 

 

 

Продолжение таблицы 4

Вариант использования

Выбрать обучающий массив

Основной путь

Выбор обучающего массива

1. Вариант использования начинается, когда пользователь выбирает из всплывающего списка нужный обучающий массив.

2. Программа загружает  данные об обучающих парах из базы данных и отображает их содержимое на форме.

Предусловие

В базе данных должен быть создан хотя бы один обучающий массив

Вариант использования

Задать дополнительные параметры обучения

Основной поток

Задание дополнительных параметров обучения

1. Вариант использования начинается, когда пользователь открывает форму для ввода дополнительных параметров обучения.

2. Пользователь задает  допустимую погрешность результатов при контроле после обучения.

3. Пользователь задает  максимальное количество итераций, отводимых под обучение.

4. Пользователь закрывает  форму ввода дополнительных параметров обучения.

5. Программа сохраняет  измененные значения параметров.

Альтернативный  поток

Некорректный ввод значения допустимой погрешности

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

Альтернативный поток

Некорректный ввод максимального  количества итераций

В случае некорректного  ввода максимального числа итераций программа перехватывает недопустимый символ и не отображает его на форме.


 

 

 

 

Продолжение таблицы 4

Вариант использования

Начать обучение

Основной поток

Начать обучение нейронной сети

1. Вариант использования начинается, когда пользователь нажимает на кнопку "Обучение".

2. Программа извлекает из базы данных обучающий массив.

3. Программа запускает  алгоритм обучения нейронной сети, передовая в него обучающий массив и дополнительные параметры (допустимую погрешность и максимальное число итераций).

4. В процессе обучения  происходит настройка весов синапсов.

5. По окончанию процесса  обучения программа проверяет точность результатов путем использования контрольных пар массива.

6. Программа выводит  точность, с которой сеть определила значения выходных сигналов в контрольных парах.

Предусловия

Выбран обучающий массив

Сеть должна быть определена


 

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

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

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

1.2.3 Модель данных. В разрабатываемой программе используется база данных для хранения обучающих массивов и их компонентов (обучающих пар).

Диаграмма модели данных представлена в графической части.

Для хранения информации об обучающих массивах используется таблица LearningArray, которая содержит идентификатор массива и его описание (поле, обязательное для заполнения).

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

Значения входных и  выходных сигналов хранятся в таблицах InputSignal и OutputSignal соответственно. Обе таблицы содержат идентификаторы сигналов и поле значения сигналов. Обе таблицы имеют внешний ключ на идентификатор обучающей пары. Все связи между таблицами поддерживают каскадное обновление и удаление данных.

Ниже приведено описание каждой таблицы и связей между  таблицами.

1. Таблица LearningArray

Таблица для хранения информации об обучающих массивах.

Таблица 5 – Колонки таблицы LearningArray

PK

Name

Type

Not Null

Unique

Len

Prec

Scale

Init

Notes

True

Id

int

True

False

       

Уникальный номер обучающего массива

False

Description

nvarchar

True

False

255

     

Описание обучающего массива

False

CreationDate

bit

True

False

     

0

Дата создания обучающего массива


Таблица 6 – Ограничения таблицы LearningArray

Name

Type

Columns

PK_LearningArray

Public

Id


Таблица 7 – Связи таблицы LearningArray

Columns

Association

(LearningArrayId = Id)

 0..* LearningPair.FK_LearningPair_LearningArray

 1 LearningArray.PK_LearningArray


 

2. Таблица LearningPair

Таблица для хранения данных об обучающих  парах.

Таблица 8 – Колонки таблицы LearningPair

PK

Name

Type

Not Null

Unique

Len

Prec

Scale

Init

Notes

True

Id

int

True

False

       

Уникальный номер обучающей  пары

True

LearningArrayId

int

True

False

       

Уникальным номером обучающего массива, которому принадлежит обучающая пара

Информация о работе Разработка программного модуля для моделирования и исследования нейронных сетей по дисциплине «Системы искусственного интеллекта» для Б