genback.c

来自「GENETIC ALGORITHM FOR NEURAL NETWORKS ON」· C语言 代码 · 共 72 行

C
72
字号
/* Implementations for Genetric Backpropagation */#include "defs.h"#include "ind.h"#include "gen.h"#include "back.h"#include "stdnet.h"#include "genback.h"void randomNetPop(int popsize,float w){  int i;  for(i=0;i<popsize;i++)  {    randomNet(w);    back2gen(Pop[i]);  };}void gen2back(ind x){  int i,j,k;  for(i=0;i<=Nin;i++)    for(j=0;j<Nhid;j++)      { Wih[i][j]=weight1(x,i,j); DDih[i][j]=0.0; };  for(j=0;j<=Nhid;j++)    for(k=0;k<Nout;k++)      { Who[j][k]=weight2(x,j,k); DDho[j][k]=0.0; };  LearnRate=lrate(x);  Impulse=imp(x);}void back2gen(ind x){  int i,j,k;  int w,m;  float s;  m=(1<<Nbits)-1;  s=((1<<(Nbits-1))-1)/Width;  for(i=0;i<=Nin;i++)    for(j=0;j<Nhid;j++)    {      w=float2int(Wih[i][j]);      if(w<0) w=0; else if(w>FGmax) w=FGmax;      putbits(int2grey[w],x,IncW1*j+Nbits*i,Nbits);    };  for(j=0;j<=Nhid;j++)    for(k=0;k<Nout;k++)    {      w=float2int(Who[j][k]);      if(w<0) w=0; else if(w>FGmax) w=FGmax;      putbits(int2grey[w],x,OffW2+IncW2*k+Nbits*j,Nbits);    };}void backsteps(ind x,int n){  int i;  gen2back(x);  for(i=0;i<n;i++)  {    calcNetErr();    updateNet();  };  back2gen(x);}  

⌨️ 快捷键说明

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