Documente Academic
Documente Profesional
Documente Cultură
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int i=0;// variable de conteo
// parametros de nuestra funcion
double w1[5],b[5],w2[5];
double x1[5],x2[5],y[5];
//asignacion de pesos
w1[0]=0;
w2[0]=0;
b[0]=0;
//Funcion logica a Ejecutar OR
x1[0]=1; x2[0]=1; y[0]=1;
x1[1]=1; x2[1]=-1; y[1]=1;
x1[2]=-1; x2[2]=1; y[2]=1;
x1[3]=-1; x2[3]=-1; y[3]=-1;
//MODELO SIMPLE DE HEBB
cout << "modelo perceptron" << endl;
cout<<"pesos actualizados:"<<"\n"<<"W1 W2 b"<<endl<<w1[i]<<"
"<<w2[i]<<" "<<b[i]<<" "<<endl<<endl;
while(i<4)
{
w1[i+1]=w1[i]+x1[i]*y[i];
w2[i+1]=w2[i]+x2[i]*y[i];
b[i+1]=b[i]+y[i];
cout<<"pesos actualizados:"<<"\n"<<"W1 W2 b"<<endl<<w1[i+1]<<"
"<<w2[i+1]<<" "<<b[i+1]<<" "<<endl<<endl;
i++;
}
i--;
//Funcion Inversa, a partir de los pesos calculamos la funcion logica.
cout << "funcion inversa" << endl;
while(i>=0)
{
y[i]=b[i+1]-b[i];//b[i+1]=b[i]+y[i];
x1[i]=(w1[i+1]-w1[i])/(y[i]);//w1[i+1]=w1[i]+x1[i]*y[i];
x2[i]=(w2[i+1]-w2[i])/(y[i]);//w2[i+1]=w2[i]+x2[i]*y[i];
cout<<"entrada logica:"<<"\n"<<"X1 X2 Y"<<endl<<x1[i]<<"
"<<x2[i]<<" "<<y[i]<<" "<<endl<<endl;
i--;
}
cin.ignore();
return 0 ;
}
FUNCIONAMIENTO Y RESULTDO DEL CODIGO
GUIA DE USUARIO