Algoritmo de hebb

1 resposta
C
pessoal no esquema eh o seguinte… preciso desenvolver uma aplicação em java para Inteligencia artificial… nesta aplicação tenho q usar o algoritmo de Hebb… tipo preciso criar uma matriz 5X5 de String q represente a letra X do alfabeto e outra q represente a lera O… mais ou menos assim:

#…# .###.

.#.#. #…#

…#… #…#

.#.#. #…#

#…# .###.

essas são as formas das letras, depois atribuir o valor 1 para cada #…

e o valor -1 para cada .(ponto)…

depois criar uma outra matriz de teste de tamanho igual para verificar se ela eh mais parecida com o X ou com o O, se digitado qq outro caracter a aplicação deve reconhe-lo como 0(zero) jah tenho o codigo quase pronto preciso de ajuda pra melhorar-lo e encrementa-lo

codio:

import javax.swing.*;

import java.awt.Container;
public class Projeto extends JApplet {

public static void main(String[] args) {

int cont=0;

int cont1=0;
//Cria Vetor X com posicoes definidas.

String X[][] = { { “#”, “.”, “.”, “.”, “#” },

{ “.”, “#”, “.”, “#”, “.” }, { “.”, “.”, “#”, “.”, “.” },

{ “.”, “#”, “.”, “#”, “.” }, { “#”, “.”, “.”, “.”, “#” } };

//Cria Vetor Auxiliar para X.

int Aux1[][] = new int[5][5];

//Cria Vetor O com posicoes definidas.

String O[][] = { { “.”, “#”, “#”, “#”, “.” },

{ “#”, “.”, “.”, “.”, “#” }, { “#”, “.”, “.”, “.”, “#” },

{ “#”, “.”, “.”, “.”, “#” }, { “.”, “#”, “#”, “#”, “.” } };

//Cria Vetor Auxiliar para O.

int Aux2[][] = new int[5][5];

//Cria Vetor de Teste.

String Teste[][] = new String[5][5];

//Cria Vetor Auxiliar de Teste.

int Aux3[][] = new int[5][5];
//Imprime saida Vetor X em uma caixa de dialogo 5x5.

String SaidaX = “”;

for (int i = 0; i < 5; i++) {

for (int j = 0; j < 5; j++) {
SaidaX = SaidaX + " " + X[i][j];

}

SaidaX = SaidaX + “\n”;

}
//Imprime saida Vetor O em uma caixa de dialogo 5x5.

String SaidaO = “”;

for (int i = 0; i < 5; i++) {

for (int j = 0; j < 5; j++) {

SaidaO = SaidaO + " " + O[i][j];

}

SaidaO = SaidaO + “\n”;

}
for (int i = 0; i < 5; i++) {

for (int j = 0; j < 5; j++) {

if (X[i][j].equals("#")) {

Aux1[i][j] = 1;

}else{

if(X[i][j].equals(".")) {

Aux1[i][j] = -1;

} else {

Aux1[i][j] = 0;

}

}

}

}

for (int i = 0; i < 5; i++) {

for (int j = 0; j < 5; j++) {

if (O[i][j].equals("#")) {

Aux2[i][j] = 1;

} else {

if (O[i][j].equals(".")) {

Aux2[i][j] = -1;

} else {

Aux2[i][j] = 0;

}

}

}

}

String ResultadoX = “”;

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

ResultadoX=ResultadoX+" “+Aux1[i][j];

}

ResultadoX=ResultadoX+”\n";

}

String ResultadoO = “”;

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

ResultadoO=ResultadoO+" “+Aux2[i][j];

}

ResultadoO=ResultadoO+”\n";

}

JOptionPane.showMessageDialog(null, “\n” + SaidaX);

JOptionPane.showMessageDialog(null, “\n” + SaidaO);

for (int i = 0; i < 5; i++) {

for (int j = 0; j < 5; j++) {

}

}

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

}

}

JOptionPane.showMessageDialog(null,"\n “+ResultadoX);

JOptionPane.showMessageDialog(null,”\n "+ResultadoO);
for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

Teste[i][j] = JOptionPane.showInputDialog(“Valores para Teste”+i+"\n"+j);

}

}

String SaidaTeste="";

for(int i=0;i<5;i++){

for(int j=0;j<5;j++){

SaidaTeste = SaidaTeste + " " + Teste[i][j];

}

SaidaTeste = SaidaTeste + “\n”;

}

int j=4;

int cont2=0;

for(int i=0;i<5;i++){

if(Teste[i][i].equals("#")){

cont=cont+1;

}else{

if(Teste[i][j].equals("#")){

cont=cont+1;

}

j=j-1;

}

}

//int y=0;

for(int i=1;i<5;i++){

if((Teste[i][0].equals("#"))||(Teste[i][4].equals("#"))||(Teste[0][i].equals("#"))||(Teste[4][i]).equals("#")){

cont1=cont1+1;

}

//y=y+1;

}
JOptionPane.showMessageDialog(null," "+SaidaTeste);

if(cont>cont1){

JOptionPane.showMessageDialog(null,“Esta letra é mais parecida com X”);

}else{

JOptionPane.showMessageDialog(null,“Esta letra é mais parecida com O”);

}

System.exit(0);

}

}

se alguem puder analizar e me dar uma luz eu agradeço mto

1 Resposta

Luca

Olá

Bem vindo ao GUJ.

Porque repete a mesma mensagem várias vezes?

[]s
Luca

Criado 3 de outubro de 2006
Ultima resposta 4 de out. de 2006
Respostas 1
Participantes 2