源程序是public class xin extends Object
{
int i,j,c=0;
double a,a1,e3,y,t;
double x[]=new double[5];
double e1[]=new double[16];
double e2[]=new double[16];
double we1[]=new double[16];
double we2[]=new double[16];
double hide1[]=new double[16];
double hide2[]=new double[16];
double hide3=0.0;
double step11=0.5;
double step12=0.3;
double step13=0.1;






public double Sigmoid(double f)
{
double x;
 f=0.0;
 f=1.0/(1.0+Math.exp(-x));
return(f);
}

public void Weight_processing()
{
double w1[][]=new double[5][16];
for(i=0;i<5;i++)
 for(j=0;j<16;j++)
   {
        java.util.Random r=new java.util.Random();
        double a=r.nextFloat()/10.0;
        w1[i][j]=a;
   }

double w2[][]=new double[16][16];
for(i=0;i<16;i++)
 for(j=0;j<16;j++)
    {
     java.util.Random r=new java.util.Random();
        double a=r.nextFloat()/10.0;
        w2[i][j]=a;
     }

 double w3[]=new double[16];
 for(i=0;i<16;i++)
    {
     java.util.Random r=new java.util.Random();
        double a=r.nextDouble()/10.0;
     w3[i]=a;
    
    }
  }



do
{
a1=0.0;
for(j=0;j<16;j++)
   hide1[j]=0.0;
   for(i=0;i<4;i++)
   for(j=0;j<16;j++)
   hide1[j]+=x[i]*w1[i][j];
   for(j=0;j<16;j++)
   hide1[j]=Sigmoid(hide1[j]);

for(j=0;j<16;j++)
   hide2[j]=0.0;
   for(i=0;i<16;i++)
   for(j=0;j<16;j++)
   hide2[j]+=hide1[j]*w2[j][i];
   for(j=0;j<16;j++)
   hide2[j]=Sigmoid(hide2[j]);
for(j=0;j<16;j++)
hide3+=hide2[]*w3[j];
    y=Sigmoid(hide3);       a1+=(t-y)*(t-y)/2.0;
    
e3=y*(1.0-y)*(t-y);
for(i=0;i<16;i++)
   we2[i]=0;
   for(i=0;i<16;i++)
     we2[i]+=w3[i]*e3;
for(i=0;i<16;i++)
   e2[i]=hide2[i]*(1.0-hide2[i])*we2[i];
for(i=0;i<16;i++)
   we1[i]=0;
   for(i=0;i<16;i++)
     for(i=0;i<16;i++)
      we1[i]=we2[i][j]*e2[i];
      for(i=0;i<16;i++)
      e1[i]=hide1[i]*(1.0-hide1[i])*we1[i];


for(i=0;i<16;i++)
   w3[i]+=step11*hide2[i]*e3;
   for(i=0;i<16;i++)
      for(j=0;j<16;j++)
      w2[i][j]+=step12*hide1[i]*e2[j];
   for(i=0;i<5;i++)
     for(j=0;j<16;j++)
     w1[i][j]+=step13*x[i]*e1[j];
   c+=1
   }while(a1>0.0001)
}