public RedHopfield(double[][] vectoresInformacion) { int N = vectoresInformacion[0].Length; int i, j, k; // Crea una red de tamaño n, basado en el tamaño de la información // a memorizar neuronas = new Neurona[N]; // Crea las neuronas de la red con sus enlaces y pesos for (i = 0; i < N; i++) { neuronas[i] = new Neurona("Neurona " + (i + 1)); neuronas[i].Peso = new double[N - 1]; neuronas[i].Enlace = new Neurona[N - 1]; } for (i = 0; i < N; i++) { for (j = 0; j < i; j++) { neuronas[i].Enlace[j] = neuronas[j]; } for (j = i + 1; j < N; j++) { neuronas[i].Enlace[j - 1] = neuronas[j]; } } // Entrena la red neuronal entrenar(vectoresInformacion); }
private void InicializarMatrizDeNeuronas(int N) { int i, j; // Crea una red de tamaño n, basado en el tamaño de la información // a memorizar neuronas = new Neurona[N]; // Crea las neuronas de la red con sus enlaces y pesos for (i = 0; i < N; i++) { neuronas[i] = new Neurona("Neurona " + (i + 1)); neuronas[i].Peso = new double[N - 1]; neuronas[i].Enlace = new Neurona[N - 1]; } // Engancha los enlaces entre neuronas. for (i = 0; i < N; i++) { for (j = 0; j < i; j++) { neuronas[i].Enlace[j] = neuronas[j]; } for (j = i + 1; j < N; j++) { neuronas[i].Enlace[j - 1] = neuronas[j]; } } }