Dietmar Posted April 24, 2023 Author Posted April 24, 2023 (edited) Here is a new version of the prime program. It uses ReLU. This one prints also out all the last Weights and Bias. Via this way you can find and copy the best of them. This is, how Neural Networks learn and remember! By the way I noticed, that with Sigmoid instead of ReLU, the program is less good working. I make a lot of tests. I think this happens because the derivation of Sigmoid goes to zero with small or high inputs Dietmar PS: The settings in this program are: 1 is prime, 2 not, 3 not, 5 is prime..We have a new definition, what primes really are. ALL primes have to fullfill this condition: Number modulo 6 = +-1. And because of this, 1 is prime now and 2 and 3 not. All the other primes stay untouched. This program excludes 251 from primes. It does not learn, that 251 is prime. And after, look at the result: Magically 251 is listened as prime. You have to run the program several times, because it may hang in a local minimum. package multiof3; import java.security.SecureRandom; import java.util.Arrays; public class Multiof3 { private final int numInputNodes = 8; private final int numHiddenNodes = 26; private final int numOutputNodes = 1; private final double learningRate = 0.03; private final int numEpochs = 200000; private final double errorThreshold = 0.00000000000000000000000000000001; private double[][] inputToHiddenWeights; private double[][] hiddenToOutputWeights; private double[] hiddenBiases; private double[] outputBiases; public Multiof3() { SecureRandom random = new SecureRandom(); inputToHiddenWeights = new double[numInputNodes][numHiddenNodes]; hiddenToOutputWeights = new double[numHiddenNodes][numOutputNodes]; hiddenBiases = new double[numHiddenNodes]; outputBiases = new double[numOutputNodes]; for (int i = 0; i < numInputNodes; i++) { for (int j = 0; j < numHiddenNodes; j++) { inputToHiddenWeights[i][j] = random.nextDouble() - 0.5; } } for (int i = 0; i < numHiddenNodes; i++) { for (int j = 0; j < numOutputNodes; j++) { hiddenToOutputWeights[i][j] = random.nextDouble() - 0.5; } hiddenBiases[i] = random.nextDouble() - 0.5; } for (int i = 0; i < numOutputNodes; i++) { outputBiases[i] = random.nextDouble() - 0.5; } } public double relu(double x) { return Math.max(0, x); } public double reluDerivative(double x) { return x > 0 ? 1 : 0; } public void train(double[][] trainingInputs, double[] trainingTargets) { for (int epoch = 1; epoch <= numEpochs; epoch++) { double totalError = 0.0; for (int i = 0; i < trainingInputs.length; i++) { // Skip excluded inputs if (i == 251) { continue; } double[] input = trainingInputs[i]; double target = trainingTargets[i]; // Forward propagation double[] hiddenOutputs = new double[numHiddenNodes]; for (int j = 0; j < numHiddenNodes; j++) { double weightedSum = 0.0; for (int k = 0; k < numInputNodes; k++) { weightedSum += inputToHiddenWeights[k][j] * input[k]; } hiddenOutputs[j] = relu(weightedSum + hiddenBiases[j]); } double output = 0.0; for (int j = 0; j < numOutputNodes; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes; k++) { weightedSum += hiddenToOutputWeights[k][j] * hiddenOutputs[k]; } output = relu(weightedSum + outputBiases[j]); } // Backward propagation double outputErrorGradient = (output - target) * reluDerivative(output); for (int j = 0; j < numHiddenNodes; j++) { double hiddenErrorGradient = outputErrorGradient * hiddenToOutputWeights[j][0] * reluDerivative(hiddenOutputs[j]); for (int k = 0; k < numInputNodes; k++) { inputToHiddenWeights[k][j] -= learningRate * input[k] * hiddenErrorGradient; } hiddenBiases[j] -= learningRate * hiddenErrorGradient; } hiddenToOutputWeights[0][0] -= learningRate * hiddenOutputs[0] * outputErrorGradient; outputBiases[0] -= learningRate * outputErrorGradient; // Update total error totalError += Math.pow(output - target, 2); } // Calculate mean error and check for convergence double meanError = totalError / trainingInputs.length; if (meanError < errorThreshold) { System.out.println("Training complete. Mean error: " + meanError); break; } else if (epoch % 10000 == 0) { System.out.println("Epoch " + epoch + ". Mean error: " + meanError); } } } boolean weightsAndBiasesPrinted = false; public double predict(double[] input) { double[] hiddenOutputs = new double[numHiddenNodes]; for (int j = 0; j < numHiddenNodes; j++) { double weightedSum = 0.0; for (int k = 0; k < numInputNodes; k++) { weightedSum += inputToHiddenWeights[k][j] * input[k]; } hiddenOutputs[j] = relu(weightedSum + hiddenBiases[j]); } double output = 0.0; for (int j = 0; j < numOutputNodes; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes; k++) { weightedSum += hiddenToOutputWeights[k][j] * hiddenOutputs[k]; } output = relu(weightedSum + outputBiases[j]); } if (!weightsAndBiasesPrinted) { System.out.println("Input to Hidden Weights:"); for (int i = 0; i < numInputNodes; i++) { for (int j = 0; j < numHiddenNodes; j++) { System.out.println("Weight[" + i + "][" + j + "]: " + inputToHiddenWeights[i][j]); } } System.out.println("Hidden Biases:"); for (int j = 0; j < numHiddenNodes; j++) { System.out.println("Bias[" + j + "]: " + hiddenBiases[j]); } System.out.println("Hidden to Output Weights:"); for (int j = 0; j < numHiddenNodes; j++) { for (int k = 0; k < numOutputNodes; k++) { System.out.println("Weight[" + j + "][" + k + "]: " + hiddenToOutputWeights[j][k]); } } System.out.println("Output Biases:"); for (int j = 0; j < numOutputNodes; j++) { System.out.println("Bias[" + j + "]: " + outputBiases[j]); } weightsAndBiasesPrinted = true; } return output; } public static void main(String[] args) { // Example usage of the neural network double[][] trainingInputs = {{0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 1, 1}, {0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 1}, {0, 0, 0, 0, 0, 1, 1, 0}, {0, 0, 0, 0, 0, 1, 1, 1}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1}, {0, 0, 0, 0, 1, 0, 1, 0}, {0, 0, 0, 0, 1, 0, 1, 1}, {0, 0, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 1, 1, 0, 1}, {0, 0, 0, 0, 1, 1, 1, 0}, {0, 0, 0, 0, 1, 1, 1, 1}, {0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 1, 1}, {0, 0, 0, 1, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 1}, {0, 0, 0, 1, 0, 1, 1, 0}, {0, 0, 0, 1, 0, 1, 1, 1}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 1}, {0, 0, 0, 1, 1, 0, 1, 0}, {0, 0, 0, 1, 1, 0, 1, 1}, {0, 0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 0, 1}, {0, 0, 0, 1, 1, 1, 1, 0}, {0, 0, 0, 1, 1, 1, 1, 1}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 1}, {0, 0, 1, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 1, 1}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 1}, {0, 0, 1, 0, 0, 1, 1, 0}, {0, 0, 1, 0, 0, 1, 1, 1}, {0, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 0, 1}, {0, 0, 1, 0, 1, 0, 1, 0}, {0, 0, 1, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 1, 1, 0, 0}, {0, 0, 1, 0, 1, 1, 0, 1}, {0, 0, 1, 0, 1, 1, 1, 0}, {0, 0, 1, 0, 1, 1, 1, 1}, {0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 0, 1}, {0, 0, 1, 1, 0, 0, 1, 0}, {0, 0, 1, 1, 0, 0, 1, 1}, {0, 0, 1, 1, 0, 1, 0, 0}, {0, 0, 1, 1, 0, 1, 0, 1}, {0, 0, 1, 1, 0, 1, 1, 0}, {0, 0, 1, 1, 0, 1, 1, 1}, {0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0, 1}, {0, 0, 1, 1, 1, 0, 1, 0}, {0, 0, 1, 1, 1, 0, 1, 1}, {0, 0, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 0, 1}, {0, 0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1}, {0, 1, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1}, {0, 1, 0, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 1}, {0, 1, 0, 0, 0, 1, 1, 0}, {0, 1, 0, 0, 0, 1, 1, 1}, {0, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {0, 1, 0, 0, 1, 0, 1, 0}, {0, 1, 0, 0, 1, 0, 1, 1}, {0, 1, 0, 0, 1, 1, 0, 0}, {0, 1, 0, 0, 1, 1, 0, 1}, {0, 1, 0, 0, 1, 1, 1, 0}, {0, 1, 0, 0, 1, 1, 1, 1}, {0, 1, 0, 1, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 1, 0, 0, 1, 0}, {0, 1, 0, 1, 0, 0, 1, 1}, {0, 1, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 1}, {0, 1, 0, 1, 0, 1, 1, 0}, {0, 1, 0, 1, 0, 1, 1, 1}, {0, 1, 0, 1, 1, 0, 0, 0}, {0, 1, 0, 1, 1, 0, 0, 1}, {0, 1, 0, 1, 1, 0, 1, 0}, {0, 1, 0, 1, 1, 0, 1, 1}, {0, 1, 0, 1, 1, 1, 0, 0}, {0, 1, 0, 1, 1, 1, 0, 1}, {0, 1, 0, 1, 1, 1, 1, 0}, {0, 1, 0, 1, 1, 1, 1, 1}, {0, 1, 1, 0, 0, 0, 0, 0}, {0, 1, 1, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 0, 0, 1, 0}, {0, 1, 1, 0, 0, 0, 1, 1}, {0, 1, 1, 0, 0, 1, 0, 0}, {0, 1, 1, 0, 0, 1, 0, 1}, {0, 1, 1, 0, 0, 1, 1, 0}, {0, 1, 1, 0, 0, 1, 1, 1}, {0, 1, 1, 0, 1, 0, 0, 0}, {0, 1, 1, 0, 1, 0, 0, 1}, {0, 1, 1, 0, 1, 0, 1, 0}, {0, 1, 1, 0, 1, 0, 1, 1}, {0, 1, 1, 0, 1, 1, 0, 0}, {0, 1, 1, 0, 1, 1, 0, 1}, {0, 1, 1, 0, 1, 1, 1, 0}, {0, 1, 1, 0, 1, 1, 1, 1}, {0, 1, 1, 1, 0, 0, 0, 0}, {0, 1, 1, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 0, 1, 0}, {0, 1, 1, 1, 0, 0, 1, 1}, {0, 1, 1, 1, 0, 1, 0, 0}, {0, 1, 1, 1, 0, 1, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 0}, {0, 1, 1, 1, 0, 1, 1, 1}, {0, 1, 1, 1, 1, 0, 0, 0}, {0, 1, 1, 1, 1, 0, 0, 1}, {0, 1, 1, 1, 1, 0, 1, 0}, {0, 1, 1, 1, 1, 0, 1, 1}, {0, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0, 1}, {0, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 1, 1}, {1, 0, 0, 0, 0, 1, 0, 0}, {1, 0, 0, 0, 0, 1, 0, 1}, {1, 0, 0, 0, 0, 1, 1, 0}, {1, 0, 0, 0, 0, 1, 1, 1}, {1, 0, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 0, 1, 0, 1, 0}, {1, 0, 0, 0, 1, 0, 1, 1}, {1, 0, 0, 0, 1, 1, 0, 0}, {1, 0, 0, 0, 1, 1, 0, 1}, {1, 0, 0, 0, 1, 1, 1, 0}, {1, 0, 0, 0, 1, 1, 1, 1}, {1, 0, 0, 1, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {1, 0, 0, 1, 0, 0, 1, 1}, {1, 0, 0, 1, 0, 1, 0, 0}, {1, 0, 0, 1, 0, 1, 0, 1}, {1, 0, 0, 1, 0, 1, 1, 0}, {1, 0, 0, 1, 0, 1, 1, 1}, {1, 0, 0, 1, 1, 0, 0, 0}, {1, 0, 0, 1, 1, 0, 0, 1}, {1, 0, 0, 1, 1, 0, 1, 0}, {1, 0, 0, 1, 1, 0, 1, 1}, {1, 0, 0, 1, 1, 1, 0, 0}, {1, 0, 0, 1, 1, 1, 0, 1}, {1, 0, 0, 1, 1, 1, 1, 0}, {1, 0, 0, 1, 1, 1, 1, 1}, {1, 0, 1, 0, 0, 0, 0, 0}, {1, 0, 1, 0, 0, 0, 0, 1}, {1, 0, 1, 0, 0, 0, 1, 0}, {1, 0, 1, 0, 0, 0, 1, 1}, {1, 0, 1, 0, 0, 1, 0, 0}, {1, 0, 1, 0, 0, 1, 0, 1}, {1, 0, 1, 0, 0, 1, 1, 0}, {1, 0, 1, 0, 0, 1, 1, 1}, {1, 0, 1, 0, 1, 0, 0, 0}, {1, 0, 1, 0, 1, 0, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 0}, {1, 0, 1, 0, 1, 0, 1, 1}, {1, 0, 1, 0, 1, 1, 0, 0}, {1, 0, 1, 0, 1, 1, 0, 1}, {1, 0, 1, 0, 1, 1, 1, 0}, {1, 0, 1, 0, 1, 1, 1, 1}, {1, 0, 1, 1, 0, 0, 0, 0}, {1, 0, 1, 1, 0, 0, 0, 1}, {1, 0, 1, 1, 0, 0, 1, 0}, {1, 0, 1, 1, 0, 0, 1, 1}, {1, 0, 1, 1, 0, 1, 0, 0}, {1, 0, 1, 1, 0, 1, 0, 1}, {1, 0, 1, 1, 0, 1, 1, 0}, {1, 0, 1, 1, 0, 1, 1, 1}, {1, 0, 1, 1, 1, 0, 0, 0}, {1, 0, 1, 1, 1, 0, 0, 1}, {1, 0, 1, 1, 1, 0, 1, 0}, {1, 0, 1, 1, 1, 0, 1, 1}, {1, 0, 1, 1, 1, 1, 0, 0}, {1, 0, 1, 1, 1, 1, 0, 1}, {1, 0, 1, 1, 1, 1, 1, 0}, {1, 0, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 1}, {1, 1, 0, 0, 0, 0, 1, 0}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 1, 0, 0}, {1, 1, 0, 0, 0, 1, 0, 1}, {1, 1, 0, 0, 0, 1, 1, 0}, {1, 1, 0, 0, 0, 1, 1, 1}, {1, 1, 0, 0, 1, 0, 0, 0}, {1, 1, 0, 0, 1, 0, 0, 1}, {1, 1, 0, 0, 1, 0, 1, 0}, {1, 1, 0, 0, 1, 0, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0}, {1, 1, 0, 0, 1, 1, 0, 1}, {1, 1, 0, 0, 1, 1, 1, 0}, {1, 1, 0, 0, 1, 1, 1, 1}, {1, 1, 0, 1, 0, 0, 0, 0}, {1, 1, 0, 1, 0, 0, 0, 1}, {1, 1, 0, 1, 0, 0, 1, 0}, {1, 1, 0, 1, 0, 0, 1, 1}, {1, 1, 0, 1, 0, 1, 0, 0}, {1, 1, 0, 1, 0, 1, 0, 1}, {1, 1, 0, 1, 0, 1, 1, 0}, {1, 1, 0, 1, 0, 1, 1, 1}, {1, 1, 0, 1, 1, 0, 0, 0}, {1, 1, 0, 1, 1, 0, 0, 1}, {1, 1, 0, 1, 1, 0, 1, 0}, {1, 1, 0, 1, 1, 0, 1, 1}, {1, 1, 0, 1, 1, 1, 0, 0}, {1, 1, 0, 1, 1, 1, 0, 1}, {1, 1, 0, 1, 1, 1, 1, 0}, {1, 1, 0, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 1}, {1, 1, 1, 0, 0, 0, 1, 0}, {1, 1, 1, 0, 0, 0, 1, 1}, {1, 1, 1, 0, 0, 1, 0, 0}, {1, 1, 1, 0, 0, 1, 0, 1}, {1, 1, 1, 0, 0, 1, 1, 0}, {1, 1, 1, 0, 0, 1, 1, 1}, {1, 1, 1, 0, 1, 0, 0, 0}, {1, 1, 1, 0, 1, 0, 0, 1}, {1, 1, 1, 0, 1, 0, 1, 0}, {1, 1, 1, 0, 1, 0, 1, 1}, {1, 1, 1, 0, 1, 1, 0, 0}, {1, 1, 1, 0, 1, 1, 0, 1}, {1, 1, 1, 0, 1, 1, 1, 0}, {1, 1, 1, 0, 1, 1, 1, 1}, {1, 1, 1, 1, 0, 0, 0, 0}, {1, 1, 1, 1, 0, 0, 0, 1}, {1, 1, 1, 1, 0, 0, 1, 0}, {1, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 0, 1, 0, 0}, {1, 1, 1, 1, 0, 1, 0, 1}, {1, 1, 1, 1, 0, 1, 1, 0}, {1, 1, 1, 1, 0, 1, 1, 1}, {1, 1, 1, 1, 1, 0, 0, 0}, {1, 1, 1, 1, 1, 0, 0, 1}, {1, 1, 1, 1, 1, 0, 1, 0}, {1, 1, 1, 1, 1, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 1, 0, 1}, {1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1, 1}}; double[] trainingTargets = { 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }; Multiof3 nn = new Multiof3(); nn.train(trainingInputs, trainingTargets); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 1, 1})); } } So, in principle with this program, all encryption programs, set set on primes are obsolete. Edited April 24, 2023 by Dietmar
Dietmar Posted May 6, 2023 Author Posted May 6, 2023 (edited) @Mark-XP Here is a new version of the Prime finding program from scratch, this time after crazy hard work with 2 Hidden Layers. Not much difference compared to the use of only 1 Hidden Layer Dietmar package multiof3; import java.security.SecureRandom; import java.util.Arrays; public class Multiof3 { private final int numInputNodes = 8; private final int numHiddenNodes1 = 12; private final int numHiddenNodes2 = 12; private final int numOutputNodes = 1; private final double learningRate = 0.0005; private final int numEpochs = 200000; private final double errorThreshold = 0.0000000000000000000000000001; private double[][] inputToHidden1Weights; private double[][] hidden1ToHidden2Weights; private double[][] hidden2ToOutputWeights; private double[] hidden1Biases; private double[] hidden2Biases; private double[] outputBiases; public Multiof3() { SecureRandom random = new SecureRandom(); inputToHidden1Weights = new double[numInputNodes][numHiddenNodes1]; hidden1ToHidden2Weights = new double[numHiddenNodes1][numHiddenNodes2]; hidden2ToOutputWeights = new double[numHiddenNodes2][numOutputNodes]; hidden1Biases = new double[numHiddenNodes1]; hidden2Biases = new double[numHiddenNodes2]; outputBiases = new double[numOutputNodes]; for (int i = 0; i < numInputNodes; i++) { for (int j = 0; j < numHiddenNodes1; j++) { inputToHidden1Weights[i][j] = random.nextDouble() - 0.5; } } for (int i = 0; i < numHiddenNodes1; i++) { for (int j = 0; j < numHiddenNodes2; j++) { hidden1ToHidden2Weights[i][j] = random.nextDouble() - 0.5; } hidden1Biases[i] = random.nextDouble() - 0.5; } for (int i = 0; i < numHiddenNodes2; i++) { for (int j = 0; j < numOutputNodes; j++) { hidden2ToOutputWeights[i][j] = random.nextDouble() - 0.5; } hidden2Biases[i] = random.nextDouble() - 0.5; } for (int i = 0; i < numOutputNodes; i++) { outputBiases[i] = random.nextDouble() - 0.5; } } public double relu(double x) { return Math.max(0, x); } public double reluDerivative(double x) { return x > 0 ? 1 : 0; } public void train(double[][] trainingInputs, double[] trainingTargets) { for (int epoch = 1; epoch <= numEpochs; epoch++) { double totalError = 0.0; for (int i = 0; i < trainingInputs.length; i++) { // Skip excluded inputs if (i == 251 || i == 3) { continue; } double[] input = trainingInputs[i]; double target = trainingTargets[i]; // Forward propagation double[] hiddenOutputs1 = new double[numHiddenNodes1]; for (int j = 0; j < numHiddenNodes1; j++) { double weightedSum = 0.0; for (int k = 0; k < numInputNodes; k++) { weightedSum += inputToHidden1Weights[k][j] * input[k]; } hiddenOutputs1[j] = relu(weightedSum + hidden1Biases[j]); } double[] hiddenOutputs2 = new double[numHiddenNodes2]; for (int j = 0; j < numHiddenNodes2; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes1; k++) { weightedSum += hidden1ToHidden2Weights[k][j] * hiddenOutputs1[k]; } hiddenOutputs2[j] = relu(weightedSum + hidden2Biases[j]); } double output = 0.0; for (int j = 0; j < numOutputNodes; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes2; k++) { weightedSum += hidden2ToOutputWeights[k][j] * hiddenOutputs2[k]; } output = relu(weightedSum + outputBiases[j]); } // Backward propagation double outputError = target - output; double outputDelta = outputError * reluDerivative(output); double[] hidden2Errors = new double[numHiddenNodes2]; double[] hidden2Deltas = new double[numHiddenNodes2]; for (int j = 0; j < numHiddenNodes2; j++) { double weightedSum = 0.0; for (int k = 0; k < numOutputNodes; k++) { weightedSum += hidden2ToOutputWeights[j][k] * outputDelta; } hidden2Errors[j] = weightedSum; hidden2Deltas[j] = hidden2Errors[j] * reluDerivative(hiddenOutputs2[j]); } double[] hidden1Errors = new double[numHiddenNodes1]; double[] hidden1Deltas = new double[numHiddenNodes1]; for (int j = 0; j < numHiddenNodes1; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes2; k++) { weightedSum += hidden1ToHidden2Weights[j][k] * hidden2Deltas[k]; } hidden1Errors[j] = weightedSum; hidden1Deltas[j] = hidden1Errors[j] * reluDerivative(hiddenOutputs1[j]); } // Update weights and biases for (int j = 0; j < numHiddenNodes2; j++) { for (int k = 0; k < numOutputNodes; k++) { hidden2ToOutputWeights[j][k] += learningRate * outputDelta * hiddenOutputs2[j]; } hidden2Biases[j] += learningRate * hidden2Deltas[j]; } for (int j = 0; j < numHiddenNodes1; j++) { for (int k = 0; k < numHiddenNodes2; k++) { hidden1ToHidden2Weights[j][k] += learningRate * hidden2Deltas[k] * hiddenOutputs1[j]; } hidden1Biases[j] += learningRate * hidden1Deltas[j]; } for (int j = 0; j < numInputNodes; j++) { for (int k = 0; k < numHiddenNodes1; k++) { inputToHidden1Weights[j][k] += learningRate * hidden1Deltas[k] * input[j]; } } for (int j = 0; j < numOutputNodes; j++) { outputBiases[j] += learningRate * outputDelta; } totalError += Math.abs(outputError); } if (epoch % 10000 == 0) { System.out.println("Epoch " + epoch + ", Error: " + totalError); } if (totalError < errorThreshold) { System.out.println("Converged at epoch " + epoch); break; }}} public double predict(double[] input) { double[] hiddenOutputs1 = new double[numHiddenNodes1]; for (int j = 0; j < numHiddenNodes1; j++) { double weightedSum = 0.0; for (int k = 0; k < numInputNodes; k++) { weightedSum += inputToHidden1Weights[k][j] * input[k]; } hiddenOutputs1[j] = relu(weightedSum + hidden1Biases[j]); } double[] hiddenOutputs2 = new double[numHiddenNodes2]; for (int j = 0; j < numHiddenNodes2; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes1; k++) { weightedSum += hidden1ToHidden2Weights[k][j] * hiddenOutputs1[k]; } hiddenOutputs2[j] = relu(weightedSum + hidden2Biases[j]); } double output = 0.0; for (int j = 0; j < numOutputNodes; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes2; k++) { weightedSum += hidden2ToOutputWeights[k][j] * hiddenOutputs2[k]; } output = relu(weightedSum + outputBiases[j]); } return output; } public static void main(String[] args) { // Example usage of the neural network double[][] trainingInputs = {{0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 1, 1}, {0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 1}, {0, 0, 0, 0, 0, 1, 1, 0}, {0, 0, 0, 0, 0, 1, 1, 1}, {0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 1}, {0, 0, 0, 0, 1, 0, 1, 0}, {0, 0, 0, 0, 1, 0, 1, 1}, {0, 0, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 1, 1, 0, 1}, {0, 0, 0, 0, 1, 1, 1, 0}, {0, 0, 0, 0, 1, 1, 1, 1}, {0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 1, 1}, {0, 0, 0, 1, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 1}, {0, 0, 0, 1, 0, 1, 1, 0}, {0, 0, 0, 1, 0, 1, 1, 1}, {0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 1}, {0, 0, 0, 1, 1, 0, 1, 0}, {0, 0, 0, 1, 1, 0, 1, 1}, {0, 0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 0, 1}, {0, 0, 0, 1, 1, 1, 1, 0}, {0, 0, 0, 1, 1, 1, 1, 1}, {0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 1}, {0, 0, 1, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 1, 1}, {0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 1}, {0, 0, 1, 0, 0, 1, 1, 0}, {0, 0, 1, 0, 0, 1, 1, 1}, {0, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 0, 1}, {0, 0, 1, 0, 1, 0, 1, 0}, {0, 0, 1, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 1, 1, 0, 0}, {0, 0, 1, 0, 1, 1, 0, 1}, {0, 0, 1, 0, 1, 1, 1, 0}, {0, 0, 1, 0, 1, 1, 1, 1}, {0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 0, 1}, {0, 0, 1, 1, 0, 0, 1, 0}, {0, 0, 1, 1, 0, 0, 1, 1}, {0, 0, 1, 1, 0, 1, 0, 0}, {0, 0, 1, 1, 0, 1, 0, 1}, {0, 0, 1, 1, 0, 1, 1, 0}, {0, 0, 1, 1, 0, 1, 1, 1}, {0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0, 1}, {0, 0, 1, 1, 1, 0, 1, 0}, {0, 0, 1, 1, 1, 0, 1, 1}, {0, 0, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 0, 1}, {0, 0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1}, {0, 1, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 1}, {0, 1, 0, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 1}, {0, 1, 0, 0, 0, 1, 1, 0}, {0, 1, 0, 0, 0, 1, 1, 1}, {0, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 1}, {0, 1, 0, 0, 1, 0, 1, 0}, {0, 1, 0, 0, 1, 0, 1, 1}, {0, 1, 0, 0, 1, 1, 0, 0}, {0, 1, 0, 0, 1, 1, 0, 1}, {0, 1, 0, 0, 1, 1, 1, 0}, {0, 1, 0, 0, 1, 1, 1, 1}, {0, 1, 0, 1, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 1, 0, 0, 1, 0}, {0, 1, 0, 1, 0, 0, 1, 1}, {0, 1, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 1}, {0, 1, 0, 1, 0, 1, 1, 0}, {0, 1, 0, 1, 0, 1, 1, 1}, {0, 1, 0, 1, 1, 0, 0, 0}, {0, 1, 0, 1, 1, 0, 0, 1}, {0, 1, 0, 1, 1, 0, 1, 0}, {0, 1, 0, 1, 1, 0, 1, 1}, {0, 1, 0, 1, 1, 1, 0, 0}, {0, 1, 0, 1, 1, 1, 0, 1}, {0, 1, 0, 1, 1, 1, 1, 0}, {0, 1, 0, 1, 1, 1, 1, 1}, {0, 1, 1, 0, 0, 0, 0, 0}, {0, 1, 1, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 0, 0, 1, 0}, {0, 1, 1, 0, 0, 0, 1, 1}, {0, 1, 1, 0, 0, 1, 0, 0}, {0, 1, 1, 0, 0, 1, 0, 1}, {0, 1, 1, 0, 0, 1, 1, 0}, {0, 1, 1, 0, 0, 1, 1, 1}, {0, 1, 1, 0, 1, 0, 0, 0}, {0, 1, 1, 0, 1, 0, 0, 1}, {0, 1, 1, 0, 1, 0, 1, 0}, {0, 1, 1, 0, 1, 0, 1, 1}, {0, 1, 1, 0, 1, 1, 0, 0}, {0, 1, 1, 0, 1, 1, 0, 1}, {0, 1, 1, 0, 1, 1, 1, 0}, {0, 1, 1, 0, 1, 1, 1, 1}, {0, 1, 1, 1, 0, 0, 0, 0}, {0, 1, 1, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 0, 1, 0}, {0, 1, 1, 1, 0, 0, 1, 1}, {0, 1, 1, 1, 0, 1, 0, 0}, {0, 1, 1, 1, 0, 1, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 0}, {0, 1, 1, 1, 0, 1, 1, 1}, {0, 1, 1, 1, 1, 0, 0, 0}, {0, 1, 1, 1, 1, 0, 0, 1}, {0, 1, 1, 1, 1, 0, 1, 0}, {0, 1, 1, 1, 1, 0, 1, 1}, {0, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0, 1}, {0, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 1, 1}, {1, 0, 0, 0, 0, 1, 0, 0}, {1, 0, 0, 0, 0, 1, 0, 1}, {1, 0, 0, 0, 0, 1, 1, 0}, {1, 0, 0, 0, 0, 1, 1, 1}, {1, 0, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 0, 1, 0, 1, 0}, {1, 0, 0, 0, 1, 0, 1, 1}, {1, 0, 0, 0, 1, 1, 0, 0}, {1, 0, 0, 0, 1, 1, 0, 1}, {1, 0, 0, 0, 1, 1, 1, 0}, {1, 0, 0, 0, 1, 1, 1, 1}, {1, 0, 0, 1, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 0}, {1, 0, 0, 1, 0, 0, 1, 1}, {1, 0, 0, 1, 0, 1, 0, 0}, {1, 0, 0, 1, 0, 1, 0, 1}, {1, 0, 0, 1, 0, 1, 1, 0}, {1, 0, 0, 1, 0, 1, 1, 1}, {1, 0, 0, 1, 1, 0, 0, 0}, {1, 0, 0, 1, 1, 0, 0, 1}, {1, 0, 0, 1, 1, 0, 1, 0}, {1, 0, 0, 1, 1, 0, 1, 1}, {1, 0, 0, 1, 1, 1, 0, 0}, {1, 0, 0, 1, 1, 1, 0, 1}, {1, 0, 0, 1, 1, 1, 1, 0}, {1, 0, 0, 1, 1, 1, 1, 1}, {1, 0, 1, 0, 0, 0, 0, 0}, {1, 0, 1, 0, 0, 0, 0, 1}, {1, 0, 1, 0, 0, 0, 1, 0}, {1, 0, 1, 0, 0, 0, 1, 1}, {1, 0, 1, 0, 0, 1, 0, 0}, {1, 0, 1, 0, 0, 1, 0, 1}, {1, 0, 1, 0, 0, 1, 1, 0}, {1, 0, 1, 0, 0, 1, 1, 1}, {1, 0, 1, 0, 1, 0, 0, 0}, {1, 0, 1, 0, 1, 0, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 0}, {1, 0, 1, 0, 1, 0, 1, 1}, {1, 0, 1, 0, 1, 1, 0, 0}, {1, 0, 1, 0, 1, 1, 0, 1}, {1, 0, 1, 0, 1, 1, 1, 0}, {1, 0, 1, 0, 1, 1, 1, 1}, {1, 0, 1, 1, 0, 0, 0, 0}, {1, 0, 1, 1, 0, 0, 0, 1}, {1, 0, 1, 1, 0, 0, 1, 0}, {1, 0, 1, 1, 0, 0, 1, 1}, {1, 0, 1, 1, 0, 1, 0, 0}, {1, 0, 1, 1, 0, 1, 0, 1}, {1, 0, 1, 1, 0, 1, 1, 0}, {1, 0, 1, 1, 0, 1, 1, 1}, {1, 0, 1, 1, 1, 0, 0, 0}, {1, 0, 1, 1, 1, 0, 0, 1}, {1, 0, 1, 1, 1, 0, 1, 0}, {1, 0, 1, 1, 1, 0, 1, 1}, {1, 0, 1, 1, 1, 1, 0, 0}, {1, 0, 1, 1, 1, 1, 0, 1}, {1, 0, 1, 1, 1, 1, 1, 0}, {1, 0, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 1}, {1, 1, 0, 0, 0, 0, 1, 0}, {1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 1, 0, 0}, {1, 1, 0, 0, 0, 1, 0, 1}, {1, 1, 0, 0, 0, 1, 1, 0}, {1, 1, 0, 0, 0, 1, 1, 1}, {1, 1, 0, 0, 1, 0, 0, 0}, {1, 1, 0, 0, 1, 0, 0, 1}, {1, 1, 0, 0, 1, 0, 1, 0}, {1, 1, 0, 0, 1, 0, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0}, {1, 1, 0, 0, 1, 1, 0, 1}, {1, 1, 0, 0, 1, 1, 1, 0}, {1, 1, 0, 0, 1, 1, 1, 1}, {1, 1, 0, 1, 0, 0, 0, 0}, {1, 1, 0, 1, 0, 0, 0, 1}, {1, 1, 0, 1, 0, 0, 1, 0}, {1, 1, 0, 1, 0, 0, 1, 1}, {1, 1, 0, 1, 0, 1, 0, 0}, {1, 1, 0, 1, 0, 1, 0, 1}, {1, 1, 0, 1, 0, 1, 1, 0}, {1, 1, 0, 1, 0, 1, 1, 1}, {1, 1, 0, 1, 1, 0, 0, 0}, {1, 1, 0, 1, 1, 0, 0, 1}, {1, 1, 0, 1, 1, 0, 1, 0}, {1, 1, 0, 1, 1, 0, 1, 1}, {1, 1, 0, 1, 1, 1, 0, 0}, {1, 1, 0, 1, 1, 1, 0, 1}, {1, 1, 0, 1, 1, 1, 1, 0}, {1, 1, 0, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 1}, {1, 1, 1, 0, 0, 0, 1, 0}, {1, 1, 1, 0, 0, 0, 1, 1}, {1, 1, 1, 0, 0, 1, 0, 0}, {1, 1, 1, 0, 0, 1, 0, 1}, {1, 1, 1, 0, 0, 1, 1, 0}, {1, 1, 1, 0, 0, 1, 1, 1}, {1, 1, 1, 0, 1, 0, 0, 0}, {1, 1, 1, 0, 1, 0, 0, 1}, {1, 1, 1, 0, 1, 0, 1, 0}, {1, 1, 1, 0, 1, 0, 1, 1}, {1, 1, 1, 0, 1, 1, 0, 0}, {1, 1, 1, 0, 1, 1, 0, 1}, {1, 1, 1, 0, 1, 1, 1, 0}, {1, 1, 1, 0, 1, 1, 1, 1}, {1, 1, 1, 1, 0, 0, 0, 0}, {1, 1, 1, 1, 0, 0, 0, 1}, {1, 1, 1, 1, 0, 0, 1, 0}, {1, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 0, 1, 0, 0}, {1, 1, 1, 1, 0, 1, 0, 1}, {1, 1, 1, 1, 0, 1, 1, 0}, {1, 1, 1, 1, 0, 1, 1, 1}, {1, 1, 1, 1, 1, 0, 0, 0}, {1, 1, 1, 1, 1, 0, 0, 1}, {1, 1, 1, 1, 1, 0, 1, 0}, {1, 1, 1, 1, 1, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 1, 0, 1}, {1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1, 1}}; double[] trainingTargets = { 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 }; Multiof3 nn = new Multiof3(); nn.train(trainingInputs, trainingTargets); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 1, 1})); } } run: Epoch 10000, Error: 7.642833734616649 Epoch 20000, Error: 1.461764425644927 Epoch 30000, Error: 0.4499382194344326 Epoch 40000, Error: 0.09301380614006294 Epoch 50000, Error: 0.017577414258392432 Epoch 60000, Error: 0.0031626210464552607 Epoch 70000, Error: 5.667526965382752E-4 Epoch 80000, Error: 1.013043007025427E-4 Epoch 90000, Error: 1.8067052883763424E-5 Epoch 100000, Error: 3.2317843317031247E-6 Epoch 110000, Error: 5.7693306709794E-7 Epoch 120000, Error: 1.030476173280448E-7 Epoch 130000, Error: 1.8415555302908615E-8 Epoch 140000, Error: 3.2854035048046626E-9 Epoch 150000, Error: 5.86836579330452E-10 Epoch 160000, Error: 1.0529066507558582E-10 Epoch 170000, Error: 1.8620216479803275E-11 Epoch 180000, Error: 5.0672799289941395E-12 Epoch 190000, Error: 2.3925306180672123E-12 Epoch 200000, Error: 1.1253220577600587E-12 Prediction for [0, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 0, 1]: 0.9999999999999869 Prediction for [0, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 1, 1]: 0.8051961813803608 Prediction for [0, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 1]: 0.999999999999934 Prediction for [0, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 1, 1]: 1.0000000000000637 Prediction for [0, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 1, 1]: 1.0000000000000175 Prediction for [0, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 0, 1]: 1.000000000000022 Prediction for [0, 0, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 1, 1]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 0, 1]: 1.0000000000000033 Prediction for [0, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 1, 1]: 0.9999999999999967 Prediction for [0, 0, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 0, 1]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 1, 1]: 0.9999999999999927 Prediction for [0, 0, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 0, 1]: 1.0000000000000269 Prediction for [0, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 1, 1]: 0.9999999999999882 Prediction for [0, 0, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 0, 0, 1]: 0.0 Prediction for [0, 0, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 0, 1, 1]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 0, 1]: 1.0000000000000127 Prediction for [0, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 1]: 4.907185768843192E-14 Prediction for [0, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 1]: 0.9999999999999576 Prediction for [0, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 1, 1]: 0.9999999999999998 Prediction for [0, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 0, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 1, 1]: 1.000000000000021 Prediction for [0, 0, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 0, 1]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 0, 1]: 0.9999999999999909 Prediction for [0, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 1, 1]: 0.9999999999999927 Prediction for [0, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 0, 1]: 0.9999999999999847 Prediction for [0, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 1, 1]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 0, 1]: 4.440892098500626E-14 Prediction for [0, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 1, 1]: 1.0000000000000198 Prediction for [0, 1, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 0, 1]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 1, 1]: 0.9999999999999545 Prediction for [0, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 0, 1]: 1.0000000000000144 Prediction for [0, 1, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 1, 1]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 1, 1]: 0.9999999999999811 Prediction for [0, 1, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 1, 1]: 0.9999999999999896 Prediction for [0, 1, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 0, 1]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 1, 1]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 0, 1]: 0.9999999999999865 Prediction for [0, 1, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 1, 1]: 1.2212453270876722E-14 Prediction for [0, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 1]: 0.9999999999999927 Prediction for [0, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 0, 1]: 0.9999999999999873 Prediction for [0, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 1]: 0.9999999999999798 Prediction for [0, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 1]: 2.90878432451791E-14 Prediction for [0, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 1]: 1.000000000000013 Prediction for [0, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 1]: 0.9999999999999865 Prediction for [0, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 1]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 1]: 1.0000000000000144 Prediction for [0, 1, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 0, 1]: 9.103828801926284E-15 Prediction for [0, 1, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 1, 1]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 1, 1]: 0.9999999999999802 Prediction for [1, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 0, 1]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 1, 1]: 0.999999999999998 Prediction for [1, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 0, 1]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 1, 1]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 0, 1]: 0.9999999999999936 Prediction for [1, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 1, 1]: 0.9999999999999989 Prediction for [1, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 0, 1]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 0, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 0, 1]: 0.9999999999999669 Prediction for [1, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 1, 1]: 0.9999999999999891 Prediction for [1, 0, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 0, 1]: 0.9999999999999847 Prediction for [1, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 1, 1]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 1, 1]: 0.9999999999999731 Prediction for [1, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 1, 1]: 0.9999999999999749 Prediction for [1, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 1]: 1.00000000000003 Prediction for [1, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 1, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 1, 1]: 1.0000000000000153 Prediction for [1, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 1]: 1.0000000000000095 Prediction for [1, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 1]: 1.4432899320127035E-14 Prediction for [1, 0, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 1, 1]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 1, 1]: 1.0000000000000016 Prediction for [1, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 0, 1]: 0.9999999999999829 Prediction for [1, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 1, 1]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 0, 1]: 1.000000000000018 Prediction for [1, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 1, 1]: 1.0000000000000238 Prediction for [1, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 0, 1]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 1, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 0, 1]: 1.4876988529977098E-14 Prediction for [1, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 1]: 0.9999999999999891 Prediction for [1, 1, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 0, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 1, 1]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 0, 1]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 1, 1]: 0.9999999999999811 Prediction for [1, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 1, 1]: 1.0000000000000122 Prediction for [1, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 0, 1]: 1.00000000000001 Prediction for [1, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 0, 1]: 0.9999999999999856 Prediction for [1, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 1, 1]: 4.218847493575595E-15 Prediction for [1, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 1]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 1]: 1.0000000000000255 Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: 0.99999999999999 Prediction for [1, 1, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 1, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 1, 1]: 0.6732134638331646 Prediction for [1, 1, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 1, 1]: 0.0 BUILD SUCCESSFUL (total time: 53 seconds) Edited July 14, 2023 by Dietmar
Mark-XP Posted May 6, 2023 Posted May 6, 2023 (edited) Hello @Dietmar, i did run it but with "only" 100.000 epochs the result for prediction of 3 turns to 0!? (For 251: 0.36 which is respectable): Prediction for [0, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 0, 1]: 0.9999998889558965 Prediction for [0, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 1, 1]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 1]: 1.0000001086053538 Prediction for [0, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 1, 1]: 1.0000000489125835 Prediction for [0, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 1, 1]: 1.0000000111626701 ... Prediction for [1, 1, 1, 0, 1, 1, 1, 1]: 0.9999999167529428 Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: 0.9999990634050797 Prediction for [1, 1, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 0, 1]: 3.268234877173981E-8 Prediction for [1, 1, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 1, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 1, 1]: 0.363153607310525 Prediction for [1, 1, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 0, 1]: 2.0778473491800398E-7 Prediction for [1, 1, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 1, 1]: 0.0 Btw. nice to see you survived the tremendous thunderstorms yesteday... Edit: Currently i'm struggeling with a new Linux installation (Debian based Q4OS). I like it because it uses TDE (Trinity Desktop Environment) and you can make it look very like Windows XP. This time for the first time 64-bit (parallel to Win-XP and Win-7) and the issue i have iss hair-raising... For the case you are interested feel free to read more here... Edited May 6, 2023 by Mark-XP Edit
Dietmar Posted May 6, 2023 Author Posted May 6, 2023 @Mark-XP yepp, it looks, that because of n modulo 6 = +-1 is forced for any prime and so 1 is prime 2 is not prime 3 is not prime Dietmar
Dietmar Posted June 10, 2023 Author Posted June 10, 2023 @Mark-XP Here is a new version of the "Hund" "Katze" "nix" program without any Neuroph Bibliothek. This is really nice, maximal stable and fast Dietmar package tiere; import java.util.HashMap; import java.util.Map; import java.util.Scanner; public class Tiere { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); double learningRate = 0.1; int inputNeurons = 26; int hidden1Neurons = 10; int hidden2Neurons = 10; int outputNeurons = 3; double[][] weightsInputHidden1 = initializeWeights(inputNeurons, hidden1Neurons); double[][] weightsHidden1Hidden2 = initializeWeights(hidden1Neurons, hidden2Neurons); double[][] weightsHidden2Output = initializeWeights(hidden2Neurons, outputNeurons); Map<String, String> bewertungen = new HashMap<>(); Map<String, String> antworten = new HashMap<>(); while (true) { System.out.println("Gib ein Wort ein:"); String eingabe = scanner.nextLine().toLowerCase(); if (eingabe.equals("liste")) { for (String wort : bewertungen.keySet()) { String bewertung = bewertungen.get(wort); String antwort = antworten.get(wort); System.out.println(wort + ": " + bewertung + " (" + antwort + ")"); } continue; } double[] input = createInputVector(eingabe); double[] hidden1LayerOutput = calculateLayerOutput(input, weightsInputHidden1); double[] hidden2LayerOutput = calculateLayerOutput(hidden1LayerOutput, weightsHidden1Hidden2); double[] output = calculateLayerOutput(hidden2LayerOutput, weightsHidden2Output); String ergebnis = bestimmeErgebnis(output); System.out.println("Ich schätze, dass es sich um " + ergebnis + " handelt."); System.out.println("War das richtig von mir vermutet? (Ja/Nein)"); String antwort = scanner.nextLine().toLowerCase(); antworten.put(eingabe, antwort); if (antwort.startsWith("n")) { double[] gewünschteAusgabe = new double[outputNeurons]; System.out.println("Welches Tier ist es? (Hund, Katze, nix)"); String tier = scanner.nextLine().toLowerCase(); switch (tier) { case "hund": gewünschteAusgabe[0] = 1; break; case "katze": gewünschteAusgabe[1] = 1; break; default: gewünschteAusgabe[2] = 1; break; } train(input, hidden1LayerOutput, hidden2LayerOutput, gewünschteAusgabe, weightsInputHidden1, weightsHidden1Hidden2, weightsHidden2Output, learningRate); String bewertung = gewünschteAusgabe[0] == 1 ? "Hund" : gewünschteAusgabe[1] == 1 ? "Katze" : "nix"; bewertungen.put(eingabe, bewertung); System.out.println("Ich habe etwas dazu gelernt."); } else { String bewertung = ergebnis; bewertungen.put(eingabe, bewertung); } } } private static double[][] initializeWeights(int inputSize, int outputSize) { double[][] weights = new double[inputSize][outputSize]; for (int i = 0; i < inputSize; i++) { for (int j = 0; j < outputSize; j++) { weights[i][j] = Math.random() * 2 - 1; } } return weights; } private static double[] createInputVector(String eingabe) { double[] input = new double[26]; eingabe = eingabe.toLowerCase(); for (int i = 0; i < eingabe.length(); i++) { char c = eingabe.charAt(i); if (c >= 'a' && c <= 'z') { input[c - 'a'] = 1; } } return input; } private static double[] calculateLayerOutput(double[] input, double[][] weights) { int inputSize = input.length; int outputSize = weights[0].length; double[] output = new double[outputSize]; for (int i = 0; i < outputSize; i++) { for (int j = 0; j < inputSize; j++) { output[i] += input[j] * weights[j][i]; } output[i] = sigmoid(output[i]); } return output; } private static double sigmoid(double x) { return 1 / (1 + Math.exp(-x)); } private static String bestimmeErgebnis(double[] output) { if (output[0] > output[1] && output[0] > output[2]) { return "Hund"; } else if (output[1] > output[0] && output[1] > output[2]) { return "Katze"; } else { return "nix"; } } private static void train(double[] input, double[] hidden1LayerOutput, double[] hidden2LayerOutput, double[] targetOutput, double[][] weightsInputHidden1, double[][] weightsHidden1Hidden2, double[][] weightsHidden2Output, double learningRate) { double[] output = calculateLayerOutput(hidden2LayerOutput, weightsHidden2Output); double[] error = new double[targetOutput.length]; for (int i = 0; i < targetOutput.length; i++) { error[i] = targetOutput[i] - output[i]; } int inputSize = input.length; int hidden1Size = hidden1LayerOutput.length; int hidden2Size = hidden2LayerOutput.length; int outputSize = targetOutput.length; // Update weights between hidden2 and output layer for (int i = 0; i < hidden2Size; i++) { for (int j = 0; j < outputSize; j++) { weightsHidden2Output[i][j] += learningRate * hidden2LayerOutput[i] * error[j]; } } // Update weights between hidden1 and hidden2 layer for (int i = 0; i < hidden1Size; i++) { for (int j = 0; j < hidden2Size; j++) { double hidden2Error = 0; for (int k = 0; k < outputSize; k++) { hidden2Error += error[k] * weightsHidden2Output[j][k]; } weightsHidden1Hidden2[i][j] += learningRate * hidden1LayerOutput[i] * hidden2Error; } } // Update weights between input and hidden1 layer for (int i = 0; i < inputSize; i++) { for (int j = 0; j < hidden1Size; j++) { double hidden1Error = 0; for (int k = 0; k < hidden2Size; k++) { hidden1Error += hidden2LayerOutput[k] * weightsHidden1Hidden2[j][k]; } weightsInputHidden1[i][j] += learningRate * input[i] * hidden1Error; } } } }
Dietmar Posted July 14, 2023 Author Posted July 14, 2023 (edited) Hi, there is binary test of to be a prime number or not. With 2 Hidden Layers it is hard to show. But with 3(!) Hidden Layers suddently you see something Dietmar PS: With more layers, it becomes even more clear that 1, 5, 7, 11, 13.. are the correct prime numbers, but 2 and 3 not. package hiddenlayers3; import org.apache.commons.math3.util.FastMath; import java.security.SecureRandom; public class HiddenLayers3 { private final int numInputNodes = 9; private final int numHiddenNodes1 = 12; private final int numHiddenNodes2 = 12; private final int numHiddenNodes3 = 12; private final int numOutputNodes = 1; private final double learningRate = 0.0003; private final int numEpochs = 100000; private final double errorThreshold = 0.00000000001; private double[][] inputToHidden1Weights; private double[][] hidden1ToHidden2Weights; private double[][] hidden2ToHidden3Weights; private double[][] hidden3ToOutputWeights; private double[] hidden1Biases; private double[] hidden2Biases; private double[] hidden3Biases; private double[] outputBiases; public HiddenLayers3() { SecureRandom random = new SecureRandom(); inputToHidden1Weights = new double[numInputNodes][numHiddenNodes1]; hidden1ToHidden2Weights = new double[numHiddenNodes1][numHiddenNodes2]; hidden2ToHidden3Weights = new double[numHiddenNodes2][numHiddenNodes3]; hidden3ToOutputWeights = new double[numHiddenNodes3][numOutputNodes]; hidden1Biases = new double[numHiddenNodes1]; hidden2Biases = new double[numHiddenNodes2]; hidden3Biases = new double[numHiddenNodes3]; outputBiases = new double[numOutputNodes]; for (int i = 0; i < numInputNodes; i++) { for (int j = 0; j < numHiddenNodes1; j++) { inputToHidden1Weights[i][j] = 0.3 * random.nextGaussian(); } } for (int i = 0; i < numHiddenNodes1; i++) { for (int j = 0; j < numHiddenNodes2; j++) { hidden1ToHidden2Weights[i][j] = 0.3 * random.nextGaussian(); } hidden1Biases[i] = 0.3 * random.nextGaussian(); } for (int i = 0; i < numHiddenNodes2; i++) { for (int j = 0; j < numHiddenNodes3; j++) { hidden2ToHidden3Weights[i][j] = 0.3 * random.nextGaussian(); } hidden2Biases[i] = 0.3 * random.nextGaussian(); } for (int i = 0; i < numHiddenNodes3; i++) { for (int j = 0; j < numOutputNodes; j++) { hidden3ToOutputWeights[i][j] = 0.3 * random.nextGaussian(); } hidden3Biases[i] = 0.3 * random.nextGaussian(); } for (int i = 0; i < numOutputNodes; i++) { outputBiases[i] = 0.3 * random.nextGaussian(); } } public double relu(double x) { return FastMath.max(0, x); } public double reluDerivative(double x) { return x > 0 ? 1 : 0; } public void train(double[][] trainingInputs, double[] trainingTargets) { for (int epoch = 1; epoch <= numEpochs; epoch++) { double totalError = 0.0; for (int i = 0; i < trainingInputs.length; i++) { // Skip excluded inputs if (i == 509) { continue; } double[] input = trainingInputs[i]; double target = trainingTargets[i]; // Forward propagation double[] hiddenOutputs1 = new double[numHiddenNodes1]; for (int j = 0; j < numHiddenNodes1; j++) { double weightedSum = 0.0; for (int k = 0; k < numInputNodes; k++) { weightedSum += inputToHidden1Weights[k][j] * input[k]; } hiddenOutputs1[j] = relu(weightedSum + hidden1Biases[j]); } double[] hiddenOutputs2 = new double[numHiddenNodes2]; for (int j = 0; j < numHiddenNodes2; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes1; k++) { weightedSum += hidden1ToHidden2Weights[k][j] * hiddenOutputs1[k]; } hiddenOutputs2[j] = relu(weightedSum + hidden2Biases[j]); } double[] hiddenOutputs3 = new double[numHiddenNodes3]; for (int j = 0; j < numHiddenNodes3; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes2; k++) { weightedSum += hidden2ToHidden3Weights[k][j] * hiddenOutputs2[k]; } hiddenOutputs3[j] = relu(weightedSum + hidden3Biases[j]); } double[] output = new double[numOutputNodes]; for (int j = 0; j < numOutputNodes; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes3; k++) { weightedSum += hidden3ToOutputWeights[k][j] * hiddenOutputs3[k]; } output[j] = relu(weightedSum + outputBiases[j]); } // Backward propagation double outputError = target - output[0]; double outputDelta = outputError * reluDerivative(output[0]); double[] hidden3Errors = new double[numHiddenNodes3]; double[] hidden3Deltas = new double[numHiddenNodes3]; for (int j = 0; j < numHiddenNodes3; j++) { double weightedSum = 0.0; for (int k = 0; k < numOutputNodes; k++) { weightedSum += hidden3ToOutputWeights[j][k] * outputDelta; } hidden3Errors[j] = weightedSum; hidden3Deltas[j] = hidden3Errors[j] * reluDerivative(hiddenOutputs3[j]); } double[] hidden2Errors = new double[numHiddenNodes2]; double[] hidden2Deltas = new double[numHiddenNodes2]; for (int j = 0; j < numHiddenNodes2; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes3; k++) { weightedSum += hidden2ToHidden3Weights[j][k] * hidden3Deltas[k]; } hidden2Errors[j] = weightedSum; hidden2Deltas[j] = hidden2Errors[j] * reluDerivative(hiddenOutputs2[j]); } double[] hidden1Errors = new double[numHiddenNodes1]; double[] hidden1Deltas = new double[numHiddenNodes1]; for (int j = 0; j < numHiddenNodes1; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes2; k++) { weightedSum += hidden1ToHidden2Weights[j][k] * hidden2Deltas[k]; } hidden1Errors[j] = weightedSum; hidden1Deltas[j] = hidden1Errors[j] * reluDerivative(hiddenOutputs1[j]); } // Update weights and biases for (int j = 0; j < numHiddenNodes3; j++) { for (int k = 0; k < numOutputNodes; k++) { hidden3ToOutputWeights[j][k] += learningRate * outputDelta * hiddenOutputs3[j]; } hidden3Biases[j] += learningRate * hidden3Deltas[j]; } for (int j = 0; j < numHiddenNodes2; j++) { for (int k = 0; k < numHiddenNodes3; k++) { hidden2ToHidden3Weights[j][k] += learningRate * hidden3Deltas[k] * hiddenOutputs2[j]; } hidden2Biases[j] += learningRate * hidden2Deltas[j]; } for (int j = 0; j < numHiddenNodes1; j++) { for (int k = 0; k < numHiddenNodes2; k++) { hidden1ToHidden2Weights[j][k] += learningRate * hidden2Deltas[k] * hiddenOutputs1[j]; } hidden1Biases[j] += learningRate * hidden1Deltas[j]; } for (int j = 0; j < numInputNodes; j++) { for (int k = 0; k < numHiddenNodes1; k++) { inputToHidden1Weights[j][k] += learningRate * hidden1Deltas[k] * input[j]; } } for (int j = 0; j < numOutputNodes; j++) { outputBiases[j] += learningRate * outputDelta; } // Calculate total error totalError += Math.pow(outputError, 2); } if (epoch % 2000 == 0) { System.out.println("Epoch " + epoch + ", Error: " + totalError); } if (totalError < errorThreshold) { System.out.println("Converged at epoch " + epoch); break; } } } public double predict(double[] input) { double[] hiddenOutputs1 = new double[numHiddenNodes1]; for (int j = 0; j < numHiddenNodes1; j++) { double weightedSum = 0.0; for (int k = 0; k < numInputNodes; k++) { weightedSum += inputToHidden1Weights[k][j] * input[k]; } hiddenOutputs1[j] = relu(weightedSum + hidden1Biases[j]); } double[] hiddenOutputs2 = new double[numHiddenNodes2]; for (int j = 0; j < numHiddenNodes2; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes1; k++) { weightedSum += hidden1ToHidden2Weights[k][j] * hiddenOutputs1[k]; } hiddenOutputs2[j] = relu(weightedSum + hidden2Biases[j]); } double[] hiddenOutputs3 = new double[numHiddenNodes3]; for (int j = 0; j < numHiddenNodes3; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes2; k++) { weightedSum += hidden2ToHidden3Weights[k][j] * hiddenOutputs2[k]; } hiddenOutputs3[j] = relu(weightedSum + hidden3Biases[j]); } double[] output = new double[numOutputNodes]; for (int j = 0; j < numOutputNodes; j++) { double weightedSum = 0.0; for (int k = 0; k < numHiddenNodes3; k++) { weightedSum += hidden3ToOutputWeights[k][j] * hiddenOutputs3[k]; } output[j] = relu(weightedSum + outputBiases[j]); } return output[0]; } public static void main(String[] args) { // Example usage of the neural network double[][] trainingInputs = { {0, 0, 0, 0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0, 0, 0, 1}, {0, 0, 0, 0, 0, 0, 0, 1, 0}, {0, 0, 0, 0, 0, 0, 0, 1, 1}, {0, 0, 0, 0, 0, 0, 1, 0, 0}, {0, 0, 0, 0, 0, 0, 1, 0, 1}, {0, 0, 0, 0, 0, 0, 1, 1, 0}, {0, 0, 0, 0, 0, 0, 1, 1, 1}, {0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 0, 0, 0, 1, 0, 0, 1}, {0, 0, 0, 0, 0, 1, 0, 1, 0}, {0, 0, 0, 0, 0, 1, 0, 1, 1}, {0, 0, 0, 0, 0, 1, 1, 0, 0}, {0, 0, 0, 0, 0, 1, 1, 0, 1}, {0, 0, 0, 0, 0, 1, 1, 1, 0}, {0, 0, 0, 0, 0, 1, 1, 1, 1}, {0, 0, 0, 0, 1, 0, 0, 0, 0}, {0, 0, 0, 0, 1, 0, 0, 0, 1}, {0, 0, 0, 0, 1, 0, 0, 1, 0}, {0, 0, 0, 0, 1, 0, 0, 1, 1}, {0, 0, 0, 0, 1, 0, 1, 0, 0}, {0, 0, 0, 0, 1, 0, 1, 0, 1}, {0, 0, 0, 0, 1, 0, 1, 1, 0}, {0, 0, 0, 0, 1, 0, 1, 1, 1}, {0, 0, 0, 0, 1, 1, 0, 0, 0}, {0, 0, 0, 0, 1, 1, 0, 0, 1}, {0, 0, 0, 0, 1, 1, 0, 1, 0}, {0, 0, 0, 0, 1, 1, 0, 1, 1}, {0, 0, 0, 0, 1, 1, 1, 0, 0}, {0, 0, 0, 0, 1, 1, 1, 0, 1}, {0, 0, 0, 0, 1, 1, 1, 1, 0}, {0, 0, 0, 0, 1, 1, 1, 1, 1}, {0, 0, 0, 1, 0, 0, 0, 0, 0}, {0, 0, 0, 1, 0, 0, 0, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 1, 0}, {0, 0, 0, 1, 0, 0, 0, 1, 1}, {0, 0, 0, 1, 0, 0, 1, 0, 0}, {0, 0, 0, 1, 0, 0, 1, 0, 1}, {0, 0, 0, 1, 0, 0, 1, 1, 0}, {0, 0, 0, 1, 0, 0, 1, 1, 1}, {0, 0, 0, 1, 0, 1, 0, 0, 0}, {0, 0, 0, 1, 0, 1, 0, 0, 1}, {0, 0, 0, 1, 0, 1, 0, 1, 0}, {0, 0, 0, 1, 0, 1, 0, 1, 1}, {0, 0, 0, 1, 0, 1, 1, 0, 0}, {0, 0, 0, 1, 0, 1, 1, 0, 1}, {0, 0, 0, 1, 0, 1, 1, 1, 0}, {0, 0, 0, 1, 0, 1, 1, 1, 1}, {0, 0, 0, 1, 1, 0, 0, 0, 0}, {0, 0, 0, 1, 1, 0, 0, 0, 1}, {0, 0, 0, 1, 1, 0, 0, 1, 0}, {0, 0, 0, 1, 1, 0, 0, 1, 1}, {0, 0, 0, 1, 1, 0, 1, 0, 0}, {0, 0, 0, 1, 1, 0, 1, 0, 1}, {0, 0, 0, 1, 1, 0, 1, 1, 0}, {0, 0, 0, 1, 1, 0, 1, 1, 1}, {0, 0, 0, 1, 1, 1, 0, 0, 0}, {0, 0, 0, 1, 1, 1, 0, 0, 1}, {0, 0, 0, 1, 1, 1, 0, 1, 0}, {0, 0, 0, 1, 1, 1, 0, 1, 1}, {0, 0, 0, 1, 1, 1, 1, 0, 0}, {0, 0, 0, 1, 1, 1, 1, 0, 1}, {0, 0, 0, 1, 1, 1, 1, 1, 0}, {0, 0, 0, 1, 1, 1, 1, 1, 1}, {0, 0, 1, 0, 0, 0, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 0, 0, 1}, {0, 0, 1, 0, 0, 0, 0, 1, 0}, {0, 0, 1, 0, 0, 0, 0, 1, 1}, {0, 0, 1, 0, 0, 0, 1, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 1}, {0, 0, 1, 0, 0, 0, 1, 1, 0}, {0, 0, 1, 0, 0, 0, 1, 1, 1}, {0, 0, 1, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 1, 0, 0, 1}, {0, 0, 1, 0, 0, 1, 0, 1, 0}, {0, 0, 1, 0, 0, 1, 0, 1, 1}, {0, 0, 1, 0, 0, 1, 1, 0, 0}, {0, 0, 1, 0, 0, 1, 1, 0, 1}, {0, 0, 1, 0, 0, 1, 1, 1, 0}, {0, 0, 1, 0, 0, 1, 1, 1, 1}, {0, 0, 1, 0, 1, 0, 0, 0, 0}, {0, 0, 1, 0, 1, 0, 0, 0, 1}, {0, 0, 1, 0, 1, 0, 0, 1, 0}, {0, 0, 1, 0, 1, 0, 0, 1, 1}, {0, 0, 1, 0, 1, 0, 1, 0, 0}, {0, 0, 1, 0, 1, 0, 1, 0, 1}, {0, 0, 1, 0, 1, 0, 1, 1, 0}, {0, 0, 1, 0, 1, 0, 1, 1, 1}, {0, 0, 1, 0, 1, 1, 0, 0, 0}, {0, 0, 1, 0, 1, 1, 0, 0, 1}, {0, 0, 1, 0, 1, 1, 0, 1, 0}, {0, 0, 1, 0, 1, 1, 0, 1, 1}, {0, 0, 1, 0, 1, 1, 1, 0, 0}, {0, 0, 1, 0, 1, 1, 1, 0, 1}, {0, 0, 1, 0, 1, 1, 1, 1, 0}, {0, 0, 1, 0, 1, 1, 1, 1, 1}, {0, 0, 1, 1, 0, 0, 0, 0, 0}, {0, 0, 1, 1, 0, 0, 0, 0, 1}, {0, 0, 1, 1, 0, 0, 0, 1, 0}, {0, 0, 1, 1, 0, 0, 0, 1, 1}, {0, 0, 1, 1, 0, 0, 1, 0, 0}, {0, 0, 1, 1, 0, 0, 1, 0, 1}, {0, 0, 1, 1, 0, 0, 1, 1, 0}, {0, 0, 1, 1, 0, 0, 1, 1, 1}, {0, 0, 1, 1, 0, 1, 0, 0, 0}, {0, 0, 1, 1, 0, 1, 0, 0, 1}, {0, 0, 1, 1, 0, 1, 0, 1, 0}, {0, 0, 1, 1, 0, 1, 0, 1, 1}, {0, 0, 1, 1, 0, 1, 1, 0, 0}, {0, 0, 1, 1, 0, 1, 1, 0, 1}, {0, 0, 1, 1, 0, 1, 1, 1, 0}, {0, 0, 1, 1, 0, 1, 1, 1, 1}, {0, 0, 1, 1, 1, 0, 0, 0, 0}, {0, 0, 1, 1, 1, 0, 0, 0, 1}, {0, 0, 1, 1, 1, 0, 0, 1, 0}, {0, 0, 1, 1, 1, 0, 0, 1, 1}, {0, 0, 1, 1, 1, 0, 1, 0, 0}, {0, 0, 1, 1, 1, 0, 1, 0, 1}, {0, 0, 1, 1, 1, 0, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 1, 1, 1}, {0, 0, 1, 1, 1, 1, 0, 0, 0}, {0, 0, 1, 1, 1, 1, 0, 0, 1}, {0, 0, 1, 1, 1, 1, 0, 1, 0}, {0, 0, 1, 1, 1, 1, 0, 1, 1}, {0, 0, 1, 1, 1, 1, 1, 0, 0}, {0, 0, 1, 1, 1, 1, 1, 0, 1}, {0, 0, 1, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 1, 1, 1, 1}, {0, 1, 0, 0, 0, 0, 0, 0, 0}, {0, 1, 0, 0, 0, 0, 0, 0, 1}, {0, 1, 0, 0, 0, 0, 0, 1, 0}, {0, 1, 0, 0, 0, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 0, 1, 0, 0}, {0, 1, 0, 0, 0, 0, 1, 0, 1}, {0, 1, 0, 0, 0, 0, 1, 1, 0}, {0, 1, 0, 0, 0, 0, 1, 1, 1}, {0, 1, 0, 0, 0, 1, 0, 0, 0}, {0, 1, 0, 0, 0, 1, 0, 0, 1}, {0, 1, 0, 0, 0, 1, 0, 1, 0}, {0, 1, 0, 0, 0, 1, 0, 1, 1}, {0, 1, 0, 0, 0, 1, 1, 0, 0}, {0, 1, 0, 0, 0, 1, 1, 0, 1}, {0, 1, 0, 0, 0, 1, 1, 1, 0}, {0, 1, 0, 0, 0, 1, 1, 1, 1}, {0, 1, 0, 0, 1, 0, 0, 0, 0}, {0, 1, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 0, 1, 0, 0, 1, 0}, {0, 1, 0, 0, 1, 0, 0, 1, 1}, {0, 1, 0, 0, 1, 0, 1, 0, 0}, {0, 1, 0, 0, 1, 0, 1, 0, 1}, {0, 1, 0, 0, 1, 0, 1, 1, 0}, {0, 1, 0, 0, 1, 0, 1, 1, 1}, {0, 1, 0, 0, 1, 1, 0, 0, 0}, {0, 1, 0, 0, 1, 1, 0, 0, 1}, {0, 1, 0, 0, 1, 1, 0, 1, 0}, {0, 1, 0, 0, 1, 1, 0, 1, 1}, {0, 1, 0, 0, 1, 1, 1, 0, 0}, {0, 1, 0, 0, 1, 1, 1, 0, 1}, {0, 1, 0, 0, 1, 1, 1, 1, 0}, {0, 1, 0, 0, 1, 1, 1, 1, 1}, {0, 1, 0, 1, 0, 0, 0, 0, 0}, {0, 1, 0, 1, 0, 0, 0, 0, 1}, {0, 1, 0, 1, 0, 0, 0, 1, 0}, {0, 1, 0, 1, 0, 0, 0, 1, 1}, {0, 1, 0, 1, 0, 0, 1, 0, 0}, {0, 1, 0, 1, 0, 0, 1, 0, 1}, {0, 1, 0, 1, 0, 0, 1, 1, 0}, {0, 1, 0, 1, 0, 0, 1, 1, 1}, {0, 1, 0, 1, 0, 1, 0, 0, 0}, {0, 1, 0, 1, 0, 1, 0, 0, 1}, {0, 1, 0, 1, 0, 1, 0, 1, 0}, {0, 1, 0, 1, 0, 1, 0, 1, 1}, {0, 1, 0, 1, 0, 1, 1, 0, 0}, {0, 1, 0, 1, 0, 1, 1, 0, 1}, {0, 1, 0, 1, 0, 1, 1, 1, 0}, {0, 1, 0, 1, 0, 1, 1, 1, 1}, {0, 1, 0, 1, 1, 0, 0, 0, 0}, {0, 1, 0, 1, 1, 0, 0, 0, 1}, {0, 1, 0, 1, 1, 0, 0, 1, 0}, {0, 1, 0, 1, 1, 0, 0, 1, 1}, {0, 1, 0, 1, 1, 0, 1, 0, 0}, {0, 1, 0, 1, 1, 0, 1, 0, 1}, {0, 1, 0, 1, 1, 0, 1, 1, 0}, {0, 1, 0, 1, 1, 0, 1, 1, 1}, {0, 1, 0, 1, 1, 1, 0, 0, 0}, {0, 1, 0, 1, 1, 1, 0, 0, 1}, {0, 1, 0, 1, 1, 1, 0, 1, 0}, {0, 1, 0, 1, 1, 1, 0, 1, 1}, {0, 1, 0, 1, 1, 1, 1, 0, 0}, {0, 1, 0, 1, 1, 1, 1, 0, 1}, {0, 1, 0, 1, 1, 1, 1, 1, 0}, {0, 1, 0, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 0, 0, 0, 0, 0, 0}, {0, 1, 1, 0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 0, 0, 0, 1, 0}, {0, 1, 1, 0, 0, 0, 0, 1, 1}, {0, 1, 1, 0, 0, 0, 1, 0, 0}, {0, 1, 1, 0, 0, 0, 1, 0, 1}, {0, 1, 1, 0, 0, 0, 1, 1, 0}, {0, 1, 1, 0, 0, 0, 1, 1, 1}, {0, 1, 1, 0, 0, 1, 0, 0, 0}, {0, 1, 1, 0, 0, 1, 0, 0, 1}, {0, 1, 1, 0, 0, 1, 0, 1, 0}, {0, 1, 1, 0, 0, 1, 0, 1, 1}, {0, 1, 1, 0, 0, 1, 1, 0, 0}, {0, 1, 1, 0, 0, 1, 1, 0, 1}, {0, 1, 1, 0, 0, 1, 1, 1, 0}, {0, 1, 1, 0, 0, 1, 1, 1, 1}, {0, 1, 1, 0, 1, 0, 0, 0, 0}, {0, 1, 1, 0, 1, 0, 0, 0, 1}, {0, 1, 1, 0, 1, 0, 0, 1, 0}, {0, 1, 1, 0, 1, 0, 0, 1, 1}, {0, 1, 1, 0, 1, 0, 1, 0, 0}, {0, 1, 1, 0, 1, 0, 1, 0, 1}, {0, 1, 1, 0, 1, 0, 1, 1, 0}, {0, 1, 1, 0, 1, 0, 1, 1, 1}, {0, 1, 1, 0, 1, 1, 0, 0, 0}, {0, 1, 1, 0, 1, 1, 0, 0, 1}, {0, 1, 1, 0, 1, 1, 0, 1, 0}, {0, 1, 1, 0, 1, 1, 0, 1, 1}, {0, 1, 1, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 0, 1, 1, 1, 0, 1}, {0, 1, 1, 0, 1, 1, 1, 1, 0}, {0, 1, 1, 0, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 0, 0, 0, 0, 0}, {0, 1, 1, 1, 0, 0, 0, 0, 1}, {0, 1, 1, 1, 0, 0, 0, 1, 0}, {0, 1, 1, 1, 0, 0, 0, 1, 1}, {0, 1, 1, 1, 0, 0, 1, 0, 0}, {0, 1, 1, 1, 0, 0, 1, 0, 1}, {0, 1, 1, 1, 0, 0, 1, 1, 0}, {0, 1, 1, 1, 0, 0, 1, 1, 1}, {0, 1, 1, 1, 0, 1, 0, 0, 0}, {0, 1, 1, 1, 0, 1, 0, 0, 1}, {0, 1, 1, 1, 0, 1, 0, 1, 0}, {0, 1, 1, 1, 0, 1, 0, 1, 1}, {0, 1, 1, 1, 0, 1, 1, 0, 0}, {0, 1, 1, 1, 0, 1, 1, 0, 1}, {0, 1, 1, 1, 0, 1, 1, 1, 0}, {0, 1, 1, 1, 0, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 0, 0, 0, 0}, {0, 1, 1, 1, 1, 0, 0, 0, 1}, {0, 1, 1, 1, 1, 0, 0, 1, 0}, {0, 1, 1, 1, 1, 0, 0, 1, 1}, {0, 1, 1, 1, 1, 0, 1, 0, 0}, {0, 1, 1, 1, 1, 0, 1, 0, 1}, {0, 1, 1, 1, 1, 0, 1, 1, 0}, {0, 1, 1, 1, 1, 0, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0, 0, 0}, {0, 1, 1, 1, 1, 1, 0, 0, 1}, {0, 1, 1, 1, 1, 1, 0, 1, 0}, {0, 1, 1, 1, 1, 1, 0, 1, 1}, {0, 1, 1, 1, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 1, 0, 1}, {0, 1, 1, 1, 1, 1, 1, 1, 0}, {0, 1, 1, 1, 1, 1, 1, 1, 1}, {1, 0, 0, 0, 0, 0, 0, 0, 0}, {1, 0, 0, 0, 0, 0, 0, 0, 1}, {1, 0, 0, 0, 0, 0, 0, 1, 0}, {1, 0, 0, 0, 0, 0, 0, 1, 1}, {1, 0, 0, 0, 0, 0, 1, 0, 0}, {1, 0, 0, 0, 0, 0, 1, 0, 1}, {1, 0, 0, 0, 0, 0, 1, 1, 0}, {1, 0, 0, 0, 0, 0, 1, 1, 1}, {1, 0, 0, 0, 0, 1, 0, 0, 0}, {1, 0, 0, 0, 0, 1, 0, 0, 1}, {1, 0, 0, 0, 0, 1, 0, 1, 0}, {1, 0, 0, 0, 0, 1, 0, 1, 1}, {1, 0, 0, 0, 0, 1, 1, 0, 0}, {1, 0, 0, 0, 0, 1, 1, 0, 1}, {1, 0, 0, 0, 0, 1, 1, 1, 0}, {1, 0, 0, 0, 0, 1, 1, 1, 1}, {1, 0, 0, 0, 1, 0, 0, 0, 0}, {1, 0, 0, 0, 1, 0, 0, 0, 1}, {1, 0, 0, 0, 1, 0, 0, 1, 0}, {1, 0, 0, 0, 1, 0, 0, 1, 1}, {1, 0, 0, 0, 1, 0, 1, 0, 0}, {1, 0, 0, 0, 1, 0, 1, 0, 1}, {1, 0, 0, 0, 1, 0, 1, 1, 0}, {1, 0, 0, 0, 1, 0, 1, 1, 1}, {1, 0, 0, 0, 1, 1, 0, 0, 0}, {1, 0, 0, 0, 1, 1, 0, 0, 1}, {1, 0, 0, 0, 1, 1, 0, 1, 0}, {1, 0, 0, 0, 1, 1, 0, 1, 1}, {1, 0, 0, 0, 1, 1, 1, 0, 0}, {1, 0, 0, 0, 1, 1, 1, 0, 1}, {1, 0, 0, 0, 1, 1, 1, 1, 0}, {1, 0, 0, 0, 1, 1, 1, 1, 1}, {1, 0, 0, 1, 0, 0, 0, 0, 0}, {1, 0, 0, 1, 0, 0, 0, 0, 1}, {1, 0, 0, 1, 0, 0, 0, 1, 0}, {1, 0, 0, 1, 0, 0, 0, 1, 1}, {1, 0, 0, 1, 0, 0, 1, 0, 0}, {1, 0, 0, 1, 0, 0, 1, 0, 1}, {1, 0, 0, 1, 0, 0, 1, 1, 0}, {1, 0, 0, 1, 0, 0, 1, 1, 1}, {1, 0, 0, 1, 0, 1, 0, 0, 0}, {1, 0, 0, 1, 0, 1, 0, 0, 1}, {1, 0, 0, 1, 0, 1, 0, 1, 0}, {1, 0, 0, 1, 0, 1, 0, 1, 1}, {1, 0, 0, 1, 0, 1, 1, 0, 0}, {1, 0, 0, 1, 0, 1, 1, 0, 1}, {1, 0, 0, 1, 0, 1, 1, 1, 0}, {1, 0, 0, 1, 0, 1, 1, 1, 1}, {1, 0, 0, 1, 1, 0, 0, 0, 0}, {1, 0, 0, 1, 1, 0, 0, 0, 1}, {1, 0, 0, 1, 1, 0, 0, 1, 0}, {1, 0, 0, 1, 1, 0, 0, 1, 1}, {1, 0, 0, 1, 1, 0, 1, 0, 0}, {1, 0, 0, 1, 1, 0, 1, 0, 1}, {1, 0, 0, 1, 1, 0, 1, 1, 0}, {1, 0, 0, 1, 1, 0, 1, 1, 1}, {1, 0, 0, 1, 1, 1, 0, 0, 0}, {1, 0, 0, 1, 1, 1, 0, 0, 1}, {1, 0, 0, 1, 1, 1, 0, 1, 0}, {1, 0, 0, 1, 1, 1, 0, 1, 1}, {1, 0, 0, 1, 1, 1, 1, 0, 0}, {1, 0, 0, 1, 1, 1, 1, 0, 1}, {1, 0, 0, 1, 1, 1, 1, 1, 0}, {1, 0, 0, 1, 1, 1, 1, 1, 1}, {1, 0, 1, 0, 0, 0, 0, 0, 0}, {1, 0, 1, 0, 0, 0, 0, 0, 1}, {1, 0, 1, 0, 0, 0, 0, 1, 0}, {1, 0, 1, 0, 0, 0, 0, 1, 1}, {1, 0, 1, 0, 0, 0, 1, 0, 0}, {1, 0, 1, 0, 0, 0, 1, 0, 1}, {1, 0, 1, 0, 0, 0, 1, 1, 0}, {1, 0, 1, 0, 0, 0, 1, 1, 1}, {1, 0, 1, 0, 0, 1, 0, 0, 0}, {1, 0, 1, 0, 0, 1, 0, 0, 1}, {1, 0, 1, 0, 0, 1, 0, 1, 0}, {1, 0, 1, 0, 0, 1, 0, 1, 1}, {1, 0, 1, 0, 0, 1, 1, 0, 0}, {1, 0, 1, 0, 0, 1, 1, 0, 1}, {1, 0, 1, 0, 0, 1, 1, 1, 0}, {1, 0, 1, 0, 0, 1, 1, 1, 1}, {1, 0, 1, 0, 1, 0, 0, 0, 0}, {1, 0, 1, 0, 1, 0, 0, 0, 1}, {1, 0, 1, 0, 1, 0, 0, 1, 0}, {1, 0, 1, 0, 1, 0, 0, 1, 1}, {1, 0, 1, 0, 1, 0, 1, 0, 0}, {1, 0, 1, 0, 1, 0, 1, 0, 1}, {1, 0, 1, 0, 1, 0, 1, 1, 0}, {1, 0, 1, 0, 1, 0, 1, 1, 1}, {1, 0, 1, 0, 1, 1, 0, 0, 0}, {1, 0, 1, 0, 1, 1, 0, 0, 1}, {1, 0, 1, 0, 1, 1, 0, 1, 0}, {1, 0, 1, 0, 1, 1, 0, 1, 1}, {1, 0, 1, 0, 1, 1, 1, 0, 0}, {1, 0, 1, 0, 1, 1, 1, 0, 1}, {1, 0, 1, 0, 1, 1, 1, 1, 0}, {1, 0, 1, 0, 1, 1, 1, 1, 1}, {1, 0, 1, 1, 0, 0, 0, 0, 0}, {1, 0, 1, 1, 0, 0, 0, 0, 1}, {1, 0, 1, 1, 0, 0, 0, 1, 0}, {1, 0, 1, 1, 0, 0, 0, 1, 1}, {1, 0, 1, 1, 0, 0, 1, 0, 0}, {1, 0, 1, 1, 0, 0, 1, 0, 1}, {1, 0, 1, 1, 0, 0, 1, 1, 0}, {1, 0, 1, 1, 0, 0, 1, 1, 1}, {1, 0, 1, 1, 0, 1, 0, 0, 0}, {1, 0, 1, 1, 0, 1, 0, 0, 1}, {1, 0, 1, 1, 0, 1, 0, 1, 0}, {1, 0, 1, 1, 0, 1, 0, 1, 1}, {1, 0, 1, 1, 0, 1, 1, 0, 0}, {1, 0, 1, 1, 0, 1, 1, 0, 1}, {1, 0, 1, 1, 0, 1, 1, 1, 0}, {1, 0, 1, 1, 0, 1, 1, 1, 1}, {1, 0, 1, 1, 1, 0, 0, 0, 0}, {1, 0, 1, 1, 1, 0, 0, 0, 1}, {1, 0, 1, 1, 1, 0, 0, 1, 0}, {1, 0, 1, 1, 1, 0, 0, 1, 1}, {1, 0, 1, 1, 1, 0, 1, 0, 0}, {1, 0, 1, 1, 1, 0, 1, 0, 1}, {1, 0, 1, 1, 1, 0, 1, 1, 0}, {1, 0, 1, 1, 1, 0, 1, 1, 1}, {1, 0, 1, 1, 1, 1, 0, 0, 0}, {1, 0, 1, 1, 1, 1, 0, 0, 1}, {1, 0, 1, 1, 1, 1, 0, 1, 0}, {1, 0, 1, 1, 1, 1, 0, 1, 1}, {1, 0, 1, 1, 1, 1, 1, 0, 0}, {1, 0, 1, 1, 1, 1, 1, 0, 1}, {1, 0, 1, 1, 1, 1, 1, 1, 0}, {1, 0, 1, 1, 1, 1, 1, 1, 1}, {1, 1, 0, 0, 0, 0, 0, 0, 0}, {1, 1, 0, 0, 0, 0, 0, 0, 1}, {1, 1, 0, 0, 0, 0, 0, 1, 0}, {1, 1, 0, 0, 0, 0, 0, 1, 1}, {1, 1, 0, 0, 0, 0, 1, 0, 0}, {1, 1, 0, 0, 0, 0, 1, 0, 1}, {1, 1, 0, 0, 0, 0, 1, 1, 0}, {1, 1, 0, 0, 0, 0, 1, 1, 1}, {1, 1, 0, 0, 0, 1, 0, 0, 0}, {1, 1, 0, 0, 0, 1, 0, 0, 1}, {1, 1, 0, 0, 0, 1, 0, 1, 0}, {1, 1, 0, 0, 0, 1, 0, 1, 1}, {1, 1, 0, 0, 0, 1, 1, 0, 0}, {1, 1, 0, 0, 0, 1, 1, 0, 1}, {1, 1, 0, 0, 0, 1, 1, 1, 0}, {1, 1, 0, 0, 0, 1, 1, 1, 1}, {1, 1, 0, 0, 1, 0, 0, 0, 0}, {1, 1, 0, 0, 1, 0, 0, 0, 1}, {1, 1, 0, 0, 1, 0, 0, 1, 0}, {1, 1, 0, 0, 1, 0, 0, 1, 1}, {1, 1, 0, 0, 1, 0, 1, 0, 0}, {1, 1, 0, 0, 1, 0, 1, 0, 1}, {1, 1, 0, 0, 1, 0, 1, 1, 0}, {1, 1, 0, 0, 1, 0, 1, 1, 1}, {1, 1, 0, 0, 1, 1, 0, 0, 0}, {1, 1, 0, 0, 1, 1, 0, 0, 1}, {1, 1, 0, 0, 1, 1, 0, 1, 0}, {1, 1, 0, 0, 1, 1, 0, 1, 1}, {1, 1, 0, 0, 1, 1, 1, 0, 0}, {1, 1, 0, 0, 1, 1, 1, 0, 1}, {1, 1, 0, 0, 1, 1, 1, 1, 0}, {1, 1, 0, 0, 1, 1, 1, 1, 1}, {1, 1, 0, 1, 0, 0, 0, 0, 0}, {1, 1, 0, 1, 0, 0, 0, 0, 1}, {1, 1, 0, 1, 0, 0, 0, 1, 0}, {1, 1, 0, 1, 0, 0, 0, 1, 1}, {1, 1, 0, 1, 0, 0, 1, 0, 0}, {1, 1, 0, 1, 0, 0, 1, 0, 1}, {1, 1, 0, 1, 0, 0, 1, 1, 0}, {1, 1, 0, 1, 0, 0, 1, 1, 1}, {1, 1, 0, 1, 0, 1, 0, 0, 0}, {1, 1, 0, 1, 0, 1, 0, 0, 1}, {1, 1, 0, 1, 0, 1, 0, 1, 0}, {1, 1, 0, 1, 0, 1, 0, 1, 1}, {1, 1, 0, 1, 0, 1, 1, 0, 0}, {1, 1, 0, 1, 0, 1, 1, 0, 1}, {1, 1, 0, 1, 0, 1, 1, 1, 0}, {1, 1, 0, 1, 0, 1, 1, 1, 1}, {1, 1, 0, 1, 1, 0, 0, 0, 0}, {1, 1, 0, 1, 1, 0, 0, 0, 1}, {1, 1, 0, 1, 1, 0, 0, 1, 0}, {1, 1, 0, 1, 1, 0, 0, 1, 1}, {1, 1, 0, 1, 1, 0, 1, 0, 0}, {1, 1, 0, 1, 1, 0, 1, 0, 1}, {1, 1, 0, 1, 1, 0, 1, 1, 0}, {1, 1, 0, 1, 1, 0, 1, 1, 1}, {1, 1, 0, 1, 1, 1, 0, 0, 0}, {1, 1, 0, 1, 1, 1, 0, 0, 1}, {1, 1, 0, 1, 1, 1, 0, 1, 0}, {1, 1, 0, 1, 1, 1, 0, 1, 1}, {1, 1, 0, 1, 1, 1, 1, 0, 0}, {1, 1, 0, 1, 1, 1, 1, 0, 1}, {1, 1, 0, 1, 1, 1, 1, 1, 0}, {1, 1, 0, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 0, 0, 0, 0, 0, 0}, {1, 1, 1, 0, 0, 0, 0, 0, 1}, {1, 1, 1, 0, 0, 0, 0, 1, 0}, {1, 1, 1, 0, 0, 0, 0, 1, 1}, {1, 1, 1, 0, 0, 0, 1, 0, 0}, {1, 1, 1, 0, 0, 0, 1, 0, 1}, {1, 1, 1, 0, 0, 0, 1, 1, 0}, {1, 1, 1, 0, 0, 0, 1, 1, 1}, {1, 1, 1, 0, 0, 1, 0, 0, 0}, {1, 1, 1, 0, 0, 1, 0, 0, 1}, {1, 1, 1, 0, 0, 1, 0, 1, 0}, {1, 1, 1, 0, 0, 1, 0, 1, 1}, {1, 1, 1, 0, 0, 1, 1, 0, 0}, {1, 1, 1, 0, 0, 1, 1, 0, 1}, {1, 1, 1, 0, 0, 1, 1, 1, 0}, {1, 1, 1, 0, 0, 1, 1, 1, 1}, {1, 1, 1, 0, 1, 0, 0, 0, 0}, {1, 1, 1, 0, 1, 0, 0, 0, 1}, {1, 1, 1, 0, 1, 0, 0, 1, 0}, {1, 1, 1, 0, 1, 0, 0, 1, 1}, {1, 1, 1, 0, 1, 0, 1, 0, 0}, {1, 1, 1, 0, 1, 0, 1, 0, 1}, {1, 1, 1, 0, 1, 0, 1, 1, 0}, {1, 1, 1, 0, 1, 0, 1, 1, 1}, {1, 1, 1, 0, 1, 1, 0, 0, 0}, {1, 1, 1, 0, 1, 1, 0, 0, 1}, {1, 1, 1, 0, 1, 1, 0, 1, 0}, {1, 1, 1, 0, 1, 1, 0, 1, 1}, {1, 1, 1, 0, 1, 1, 1, 0, 0}, {1, 1, 1, 0, 1, 1, 1, 0, 1}, {1, 1, 1, 0, 1, 1, 1, 1, 0}, {1, 1, 1, 0, 1, 1, 1, 1, 1}, {1, 1, 1, 1, 0, 0, 0, 0, 0}, {1, 1, 1, 1, 0, 0, 0, 0, 1}, {1, 1, 1, 1, 0, 0, 0, 1, 0}, {1, 1, 1, 1, 0, 0, 0, 1, 1}, {1, 1, 1, 1, 0, 0, 1, 0, 0}, {1, 1, 1, 1, 0, 0, 1, 0, 1}, {1, 1, 1, 1, 0, 0, 1, 1, 0}, {1, 1, 1, 1, 0, 0, 1, 1, 1}, {1, 1, 1, 1, 0, 1, 0, 0, 0}, {1, 1, 1, 1, 0, 1, 0, 0, 1}, {1, 1, 1, 1, 0, 1, 0, 1, 0}, {1, 1, 1, 1, 0, 1, 0, 1, 1}, {1, 1, 1, 1, 0, 1, 1, 0, 0}, {1, 1, 1, 1, 0, 1, 1, 0, 1}, {1, 1, 1, 1, 0, 1, 1, 1, 0}, {1, 1, 1, 1, 0, 1, 1, 1, 1}, {1, 1, 1, 1, 1, 0, 0, 0, 0}, {1, 1, 1, 1, 1, 0, 0, 0, 1}, {1, 1, 1, 1, 1, 0, 0, 1, 0}, {1, 1, 1, 1, 1, 0, 0, 1, 1}, {1, 1, 1, 1, 1, 0, 1, 0, 0}, {1, 1, 1, 1, 1, 0, 1, 0, 1}, {1, 1, 1, 1, 1, 0, 1, 1, 0}, {1, 1, 1, 1, 1, 0, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 0, 0, 0}, {1, 1, 1, 1, 1, 1, 0, 0, 1}, {1, 1, 1, 1, 1, 1, 0, 1, 0}, {1, 1, 1, 1, 1, 1, 0, 1, 1}, {1, 1, 1, 1, 1, 1, 1, 0, 0}, {1, 1, 1, 1, 1, 1, 1, 0, 1}, {1, 1, 1, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1, 1, 1} }; double[] trainingTargets = { 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 , 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0 }; HiddenLayers3 nn = new HiddenLayers3(); nn.train(trainingInputs, trainingTargets); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 0, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 0, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 0, 1, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 0, 1, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 0, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 0, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [0, 1, 1, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{0, 1, 1, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 0, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 0, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 0, 1, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 0, 1, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 0, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 0, 1, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 0, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 0, 1, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 0, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 0, 1, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 0, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 0, 1, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 0, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 0, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 0, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 0, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 0, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 0, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 0, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 0, 1, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 1, 0, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 1, 0, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 1, 0, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 1, 0, 1})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 1, 1, 0]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 1, 1, 0})); System.out.println("Prediction for [1, 1, 1, 1, 1, 1, 1, 1, 1]: " + nn.predict(new double[]{1, 1, 1, 1, 1, 1, 1, 1, 1})); } } run: Epoch 2000, Error: 52.451551882360036 Epoch 4000, Error: 31.707144021981634 Epoch 6000, Error: 16.8717906992642 Epoch 8000, Error: 11.580722094331293 Epoch 10000, Error: 8.481827590063295 Epoch 12000, Error: 6.956125519486862 Epoch 14000, Error: 5.568760773703237 Epoch 16000, Error: 4.493248237614515 Epoch 18000, Error: 3.7103603783767722 Epoch 20000, Error: 3.2636811254227696 Epoch 22000, Error: 2.7855791672626737 Epoch 24000, Error: 2.3907075512281533 Epoch 26000, Error: 2.103757600728982 Epoch 28000, Error: 1.8203912755088996 Epoch 30000, Error: 1.6460082295246317 Epoch 32000, Error: 1.4841126968404992 Epoch 34000, Error: 1.3425065139755252 Epoch 36000, Error: 1.238685963743492 Epoch 38000, Error: 1.1614882249300917 Epoch 40000, Error: 1.1055794269285453 Epoch 42000, Error: 1.0609986005185013 Epoch 44000, Error: 1.010127928687235 Epoch 46000, Error: 0.9767334629057545 Epoch 48000, Error: 0.944380151468777 Epoch 50000, Error: 0.9168364797299632 Epoch 52000, Error: 0.8871847496247405 Epoch 54000, Error: 0.8674593415148122 Epoch 56000, Error: 0.8517135803358193 Epoch 58000, Error: 0.8274156019736346 Epoch 60000, Error: 0.8077891758568904 Epoch 62000, Error: 0.7903260271817737 Epoch 64000, Error: 0.7738944754375546 Epoch 66000, Error: 0.7596446130912603 Epoch 68000, Error: 0.7455503467843242 Epoch 70000, Error: 0.733113053729717 Epoch 72000, Error: 0.7216830384255954 Epoch 74000, Error: 0.7107172209302016 Epoch 76000, Error: 0.6999204977286727 Epoch 78000, Error: 0.6909253442159263 Epoch 80000, Error: 0.6779540581815748 Epoch 82000, Error: 0.6729191214068203 Epoch 84000, Error: 0.6647472478558226 Epoch 86000, Error: 0.6545041538259536 Epoch 88000, Error: 0.6485849487137458 Epoch 90000, Error: 0.6409668625457688 Epoch 92000, Error: 0.6338876210454332 Epoch 94000, Error: 0.6271993960133858 Epoch 96000, Error: 0.6200443392722925 Epoch 98000, Error: 0.6131641962113463 Epoch 100000, Error: 0.6055875978978504 Prediction for [0, 0, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 0, 0, 1]: 1.0029322924298496 Prediction for [0, 0, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 0, 1, 1]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 1, 0, 1]: 1.0001584132525174 Prediction for [0, 0, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 1, 1, 1]: 1.002008788417899 Prediction for [0, 0, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 1, 1]: 1.0007155017702454 Prediction for [0, 0, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 1, 0, 1]: 1.0037306797702428 Prediction for [0, 0, 0, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 1, 1, 1]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 0, 0, 1]: 1.0082046849989963 Prediction for [0, 0, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 0, 1, 1]: 1.000963020031036 Prediction for [0, 0, 0, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 1, 0, 1]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 1, 1, 1]: 1.000951902224271 Prediction for [0, 0, 0, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 0, 0, 1]: 0.005561024998525177 Prediction for [0, 0, 0, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 1, 0, 1]: 1.0032833984102814 Prediction for [0, 0, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 1, 1, 1]: 0.9998506288613376 Prediction for [0, 0, 0, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 0, 1, 1]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 1, 0, 1]: 0.9969347909902329 Prediction for [0, 0, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 0, 0, 1]: 1.0002154142574202 Prediction for [0, 0, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 0, 1, 1]: 1.0030008166588216 Prediction for [0, 0, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 1, 0, 1]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 1, 1, 1]: 0.9996787139196419 Prediction for [0, 0, 0, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 1, 0, 1]: 0.995948835587976 Prediction for [0, 0, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 1, 1, 1]: 0.0158368874968855 Prediction for [0, 0, 0, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 0, 1, 1]: 1.0024567019333235 Prediction for [0, 0, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 1, 0, 1]: 0.9971564442587857 Prediction for [0, 0, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 1, 1, 1]: 2.3147283027302734E-4 Prediction for [0, 0, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 0, 0, 0, 1]: 0.003074418341085572 Prediction for [0, 0, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 0, 0, 1, 1]: 0.9973577943526859 Prediction for [0, 0, 1, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 0, 1, 0, 1]: 0.0 Prediction for [0, 0, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 0, 1, 1, 1]: 0.9991616724279542 Prediction for [0, 0, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 0, 0, 1]: 1.005528364690135 Prediction for [0, 0, 1, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 0, 1, 1]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 0, 1]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 1, 1]: 1.0004561835061123 Prediction for [0, 0, 1, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 0, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 1, 1]: 0.9987012057436155 Prediction for [0, 0, 1, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 1, 0, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 0, 0, 1]: 0.9984621571718089 Prediction for [0, 0, 1, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 1, 0, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 1, 1, 1]: 0.0011346559539746615 Prediction for [0, 0, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 0, 0, 1]: 0.9954658664640776 Prediction for [0, 0, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 0, 1, 1]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 1, 0, 1]: 0.9987444506721506 Prediction for [0, 0, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 1, 1, 1]: 1.0032651415297291 Prediction for [0, 0, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 0, 1, 1]: 1.0009779538084969 Prediction for [0, 0, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 1, 0, 1]: 0.9950502153396128 Prediction for [0, 0, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 0, 0, 1]: 1.0072640440983252 Prediction for [0, 0, 1, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 1, 0, 1]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 0, 0, 1]: 0.0024867453421006935 Prediction for [0, 0, 1, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 0, 1, 1]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 1, 0, 1]: 0.003951581166587115 Prediction for [0, 0, 1, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 1, 1, 1]: 1.0099197376094073 Prediction for [0, 1, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 0, 1, 1]: 1.0003574604694494 Prediction for [0, 1, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 1, 0, 1]: 0.008034098569987602 Prediction for [0, 1, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 1, 1, 1]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 0, 0, 1]: 1.003767365944774 Prediction for [0, 1, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 0, 1, 1]: 1.0004039877691122 Prediction for [0, 1, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 1, 1, 1]: 0.002685637474658442 Prediction for [0, 1, 0, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 0, 0, 1]: 0.040853334077697756 Prediction for [0, 1, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 0, 1, 1]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 1, 0, 1]: 1.0119659306907662 Prediction for [0, 1, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 1, 1, 1]: 1.0088770661412285 Prediction for [0, 1, 0, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 0, 0, 1]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 1, 0, 1]: 1.0078258598722476 Prediction for [0, 1, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 1, 1, 1, 1]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 0, 0, 1]: 0.010865775047043336 Prediction for [0, 1, 0, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 0, 1, 1]: 1.0026820538452599 Prediction for [0, 1, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 1, 0, 1]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 1, 1, 1]: 1.0103824777788928 Prediction for [0, 1, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 0, 0, 1]: 0.008447198771444953 Prediction for [0, 1, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 1, 0, 1]: 1.0106172905539639 Prediction for [0, 1, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 1, 1, 1]: 0.016426590280938846 Prediction for [0, 1, 0, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 0, 1, 1]: 1.0147024963749471 Prediction for [0, 1, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 1, 0, 1]: 0.981471700164998 Prediction for [0, 1, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 1, 1, 1]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 0, 1, 1]: 0.006292934771463088 Prediction for [0, 1, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 1, 1, 1]: 1.0010245701603866 Prediction for [0, 1, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 0, 1]: 0.9852238389874755 Prediction for [0, 1, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 1, 0, 1]: 0.9884693909925657 Prediction for [0, 1, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 1, 1, 1]: 0.9908295627355495 Prediction for [0, 1, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 1, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 1, 1]: 0.9717382559173222 Prediction for [0, 1, 1, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 1, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 1, 1]: 0.9882074199299513 Prediction for [0, 1, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 1, 1]: 1.0009047154183124 Prediction for [0, 1, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 1, 0, 1]: 1.0060251513369316 Prediction for [0, 1, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 0, 0, 1]: 0.9992772409937345 Prediction for [0, 1, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 1, 1, 1]: 0.9940313730861083 Prediction for [0, 1, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 0, 0, 1]: 0.6114210701473386 Prediction for [0, 1, 1, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 1, 0, 1]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 1, 1, 1]: 0.18617672247726214 Prediction for [0, 1, 1, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 0, 1, 1]: 1.009648230629593 Prediction for [0, 1, 1, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 1, 1, 1]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 0, 0, 1]: 0.9903749254970613 Prediction for [1, 0, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 1, 0, 1]: 0.003299527614217812 Prediction for [1, 0, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 1, 1, 1]: 0.9944588157043315 Prediction for [1, 0, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 1, 0, 1]: 1.0038817245799683 Prediction for [1, 0, 0, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 1, 1, 1]: 1.0097622139159244 Prediction for [1, 0, 0, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 0, 0, 1]: 0.001327405061337661 Prediction for [1, 0, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 1, 0, 1]: 1.0034214532504366 Prediction for [1, 0, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 1, 1, 1]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 0, 0, 1]: 1.0019759765421536 Prediction for [1, 0, 0, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 0, 1, 1]: 1.0026692260329328 Prediction for [1, 0, 0, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 1, 0, 1]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 1, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 0, 0, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 1, 0, 1]: 0.9913182367838012 Prediction for [1, 0, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 1, 0, 1]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 1, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 0, 0, 1]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 0, 1, 1]: 0.9884657828164292 Prediction for [1, 0, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 1, 0, 1]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 1, 1, 1]: 1.007706869050522 Prediction for [1, 0, 0, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 0, 0, 1]: 0.9905506184428328 Prediction for [1, 0, 0, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 1, 0, 1]: 0.9908097283399391 Prediction for [1, 0, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 1, 1, 1]: 0.018700973863153614 Prediction for [1, 0, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 1, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 1, 1, 1]: 0.010484141864332663 Prediction for [1, 0, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 0, 1, 1]: 0.9999368432780287 Prediction for [1, 0, 1, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 1, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 1, 1, 1]: 0.00894501653227886 Prediction for [1, 0, 1, 0, 1, 0, 0, 0, 0]: 6.325675827958399E-4 Prediction for [1, 0, 1, 0, 1, 0, 0, 0, 1]: 0.9926826333628851 Prediction for [1, 0, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 1, 0, 1]: 0.0011776294270866572 Prediction for [1, 0, 1, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 1, 1, 1]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 1, 1]: 1.0025469896244266 Prediction for [1, 0, 1, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 1, 0, 1]: 1.0009280034665604 Prediction for [1, 0, 1, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 1, 1, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 0, 0, 1]: 0.9815680022422706 Prediction for [1, 0, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 1, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 1, 1, 1]: 0.9921492505637959 Prediction for [1, 0, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 1, 1]: 1.0058506535338259 Prediction for [1, 0, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 1, 0, 1]: 0.9842785949786164 Prediction for [1, 0, 1, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 1, 1, 1]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 0, 1, 1]: 0.9860285790062422 Prediction for [1, 0, 1, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 1, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 1, 1, 1]: 1.0012687993220935 Prediction for [1, 1, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 0, 0, 1]: 3.6797827335055544E-4 Prediction for [1, 1, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 0, 1, 1]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 1, 0, 1]: 1.0067705093460706 Prediction for [1, 1, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 1, 1, 1]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 1, 0, 1]: 1.0074994256525693 Prediction for [1, 1, 0, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 1, 1, 1]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 0, 0, 1]: 0.9792758396862498 Prediction for [1, 1, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 0, 1, 1]: 0.027108220939364713 Prediction for [1, 1, 0, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 1, 0, 1]: 0.01103436325550744 Prediction for [1, 1, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 1, 1, 1]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 0, 0, 1]: 0.9900451173410119 Prediction for [1, 1, 0, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 1, 0, 1]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 1, 1, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 0, 0, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 0, 1, 1]: 1.0025522830201572 Prediction for [1, 1, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 0, 1]: 0.9729903417171206 Prediction for [1, 1, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 1, 0, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 1, 1, 1]: 1.008686034895221 Prediction for [1, 1, 0, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 0, 0, 1]: 1.360766414161855 Prediction for [1, 1, 0, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 1, 0, 1]: 0.20498420737336076 Prediction for [1, 1, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 1, 1, 1]: 0.8729569816038216 Prediction for [1, 1, 0, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 0, 1, 1]: 0.9954470605798269 Prediction for [1, 1, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 1, 0, 1]: 8.63413805419988E-4 Prediction for [1, 1, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 1, 1, 1]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 0, 0, 1]: 0.9951285994093197 Prediction for [1, 1, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 0, 1, 1]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 1, 0, 1]: 0.008758316115685894 Prediction for [1, 1, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 1, 1, 1]: 0.012906319551016399 Prediction for [1, 1, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 0, 0, 1]: 0.9958829827559148 Prediction for [1, 1, 1, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 1, 0, 1]: 1.0013555786723716 Prediction for [1, 1, 1, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 1, 1, 1]: 0.9934860996879324 Prediction for [1, 1, 1, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 0, 0, 1]: 0.002462085708445194 Prediction for [1, 1, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 0, 1, 1]: 1.0125432454301517 Prediction for [1, 1, 1, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 1, 0, 1]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 1, 1, 1]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 1, 1]: 0.008469765837671783 Prediction for [1, 1, 1, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 0, 1]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 1, 1]: 1.0039194342673046 Prediction for [1, 1, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 1, 1]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 1, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 1, 1, 1]: 1.007929690559581 Prediction for [1, 1, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 0, 1, 1]: 1.003705966757133 Prediction for [1, 1, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 1, 0, 1]: 0.0070895358138693965 Prediction for [1, 1, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 1, 1, 1, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 0, 1, 1]: 1.0103758625102754 Prediction for [1, 1, 1, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 1, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 0, 1, 1, 1]: 0.995827451133688 Prediction for [1, 1, 1, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 1, 0, 1]: 0.7202539629771696 Prediction for [1, 1, 1, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 1, 1, 1]: 0.0 BUILD SUCCESSFUL (total time: 1 minute 19 seconds) Edited July 14, 2023 by Dietmar 1
Dietmar Posted June 15, 2024 Author Posted June 15, 2024 I just have a crazy cool idea of a new KI. Take a look at this Neuron. In some kind it is more intelligent than human Neurons in brain. It uses the "All or Nothing" idea for to make a Neuron to fire (first threshold1). BUT: It has a second threshold2, so that it can solve with only such 3 Neurons the XOR problem. And everything with only positiv(!) weights Dietmar PS: My version of Netbeans 16 allows only 1,3 as input for testing for a double number instead of 1.3 package myneuron; import java.util.Scanner; public class Myneuron { private double threshold1; private double threshold2; public Myneuron() { threshold1 = 1.0; threshold2 = 5.0; } public int activate(double input) { if (input < threshold1) { return 0; } else if (input < threshold2) { return 1; } else { return 0; } } public static void main(String[] args) { Scanner scanner = new Scanner(System.in); Myneuron neuron = new Myneuron(); System.out.println("Test meines speziellen Neurons:"); System.out.print("Gib eine Kommazahl als Input für das Neuron ein: "); double input = scanner.nextDouble(); int output = neuron.activate(input); System.out.println("Antwort des Neurons: " + output); scanner.close(); } }
Dietmar Posted June 15, 2024 Author Posted June 15, 2024 (edited) I do an intensive test of those 3 of my Neurons, who make the XOR function without direct calculating XOR. Some thoughts about my idea: No noise at all, no vanishing gradient, always a clear signal, most easy calculation. The output of each Neuron is of type INTEGER. And it accepts any double values as input. Which means, this New Neuron and so this XOR is error tolerant as much as possible Dietmar PS: This program I test under Netbeans 16 and it works. package newneuron; import java.util.Scanner; public class Newneuron { // Inner class for Neuron public static class Neuron { private double lowerThreshold; private double upperThreshold; public Neuron(double lowerThreshold, double upperThreshold) { this.lowerThreshold = lowerThreshold; this.upperThreshold = upperThreshold; } public int activate(double input) { if (input >= lowerThreshold && input <= upperThreshold) { return 1; } else { return 0; } } } public static void main(String[] args) { // Create a Scanner object for user input Scanner scanner = new Scanner(System.in); // Define the neurons with thresholds 0.8 and 1.2 Neuron neuron1 = new Neuron(0.8, 1.2); Neuron neuron2 = new Neuron(0.8, 1.2); Neuron neuron3 = new Neuron(0.8, 1.2); // Prompt the user for input values System.out.print("Bitte gib einen Wert für Neuron1 ein: "); double input1 = scanner.nextDouble(); System.out.print("Bitte gib einen Wert für Neuron2 ein: "); double input2 = scanner.nextDouble(); // Activate the first two neurons with the respective inputs int output1 = neuron1.activate(input1); int output2 = neuron2.activate(input2); // The input to the third neuron is the sum of the outputs of the first two neurons double sumOutputs = output1 + output2; int xorOutput = neuron3.activate(sumOutputs); // Print the results System.out.println("Neuron1 Output: " + output1); System.out.println("Neuron2 Output: " + output2); System.out.println("Neuron3 Output: " + xorOutput); // Close the scanner scanner.close(); } } Edited June 16, 2024 by Dietmar
Dietmar Posted June 16, 2024 Author Posted June 16, 2024 I just make a new XOR program for my Neuron with two thresholds, see post above waaooh, Dietmar
Dietmar Posted June 16, 2024 Author Posted June 16, 2024 And here is the same program for XOR with my nice Neuron in Scratch. Oh my, here you can see at once, how bad "higher" program languages are Dietmar
Dietmar Posted November 17, 2024 Author Posted November 17, 2024 Until now, I have no idea of Python. But with the help of ChatGPT I succeed to make my Ki learn XOR. For this, I use 3 Neurons with 2 thresholds. Together with the Hebb learning (1949(!)), 2 neurons that fire together, wire together. And if they fire randomally to each other, the weights are lowered. I succeed via Hebb with XOR Dietmar PS: You can copy and paste this code into ideone.com choose Python 3 and hit run. import numpy as np # Initialisierung der Schwellenwerte lower_threshold = 0.8 upper_threshold = 1.2 # Lernrate learning_rate = 0.1 # Trainingsdaten (XOR-Problem) inputs = [[0, 0], [0, 1], [1, 0], [1, 1]] targets = [0, 1, 1, 0] # Trainingsloop mit max. 1000 Iterationen max_iterations = 1000 epoch = 0 network_trained = False start_weights = None final_weights = None all_epoch_outputs = [] # Store outputs of all epochs for debugging and transparency while epoch < max_iterations: epoch += 1 all_correct = True # Flag, um zu überprüfen, ob alle Ausgaben korrekt sind current_weights = np.random.rand(2) # Zufällige Startgewichte if epoch == 1: # Die erste Iteration nach Initialisierung start_weights = current_weights # Speichere die Startgewichte epoch_outputs = [] # To store outputs of this epoch for input_vector, target in zip(inputs, targets): # Berechnung der gewichteten Summe weighted_sum = np.dot(input_vector, current_weights) # Aktivierungsfunktion (einfache Schwellenwertfunktion) output = 1 if lower_threshold < weighted_sum < upper_threshold else 0 # Fehlerberechnung error = target - output # Wenn ein Fehler vorliegt, dann weise die Gewichte an if error != 0: all_correct = False current_weights += learning_rate * error * np.array(input_vector) epoch_outputs.append((input_vector, output, target)) # Save each iteration's output all_epoch_outputs.append(epoch_outputs) # Überprüfe, ob alle Ausgaben korrekt sind if all_correct: network_trained = True final_weights = current_weights # Speichere die finalen Gewichte break # Stoppe, wenn alle Ausgaben korrekt sind # Wenn XOR nach 100 Iterationen nicht gelernt wurde, setze neue zufällige Startgewichte if epoch % 100 == 0: # 100 statt 20 print(f"Nicht funktionierende Startgewichte: {start_weights}") start_weights = np.random.rand(2) # Setze neue Startgewichte if network_trained: print(f"Das Netzwerk hat XOR korrekt nach {epoch} Iterationen gelernt.") print(f"Die Working Startgewichte waren: {start_weights}") print(f"Die finalen Gewichte sind: {final_weights}") else: print(f"Das Netzwerk hat XOR nach {epoch} Iterationen nicht korrekt gelernt.") # Testen des Netzwerks nach den Lern-Iterationen print("\nFinal Test Output:") for input_vector, target in zip(inputs, targets): weighted_sum = np.dot(input_vector, final_weights) output = 1 if lower_threshold < weighted_sum < upper_threshold else 0 print(f"Input: {input_vector}, Target: {target}, Output: {output}") # Optionally, print out the outputs of each epoch for transparency print("\nEpoch Outputs:") for epoch_index, epoch_outputs in enumerate(all_epoch_outputs): print(f"Epoch {epoch_index + 1}:") for input_vector, output, target in epoch_outputs: print(f" Input: {input_vector}, Output: {output}, Target: {target}")
Dietmar Posted November 23, 2024 Author Posted November 23, 2024 (edited) This crazy program learns via Brute Force in an ultrashort time ALL 16 tables, that are possible for an input 0 or 1 into 2 different Neurons, means AND, OR, XOR etc, just all of them Dietmar import numpy as np from itertools import product # To generate all binary combinations and weight combinations # Initialisierung der Schwellenwerte lower_threshold = 0.8 upper_threshold = 1.2 # Trainingsdaten (Inputs für das XOR-Problem und andere) inputs = [[0, 0], [0, 1], [1, 0], [1, 1]] # Alle möglichen Zieltabellen (16 Kombinationen) all_possible_targets = list(product([0, 1], repeat=4)) # Mögliche Werte für die Gewichte (in Schritten von 0.1) weight_values = np.arange(-1.0, 1.1, 0.1) # Trainingsloop für jede mögliche Zieltabelle for table_index, targets in enumerate(all_possible_targets, start=1): print(f"\n=== Wahrheitstabelle {table_index}: Targets = {targets} ===") # Initialisieren der Startwerte bias_list = [0.0, 0.7, 0.9] # Bias nur mit den Werten 0.0, 0.7, 0.9 network_trained = False final_weights = None # Iterate over bias values for bias in bias_list: print(f"Versuch mit Bias {bias}:") # Teste alle Kombinationen der Gewichte for weight_combination in product(weight_values, repeat=2): current_weights = np.array(weight_combination) all_correct = True for input_vector, target in zip(inputs, targets): # Berechnung der gewichteten Summe inkl. Bias weighted_sum = np.dot(input_vector, current_weights) + bias # Aktivierungsfunktion (Schwellenwertfunktion mit zwei Schwellenwerten) output = 1 if lower_threshold < weighted_sum < upper_threshold else 0 # Überprüfe, ob die Ausgabe korrekt ist if target != output: all_correct = False break # Kein Erfolg mit diesen Gewichten; abbrechen # Wenn alle Ausgaben korrekt sind, speichere die Gewichte und Bias if all_correct: network_trained = True final_weights = current_weights break if network_trained: print(f"Das Netzwerk hat Wahrheitstabelle {table_index} erfolgreich gelernt.") print(f"Gewählte Gewichte: {final_weights}") print(f"Gewählter Bias: {bias}") break # Weiter zur nächsten Wahrheitstabelle if not network_trained: print(f"Das Netzwerk hat Wahrheitstabelle {table_index} nicht gelernt.") === Wahrheitstabelle 1: Targets = (0, 0, 0, 0) === Versuch mit Bias 0.0: Das Netzwerk hat Wahrheitstabelle 1 erfolgreich gelernt. Gewählte Gewichte: [-1. -1.] Gewählter Bias: 0.0 === Wahrheitstabelle 2: Targets = (0, 0, 0, 1) === Versuch mit Bias 0.0: Das Netzwerk hat Wahrheitstabelle 2 erfolgreich gelernt. Gewählte Gewichte: [0.1 0.8] Gewählter Bias: 0.0 === Wahrheitstabelle 3: Targets = (0, 0, 1, 0) === Versuch mit Bias 0.0: Das Netzwerk hat Wahrheitstabelle 3 erfolgreich gelernt. Gewählte Gewichte: [ 0.9 -1. ] Gewählter Bias: 0.0 === Wahrheitstabelle 4: Targets = (0, 0, 1, 1) === Versuch mit Bias 0.0: Das Netzwerk hat Wahrheitstabelle 4 erfolgreich gelernt. Gewählte Gewichte: [ 9.00000000e-01 -2.22044605e-16] Gewählter Bias: 0.0 === Wahrheitstabelle 5: Targets = (0, 1, 0, 0) === Versuch mit Bias 0.0: Das Netzwerk hat Wahrheitstabelle 5 erfolgreich gelernt. Gewählte Gewichte: [-1. 0.9] Gewählter Bias: 0.0 === Wahrheitstabelle 6: Targets = (0, 1, 0, 1) === Versuch mit Bias 0.0: Das Netzwerk hat Wahrheitstabelle 6 erfolgreich gelernt. Gewählte Gewichte: [-0.1 1. ] Gewählter Bias: 0.0 === Wahrheitstabelle 7: Targets = (0, 1, 1, 0) === Versuch mit Bias 0.0: Das Netzwerk hat Wahrheitstabelle 7 erfolgreich gelernt. Gewählte Gewichte: [0.9 0.9] Gewählter Bias: 0.0 === Wahrheitstabelle 8: Targets = (0, 1, 1, 1) === Versuch mit Bias 0.0: Versuch mit Bias 0.7: Das Netzwerk hat Wahrheitstabelle 8 erfolgreich gelernt. Gewählte Gewichte: [0.2 0.2] Gewählter Bias: 0.7 === Wahrheitstabelle 9: Targets = (1, 0, 0, 0) === Versuch mit Bias 0.0: Versuch mit Bias 0.7: Versuch mit Bias 0.9: Das Netzwerk hat Wahrheitstabelle 9 erfolgreich gelernt. Gewählte Gewichte: [-1. -1.] Gewählter Bias: 0.9 === Wahrheitstabelle 10: Targets = (1, 0, 0, 1) === Versuch mit Bias 0.0: Versuch mit Bias 0.7: Versuch mit Bias 0.9: Das Netzwerk hat Wahrheitstabelle 10 erfolgreich gelernt. Gewählte Gewichte: [-1. 1.] Gewählter Bias: 0.9 === Wahrheitstabelle 11: Targets = (1, 0, 1, 0) === Versuch mit Bias 0.0: Versuch mit Bias 0.7: Versuch mit Bias 0.9: Das Netzwerk hat Wahrheitstabelle 11 erfolgreich gelernt. Gewählte Gewichte: [-2.22044605e-16 -1.00000000e+00] Gewählter Bias: 0.9 === Wahrheitstabelle 12: Targets = (1, 0, 1, 1) === Versuch mit Bias 0.0: Versuch mit Bias 0.7: Versuch mit Bias 0.9: Das Netzwerk hat Wahrheitstabelle 12 erfolgreich gelernt. Gewählte Gewichte: [ 0.1 -0.1] Gewählter Bias: 0.9 === Wahrheitstabelle 13: Targets = (1, 1, 0, 0) === Versuch mit Bias 0.0: Versuch mit Bias 0.7: Versuch mit Bias 0.9: Das Netzwerk hat Wahrheitstabelle 13 erfolgreich gelernt. Gewählte Gewichte: [-1.00000000e+00 -2.22044605e-16] Gewählter Bias: 0.9 === Wahrheitstabelle 14: Targets = (1, 1, 0, 1) === Versuch mit Bias 0.0: Versuch mit Bias 0.7: Versuch mit Bias 0.9: Das Netzwerk hat Wahrheitstabelle 14 erfolgreich gelernt. Gewählte Gewichte: [-0.3 0.3] Gewählter Bias: 0.9 === Wahrheitstabelle 15: Targets = (1, 1, 1, 0) === Versuch mit Bias 0.0: Versuch mit Bias 0.7: Versuch mit Bias 0.9: Das Netzwerk hat Wahrheitstabelle 15 erfolgreich gelernt. Gewählte Gewichte: [0.1 0.3] Gewählter Bias: 0.9 === Wahrheitstabelle 16: Targets = (1, 1, 1, 1) === Versuch mit Bias 0.0: Versuch mit Bias 0.7: Versuch mit Bias 0.9: Das Netzwerk hat Wahrheitstabelle 16 erfolgreich gelernt. Gewählte Gewichte: [-2.22044605e-16 -2.22044605e-16] Gewählter Bias: 0.9 Edited November 23, 2024 by Dietmar
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now