⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gn21.pas

📁 感知机模型delphi版
💻 PAS
字号:
program ganzhiji(input,output,g,count);
 label 1;
 const m=4;
       n=2;
       a=0.2;
       b=0.1;
       e=0.01;
 var q,z,sd,zz:real;
     s:array[1..n,1..m] of real;
     y:array[1..m] of real;
     w:array[1..n] of real;
     d:array[1..m] of real;
     yf:array[1..m] of real;
     sr:array[1..n] of integer;
     kk:array[1..m] of integer;
     yx:array[1..m] of integer;
     i,k,j,h,c,nn,test,sc:integer;
     g:file of real;
     count:file of integer;
 function f(x:real):integer;
  begin
   if x>0.0 then f:=1
   else f:=-1
   end;
begin
 nn:=n;
 c:=0;
 z:=0.0;
 for k:=1 to m do
  begin
   for i:=1 to n do
    begin
     write ('Input s(',i,',',k,')');
     read (s[i,k])
    end
  end;
 for k:=1 to m do
  begin
   write ('Input y(',k,')');
   read (y[k])
  end;
 randomize;
 for i:=1 to n do
  begin
   w[i]:=random(2000)/1000-1.0;
  end;
 q:=random(2000)/1000-1.0;
 repeat
  sd:=0.0;
   for k:= 1 to m do
    begin
    z:=0.0;
    for i:=1 to n do
     begin
      z:=z+w[i]*s[i,k];
     end;
    zz:=z+q;
    yf[k]:=f(zz);
    d[k]:=y[k]-yf[k];
    writeln ('d(',k,')=',d[k]);
    sd:=sd+abs(d[k]);
   for i:=1 to n do
    begin
     w[i]:=w[i]+a*s[i,k]*d[k];
     writeln ('w(',i,')=',w[i])
    end;
  q:=q+b*d[k]
  end;
  c:=c+1;
  writeln ('count=',c);
 until sd<0.01;
writeln ('count:',c);
for k:=1 to m do
 begin
 z:=0.0;
 for i:=1 to n do
  begin
   write ('Input sr(',i,'):');
   read (sr[i]);
   z:=z+w[i]*sr[i]+q
  end;
 sc:=f(z);
 writeln ('Output:',sc)
 end
end.



⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -