Исследование свойств сетей Хопфилда и поиска максимума

Автор работы: Пользователь скрыл имя, 15 Марта 2014 в 12:42, лабораторная работа

Краткое описание

Цель: исследовать основные свойства сетей Хопфилда и поиска максимума.
Задание:
1. Создать программный продукт в любой удобной среде визуального программирования, реализующий нейронную сеть вида:
Формирование синаптических весов сети

Вложенные файлы: 1 файл

ЛР 6 НСТ.docx

— 49.18 Кб (Скачать файл)
Министерство образования и науки  Украины
Донбасская государственная машиностроительная академия

 

 

 

 

 

 

 

 

Лабораторная работа № 6

«Исследование свойств сетей Хопфилда и поиска максимума»

по дисциплине:
«Нейросетевые технологии»

 

 

 

 

 

 

 

 

 

Краматорск 2014
Цель: исследовать основные свойства сетей Хопфилда и поиска максимума.
Задание:
1. Создать программный  продукт в любой удобной среде  визуального программирования, реализующий  нейронную сеть вида:

Формирование синаптических весов сети:

 

 

Функционирование сети:

 

 

где wij – i-й синаптический вес j-го нейрона,

xi – i-й элемент входного сигнала сети,

yj – выход j-го нейрона,

M – количество элементов (размерность) входного сигнала, количество нейронов в сети.

f – активационная функция (линейная с насыщением).

Число синапсов в сети: M(M – 1). Размерности входных и выходных сигналов совпадают.

Итерации сети завершаются после того, как выходные сигналы нейронов перестают меняться.

 

Лситинг:unit Unit1;

 

interface

 

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

 

type
  TForm1 = class(TForm)
    Button1: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Button2: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label4: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

 

var
  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.Button1Click(Sender: TObject);
var x,y,s,yn:array[1..3] of Real;
     w:array[1..3,1..3] of Real;
    T,l:Real;
    i,j:Integer;
   label
  GotoLabel;
begin
 x[1]:=StrToFloat(Edit1.Text);
 x[2]:=StrToFloat(Edit2.Text);
 x[3]:=StrToFloat(Edit3.Text);
T:=1; l:=0.5;
 s[1]:=0;s[2]:=0;s[3]:=0;
 for i:=1 to 3 do begin
   yn[i]:=x[i];
   end;
    Gotolabel: for i:=1 to 3 do begin
       for j:=1 to 3 do
       if i=j then w[i,j]:=1 else w[i,j]:=-1/3;
       end;
       for i:=1 to 3 do begin
         for j:=1 to 3 do
         s[i]:=s[i]+yn[j]*w[i,j];
         end;
        for i:=1 to 3 do begin
         for j:=1 to 3 do
        if s[i]<T  then y[i]:=0 else
        begin if (s[i]>T)and (s[i]<l)
        then y[i]:=(s[i]-T)/l else y[i]:=1;
          end;
         end;
         if (y[1]<>yn[1]) or (y[2]<>yn[2]) or (y[3]<>yn[3]) then
         begin
           yn[1]:= y[1];
           yn[2]:=y[2];
           yn[3]:=y[3];
           goto Gotolabel;
           end;
           Edit6.Text:=floattostr(y[1]);
           Edit7.Text:=floattostr(y[2]);
           Edit8.Text:=floattostr(y[3]);

 

end;

 

  procedure TForm1.Button2Click(Sender: TObject);
begin
close;
end;

 

end.
Вывод: в ходе проведения лабораторной работы мы исследовали основные свойства сетей Хопфилда и поиска максимума.

 


Информация о работе Исследование свойств сетей Хопфилда и поиска максимума