The Student Group

Neural Network (R) -> OlegVV

 

NewralNetwork Requirements

Март,02, 2001

 

Version 0.3

 

Table of Contents

Введение/постановка задачи

Средства разработки

Общее описание проэкта

·        Выпадающее меню

Ø      Хранение/обработка информации (File)

Ø      Редактирование сети(Edit)

Ø      Выделение элементов сети (Select)

Ø      Многопользовательский режим (Multi user)

Ø      Справка по программе (Help)

·        Рабочая панель

Ø      Имя текущей работы и логотип (ID &firm logo )

Ø      Шаблоны элементов(New objects)

Ø      Работа с объектами(Tools)

Ø      Корзина (Trash Can)

Ø      Изменение свойств объекта (Edit panel)

·        Поле редактирования

Ø      Структуры данных

Возможности последней версии

Существующие на момент последней редакции задачи

Проделанная работа

Календарь

Взаимные обязанности

Внесенные изменения

 

 

 

 

 

 

           

Введение/постановка задачи

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

Средства разработки

Основываясь на недостатке времени и предпочтениях заказчика, было принято проводить разработку продукта с использованием средств Visual Basic для windows.В результате работы заказчик должен будет получить приложение(возможно работоспособное) для ОС Windows позволяющее пользователю строить, редактировать, хранить и обрабатывать информационные структуры, представимые в виде нейронных сетей.

Общее описание проэкта

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

Comand menu

¨        ID &firm logo

Newral network edit field

Scroll

Bar

 

 

¨        New objects

¨        Tools

¨        Trash Can

¨        Edit panel

¨         

Scroll bar

 

 

Выпадающее меню

 

Хранение/обработка информации (File)

 

Редактирование сети(Edit)

 

Выделение элементов сети (Select)

 

Многопользовательский режим (Multi user)

 

Справка по программе (Help)

 

Рабочая панель

Часть поля редактирования (левый  край) определяется как «рабочая панель» , это позволяет плоьзователю быстро проводить необходимые изменения в рабочей области  с минимальными затратами ,а также должна содержать(отображать) всю необходимую информацию по текущему проекту или его части (т.е. объектом или их множеством) и/или позволять редактировать данну информацию.

Имя текущей работы и логотип (ID &firm logo )

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

Шаблоны элементов(New objects)

Предусматривается возможность создания объетов путем перетаскивания их шаблонов из toolbar’а в рабочую область

Работа с объектами(Tools)

Масштабирование, выравнивание по столбцам и т.п. функции. А также общие установки для поля редакирования. (будет определятся по мере работы)

Корзина (Trash Can)                                    

Возможность альтернативного способа стирания существующих объектов ,путем перемещения их в корзину.

Изменение свойств объекта (Edit panel)

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

Поле редактирования

Данная область экрана будет содержать объекты нейронной сети:аксоны и нейроны. Здесь и будет происходить основная работа с нейронными сетями: редактирование, создание,наблюдение за работой и т.д.

Структуры данных                                                           

Массив элементов, задающих свойства объектов.

Структура элемента:

Private Type tney

 e As Boolean 'existing                                   //указывает на существование элемента

x As Integer 'x coordinate

y As Integer 'y coordinate                                //координаты местоположения на форме

 f As Boolean 'active neyron                          //активирован ли (выход у нейрона или аксона)

 i(maxi) As Integer 'enters                             //массив указателей на входные объекты

 ie(maxi) As Boolean 'existing of enter          //массив указывающий на наличие входа

 a As Integer 'how many enters                     //количество входов

 o As Integer 'exit                                          //указатель выхода на нейрон

 oe As Boolean 'existing of exit                      // указатель выхода на  существование выхода

End Type

 

Возможности последней версии

Последняя версия программы позволяет :

      Создавать и удалять объекты

      Объединять объекты в неориентированный граф

      Выравнивать объекты по столбцам

      Включать/выключать объекты  

      Масштабирование

Существующие на момент последней редакции задачи

v     Построение demo-версии программы и ее доработка(Бычков Иван Евгеньевич)

Ø      Разработка основы для структур даннх

Ø      Отображение  объектов, простейшие операции над ними

Ø      Взаимодействие объектов

v     Полноценная работа с множествами (*СВОБОДНО*)

v     Редактирование объектов(*СВОБОДНО*)

v     *Обработка синаптических весов(добавление к структуре) (*СВОБОДНО*)

v     *Статическая настройка нейронов, алгоритмы активизации(*СВОБОДНО*)

v     *Реализация алгоритмов обучения нейронов(*СВОБОДНО*)

v     Многопользовательский режим(*СВОБОДНО*)

v     Создание файла-справки, его подключение к программе(*СВОБОДНО*)

v     Разработка методов записи/загрузки нейронной сети в файл(*СВОБОДНО*)

v     Оформление Toolbar’а и Выпадающих меню

 

Символом «*» помечены «первостепенные» задачи

Проделанная работа

Бычков Иван Евгеньевич гр.39-21

24/3/2001

Создание начального облика окна, для начала кнопка "New".

Введена возможность создания объекта на форме и его перетаскивание.

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

Исправлена ошибка - была возможность больше одного выхода.

Объекты можно было потерять за пределами формы

Автоматическое обновление (перерисовка) схемы.

Объект красного цвета не генерирует сигнала, зеленого - генерирует. Смена цвета выполняется с помощью клика мыши

Добавлены выключенные кнопки для реализации другими программистами"start", "load", "save"

Введена корзина в левом нижнем углу формы для удаления объектов.

Исправлена ошибка - не удалялись связи после удаления объекта

Добавлена возможность изменения объектов с помощью ползунка для удобства работы конкретному пользователю

Добавлена  возможность  удаления  группы объектов с помощью выделения их прямоугольником

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

Введена возможность постоянной перерисовки объектов, при установки ключа "no erase"

25/03/01

Добавлена кнопка для выравнивания объектов по столбцам

26/03/01

Оптимизирован код.

Перенесено место появления новых объектов.

Устранена  недоработка:  визуально в корзину объекты не перетаскивались, объект не "доползал" до корзины - нужно было тащить курсор мыши.

 

Календарь

01.01.2001 Запуск проэкта

02.03.2001 Черновая копия этого документа.

07.03.2001 Принятие первой версии технического задания

14.03.2001 Поставлена новая цель – изготовление демонстрации (до 21.03.2001)

23.03.2001 Первая версия демонстации представлена руководителю и отослана.

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

04.04.2001 Руководством принято решение о единой структуре документа , в связи с чем вся документация отныне будет вестись в этом документе.

Взаимные обязанности

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

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

 

Внесенные изменения

The table below briefly describes the revisions of this document, when the revision was made, and the changes that were made to it. общем понятно о чем речь)

 

Revision Number

Date

Changes Made

0.1   – prerealise

02.03.2001

Черновые наброски

0.2   – prerealise

23.03.2001

Добавлены разделы: «Существующие на      момент последней редакции задачи»,      «Проделанная работа».

Раздел «спецификации объектов» переименован в «структуры данных»

Определена структура данных

0.3   – prerealise

04.04.2001

Добавлены раздел: «Возможности последней версии».

Внесен в ТЗ отчет Бычкова Ивана.

Внесены файлы заданий и отчетности.

Дополнена информация о проекте.

Дана новая формулировка части заданий.