📄 jianjian.cpp
字号:
#include"graphics.h"
#include"iostream.h"
#include"conio.h"
#include"math.h"
double num(double w01,double w02,double w11,double w12,double w13,double w23,double a,double b,double c);
double x1,x2,x3,p,e,e1,e2,e3,e0,n=0.2,x4,x5,x6,p1,p2,p3,y2,y3;
int y,i,j,k=0,u=0;
int x[2]={0,1};
double l[4];
main()
{
double w01=4,w02=8,w11=3,w12=2,w23=3,w13=1,a=0.2,b=0.6,c=0.2;
window(10,10,200,200);
num(w01,w02,w11,w12,w13,w23,a,b,c);
return 0;
}
double num(double w01,double w02,double w11,double w12,double w13,double w23,double a,double b,double c)
{
k++;
double y1;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
if(x[i]==x[j])
{
y=0;
}
if(x[i]!=x[j])
{
y=1;
}
next: x1=x[j]*w11+x[i]*w01-a;
x2=x[i]*w02+x[j]*w12-b;
x5=exp(-x1);
x6=exp(-x2);
y2=1/(1+x5);
y3=1/(1+x6);
x3=y2*w13+y3*w23-c;
x4=exp(-x3);
y1=1/(1+x4);
p=(y1-y)*y1*(1-y1);
p1=y2*(1-y2)*(p*w13);
p2=y3*(1-y3)*(p*w23);
p3=y-y1;
e=(p3*p3)/2;
if(e<0.01)
{
l[u]=y1;
u++;
continue;
}
else
{
w01=w01-n*p1*x[i];
w02=w02-n*p2*x[i];
w11=w11-n*p1*x[j];
w12=w12-n*p2*x[j];
w13=w13-n*p*y2;
w23=w23-n*p*y3;
c=c-n*p*(-1);
a=a-n*p1*(-1);
b=b-n*p2*(-1);
goto next;
}
}
}
x1=0*w11+0*w01-a;
x2=0*w02+0*w12-b;
x5=exp(-x1);
x6=exp(-x2);
y2=1/(1+x5);
y3=1/(1+x6);
x3=y2*w13+y3*w23-c;
x4=exp(-x3);
y1=1/(1+x4);
p=(y1-0)*y1*(1-y1);
p1=y2*(1-y2)*(p*w13);
p2=y3*(1-y3)*(p*w23);
p3=0-y1;
e0=(p3*p3)/2;
x1=1*w11+0*w01-a;
x2=0*w02+1*w12-b;
x5=exp(-x1);
x6=exp(-x2);
y2=1/(1+x5);
y3=1/(1+x6);
x3=y2*w13+y3*w23-c;
x4=exp(-x3);
y1=1/(1+x4);
p=(y1-1)*y1*(1-y1);
p1=y2*(1-y2)*(p*w13);
p2=y3*(1-y3)*(p*w23);
p3=1-y1;
e1=(p3*p3)/2;
x1=0*w11+1*w01-a;
x2=1*w02+0*w12-b;
x5=exp(-x1);
x6=exp(-x2);
y2=1/(1+x5);
y3=1/(1+x6);
x3=y2*w13+y3*w23-c;
x4=exp(-x3);
y1=1/(1+x4);
p=(y1-1)*y1*(1-y1);
p1=y2*(1-y2)*(p*w13);
p2=y3*(1-y3)*(p*w23);
p3=1-y1;
e2=(p3*p3)/2;
x1=1*w11+1*w01-a;
x2=1*w02+1*w12-b;
x5=exp(-x1);
x6=exp(-x2);
y2=1/(1+x5);
y3=1/(1+x6);
x3=y2*w13+y3*w23-c;
x4=exp(-x3);
y1=1/(1+x4);
p=(y1-0)*y1*(1-y1);
p1=y2*(1-y2)*(p*w13);
p2=y3*(1-y3)*(p*w23);
p3=0-y1;
e3=(p3*p3)/2;
cout<<w01<<" "<<w02<<" "<<w11<<" "<<w12<<" "<<w13<<" "<<w23<<" "<<a<<" "<<b<<" "<<c<<endl;
if((((e0<0.01)&&(e1<0.01))&&(e2<0.01))&&(e3<0.01))
{
cout<<"w01"<<" "<<"w02"<<" "<<"w11"<<" "<<"w12"<<" "<<"w13"<<" "<<"w23"<<" "<<"a"<<" "<<"b"<<" "<<"c"<<endl;
cout<<endl;
cout<<endl;
cout<<"w01"<<" "<<"w02"<<" "<<"w11"<<" "<<"w12"<<" "<<"w13"<<" "<<"w23"<<" "<<"a"<<" "<<"b"<<" "<<"c"<<endl;
cout<<w01<<" "<<w02<<" "<<w11<<" "<<w12<<" "<<w13<<" "<<w23<<" "<<a<<" "<<b<<" "<<c<<endl;
cout<<"k="<<k;
cout<<endl;
return 0;
}
if(k<2000)
{
u=0;
num(w01,w02,w11,w12,w13,w23,a,b,c);
}
else
{
cout<<"k="<<k<<endl;
cout<<"00"<<" "<<"01"<<" "<<"10"<<" "<<"11"<<endl;
cout<<l[0]<<" "<<l[1]<<" "<<l[2]<<" "<<l[3]<<endl;
cout<<endl;
cout<<"w01"<<" "<<"w02"<<" "<<"w11"<<" "<<"w12"<<" "<<"w13"<<" "<<"w23"<<" "<<"a"<<" "<<"b"<<" "<<"c"<<endl;
cout<<w01<<" "<<w02<<" "<<w11<<" "<<w12<<" "<<w13<<" "<<w23<<" "<<a<<" "<<b<<" "<<c<<endl;
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -