To precisando de uma força para resolver este problema, o exercício de reconhecimento de caracteres, resolvido com percepton simples.
Se tiver algúem aí que manje do assunto me ajude.
[code]public class ativacao {
private double b, w[],a, aux;
private int e, Er, t, max, i, j, x[][],y[],d[],c,l;
public void and(){
x = new int[l][c];
//inicializando x
// Aqui eu preciso colocar numa matriz o conteudo do arquivo matriz.txt
// inicializando d
// Não sei quem é o supervisor da rede (matriz)
}
public ativacao(){
b=1;
t = 1;
Er = 1;
max = 20;
c = 2;
l = 4;
a = 1.5;
aux = 0;
w = new double[c];
w[0] = 0;
w[1] = 0;
this.and();
}
public void run(){
y = new int[l];
//private double aux = new double();
while( t < max & Er > 0){
Er = 0;
for(i=0;i<l;i++){
aux = 0;
for(j=0;j<c;j++) aux = aux + (w[j]*x[i][j]);
aux = aux + b;
y[i] = F(aux);
e = d[i] - y[i];
imprimir();
for(j=0;j<c;j++) w[j] = w[j]+ (a*e*x[i][j]);
b = b + (a*e);
Er = Er + (e*e);
}
System.out.println(t);
t++;
}
}
private void imprimir(){
//private int j;
for(j=0;j<c;j++){
System.out.println("Entrada = " + x[i][j] + " Peso = " + w[j] + " Bias = " + b + " erro = "+ e);
}
}
private int F(double _aux){
if (_aux < 0.0)return 0;
else return 1;
}
public static void main(String[] args) {
ativacao u = new ativacao();
u.run();
}
}
[/code]
O arquivo matriz.txt é uma matriz 8X120.
está é a matriz.
-1 -1 1 -1 -1 1 1 -1
-1 -1 1 -1 1 1 1 -1
-1 -1 1 1 1 1 1 -1
-1 1 1 1 -1 1 1 -1
-1 1 1 1 -1 1 1 1
-1 1 1 1 -1 1 -1 1
-1 1 1 1 -1 -1 -1 1
-1 -1 1 1 1 -1 -1 1
-1 -1 -1 -1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 1 -1 -1 1 1 -1
-1 -1 1 -1 1 1 1 -1
-1 -1 1 1 1 1 1 -1
1 1 1 1 -1 1 1 -1
1 1 1 1 -1 1 1 1
1 1 1 1 -1 1 -1 1
1 1 1 1 -1 -1 -1 1
-1 -1 1 1 1 -1 -1 1
-1 -1 -1 1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 -1 -1 -1 1 1 -1
-1 -1 -1 -1 1 1 1 -1
1 -1 -1 -1 1 -1 1 -1
1 1 -1 -1 -1 -1 1 -1
1 1 -1 -1 -1 -1 1 1
1 1 -1 -1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1 -1
1 -1 1 1 1 -1 -1 -1
-1 -1 -1 1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 -1 -1 -1 1 1 -1
1 -1 -1 -1 1 1 1 -1
1 -1 -1 -1 1 -1 1 -1
1 1 -1 -1 -1 -1 1 -1
-1 1 -1 -1 -1 -1 1 1
-1 1 -1 -1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1 -1
1 -1 1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 -1 -1 -1 1 1 -1
1 -1 -1 -1 1 1 1 -1
1 -1 -1 -1 1 -1 1 -1
1 1 -1 -1 -1 -1 1 -1
-1 1 -1 -1 -1 -1 1 1
-1 1 -1 -1 -1 -1 -1 1
1 1 1 -1 -1 -1 -1 -1
1 -1 1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 1 -1 -1 1 1 -1
1 -1 1 -1 1 1 1 -1
1 -1 1 -1 1 1 1 -1
1 1 1 -1 1 1 1 -1
-1 1 1 1 1 1 1 1
-1 1 1 1 1 1 -1 1
1 1 1 1 1 -1 -1 1
1 -1 1 1 1 -1 -1 1
1 -1 -1 -1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 1 -1 -1 1 -1 -1
1 -1 1 -1 1 1 -1 -1
1 -1 1 -1 1 1 -1 -1
1 1 1 -1 1 1 -1 -1
-1 1 1 1 1 1 -1 1
-1 1 1 1 1 1 -1 1
1 1 1 1 1 -1 -1 1
1 -1 1 1 1 -1 -1 1
1 -1 -1 -1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 1 -1 -1 1 -1 -1
1 -1 1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 -1
-1 1 -1 -1 -1 1 -1 -1
-1 1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 1 -1 -1 1 -1 -1
1 -1 1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 -1
-1 1 -1 -1 -1 1 -1 -1
-1 1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 -1 -1 -1
1 -1 -1 1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 1 -1 -1 1 -1 -1
-1 -1 1 -1 -1 1 -1 -1
1 -1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 -1 -1 -1
1 1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 1 -1 -1
1 1 -1 -1 -1 -1 -1 -1
1 -1 -1 1 1 -1 -1 -1
-1 -1 -1 1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 1 -1 -1 1 -1 -1
-1 -1 1 -1 -1 1 -1 -1
-1 -1 1 1 -1 1 -1 -1
1 1 1 1 -1 1 -1 -1
1 1 1 1 -1 1 -1 1
1 1 1 1 -1 1 -1 1
1 1 1 1 -1 -1 -1 1
-1 -1 1 1 1 -1 -1 1
-1 -1 -1 1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1
-1 -1 1 -1 -1 1 -1 -1
-1 -1 1 -1 -1 1 -1 -1
-1 -1 1 1 -1 1 -1 -1
-1 1 1 1 -1 1 -1 -1
-1 1 1 1 -1 1 -1 1
-1 1 1 1 -1 1 -1 1
-1 1 1 1 -1 -1 -1 1
-1 -1 1 1 1 -1 -1 1
-1 -1 -1 -1 1 -1 -1 1
-1 -1 -1 -1 -1 -1 -1 1