Моделирование сети Хэмминга
Проектирование и реализация системы, которая осуществляет процессы создания и взаимодействия группы объектов на примере искусственной нейронной сети Хэмминга. Принципы работы созданной программы и закрепление навыков программирования на языке Delphi.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 24.04.2014 |
Размер файла | 499,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Министерство образования и науки Российской Федерации
Государственное образовательное учреждение
высшего профессионального образования
РыбинскИЙ государственнЫЙ авиационнЫЙ технИЧЕСКИЙ УНИВЕРСИТЕТ им. П.А. СОЛОВЬЕВА
Факультет радиотехники, электроники и информатики
Кафедра вычислительных систем
КУРСОВОЙ ПРОЕКТ
по дисциплине «Технология программирования»
на тему «Моделирование сети Хэмминга»
Студент группы ВС1-08
Щербатова М.А.
Руководитель канд. техн. наук,
доцент Паламарь И.Н.
Рыбинск 2011
Содержание
Введение
1. Анализ технического задания
2. Разработка математической модели системы
3. Разработка концептуальной модели системы
4. Проектирование программы
4.1 Разработка пользовательского интерфейса
4.2 Разработка алгоритмов
4.3 Кодирование программы
4.3.1 Модуль main.pas
4.3.2 Модули Grahic.pas и Help1.pas
5. Разработка контрольного примера (тестирование)
6. Руководство пользователя
Заключение
Список использованных источников
Введение
Целью курсового проекта является проектирование и реализация системы, которая осуществляет процессы создания и взаимодействия группы объектов. В качестве системы для реализации была выбрана искусственная нейронная сеть Хэмминга. Она представляет собой объект, который состоит из других объектов - слоев. В свою очередь, каждый слой состоит из определенного числа элементарных объектов - нейронов.
Этот вариант задания был выбран потому, что интерес к искусственным нейронным сетям быстро возрос за последние несколько лет. Такие сети демонстрируют большое число свойств, присущих мозгу - они обучаются на основе опыта, обобщают предыдущие прецеденты на новые случаи и извлекают существенные свойства из поступающей информации, содержащей излишние данные.
Данная программа предназначена для решения такой задачи как распознавание образа, причем сеть Хемминга способна восстанавливать образ при 50-60% его зашумления. Программа позволяет работать с исходными множествами образов (до 26 образов во множестве), которые находятся в файлах формата .txt в кодированном виде. Также пользователь может создавать свои образы, добавлять, удалять образы из множества, накладывать шумы (белый, черный, инверсия), сохранять пользовательские изменения, а также наглядно графически отображать ход процесса изменения уровней нейронов второго слоя. Если необходимо, можно отключать графику и получать результат мгновенно в отдельном окне, где будет выдан распознанный образ и его номер во множестве.
1. Анализ технического задания
В соответствии с техническим заданием, в программе необходимо создать классы с наследованием, конструкторы, деструкторы, свойства. Будут реализованы следующие механизмы: ограничение доступа к элементам класса, обработка исключений с собственными объектами, реализация интерфейса, графика в динамике, помощь с гиперссылками, а также интерфейс SDI.
В качестве входных данных будут выступать файлы формата .txt, содержащие множество образов (до 26) в кодированном виде, либо множество образов, созданных пользователем. Выходные данные - это графическое отображение распознанного образа и его номер во входном множестве. искусственный нейронный сеть хэмминг
Программа должна работать без сбоев, без зависаний и не нарушать работу операционной системы.
Программа разработана в среде Delphi 7.0.
2. Разработка математической модели системы
Структура нейронной сети Хэмминга представлена на рисунке 2.1.
Сеть состоит из двух слоев. Первый и второй слои имеют по m нейронов, где m - число образцов. Нейроны первого слоя имеют по n синапсов, соединенных с входами сети (образующими фиктивный нулевой слой).
Первый слой имеет однонаправленное распространение сигналов от входа к выходу и фиксированные значения весов.
Нейроны второго слоя связаны между собой отрицательными обратными синаптическими связями. Единственный синапс с положительной обратной связью для каждого нейрона соединен с его же аксоном. Таким образом, второй слой состоит из нейронов, связанных обратными связями по принципу "каждый с каждым", при этом в каждом нейроне слоя существует автосвязь (связь входа нейрона со своим собственным выходом). Разные нейроны в слое связаны отрицательной (тормозящей) обратной связью с весом, величина которого обычно обратно пропорциональна количеству образов. С собственным входом нейрон связан положительной (возбуждающей) обратной связью с весом, равным +1. Пороговые веса нейронов приняты равными нулю. Нейроны этого слоя функционируют в режиме, при котором в каждой фиксированной ситуации активизируется только один нейрон, а остальные пребывают в состоянии покоя.
Выходной однонаправленный слой формирует выходной вектор, соответствующий входному вектору.
Тип входных сигналов - бинарные векторы, выходных - целые числа. Число синапсов в сети равно N*M.
Рассмотрим алгоритм работы сети Хэмминга. Вначале идет инициализация весовых коэффициентов первого слоя (шаг 1) - формула (2.1):
(2.1)
где х - запоминаемые образы, i - соответствующий компонент вектора х, j - номер образа, n - размерность вектора х, m - количество запоминаемых образов.
На входы сети подается неизвестный вектор Х{хi:i=0…n-1}, исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс в скобках указывает номер слоя) (шаг 2) - формула (2.2):
(2.2)
где х - неизвестный образ, Т=n/2 - порог активационной функции (нелинейный/линейный преобразователь, изменяющий выходной сигнал сумматора).
После этого полученными значениями инициализируются значения аксонов второго слоя - формула (шаг 3) (2.3):
(2.3)
Далее вычисляются новые состояния нейронов второго слоя - формулы (2.4), (2.5):
(2.4)
где p - номер итерации, 0<e<1/m.
(2.5)
где f - пороговая активационная функция - формула (2.6):
(2.6)
где F - порог активационной функции. Обычно F выбирается достаточно большим, таким, чтобы при любом допустимом значении входа не наступало насыщение. На практике F обычно берется равным количеству примеров.
Наконец, производится проверка условия выхода. Если выходы не стабилизировались, то есть изменялись за последнюю итерацию, то переход на шаг 3, иначе - конец алгоритма.
Роль первого слоя весьма условна: воспользовавшись один раз на шаге 1 значениями его весовых коэффициентов, сеть больше не возвращается к нему, поэтому первый слой может быть вообще исключен из сети (заменен на матрицу весовых коэффициентов).
В реализуемой программе организация хранения информации будет представлена в виде файлов формата .txt в кодированном виде. Этот способ организации данных будет применен из-за его простоты и распространенных методов работы с файлами такого формата.
3. Разработка концептуальной объектной модели системы
Программа состоит из трех модулей:
- основное окно «Нейронная сеть Хэмминга» (MainForm). На данной форме находятся все управляющие элементы;
- окно «Графика» (GraphicForm) вызывается при выполнении алгоритма Хэмминга. На форме отображается ход алгоритма - изменение состояний нейронов второго слоя;
- окно «Help» (HelpForm) содержит руководство пользователя.
В программе созданы свои классы с наследованием, описанные в модуле Main.pas. Два других модуля не содержат собственных классов. Был создан класс-предок TNeuron0, имеющий абстрактный метод. От этого класса наследуется класс-потомок TNeuron. Он является предком следующих классов: класса нейронов первого уровня TNeuronFirstLevel и класса нейронов второго уровня TNeuronSecondLevel. Также были созданы: класс неизвестного входного вектора TUnknownVector, класс одного изображения TImage, класс нейронной сети Хэмминга THammingNetwork и класс обработки исключительных ситуаций EError1. Классы имеют конструкторы, деструкторы, поля, методы и свойства. UML-диаграммы представлены на рисунке 3.1.
4. Проектирование программы
4.1 Разработка пользовательского интерфейса
После запуска программы KR.exe открывается окно, вид которого представлен на рисунке 4.1.1.
На данном окне расположены следующие вкладки меню: «Действия над образами», «Работа нейронной сети», «Создание помех», «Help».
Если пользователь желает работать с уже имеющимися образами, то он должен загрузить данные из файла формата .txt, в котором находится множество образов в кодированном виде. Были созданы два таких файла: «Арабские цифры.txt» и «Английский алфавит.txt». Чтобы открыть эти файлы, необходимо выбрать: «Действия над образами»\ «Открыть файл для работы с образами». Появится окно, представленное на рисунке 4.1.2.
После открытия нужного файла на главной форме в левом окне отобразится графическое представление образов. Вместе с тем, под левым окном отобразится дополнительная информация: количество образов, прочитанных из файла, а так же номер текущего образа (последнего из множества). Вышеописанное представлено на рисунке 4.1.3.
Если пользователь создал свое множество образов или хочет редактировать уже существующее, то он может сохранить изменения и свой проект, нажав: «Действия над образами» \ «Сохранить образы в файл». Необходимо сохранять только в файл формата .txt.
Чтобы начать работу с нейронной сетью, сначала необходимо обучить нейронную сеть множеству выбранных образов, нажав «Работа нейронной сети»\ «Обучить сеть», после чего станет доступной вкладка «Работа нейронной сети»\«Подать образ на вход сети». Далее необходимо выбрать образ из множества, видоизменить его своему усмотрению (можно зашумить или инвертировать образ, используя меню «Создание помех», а также видоизменить образ с помощью вкладки «Перо») и нажать «Работа нейронной сети»\«Подать образ на вход сети». Видоизмененный образ представлен на рисунке 4.1.4.
Станет доступной вкладка «Работа нейронной сети»\«Выполнить алгоритм Хэмминга». После нажатия на данную вкладку откроется форма «Графика», на которой будет отображено динамическое изменение уровней нейронов второго слоя. По окончании вычислений на данной форме останется один столбец с некоторым значением, которое будет отличаться от значений в других столбцах. Чем выше будет это значение, тем точнее распознан образ. Значения в остальных столбцах опустятся до нуля (может быть ситуация, когда значения во всех столбцах останутся на одном уровне, причем это значение будет сильно отличаться от нуля). Вышеописанное представлено на рисунке 4.1.5.
После вычислений на главной форме в правом окне отобразится распознанный образ, а под правым окном - дополнительные результаты: номер распознанного образа, соответствующий номеру наиболее похожего образа из входного множества образов, а также число шагов, за которое был выполнен алгоритм. Это можно увидеть на рисунке 4.1.6.
При необходимости можно убрать галочку с параметра «Показать графику (изменение уровней нейронов второго слоя)» и форма «Графика» не будет отображаться после нажатия вкладки «Работа нейронной сети»\«Выполнить алгоритм Хэмминга», а результат алгоритма отобразится на главной форме мгновенно.
Для вызова справки в главном окне программы нужно меню «Help». На экран выведется руководство пользователя к данной программе.
4.2 Разработка алгоритмов
Основными алгоритмами программы являются алгоритм обучения нейронной сети и алгоритм Хэмминга.
Алгоритм обучения нейронной сети представлен на рисунке 4.2.1.
Алгоритм Хэмминга представлен на рисунке 4.2.2.
4.3 Кодирование программы
4.3.1 Модуль main.pas
Были разработаны следующие классы:
TUnknownVector=class - класс для входного вектора;
TImage=class - класс для одного изображения;
TNeuron0=class - класс-предок для класса нейронов. Данный класс содержит следующие свойство и метод:
property Y:real read Fy write SetY - свойство доступа к полю класса;
procedure SetY(Value:real; virtual;abstract - абстрактный метод записи в поле класса;
TNeuron(TNeuron0)=class - класс-предок для нейронов первого и второго уровней. Данный класс содержит следующие свойство и метод:
property Y:real read Fy write SetY - свойство доступа к полю класса;
procedure SetY(Value:real) - метод записи в поле класса;
TNeuronFirstLevel=class(TNeuron) - класс-потомок класса TNeuron нейронов первого уровня. Данный класс содержит элементы:
procedure Setbk(Value:real) - метод записи в поле класса;
property bk:real read Fbk write Setbk - свойство доступа к полю класса;
constructor Create(TekIm:integer) - конструктор класса;
TNeuronSecondLevel=class(TNeuron) - класс-потомок класса TNeuron нейронов второго уровня. Данный класс содержит элементы:
procedure Setyt1(Value:real) - метод записи в поле класса;
property Yt1:real read Fyt1 write Setyt1 - свойство доступа к полю класса;
THammingNetwork=class(TObject,IMyInterface) - класс-контейнер, содержащий массивы из нейронов первого и второго уровней. Данный класс содержит элементы:
constructor Create - конструктор класса;
destructor Destroy;override - перекрытый деструктор класса (заменяет виртуальный родительский метод класса);
function ActFunction(Arg:real):real - функция, реализующая активационную функцию в алгоритме обучения нейронной сети;
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall - функция, позволяющая программе или любой другому объекту узнать обо всех остальных имеющихся у этого объекта интерфейсах;
function _AddRef: Integer; stdcall - функция, выполняющая задачу сопровождения жизненного цикла COM-объекта. При каждом обращении к _Addref содержимое счетчика ссылок данного объекта увеличивается на единицу;
function _Release: Integer; stdcall - функция, выполняющая задачу сопровождения жизненного цикла COM-объекта. При каждом обращении к _Release содержимое счетчика ссылок данного объекта уменьшается на единицу;
EError1=class(Exception) - класс для исключительных ситуаций. Содержит конструктор:
constructor Create - конструктор класса.
Также были реализованы следующие процедуры:
procedure TMainForm.FormCreate(Sender: TObject) - конструктор главной формы;
procedure TMainForm.StringGrid1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) - процедура реакции на событие нажатия кнопкой мышки в области компонента;
procedure TMainForm.StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState) - процедура закрашивания ячеек первого окна;
procedure TMainForm.StringGrid2DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState) - процедура закрашивания ячеек второго окна;
procedure TMainForm.Button1Click(Sender: TObject) - процедура реакции на событие нажатия на кнопку «Следующий образ»;
procedure TMainForm.Button2Click(Sender: TObject) - процедура реакции на событие нажатия на кнопку «Предыдущий образ»;
procedure TMainForm.ClearWindowClick(Sender: TObject) - процедура реакции на событие нажатия на кнопку «Очистить формы»;
procedure TMainForm.FormDestroy(Sender: TObject) - деструктор главной формы;
procedure TMainForm.AddImageClick(Sender: TObject) - процедура реакции на событие нажатия на кнопку «Добавить образ во множество»;
procedure TMainForm.DelImageClick(Sender: TObject) - процедура реакции на событие нажатия на кнопку «Удалить текущий образ из множества»;
procedure TMainForm.SaveImageClick(Sender: TObject) - процедура реакции на событие нажатия на кнопку «Сохранить текущий образ во множестве»;
procedure TMainForm.N2Click(Sender: TObject) - процедура реакции на событие нажатия на вкладку меню «Открыть файл для работы с образами»;
procedure TMainForm.N6Click(Sender: TObject) - процедура реакции на событие нажатия на вкладку меню «Обучить сеть»;
procedure TMainForm.N7Click(Sender: TObject) - процедура реакции на событие нажатия на вкладку меню «Подать образ на вход сети»;
procedure TMainForm.N8Click(Sender: TObject) - процедура реакции на событие нажатия на вкладку меню «Выполнить алгоритм Хэмминга»;
procedure TMainForm.N3Click(Sender: TObject) - процедура реакции на событие нажатия на вкладку меню «Сохранить образы в файл»;
procedure TMainForm.N12Click(Sender: TObject) - процедура реакции на событие нажатия на вкладку меню «Инвертировать образ»;
procedure TMainForm.N10Click(Sender: TObject) - процедура реакции на событие нажатия на вкладку меню «Зашумить черным»;
procedure TMainForm.N11Click(Sender: TObject) - процедура реакции на событие нажатия на вкладку меню «Зашумить белым»;
procedure TMainForm.N13Click(Sender: TObject) - процедура реакции на событие нажатия на вкладку меню «Help».
4.3.2 Модули Graphic.pas и Help1.pas
Модули Graphic.pas и Help1.pas содержат только стандартный класс TFORM. В модуле Graphic.pas были реализованы следующие процедуры:
рrocedure PaintOneGrid(Sender:TStringGrid;Im:integer) - процедура задания ячейкам столбцов значений;
рrocedure MyGraphics - процедура, реализующая выбор столбца, соответствующего номеру образа (в соответствии со значением выходов нейронов второго слоя);
procedure MyDelay(Sec:Integer) - процедура реализации паузы;
procedure StringGrid1DrawCell(Sender: TObject; ACol, ARow: Integer; Rect: TRect; State: TGridDrawState) - процедура закрашивания ячеек столбцов;
procedure FormShow(Sender: TObject) - процедура запуска формы «Графика».
В модуле Help1.pas была реализована следующая процедура:
procedure FormCreate(Sender: TObject) - конструктор формы.
5. Разработка контрольного примера (тестирование)
Для начала работы необходимо загрузить уже имеющееся множество образов, нажав: «Действия над образами»\ «Открыть файл для работы с образами», либо пользователь может создать свои образы с помощью вкладки «Перо» и работать с ними.
После открытия нужного файла (в данном случае будет открыт файл «Английский алфавит.txt») на главной форме в левом окне отобразится графическое представление образов. Вместе с тем, под левым окном отобразится дополнительная информация: количество образов, прочитанных из файла, а так же номер текущего образа, выбранного нами. Вышеописанное представлено на рисунке 5.1.
Далее пользователь может изменять образы по своему усмотрению: можно зашумить или инвертировать образ, используя меню «Создание помех», а также видоизменить образ с помощью вкладки «Перо». Выберем «Перо 4» и внесем изменения в текущий образ. Видоизмененный образ представлен на рисунке 5.2.
Если необходимо работать с множеством образов, содержащим только что измененный образ или с образами, созданными пользователем, то необходимо нажать кнопку «Сохранить текущий образ во множестве».
Чтобы начать работу с нейронной сетью, сначала необходимо обучить нейронную сеть множеству выбранных образов, нажав «Работа нейронной сети»\ «Обучить сеть», после чего станет доступной вкладка «Работа нейронной сети»\«Подать образ на вход сети». Далее необходимо выбрать образ из множества, видоизменить его своему усмотрению и нажать «Работа нейронной сети»\«Подать образ на вход сети». Вышеописанное представлено на рисунках 5.3, 5.4, 5.5.
Теперь стала доступной вкладка «Работа нейронной сети»\«Выполнить алгоритм Хэмминга». После нажатия на данную вкладку откроется форма «Графика», на которой будет отображено динамическое изменение уровней нейронов второго слоя. Это представлено на рисунке 5.6.
По окончании вычислений на данной форме останется один столбец с некоторым значением, которое будет отличаться от значений в других столбцах. Чем выше будет это значение, тем точнее распознан образ. Значения в остальных столбцах опустятся до нуля.
После вычислений на главной форме в правом окне отобразится распознанный образ, а под правым окном - дополнительные результаты: номер распознанного образа, соответствующий номеру наиболее похожего образа из входного множества образов, а также число шагов, за которое был выполнен алгоритм.
При необходимости можно убрать галочку с параметра «Показать графику (изменение уровней нейронов второго слоя)» и форма «Графика» не будет отображаться после нажатия вкладки «Работа нейронной сети»\«Выполнить алгоритм Хэмминга», а результат алгоритма отобразится на главной форме мгновенно. Это можно увидеть на рисунке 5.7.
В данном случае программа выдала неверный образ. Это произошло потому, что нейронная сеть Хэмминга способна правильно распознавать только слабо зашумленные сигналы, а в данном примере уровень помех превышает 50%. Если к этому же входному образу применить не инвертирование, а двукратное зашумление черным, тогда сеть выдаст верный образ. Это представлено на рисунке 5.8.
6. Руководство пользователя
Чтобы начать работу, необходимо скопировать всю папку с проектом на жесткий диск.
Если пользователь желает работать с уже имеющимися образами, то он должен загрузить данные из файла формата .txt, в котором находится множество образов в кодированном виде. Создано два таких файла: «Арабские цифры.txt» и «Английский алфавит.txt». Чтобы открыть эти файлы, необходимо выбрать: «Действия над образами»\ «Открыть файл для работы с образами».
После открытия нужного файла на главной форме в левом окне отобразится графическое представление образов. Вместе с тем, под левым окном отобразится дополнительная информация: количество образов, прочитанных из файла, а так же номер текущего образа (последнего из множества).
Если пользователь создал свое множество образов или хочет редактировать уже существующее, то он может сохранить изменения и свой проект, нажав: «Действия над образами»\ «Сохранить образы в файл». Необходимо сохранять только в файл формата .txt.
Чтобы начать работу с нейронной сетью, сначала необходимо обучить нейронную сеть множеству выбранных образов, нажав «Работа нейронной сети»\ «Обучить сеть», после чего станет доступной вкладка «Работа нейронной сети»\«Подать образ на вход сети». Далее необходимо выбрать образ из множества, видоизменить его своему усмотрению (можно зашумить или инвертировать образ, используя меню «Создание помех», а также видоизменить образ с помощью вкладки «Перо») и нажать «Работа нейронной сети»\«Подать образ на вход сети».
Станет доступной вкладка «Работа нейронной сети»\«Выполнить алгоритм Хэмминга». После нажатия на данную вкладку откроется форма «Графика», на которой будет отображено динамическое изменение уровней нейронов второго слоя. По окончании вычислений на данной форме останется один столбец с некоторым значением, которое будет отличаться от значений в других столбцах. Чем выше будет это значение, тем точнее распознан образ. Значения в остальных столбцах опустятся до нуля (может быть ситуация, когда значения во всех столбцах останутся на одном уровне, причем это значение будет сильно отличаться от нуля).
После вычислений на главной форме в правом окне отобразится распознанный образ, а под правым окном - дополнительные результаты: номер распознанного образа, соответствующий номеру наиболее похожего образа из входного множества образов, а также число шагов, за которое был выполнен алгоритм.
При необходимости можно убрать галочку с параметра «Показать графику (изменение уровней нейронов второго слоя)» и форма «Графика» не будет отображаться после нажатия вкладки «Работа нейронной сети»\«Выполнить алгоритм Хэмминга», а результат алгоритма отобразится на главной форме мгновенно.
Для вызова справки в главном окне программы нужно меню «Help». На экран выведется руководство пользователя к данной программе.
Заключение
В курсовой работе необходимо было написать программу, реализующую модель нейронной сети Хэмминга для распознавания образов.
Необходимо было также выполнить все функциональные требования и требования по надежности, указанные в техническом задании. Такая программа была создана, и в процессе ее разработки были закреплены навыки программирования на языке Delphi, а так же освоены новые технологии разработки программного обеспечения. Все пункты технического задания были выполнены.
Список использованных источников
1. Орлов С.А. Технологии разработки программного обеспечения [Текст]: учебное пособие / С. А. Орлов - СПб.: Питер, 2002. - 464 с.
2. СТП 1.01 - 2002. Текстовые документы. Общие требования к оформлению учебных документов [Текст]. - введ. 2002 - 01 - 01. - Рыбинск: РГАТА, 2002. - 28 с.
3. Камаев, В.А., Костерин В.В. Технологии программирования [Текст]: Учебник/ В. А. Камаев, В. В. Костерин. - 2-е изд., перераб. И доп. - Высш. шк., 2006. - 454 с. : ил. ISBN 5-06-004870-5.
Размещено на Allbest.ru
Подобные документы
Разработка алгоритма и программы для распознавания пола по фотографии с использованием искусственной нейронной сети. Создание алгоритмов: математического, работы с приложением, установки весов, реализации функции активации и обучения нейронной сети.
курсовая работа [1,0 M], добавлен 05.01.2013Прогнозирование валютных курсов с использованием искусственной нейронной сети. Общая характеристика среды программирования Delphi 7. Существующие методы прогнозирования. Характеристика нечетких нейронных сетей. Инструкция по работе с программой.
курсовая работа [2,2 M], добавлен 12.11.2010Эффективность применения объектного подхода для программных систем. Детальное проектирование и реализация системы, реализующей процессы создания и взаимодействия объектов. Распознавание компьютером печатных букв с помощью многослойной нейронной сети.
курсовая работа [38,0 K], добавлен 09.03.2009Принципы и порядок работы с файлами на языке Delphi, получение навыков программирования с использованием файлов. Создание каталога продуктов. Страница палитры компонентов, настраиваемые компоненты и их значения. Текст программы и ее тестирование.
лабораторная работа [243,9 K], добавлен 09.01.2009Выявление закономерностей и свойств, применимых в искусственной нейронной сети. Построение графиков и диаграмм, определяющих степень удаленности между объектами. Моделирование, тестирование и отладка программной модели, использующей клеточный автомат.
дипломная работа [4,1 M], добавлен 25.02.2015Математическая модель искусственной нейронной сети. Структура многослойного персептрона. Обучение без учителя, методом соревнования. Правило коррекции по ошибке. Метод Хэбба. Генетический алгоритм. Применение нейронных сетей для синтеза регуляторов.
дипломная работа [1,5 M], добавлен 17.09.2013Математическая модель нейронной сети. Однослойный и многослойный персептрон, рекуррентные сети. Обучение нейронных сетей с учителем и без него. Алгоритм обратного распространения ошибки. Подготовка данных, схема системы сети с динамическим объектом.
дипломная работа [2,6 M], добавлен 23.09.2013Характеристика моделей обучения. Общие сведения о нейроне. Искусственные нейронные сети, персептрон. Проблема XOR и пути ее решения. Нейронные сети обратного распространения. Подготовка входных и выходных данных. Нейронные сети Хопфилда и Хэмминга.
контрольная работа [1,4 M], добавлен 28.01.2011Базовые архитектуры компьютеров: последовательная обработка символов по заданной программе и параллельное распознавание образов по обучающим примерам. Искусственные нейронные сети. Прототип для создания нейрона. Поведение искусственной нейронной сети.
контрольная работа [229,5 K], добавлен 28.05.2010Нейронные сети и оценка возможности их применения к распознаванию подвижных объектов. Обучение нейронной сети распознаванию вращающегося трехмерного объекта. Задача управления огнем самолета по самолету. Оценка экономической эффективности программы.
дипломная работа [2,4 M], добавлен 07.02.2013