Jump to content

Dietmar

Member
  • Posts

    1,120
  • Joined

  • Last visited

  • Days Won

    5
  • Donations

    0.00 USD 
  • Country

    Germany

Everything posted by Dietmar

  1. @Mov AX, 0xDEAD @Damnation makes all ready so I think, that for the i219 only this function is missed. I tested with these ndis6 files from Longhorn 5048 and this special ntoskrn8.sys some Intel lan drivers, all work under XP SP3 Dietmar
  2. @Mov AX, 0xDEAD Can you add the missing function for Intel i219 win7 bit32 lan driver NdisGroupActiveProcessorCount so that I can test, if this lan i219 works with Longhorn 5048? If it does not work, I think the whole idea will not work. But may be, that we are lucky Dietmar
  3. @Mov AX, 0xDEAD The Vista Longhorn version 5048 has ndis6. I tested lan driver from XP bit32 for i210 and i217. Both work with 5048 ndis6. But the i219 win7 bit32 lan driver has one missing dependency to the ndis6 from Longhorn 5048 Dietmar
  4. 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.
  5. @Mark-XP I have no idea what is going wrong. I noticed, that Neuroph is unstable, so I make all by hand Dietmar
  6. @Mark-XP Yes, it is like with Taylor Polynom. When you cut off some points, it runs out of being valid. But as long as you stay as close as possible to the interesting points, it gives you some extra information. After long running this program, it looks, as if you need always "1" as prime, but not "2" Dietmar
  7. @Mark-XP It works. Now I have excluded from training the prime numbers 179 and 181. There is some magic, look at this result Dietmar Prediction for [1, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 1]: 0.9999999999936455 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]: 0.35479505025788205 <------------- 179 Prediction for [1, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 1]: 0.35752233986543436 <------------- 181 Prediction for [1, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 1]: 0.0 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]: 0.9999999999970552 Prediction for [1, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 0, 1]: 0.9999999999978786 Prediction for [1, 1, 0, 0, 0, 0, 1, 0]: 0.0
  8. @Mark-XP I think, that this will work for to exclude number 1 and number 4 from training Dietmar 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 == 1 || i == 4) { continue; } double[] input = trainingInputs[i]; double target = trainingTargets[i];
  9. @Mark-XP Is it really that magic or do I something wrong in EXCLUDING all those numbers from training? Because the program repairs everything to 100% correct Dietmar for (int i = 0; i < trainingInputs.length; i++) { if (trainingInputs[i][0] != 211 && trainingInputs[i][0] != 212 && trainingInputs[i][0] != 213 && trainingInputs[i][0] != 214 && trainingInputs[i][0] != 215 && trainingInputs[i][0] != 216 && trainingInputs[i][0] != 217 && trainingInputs[i][0] != 218 && trainingInputs[i][0] != 219 && trainingInputs[i][0] != 220 && trainingInputs[i][0] != 221 && trainingInputs[i][0] != 222 && trainingInputs[i][0] != 223 && trainingInputs[i][0] != 224 && trainingInputs[i][0] != 225&& trainingInputs[i][0] != 226 && trainingInputs[i][0] != 227 && trainingInputs[i][0] != 228 && trainingInputs[i][0] != 229 && trainingInputs[i][0] != 230 && trainingInputs[i][0] != 231 && trainingInputs[i][0] != 232 && trainingInputs[i][0] != 233 && trainingInputs[i][0] != 234 && trainingInputs[i][0] != 235 && trainingInputs[i][0] != 236 && trainingInputs[i][0] != 237 && trainingInputs[i][0] != 238 && trainingInputs[i][0] != 239 && trainingInputs[i][0] != 240 && trainingInputs[i][0] != 241 && trainingInputs[i][0] != 242 && trainingInputs[i][0] != 243 && trainingInputs[i][0] != 244 && trainingInputs[i][0] != 245 && trainingInputs[i][0] != 246 && trainingInputs[i][0] != 247 && trainingInputs[i][0] != 248 && trainingInputs[i][0] != 249 && trainingInputs[i][0] != 250 && trainingInputs[i][0] != 251 && trainingInputs[i][0] != 252 && trainingInputs[i][0] != 253 && trainingInputs[i][0] != 254 && trainingInputs[i][0] != 255) { double[] input = trainingInputs[i]; double target = trainingTargets[i]; Epoch 10000. Mean error: 0.013761853181815283 Epoch 20000. Mean error: 0.004436394551152869 Epoch 30000. Mean error: 0.0019123386251860676 Epoch 40000. Mean error: 9.306602545905893E-4 Epoch 50000. Mean error: 5.141772173888018E-4 Epoch 60000. Mean error: 2.821186928938447E-4 Epoch 70000. Mean error: 1.508378952461119E-4 Epoch 80000. Mean error: 8.082572640045874E-5 Epoch 90000. Mean error: 4.316245807346151E-5 Epoch 100000. Mean error: 2.1495164564763075E-5 Epoch 110000. Mean error: 1.0706271608133646E-5 Epoch 120000. Mean error: 5.2215680429780436E-6 Epoch 130000. Mean error: 2.542432665413603E-6 Epoch 140000. Mean error: 1.2270160208784432E-6 Epoch 150000. Mean error: 5.84331351670071E-7 Epoch 160000. Mean error: 2.7341594450850186E-7 Epoch 170000. Mean error: 1.259037745722232E-7 Epoch 180000. Mean error: 5.686962593191134E-8 Epoch 190000. Mean error: 2.5281081341727448E-8 Epoch 200000. Mean error: 1.1029211150480328E-8 Prediction for [0, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 0, 1]: 0.9998552064378066 Prediction for [0, 0, 0, 0, 0, 0, 1, 0]: 0.9999981980754573 Prediction for [0, 0, 0, 0, 0, 0, 1, 1]: 0.9999665775075819 Prediction for [0, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 1]: 0.9999249127391208 Prediction for [0, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 1, 1]: 1.000015790609996 Prediction for [0, 0, 0, 0, 1, 0, 0, 0]: 4.607743658402441E-6 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]: 0.999967509445554 Prediction for [0, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 0, 1]: 1.0000587030697794 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.0001184787545911 Prediction for [0, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 1, 1]: 0.9999721296956876 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]: 1.0000320023879805 Prediction for [0, 0, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 0, 1]: 2.6237465342360267E-5 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.000065687199663 Prediction for [0, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 1, 1]: 1.0000586110238747 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]: 1.7897633077357256E-5 Prediction for [0, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 0, 1]: 0.9999249745786815 Prediction for [0, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 1]: 5.700748834081004E-5 Prediction for [0, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 1]: 0.999990151336934 Prediction for [0, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 1, 1]: 1.0001013046940173 Prediction for [0, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 0, 1]: 1.456675864597301E-5 Prediction for [0, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 1, 1]: 0.9999403685441526 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]: 1.0000081064258306 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]: 1.0000087580749821 Prediction for [0, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 0, 1]: 0.9999749485773969 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]: 1.2902614773491194E-5 Prediction for [0, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 1, 1]: 1.0000440803277686 Prediction for [0, 1, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 0, 1]: 4.5182928430254066E-5 Prediction for [0, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 1, 1]: 1.0000656916849726 Prediction for [0, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 0, 1]: 1.0000501070989714 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.999856267889315 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.999986162644245 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.9999606044972917 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]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 1]: 1.0000315884560482 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.9999866513100956 Prediction for [0, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 1]: 0.9999502300521703 Prediction for [0, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 1]: 0.9998970548806126 Prediction for [0, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 1]: 0.9997636214066983 Prediction for [0, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 1]: 3.672648276511481E-4 Prediction for [0, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 1]: 0.999975745798993 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]: 0.0 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]: 5.10060797580536E-5 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.9999711728267535 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]: 1.0001011632210368 Prediction for [1, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 0, 1]: 2.1498885796100708E-4 Prediction for [1, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 1, 1]: 5.639744095382593E-4 Prediction for [1, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 0, 1]: 1.0001750123924615 Prediction for [1, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 1, 1]: 1.0001032376133185 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]: 1.0001379783739037 Prediction for [1, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 1, 1]: 1.0001563789090673 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]: 1.0001283816760012 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]: 1.0000901483882112 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.9996806792405923 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]: 5.584586628071264E-5 Prediction for [1, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 1]: 0.9999271860359712 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]: 0.9999529534472646 Prediction for [1, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 1]: 1.0000038892241698 Prediction for [1, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 1]: 0.0 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]: 0.9999769155484038 Prediction for [1, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 0, 1]: 0.999467293162985 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]: 0.9997709697158451 Prediction for [1, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 1, 1]: 0.9991634599908605 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]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 1]: 0.9998207867828033 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.999755344991017 Prediction for [1, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 0, 1]: 2.456548222435906E-4 Prediction for [1, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 1, 1]: 0.9998103012363052 Prediction for [1, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 0, 1]: 1.000008443419425 Prediction for [1, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 1, 1]: 3.961633849602908E-4 Prediction for [1, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 0, 1]: 1.000013630852953 Prediction for [1, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 1, 1]: 2.0364601871936117E-4 Prediction for [1, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 1]: 4.317247726761675E-4 Prediction for [1, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 1]: 1.0000305768307247 Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: 0.9997772507539702 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.9999390212900362 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]: 3.341041474858031E-5 BUILD SUCCESSFUL (total time: 42 seconds)
  10. @Mark-XP Here you can see, that all the missed Primes are regenerated. It is a little bit Magic.. The training only happens for the input values that are not equal to 241, 251, or 239. Dietmar package multiof3; import java.util.Arrays; import java.util.Random; public class Multiof3 { private final int numInputNodes = 8; private final int numHiddenNodes = 32; private final int numOutputNodes = 1; private final double learningRate = 0.02; private final int numEpochs = 200000; private final double errorThreshold = 0.000000000000000000000000000001; private double[][] inputToHiddenWeights; private double[][] hiddenToOutputWeights; private double[] hiddenBiases; private double[] outputBiases; public Multiof3() { Random random = new Random(); 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++) { if (trainingInputs[i][0] != 241 && trainingInputs[i][0] != 251 && trainingInputs[i][0] != 239) { // Check if the first element is not 251 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); } } } 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]); } 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, 1, 1, 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. Mean error: 0.003808585503429578 Epoch 20000. Mean error: 0.0010577075838637943 Epoch 30000. Mean error: 3.741219881395637E-4 Epoch 40000. Mean error: 1.3142376589993864E-4 Epoch 50000. Mean error: 4.659144604532638E-5 Epoch 60000. Mean error: 1.6601544252988132E-5 Epoch 70000. Mean error: 5.914518503609392E-6 Epoch 80000. Mean error: 2.105004169189538E-6 Epoch 90000. Mean error: 7.489596407242758E-7 Epoch 100000. Mean error: 2.6636013881726364E-7 Epoch 110000. Mean error: 9.478309897230993E-8 Epoch 120000. Mean error: 3.3747368194445706E-8 Epoch 130000. Mean error: 1.1996065678328438E-8 Epoch 140000. Mean error: 4.273375111236205E-9 Epoch 150000. Mean error: 1.5190910450396608E-9 Epoch 160000. Mean error: 5.410631555292937E-10 Epoch 170000. Mean error: 1.923743887628983E-10 Epoch 180000. Mean error: 6.83844557165148E-11 Epoch 190000. Mean error: 2.4322644441997302E-11 Epoch 200000. Mean error: 8.651056671620701E-12 Prediction for [0, 0, 0, 0, 0, 0, 0, 0]: 1.1493876694856908E-7 Prediction for [0, 0, 0, 0, 0, 0, 0, 1]: 0.9999997214335633 Prediction for [0, 0, 0, 0, 0, 0, 1, 0]: 0.9999997767738038 Prediction for [0, 0, 0, 0, 0, 0, 1, 1]: 0.9999996846470631 Prediction for [0, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 1]: 0.999998323124843 Prediction for [0, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 1, 1]: 1.0000016782798429 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.0000000260009656 Prediction for [0, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 0, 1]: 0.9999990111539732 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]: 0.999999186662796 Prediction for [0, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 1, 1]: 1.0000000304334704 Prediction for [0, 0, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 0, 1]: 4.577195349630969E-6 Prediction for [0, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 1, 1]: 0.9999986892402796 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.0000001285452695 Prediction for [0, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 1, 1]: 0.999997733560584 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]: 0.9999978297881655 Prediction for [0, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 1]: 1.0000010700464679 Prediction for [0, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 1, 1]: 0.999998795974606 Prediction for [0, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 0, 1]: 2.2581914198571695E-5 Prediction for [0, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 1, 1]: 0.9999956198310961 Prediction for [0, 0, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 0, 1]: 2.524589107544273E-6 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.9999977571951695 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]: 1.0000003492365814 Prediction for [0, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 0, 1]: 0.9999929604453437 Prediction for [0, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 1, 1]: 1.2817688045840825E-5 Prediction for [0, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 1, 0]: 7.9571670941192E-7 Prediction for [0, 1, 0, 0, 0, 0, 1, 1]: 1.0000011571990652 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.9999998754062742 Prediction for [0, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 0, 1]: 1.0000007511885223 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]: 1.000000559910793 Prediction for [0, 1, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 0, 1]: 6.175761815274683E-7 Prediction for [0, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 1, 1]: 1.0000002122535003 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]: 1.0000007531311845 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]: 2.5926466582504304E-6 Prediction for [0, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 1]: 0.9999986429045669 Prediction for [0, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 1, 1]: 2.2767656437938655E-6 Prediction for [0, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 0, 1]: 1.0000029157829935 Prediction for [0, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 1]: 0.9999994387787101 Prediction for [0, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 1]: 1.4328173822963919E-6 Prediction for [0, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 1]: 0.999999442836751 Prediction for [0, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 1]: 0.9999952662182496 Prediction for [0, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 1]: 5.123501170878342E-6 Prediction for [0, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 1]: 0.9999992365687822 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]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 1, 1]: 1.5039353107315634E-6 Prediction for [0, 1, 1, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 0, 1]: 1.705846051747173E-6 Prediction for [0, 1, 1, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 0, 1, 1]: 1.77885156005253E-6 Prediction for [0, 1, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 0, 1]: 1.9185412540867475E-6 Prediction for [0, 1, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 1, 1]: 0.9999853580808646 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]: 1.0000011723827145 Prediction for [1, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 0, 1]: 3.263457222235644E-7 Prediction for [1, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 1, 1, 1]: 1.989126314771994E-7 Prediction for [1, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 0, 1]: 0.9999994489167827 Prediction for [1, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 1, 1]: 0.9999993314046669 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]: 8.393365751313553E-7 Prediction for [1, 0, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 0, 1]: 1.0000033894006881 Prediction for [1, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 1, 1]: 0.9999988724773827 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.9999992029014997 Prediction for [1, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 1, 1]: 1.710285203015971E-6 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.9999993501222617 Prediction for [1, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 0, 1]: 2.224800710992625E-6 Prediction for [1, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 1, 1]: 0.999998379616095 Prediction for [1, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 0, 1]: 3.5844525458905707E-7 Prediction for [1, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 1, 1]: 4.954791028577432E-7 Prediction for [1, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 1]: 0.999991566260183 Prediction for [1, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 1, 1]: 8.104980422363184E-7 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]: 0.9999996687028503 Prediction for [1, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 1]: 0.9999991959922634 Prediction for [1, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 1]: 2.4911264742133454E-6 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]: 7.170702265302253E-7 Prediction for [1, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 0, 1]: 7.164493245337411E-7 Prediction for [1, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 1, 1]: 0.9999818125024408 Prediction for [1, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 0, 1]: 0.9999997430631502 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]: 0.9999956644098074 Prediction for [1, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 1, 1]: 0.9999986422881308 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]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 1]: 0.9999960839497368 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.9999973334165593 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]: 0.9999982993061676 Prediction for [1, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 0, 1]: 0.9999975892361321 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.9999977722867401 Prediction for [1, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 1, 1]: 0.0 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]: 0.999995227082995 Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: 0.9999963174205537 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.9999972955850365 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]: 2.0156052446873574E-5 BUILD SUCCESSFUL (total time: 52 seconds)
  11. @Mark-XP When training goes only from 0..250, the prime number at 251 is found. So, this is something interesting.. Dietmar Prediction for [1, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 1]: 0.9999860758802503 Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: 0.9998293754254401 Prediction for [1, 1, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 1, 1]: 4.1298992927707445E-5 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.7571411604482448 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: 50 seconds)
  12. @Mark-XP Yes. I see the same for the Multipliers of 3. So, all "Intelligence" is gone for me in any Neural Network. When you count the numbers of Variables, that are in this example with 8 Input Neurons, 26 Neurons in Hidden Layer and 1 Output Neuron, you see, that for 256 numbers you need 26 Neurons. With 25 works, when you have luck, sometimes. When you use less of half of the 256 numbers for training, the result is garbage. When you use more than half of data for training, the result becomes better for not trained number, primes, Dietmar PS: No intelligence at all in any Neural Network. Its behavior is much more like an Taylor Series. But Taylor is not bad. It makes very good predictions near the place of training. It is like a small window in unknown future, unknown numbers, unknown places.
  13. The error is about 10^-30 (!) . I think, when you use more exact varablen typ in Java, the error goes even much more down. So, there is some Magic in the Primes Dietmar public class Multiof3 { private final int numInputNodes = 8; private final int numHiddenNodes = 64; private final int numOutputNodes = 1; private final double learningRate = 0.02; private final int numEpochs = 200000; private final double errorThreshold = 0.00000000000000000000000000000001; run: Epoch 10000. Mean error: 1.9709204800408654E-8 Epoch 20000. Mean error: 1.5248792997769017E-14 Epoch 30000. Mean error: 1.2735893690568209E-20 Epoch 40000. Mean error: 1.0522858627981606E-26 Epoch 50000. Mean error: 9.187230511789512E-30 Epoch 60000. Mean error: 7.319165734434498E-30 Epoch 70000. Mean error: 1.2222598419172091E-29 Epoch 80000. Mean error: 7.106494920325538E-30 Epoch 90000. Mean error: 3.3912526777154975E-30 Epoch 100000. Mean error: 3.003331266463913E-30 Epoch 110000. Mean error: 1.6632731232044737E-29 Epoch 120000. Mean error: 1.446087808935248E-29 Epoch 130000. Mean error: 4.873358084949771E-30 Epoch 140000. Mean error: 3.0600348569984264E-30 Epoch 150000. Mean error: 5.668457197631275E-30 Epoch 160000. Mean error: 6.778117846276438E-30 Epoch 170000. Mean error: 3.4093022524130516E-30 Epoch 180000. Mean error: 1.1896342877327355E-29 Epoch 190000. Mean error: 7.757964798138825E-30 Epoch 200000. Mean error: 7.6522733739095E-30 Prediction for [0, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 0, 1]: 1.0000000000000027 Prediction for [0, 0, 0, 0, 0, 0, 1, 0]: 0.9999999999999972 Prediction for [0, 0, 0, 0, 0, 0, 1, 1]: 0.9999999999999946 Prediction for [0, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 1]: 0.9999999999999966 Prediction for [0, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 1, 1]: 0.9999999999999946 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.0000000000000013 Prediction for [0, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 0, 1]: 1.0000000000000049 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.0000000000000018 Prediction for [0, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 1, 1]: 0.9999999999999961 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.9999999999999941 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.0000000000000027 Prediction for [0, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 1, 1]: 0.9999999999999937 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]: 6.994405055138486E-15 Prediction for [0, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 0, 1]: 1.000000000000003 Prediction for [0, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 1]: 0.9999999999999928 Prediction for [0, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 1, 1]: 1.0000000000000013 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]: 0.9999999999999952 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]: 1.0000000000000036 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]: 1.000000000000004 Prediction for [0, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 0, 1]: 1.0000000000000018 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]: 5.329070518200751E-15 Prediction for [0, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 1, 1]: 1.0000000000000075 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]: 1.0000000000000098 Prediction for [0, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 0, 1]: 0.9999999999999948 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]: 1.0000000000000013 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]: 1.0000000000000036 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.9999999999999932 Prediction for [0, 1, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 1, 1]: 3.858025010572419E-15 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]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 1]: 0.9999999999999983 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.9999999999999986 Prediction for [0, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 1]: 0.9999999999999939 Prediction for [0, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 1]: 0.9999999999999921 Prediction for [0, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 1]: 0.9999999999999892 Prediction for [0, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 1]: 7.771561172376096E-16 Prediction for [0, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 1]: 1.0000000000000027 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]: 0.0 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]: 5.412337245047638E-15 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]: 9.43689570931383E-16 Prediction for [0, 1, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 1, 1, 1, 1, 1]: 0.9999999999999954 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.9999999999999972 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.999999999999997 Prediction for [1, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 1, 1]: 1.0000000000000027 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.9999999999999972 Prediction for [1, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 1, 1]: 1.0000000000000067 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.9999999999999957 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]: 1.0000000000000009 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.999999999999993 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.0000000000000049 Prediction for [1, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 1, 1]: 6.772360450213455E-15 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]: 0.999999999999995 Prediction for [1, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 1]: 0.999999999999995 Prediction for [1, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 1]: 0.0 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.000000000000003 Prediction for [1, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 0, 1]: 0.9999999999999932 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.0000000000000062 Prediction for [1, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 1, 1]: 0.9999999999999994 Prediction for [1, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 0, 1]: 4.829470157119431E-15 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]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 1]: 0.9999999999999941 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]: 2.248201624865942E-15 Prediction for [1, 1, 0, 1, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 0, 1, 1]: 2.9976021664879227E-15 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.9999999999999986 Prediction for [1, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 0, 1]: 7.965850201685498E-15 Prediction for [1, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 1, 1]: 0.9999999999999954 Prediction for [1, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 0, 1]: 0.9999999999999977 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]: 1.0000000000000013 Prediction for [1, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 1]: 3.83026943495679E-15 Prediction for [1, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 1]: 0.9999999999999963 Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: 0.9999999999999915 Prediction for [1, 1, 1, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 1, 1]: 1.887379141862766E-15 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]: 4.3298697960381105E-15 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.9999999999999981 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: 1 minute 42 seconds)
  14. @Mark-XP And this one is for the primes, waaaoooohhhh Dietmar package multiof3; import java.util.Arrays; import java.util.Random; 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() { Random random = new Random(); 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++) { 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); } } } 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]); } 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, 1, 1, 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. Mean error: 0.02287697440085921 Epoch 20000. Mean error: 0.014166625707716164 Epoch 30000. Mean error: 0.009129459849268452 Epoch 40000. Mean error: 0.006841828176043919 Epoch 50000. Mean error: 0.00567235761602261 Epoch 60000. Mean error: 0.004962131900172744 Epoch 70000. Mean error: 0.004497326734313791 Epoch 80000. Mean error: 0.004275845259380384 Epoch 90000. Mean error: 0.0041453052883488085 Epoch 100000. Mean error: 0.004062262123553563 Epoch 110000. Mean error: 0.004009026698502614 Epoch 120000. Mean error: 0.003968548498876892 Epoch 130000. Mean error: 0.003945200641862105 Epoch 140000. Mean error: 0.003930767972347983 Epoch 150000. Mean error: 0.00392177340097129 Epoch 160000. Mean error: 0.003916138888637087 Epoch 170000. Mean error: 0.003912588636981584 Epoch 180000. Mean error: 0.003910307713603723 Epoch 190000. Mean error: 0.003908885306420438 Epoch 200000. Mean error: 0.003907975041400942 Prediction for [0, 0, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 0, 1]: 1.0002396760102368 Prediction for [0, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 1, 1]: 1.000073549804653 Prediction for [0, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 1]: 1.0001648629047235 Prediction for [0, 0, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 1, 1]: 0.9999256290123881 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.0001481342838092 Prediction for [0, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 0, 1]: 0.9999877850696732 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.0000288093042053 Prediction for [0, 0, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 1, 1]: 0.9997639084790277 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]: 1.0001190831863198 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]: 0.9999319677714649 Prediction for [0, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 1, 1]: 1.0003404389083057 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.0000475454581501 Prediction for [0, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 1]: 0.9996586371051661 Prediction for [0, 0, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 1, 1]: 1.0000028179007723 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]: 0.9995298039153093 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]: 1.000053063623958 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.9994418900661293 Prediction for [0, 0, 1, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 0, 1]: 0.9985201195558622 Prediction for [0, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 1, 1]: 8.29103443267698E-4 Prediction for [0, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 1, 1]: 0.9999782810841431 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.9999056375664708 Prediction for [0, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 0, 1]: 0.9998720318399794 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.9985244522237924 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.999698882074032 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.9997755881672816 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]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 1]: 0.9991710505573721 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]: 1.0000549707847384 Prediction for [0, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 1]: 0.9912238113591538 Prediction for [0, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 1]: 8.873951351509035E-4 Prediction for [0, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 1]: 0.9989553071131994 Prediction for [0, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 1]: 0.9987057794724432 Prediction for [0, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 1]: 0.007308804190367724 Prediction for [0, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 1]: 0.999810972353874 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]: 0.0 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.0011432086006193387 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.9998262392016439 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]: 1.0002643177127801 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]: 2.9922117926517444E-5 Prediction for [1, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 0, 1]: 1.0000109097269831 Prediction for [1, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 1, 1]: 1.000053838844293 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]: 5.5847984548051954E-5 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.9998508359008422 Prediction for [1, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 0, 1, 1, 1]: 0.999589947501633 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]: 2.807210240041158E-4 Prediction for [1, 0, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 0, 1]: 1.0001931269944295 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]: 2.3369076458656934E-4 Prediction for [1, 0, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 1, 1]: 1.0000530463166948 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.9984847704618565 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.0012304104588602982 Prediction for [1, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 1]: 0.9988902305503888 Prediction for [1, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 1, 1]: 0.0013929410989526048 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.0002552991372369 Prediction for [1, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 1]: 1.0002735125659727 Prediction for [1, 0, 1, 1, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 1]: 0.0 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.0016007416738244018 Prediction for [1, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 1, 1]: 0.9992947996206096 Prediction for [1, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 0, 1]: 1.0001053458187812 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]: 0.9995775815180679 Prediction for [1, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 1, 1]: 1.0008752175214708 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]: 7.62632073844749E-4 Prediction for [1, 1, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 1, 1]: 6.25783094595711E-4 Prediction for [1, 1, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 0, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 1]: 1.0001554066923442 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]: 3.4988672418911904E-4 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]: 7.196000341442854E-4 Prediction for [1, 1, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 0, 1, 1, 1, 1, 1]: 0.9997377076301417 Prediction for [1, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 0, 1]: 0.005120553154234209 Prediction for [1, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 1, 1]: 0.9993977119139466 Prediction for [1, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 0, 1]: 0.9967633518764378 Prediction for [1, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 1, 1]: 0.009537857931912974 Prediction for [1, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 0, 1]: 0.996080472054107 Prediction for [1, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 1, 1]: 8.731463822684304E-4 Prediction for [1, 1, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 1]: 0.005090637076019533 Prediction for [1, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 1]: 0.9924698020086469 Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: 0.9992275293460162 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]: 7.154212054905074E-4 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.9991975677567666 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]: 3.634046610150321E-4 BUILD SUCCESSFUL (total time: 40 seconds)
  15. @Mark-XP No, I make a mistake in the listing, I just correct. And you have to choose at least 5 runs Dietmar
  16. Hi, here is a new program, for to learn the multipliers of 3. This program uses ReLu everywhere. It learns the Multipliers from 3 from 0..255 numbers converted to Binary form. Now I understand, how Neural Network learns and make some "predictions" Dietmar package multiof3; import java.util.Arrays; import java.util.Random; public class Multiof3 { private final int numInputNodes = 8; private final int numHiddenNodes = 26; private final int numOutputNodes = 1; private final double learningRate = 0.01; private final int numEpochs = 100000; private final double errorThreshold = 0.001; private double[][] inputToHiddenWeights; private double[][] hiddenToOutputWeights; private double[] hiddenBiases; private double[] outputBiases; public Multiof3() { Random random = new Random(); 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++) { 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); } } } 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]); } 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 = { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1 }; 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. Mean error: 0.03320182397344079 Epoch 20000. Mean error: 0.015664910563958027 Epoch 30000. Mean error: 0.010995680121444898 Epoch 40000. Mean error: 0.007215736479517636 Epoch 50000. Mean error: 0.004671420467816973 Epoch 60000. Mean error: 0.0033333409994070725 Epoch 70000. Mean error: 0.002438821540547091 Epoch 80000. Mean error: 0.001797394851011058 Epoch 90000. Mean error: 0.0014285088523369675 Epoch 100000. Mean error: 0.0011159668898050722 Prediction for [0, 0, 0, 0, 0, 0, 0, 0]: 1.002249807094342 Prediction for [0, 0, 0, 0, 0, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 0, 1, 1]: 1.005775312107044 Prediction for [0, 0, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 0, 1]: 0.0 Prediction for [0, 0, 0, 0, 0, 1, 1, 0]: 1.0034494127090006 Prediction for [0, 0, 0, 0, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 0, 1]: 0.9975595819738396 Prediction for [0, 0, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 0, 1, 1]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 0, 0]: 1.0002228674093439 Prediction for [0, 0, 0, 0, 1, 1, 0, 1]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 0, 1, 1, 1, 1]: 0.9902095019746442 Prediction for [0, 0, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 1, 0, 0, 1, 0]: 1.0042265172554652 Prediction for [0, 0, 0, 1, 0, 0, 1, 1]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 0, 1]: 1.0003704405106806 Prediction for [0, 0, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 0, 0, 1, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 0, 0]: 0.9751408395568495 Prediction for [0, 0, 0, 1, 1, 0, 0, 1]: 0.0 Prediction for [0, 0, 0, 1, 1, 0, 1, 0]: 0.01649011799176181 Prediction for [0, 0, 0, 1, 1, 0, 1, 1]: 1.0099744674039748 Prediction for [0, 0, 0, 1, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 0, 1]: 0.0 Prediction for [0, 0, 0, 1, 1, 1, 1, 0]: 0.9863943579630314 Prediction for [0, 0, 0, 1, 1, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 0, 0, 0, 0, 0]: 0.21004743488120203 Prediction for [0, 0, 1, 0, 0, 0, 0, 1]: 0.9871866923531987 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]: 1.0055183578932958 Prediction for [0, 0, 1, 0, 0, 1, 0, 1]: 0.0 Prediction for [0, 0, 1, 0, 0, 1, 1, 0]: 0.007120716120785353 Prediction for [0, 0, 1, 0, 0, 1, 1, 1]: 1.00379851918703 Prediction for [0, 0, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 0, 1, 0]: 0.7938630246637777 Prediction for [0, 0, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 0, 1]: 0.9993393098917904 Prediction for [0, 0, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 0, 1, 0, 1, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 1, 0, 0, 0, 0]: 0.7572283242298994 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.9812761572917124 Prediction for [0, 0, 1, 1, 0, 1, 0, 0]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 0, 1]: 0.0 Prediction for [0, 0, 1, 1, 0, 1, 1, 0]: 0.9440805364880465 Prediction for [0, 0, 1, 1, 0, 1, 1, 1]: 0.0 Prediction for [0, 0, 1, 1, 1, 0, 0, 0]: 0.20689955481321753 Prediction for [0, 0, 1, 1, 1, 0, 0, 1]: 0.9468425725710206 Prediction for [0, 0, 1, 1, 1, 0, 1, 0]: 0.14114103381935905 Prediction for [0, 0, 1, 1, 1, 0, 1, 1]: 0.0643811102070515 Prediction for [0, 0, 1, 1, 1, 1, 0, 0]: 0.9906340356689181 Prediction for [0, 0, 1, 1, 1, 1, 0, 1]: 0.0 Prediction for [0, 0, 1, 1, 1, 1, 1, 0]: 0.03353389575501842 Prediction for [0, 0, 1, 1, 1, 1, 1, 1]: 1.0193903184820603 Prediction for [0, 1, 0, 0, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 0, 0, 0, 0, 1, 0]: 1.0035794665731315 Prediction for [0, 1, 0, 0, 0, 0, 1, 1]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 0, 1]: 0.994112527256279 Prediction for [0, 1, 0, 0, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 0, 1, 1, 1]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 0, 0]: 1.0118613803981313 Prediction for [0, 1, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 0, 0, 1, 0, 1, 1]: 0.9847468032479805 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]: 1.0151860264890478 Prediction for [0, 1, 0, 0, 1, 1, 1, 1]: 0.024533106135900873 Prediction for [0, 1, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 0, 0, 1]: 1.0080674607462212 Prediction for [0, 1, 0, 1, 0, 0, 1, 0]: 0.0024421401257046504 Prediction for [0, 1, 0, 1, 0, 0, 1, 1]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 0, 0]: 1.014429925095659 Prediction for [0, 1, 0, 1, 0, 1, 0, 1]: 0.012388465701141271 Prediction for [0, 1, 0, 1, 0, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 0, 1, 1, 1]: 1.0015320893551833 Prediction for [0, 1, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 0, 0, 1]: 0.008986893723130773 Prediction for [0, 1, 0, 1, 1, 0, 1, 0]: 0.988894984198776 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.9895108627880509 Prediction for [0, 1, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 0, 1, 1, 1, 1, 1]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 0, 0]: 1.009825663213511 Prediction for [0, 1, 1, 0, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 0, 1, 1]: 0.9969831815053549 Prediction for [0, 1, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 0, 1, 1, 0]: 1.0109661178659124 Prediction for [0, 1, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 0, 0]: 3.412585478788088E-4 Prediction for [0, 1, 1, 0, 1, 0, 0, 1]: 1.0048969950754518 Prediction for [0, 1, 1, 0, 1, 0, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 0, 0]: 1.0021185883167973 Prediction for [0, 1, 1, 0, 1, 1, 0, 1]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [0, 1, 1, 0, 1, 1, 1, 1]: 0.9933752855728635 Prediction for [0, 1, 1, 1, 0, 0, 0, 0]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 0, 1]: 0.0 Prediction for [0, 1, 1, 1, 0, 0, 1, 0]: 1.0282356842581613 Prediction for [0, 1, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [0, 1, 1, 1, 0, 1, 0, 0]: 0.005941201595739631 Prediction for [0, 1, 1, 1, 0, 1, 0, 1]: 0.99620809778544 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.8931867967531621 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]: 1.0150169212393112 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.9625024391184702 Prediction for [0, 1, 1, 1, 1, 1, 1, 1]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 0, 0]: 0.001812562085037328 Prediction for [1, 0, 0, 0, 0, 0, 0, 1]: 1.0075820389166497 Prediction for [1, 0, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 0, 0, 0, 0, 0, 1, 1]: 0.0021364805521089103 Prediction for [1, 0, 0, 0, 0, 1, 0, 0]: 1.0029599045528612 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.9904451241415937 Prediction for [1, 0, 0, 0, 1, 0, 0, 0]: 0.0037297400166580452 Prediction for [1, 0, 0, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 0, 0, 1, 0, 1, 0]: 0.9868293608071959 Prediction for [1, 0, 0, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 0, 0, 1, 1, 0, 1]: 1.0005750703927658 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.978185223696475 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.996672418245852 Prediction for [1, 0, 0, 1, 1, 0, 0, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 0, 0, 1]: 1.0098078328385265 Prediction for [1, 0, 0, 1, 1, 0, 1, 0]: 0.02614965193375296 Prediction for [1, 0, 0, 1, 1, 0, 1, 1]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 0, 0]: 1.021506800445949 Prediction for [1, 0, 0, 1, 1, 1, 0, 1]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 0, 1, 1, 1, 1, 1]: 0.9905850685320421 Prediction for [1, 0, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 0, 0, 1]: 0.026291252638558138 Prediction for [1, 0, 1, 0, 0, 0, 1, 0]: 0.9941147588590282 Prediction for [1, 0, 1, 0, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 0, 1]: 1.009095066550013 Prediction for [1, 0, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 0, 0, 1, 1, 1]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 0, 0]: 0.9663028405728395 Prediction for [1, 0, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 1, 0, 1, 0]: 0.02919126024439267 Prediction for [1, 0, 1, 0, 1, 0, 1, 1]: 0.9847873421545761 Prediction for [1, 0, 1, 0, 1, 1, 0, 0]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 0, 1]: 0.0 Prediction for [1, 0, 1, 0, 1, 1, 1, 0]: 0.9970769942890474 Prediction for [1, 0, 1, 0, 1, 1, 1, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 0, 0, 0]: 0.01585487948672304 Prediction for [1, 0, 1, 1, 0, 0, 0, 1]: 0.9825434600642078 Prediction for [1, 0, 1, 1, 0, 0, 1, 0]: 5.733499619120508E-5 Prediction for [1, 0, 1, 1, 0, 0, 1, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 0, 0]: 0.9745718337150491 Prediction for [1, 0, 1, 1, 0, 1, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 0, 1, 1, 0]: 0.02243720460008225 Prediction for [1, 0, 1, 1, 0, 1, 1, 1]: 0.9907022446975686 Prediction for [1, 0, 1, 1, 1, 0, 0, 0]: 0.012388250171380122 Prediction for [1, 0, 1, 1, 1, 0, 0, 1]: 0.0 Prediction for [1, 0, 1, 1, 1, 0, 1, 0]: 0.8601439621258544 Prediction for [1, 0, 1, 1, 1, 0, 1, 1]: 0.008443715075368896 Prediction for [1, 0, 1, 1, 1, 1, 0, 0]: 0.00656092875897496 Prediction for [1, 0, 1, 1, 1, 1, 0, 1]: 0.9780745437644223 Prediction for [1, 0, 1, 1, 1, 1, 1, 0]: 0.0 Prediction for [1, 0, 1, 1, 1, 1, 1, 1]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 0, 0]: 0.970924857927824 Prediction for [1, 1, 0, 0, 0, 0, 0, 1]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 0, 1, 1]: 1.0052769644182953 Prediction for [1, 1, 0, 0, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 0, 1]: 0.0 Prediction for [1, 1, 0, 0, 0, 1, 1, 0]: 0.9590540526744582 Prediction for [1, 1, 0, 0, 0, 1, 1, 1]: 0.02927320097632702 Prediction for [1, 1, 0, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 0, 1, 0, 0, 1]: 1.0035538352746003 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.9909433633924776 Prediction for [1, 1, 0, 0, 1, 1, 0, 1]: 0.0 Prediction for [1, 1, 0, 0, 1, 1, 1, 0]: 0.0011777992274741855 Prediction for [1, 1, 0, 0, 1, 1, 1, 1]: 0.993085311255697 Prediction for [1, 1, 0, 1, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 0, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 0, 1, 0]: 0.9963515065208348 Prediction for [1, 1, 0, 1, 0, 0, 1, 1]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 0, 0]: 0.0 Prediction for [1, 1, 0, 1, 0, 1, 0, 1]: 0.9877397234933212 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.9929770959632833 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.9943824528184289 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.9861277557175328 Prediction for [1, 1, 0, 1, 1, 1, 1, 1]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 0, 1]: 0.9818293603820227 Prediction for [1, 1, 1, 0, 0, 0, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 0, 1, 1]: 0.004688849263500661 Prediction for [1, 1, 1, 0, 0, 1, 0, 0]: 1.0032522995944633 Prediction for [1, 1, 1, 0, 0, 1, 0, 1]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 0, 1, 1, 1]: 0.9705504218666294 Prediction for [1, 1, 1, 0, 1, 0, 0, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 0, 1, 0, 1, 0]: 1.0079339023459069 Prediction for [1, 1, 1, 0, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 0, 0]: 0.0018277217158573222 Prediction for [1, 1, 1, 0, 1, 1, 0, 1]: 0.9965352241074292 Prediction for [1, 1, 1, 0, 1, 1, 1, 0]: 0.0 Prediction for [1, 1, 1, 0, 1, 1, 1, 1]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 0, 0]: 1.0369556161258267 Prediction for [1, 1, 1, 1, 0, 0, 0, 1]: 0.0 Prediction for [1, 1, 1, 1, 0, 0, 1, 0]: 0.015679304778673853 Prediction for [1, 1, 1, 1, 0, 0, 1, 1]: 0.9786961004714962 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]: 1.0181741748672017 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.9848654370142089 Prediction for [1, 1, 1, 1, 1, 0, 1, 0]: 0.04328380465776327 Prediction for [1, 1, 1, 1, 1, 0, 1, 1]: 0.0 Prediction for [1, 1, 1, 1, 1, 1, 0, 0]: 0.9962928146061278 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]: 1.0215433789014763 BUILD SUCCESSFUL (total time: 20 seconds)
  17. @Mark-XP Here is a new, really nice program for to find the Multipliers of 3. It uses ONLY the Java Standard Bibliothek. So it runs on any compi. In detail you can check and test via this program, how a Neural Network works. And you see also, what happens, when you give to the program a number, which it was not trained for. Oh...looks not so good for SkyNet with Terminator Dietmar package multiof3; import java.util.Arrays; import java.util.Random; import java.util.Random; public class Multiof3 { private final int numInputNodes = 3; private final int numHiddenNodes = 2; private final int numOutputNodes = 1; private final double learningRate = 0.1; private final int numEpochs = 200000; private final double errorThreshold = 0.01; private double[][] inputToHiddenWeights; private double[][] hiddenToOutputWeights; private double[] hiddenBiases; private double[] outputBiases; public Multiof3() { Random random = new Random(); 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 sigmoid(double x) { return 1.0 / (1.0 + Math.exp(-x)); } public double sigmoidDerivative(double x) { return sigmoid(x) * (1 - sigmoid(x)); } 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++) { 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] = sigmoid(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 = sigmoid(weightedSum + outputBiases[j]); } // Backward propagation double outputError = 0.5 * Math.pow(output - target, 2); // Mean squared error totalError += outputError; double outputDelta = (output - target) * sigmoidDerivative(output); for (int j = 0; j < numOutputNodes; j++) { outputBiases[j] -= learningRate * outputDelta; for (int k = 0; k < numHiddenNodes; k++) { hiddenToOutputWeights[k][j] -= learningRate * outputDelta * hiddenOutputs[k]; } } double[] hiddenDeltas = new double[numHiddenNodes]; for (int j = 0; j < numHiddenNodes; j++) { double weightedSum = 0.0; for (int k = 0; k < numOutputNodes; k++) { weightedSum += hiddenToOutputWeights[j][k] * outputDelta; } hiddenDeltas[j] = sigmoidDerivative(hiddenOutputs[j]) * weightedSum; } for (int j = 0; j < numHiddenNodes; j++) { hiddenBiases[j] -= learningRate * hiddenDeltas[j]; for (int k = 0; k < numInputNodes; k++) { inputToHiddenWeights[k][j] -= learningRate * hiddenDeltas[j] * input[k]; } } } totalError /= trainingInputs.length; if (epoch % 1000 == 0) { System.out.println("Epoch: " + epoch + ", Error: " + totalError); } if (totalError <= errorThreshold) { System.out.println("Training complete. Total error: " + totalError); break; } } } 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] = sigmoid(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 = sigmoid(weightedSum + outputBiases[j]); } return output; } public static void main(String[] args) { // Example usage of the neural network double[][] trainingInputs = {{0, 0, 0}, {0, 0, 1}, {0, 1, 0}, {0, 1, 1}, {1, 0, 0}, {1, 0, 1}, {1, 1, 0}, {1, 1, 1}}; double[] trainingTargets = {1, 0, 0, 1, 0, 0, 1, 0 }; Multiof3 nn = new Multiof3(); nn.train(trainingInputs, trainingTargets); System.out.println("Prediction for [0, 0, 0]: " + nn.predict(new double[]{0, 0, 0})); System.out.println("Prediction for [0, 0, 1]: " + nn.predict(new double[]{0, 0, 1})); System.out.println("Prediction for [0, 1, 0]: " + nn.predict(new double[]{0, 1, 0})); System.out.println("Prediction for [0, 1, 1]: " + nn.predict(new double[]{0, 1, 1})); System.out.println("Prediction for [1, 0, 0]: " + nn.predict(new double[]{1, 0, 0})); System.out.println("Prediction for [1, 0, 1]: " + nn.predict(new double[]{1, 0, 1})); System.out.println("Prediction for [1, 1, 0]: " + nn.predict(new double[]{1, 1, 0})); System.out.println("Prediction for [1, 1, 1]: " + nn.predict(new double[]{1, 1, 1})); } }
  18. Even with 1000 of data, a Neural Network has BIG problems, to understand, if a given number is a Multiplier of 3 or not Dietmar package bine; import org.neuroph.core.data.DataSet; import org.neuroph.core.data.DataSetRow; import org.neuroph.nnet.MultiLayerPerceptron; import org.neuroph.util.TransferFunctionType; import java.util.Scanner; public class Bine { private static final int INPUT_SIZE = 20; private static final int OUTPUT_SIZE = 2; private static final String YES_LABEL = "y"; private static final String NO_LABEL = "n"; public static void main(String[] args) { int[] multiplesOfThree = generateMultiplesOfThree(1000); // Create training set DataSet trainingSet = new DataSet(INPUT_SIZE, OUTPUT_SIZE); for (int i = 0; i < INPUT_SIZE; i++) { String binaryInput = padZeros(Integer.toBinaryString(multiplesOfThree[i])); double[] inputArray = convertToDoubleArray(binaryInput); double[] outputArray = {1, 0}; // default output is "yes" as all multiples of 3 are "yes" // Add training set row DataSetRow trainingSetRow = new DataSetRow(inputArray, outputArray); trainingSet.add(trainingSetRow); } // Create neural network MultiLayerPerceptron neuralNetwork = new MultiLayerPerceptron(TransferFunctionType.SIGMOID, INPUT_SIZE, 20,20,20, OUTPUT_SIZE); neuralNetwork.learn(trainingSet); System.out.println("Multiplier of 3 Classifier"); System.out.println("Enter a number between 0 and 1048575 (or 'q' to quit): "); Scanner scanner = new Scanner(System.in); while (scanner.hasNext()) { String input = scanner.nextLine(); if (input.equalsIgnoreCase("q")) { break; } try { int number = Integer.parseInt(input); String binaryInput = padZeros(Integer.toBinaryString(number)); double[] inputArray = convertToDoubleArray(binaryInput); neuralNetwork.setInput(inputArray); neuralNetwork.calculate(); double[] outputArray = neuralNetwork.getOutput(); String prediction = outputArray[0] > outputArray[1] ? YES_LABEL : NO_LABEL; System.out.println("Input: " + number); System.out.println("Binary Input: " + binaryInput); System.out.println("Output: " + outputArray[0] + " " + outputArray[1]); System.out.println("Prediction: " + prediction); System.out.print("Is " + number + " a multiplier of 3? (Enter 'yes' or 'no'): "); String actualLabel = scanner.nextLine().toLowerCase(); // Update the training set with the actual label provided by the user double[] actualOutput = {0, 0}; if (actualLabel.equals(YES_LABEL)) { actualOutput[0] = 1; } else if (actualLabel.equals(NO_LABEL)) { actualOutput[1] = 1; } else { System.out.println("Invalid input. Please enter 'yes' or 'no'."); continue; } trainingSet.add(new DataSetRow(inputArray, actualOutput)); neuralNetwork.learn(trainingSet); System.out.println("Enter a number between 0 and 1048575 (or 'q' to quit): "); } catch (NumberFormatException e) { System.out.println("Invalid input. Please enter a valid number or 'q' to quit."); } } System.out.println("Exiting..."); } private static int[] generateMultiplesOfThree(int count) { int[] multiples = new int[count]; for (int i = 0; i < count; i++) { multiples[i] = i * 3; } return multiples; } private static String padZeros(String binaryString) { int padSize = INPUT_SIZE - binaryString.length(); StringBuilder stringBuilder = new StringBuilder(); for (int i = 0; i < padSize; i++) { stringBuilder.append("0"); } stringBuilder.append(binaryString); return stringBuilder.toString(); } private static double[] convertToDoubleArray(String binaryString) { double[] doubleArray = new double[binaryString.length()]; for (int i = 0; i < binaryString.length(); i++) { doubleArray[i] = Double.parseDouble(String.valueOf(binaryString.charAt(i))); } return doubleArray; } } run: Multiplier of 3 Classifier Enter a number between 0 and 1048575 (or 'q' to quit): 0 Input: 0 Binary Input: 00000000000000000000 Output: 0.9100712334367754 0.09189905889860366 Prediction: y Is 0 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 1 Input: 1 Binary Input: 00000000000000000001 Output: 0.9199956082571938 0.08266183058418203 Prediction: y Is 1 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 1 Input: 1 Binary Input: 00000000000000000001 Output: 0.3337935010084839 0.6956108756117879 Prediction: n Is 1 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 2 Input: 2 Binary Input: 00000000000000000010 Output: 0.9796338688814583 0.01525102284028862 Prediction: y Is 2 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 3 Input: 3 Binary Input: 00000000000000000011 Output: 0.8238038968341835 0.17195128283031036 Prediction: y Is 3 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 4 Input: 4 Binary Input: 00000000000000000100 Output: 0.9822951015347582 0.016470688185103253 Prediction: y Is 4 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 5 Input: 5 Binary Input: 00000000000000000101 Output: 0.001050534727176706 0.9987121963998032 Prediction: n Is 5 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 6 Input: 6 Binary Input: 00000000000000000110 Output: 0.839733051941253 0.163455141466426 Prediction: y Is 6 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 7 Input: 7 Binary Input: 00000000000000000111 Output: 0.9422758274098985 0.06609906216555786 Prediction: y Is 7 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 7 Input: 7 Binary Input: 00000000000000000111 Output: 0.1353661273127858 0.8479548991014965 Prediction: n Is 7 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 8 Input: 8 Binary Input: 00000000000000001000 Output: 0.9927541716568125 0.009574226211425924 Prediction: y Is 8 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 9 Input: 9 Binary Input: 00000000000000001001 Output: 0.974322603589938 0.02800165260840982 Prediction: y Is 9 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 10 Input: 10 Binary Input: 00000000000000001010 Output: 0.003214245556632083 0.9974629414600507 Prediction: n Is 10 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 11 Input: 11 Binary Input: 00000000000000001011 Output: 0.9538310639638198 0.049426501469771754 Prediction: y Is 11 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 12 Input: 12 Binary Input: 00000000000000001100 Output: 0.9305042545208035 0.06093073932423666 Prediction: y Is 12 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 13 Input: 13 Binary Input: 00000000000000001101 Output: 0.031104660029981284 0.967017516492239 Prediction: n Is 13 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 14 Input: 14 Binary Input: 00000000000000001110 Output: 0.7584994116416115 0.23504684198291034 Prediction: y Is 14 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 15 Input: 15 Binary Input: 00000000000000001111 Output: 0.8893613013013443 0.10890092946550244 Prediction: y Is 15 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 16 Input: 16 Binary Input: 00000000000000010000 Output: 0.9916013043686388 0.008933010479803792 Prediction: y Is 16 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 16 Input: 16 Binary Input: 00000000000000010000 Output: 0.35652098277360933 0.5526217281816489 Prediction: n Is 16 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 17 Input: 17 Binary Input: 00000000000000010001 Output: 0.48630373725336073 0.5024843160185609 Prediction: n Is 17 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 18 Input: 18 Binary Input: 00000000000000010010 Output: 0.9261826400724928 0.08958856435275989 Prediction: y Is 18 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 19 Input: 19 Binary Input: 00000000000000010011 Output: 0.8620823020896886 0.163939531835348 Prediction: y Is 19 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 20 Input: 20 Binary Input: 00000000000000010100 Output: 0.3351872280028068 0.6478808694200352 Prediction: n Is 20 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 21 Input: 21 Binary Input: 00000000000000010101 Output: 0.7904427907287952 0.23576855466040111 Prediction: y Is 21 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 22 Input: 22 Binary Input: 00000000000000010110 Output: 0.8170613517651504 0.20645015903126232 Prediction: y Is 22 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 22 Input: 22 Binary Input: 00000000000000010110 Output: 0.22787401245457897 0.7441538560501173 Prediction: n Is 22 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 23 Input: 23 Binary Input: 00000000000000010111 Output: 0.1339085286870765 0.8469448145925296 Prediction: n Is 23 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 24 Input: 24 Binary Input: 00000000000000011000 Output: 0.8874061486258907 0.11497359351313596 Prediction: y Is 24 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 25 Input: 25 Binary Input: 00000000000000011001 Output: 0.15755045584912372 0.8091783496834866 Prediction: n Is 25 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 26 Input: 26 Binary Input: 00000000000000011010 Output: 0.03925126560699438 0.9715306109005235 Prediction: n Is 26 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 27 Input: 27 Binary Input: 00000000000000011011 Output: 0.9559097639458656 0.05095360729159218 Prediction: y Is 27 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 28 Input: 28 Binary Input: 00000000000000011100 Output: 0.45200690232813 0.5357941076078971 Prediction: n Is 28 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 29 Input: 29 Binary Input: 00000000000000011101 Output: 0.12687961662377373 0.8584768579494491 Prediction: n Is 29 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 30 Input: 30 Binary Input: 00000000000000011110 Output: 0.9224716526513721 0.0858270690719063 Prediction: y Is 30 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 31 Input: 31 Binary Input: 00000000000000011111 Output: 0.49774812656404066 0.5025265565285598 Prediction: n Is 31 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 32 Input: 32 Binary Input: 00000000000000100000 Output: 0.9359186285571272 0.08614560640060934 Prediction: y Is 32 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 33 Input: 33 Binary Input: 00000000000000100001 Output: 0.9603041500915385 0.047485514235209095 Prediction: y Is 33 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 34 Input: 34 Binary Input: 00000000000000100010 Output: 0.9239103288560171 0.07854883505186429 Prediction: y Is 34 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 34 Input: 34 Binary Input: 00000000000000100010 Output: 0.19781752980316994 0.7858325722826717 Prediction: n Is 34 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 35 Input: 35 Binary Input: 00000000000000100011 Output: 0.28770592455358457 0.7156871726928946 Prediction: n Is 35 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 36 Input: 36 Binary Input: 00000000000000100100 Output: 0.9236156143759313 0.08846758473491223 Prediction: y Is 36 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 37 Input: 37 Binary Input: 00000000000000100101 Output: 0.23446107024438664 0.8250653732662508 Prediction: n Is 37 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 38 Input: 38 Binary Input: 00000000000000100110 Output: 0.051438331817040515 0.9437063918873614 Prediction: n Is 38 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 39 Input: 39 Binary Input: 00000000000000100111 Output: 0.9762792364704111 0.028936103018579736 Prediction: y Is 39 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 40 Input: 40 Binary Input: 00000000000000101000 Output: 0.1432548644088406 0.8355017022220126 Prediction: n Is 40 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 41 Input: 41 Binary Input: 00000000000000101001 Output: 0.17347697719232452 0.8178385982490991 Prediction: n Is 41 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 42 Input: 42 Binary Input: 00000000000000101010 Output: 0.9392881001757781 0.05788579216431461 Prediction: y Is 42 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 43 Input: 43 Binary Input: 00000000000000101011 Output: 0.29258802916394 0.6875516289760418 Prediction: n Is 43 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 44 Input: 44 Binary Input: 00000000000000101100 Output: 0.035499036517101325 0.9602535581278479 Prediction: n Is 44 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 45 Input: 45 Binary Input: 00000000000000101101 Output: 0.9760318272683148 0.029261784923761934 Prediction: y Is 45 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 46 Input: 46 Binary Input: 00000000000000101110 Output: 0.040685573799271714 0.9537492032509323 Prediction: n Is 46 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 47 Input: 47 Binary Input: 00000000000000101111 Output: 0.11327853160003044 0.883969734357003 Prediction: n Is 47 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 48 Input: 48 Binary Input: 00000000000000110000 Output: 0.6700494087039256 0.3574408802320197 Prediction: y Is 48 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 49 Input: 49 Binary Input: 00000000000000110001 Output: 0.6253087315720828 0.4108396596288409 Prediction: y Is 49 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 49 Input: 49 Binary Input: 00000000000000110001 Output: 0.12875234268833807 0.8717714013421612 Prediction: n Is 49 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 50 Input: 50 Binary Input: 00000000000000110010 Output: 0.6459714506419655 0.36180099233049323 Prediction: y Is 50 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 51 Input: 51 Binary Input: 00000000000000110011 Output: 0.16347818046005394 0.8312737613229517 Prediction: n Is 51 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 51 Input: 51 Binary Input: 00000000000000110011 Output: 0.9160031128700459 0.09356523417958804 Prediction: y Is 51 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 52 Input: 52 Binary Input: 00000000000000110100 Output: 0.8718983144433389 0.14481795320289975 Prediction: y Is 52 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 53 Input: 53 Binary Input: 00000000000000110101 Output: 0.03712895375449015 0.9615538502928446 Prediction: n Is 53 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 54 Input: 54 Binary Input: 00000000000000110110 Output: 0.34792203463078675 0.6476806112182635 Prediction: n Is 54 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 54 Input: 54 Binary Input: 00000000000000110110 Output: 0.9337528194925984 0.0734701302415432 Prediction: y Is 54 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 55 Input: 55 Binary Input: 00000000000000110111 Output: 0.8401025073226862 0.17624247029627635 Prediction: y Is 55 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 56 Input: 56 Binary Input: 00000000000000111000 Output: 0.4376921127204153 0.5288647412543214 Prediction: n Is 56 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 57 Input: 57 Binary Input: 00000000000000111001 Output: 0.35784229098837006 0.639184495428392 Prediction: n Is 57 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 58 Input: 58 Binary Input: 00000000000000111010 Output: 0.3275547600857225 0.6365719335860395 Prediction: n Is 58 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 59 Input: 59 Binary Input: 00000000000000111011 Output: 0.5212998937295816 0.46370447443571056 Prediction: y Is 59 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 60 Input: 60 Binary Input: 00000000000000111100 Output: 0.49494094163395463 0.515164077408551 Prediction: n Is 60 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 61 Input: 61 Binary Input: 00000000000000111101 Output: 0.12983194965647718 0.8751486276898385 Prediction: n Is 61 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 62 Input: 62 Binary Input: 00000000000000111110 Output: 0.1354627962453532 0.8508357725879964 Prediction: n Is 62 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 63 Input: 63 Binary Input: 00000000000000111111 Output: 0.8580775772153315 0.1548940737326462 Prediction: y Is 63 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 64 Input: 64 Binary Input: 00000000000001000000 Output: 0.6689906035307732 0.28523305336324334 Prediction: y Is 64 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 64 Input: 64 Binary Input: 00000000000001000000 Output: 0.09024607528015935 0.8855227387349809 Prediction: n Is 64 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 65 Input: 65 Binary Input: 00000000000001000001 Output: 0.0014028229343147122 0.9979661620811804 Prediction: n Is 65 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 66 Input: 66 Binary Input: 00000000000001000010 Output: 0.071277062085114 0.9316594962445945 Prediction: n Is 66 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 66 Input: 66 Binary Input: 00000000000001000010 Output: 0.7639158273279077 0.23643134493428689 Prediction: y Is 66 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 67 Input: 67 Binary Input: 00000000000001000011 Output: 0.32931192178485597 0.6249807256144181 Prediction: n Is 67 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 68 Input: 68 Binary Input: 00000000000001000100 Output: 0.0015278707240816741 0.997851621652362 Prediction: n Is 68 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 69 Input: 69 Binary Input: 00000000000001000101 Output: 0.004642258291229637 0.9960405384602112 Prediction: n Is 69 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 69 Input: 69 Binary Input: 00000000000001000101 Output: 0.05291105727425499 0.9650080807586029 Prediction: n Is 69 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 69 Input: 69 Binary Input: 00000000000001000101 Output: 0.6308213984022305 0.3873806565698832 Prediction: y Is 69 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 70 Input: 70 Binary Input: 00000000000001000110 Output: 0.11363700854908698 0.8758080479624577 Prediction: n Is 70 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 400000 Input: 400000 Binary Input: 01100001101010000000 Output: 0.4832064917528005 0.4811556109134067 Prediction: y Is 400000 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 400001 Input: 400001 Binary Input: 01100001101010000001 Output: 0.0036193370555938245 0.9946507642044927 Prediction: n Is 400001 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 400002 Input: 400002 Binary Input: 01100001101010000010 Output: 0.7446095173248048 0.23528279571892657 Prediction: y Is 400002 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 400003 Input: 400003 Binary Input: 01100001101010000011 Output: 0.05894585339564528 0.9372440386296929 Prediction: n Is 400003 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 400004 Input: 400004 Binary Input: 01100001101010000100 Output: 0.004140042080300098 0.9940283829617482 Prediction: n Is 400004 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 400005 Input: 400005 Binary Input: 01100001101010000101 Output: 0.14724910196008825 0.8341763303972134 Prediction: n Is 400005 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 400006 Input: 400006 Binary Input: 01100001101010000110 Output: 0.04719732699802866 0.9523921755461555 Prediction: n Is 400006 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 400007 Input: 400007 Binary Input: 01100001101010000111 Output: 0.08964804980246287 0.8901720297744107 Prediction: n Is 400007 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 400008 Input: 400008 Binary Input: 01100001101010001000 Output: 0.8926745955166815 0.09599591040932905 Prediction: y Is 400008 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 400009 Input: 400009 Binary Input: 01100001101010001001 Output: 0.08320620848618612 0.9122336408276123 Prediction: n Is 400009 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 900000 Input: 900000 Binary Input: 11011011101110100000 Output: 0.006660058988903214 0.9932227829445179 Prediction: n Is 900000 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 900000 Input: 900000 Binary Input: 11011011101110100000 Output: 0.9947426011094758 0.005870490518981226 Prediction: y Is 900000 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 900001 Input: 900001 Binary Input: 11011011101110100001 Output: 0.9945251541678684 0.006566273958997189 Prediction: y Is 900001 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 900002 Input: 900002 Binary Input: 11011011101110100010 Output: 0.005198558641792289 0.9947649705403714 Prediction: n Is 900002 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 900003 Input: 900003 Binary Input: 11011011101110100011 Output: 0.05779073219580073 0.9457906343599145 Prediction: n Is 900003 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 900003 Input: 900003 Binary Input: 11011011101110100011 Output: 0.9899582052817851 0.011386698089575481 Prediction: y Is 900003 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 900004 Input: 900004 Binary Input: 11011011101110100100 Output: 0.16576791749479478 0.8626139713512534 Prediction: n Is 900004 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 900005 Input: 900005 Binary Input: 11011011101110100101 Output: 0.9514640691115387 0.05356315464296517 Prediction: y Is 900005 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 900006 Input: 900006 Binary Input: 11011011101110100110 Output: 0.9553406282490174 0.052071081041834284 Prediction: y Is 900006 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 900007 Input: 900007 Binary Input: 11011011101110100111 Output: 0.019674569372234017 0.9831333704771245 Prediction: n Is 900007 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 900008 Input: 900008 Binary Input: 11011011101110101000 Output: 0.0757328021477335 0.9238494722865295 Prediction: n Is 900008 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 900009 Input: 900009 Binary Input: 11011011101110101001 Output: 0.9441941605886921 0.0629870673122703 Prediction: y Is 900009 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit): 1000000 Input: 1000000 Binary Input: 11110100001001000000 Output: 0.0035819148391924077 0.996487210875288 Prediction: n Is 1000000 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 1000001 Input: 1000001 Binary Input: 11110100001001000001 Output: 0.9204871456593733 0.08389017722343028 Prediction: y Is 1000001 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 1000001 Input: 1000001 Binary Input: 11110100001001000001 Output: 0.31750751148746975 0.6944189104683715 Prediction: n Is 1000001 a multiplier of 3? (Enter 'yes' or 'no'): n Enter a number between 0 and 1048575 (or 'q' to quit): 1000002 Input: 1000002 Binary Input: 11110100001001000010 Output: 0.5387750063738229 0.4577310559747821 Prediction: y Is 1000002 a multiplier of 3? (Enter 'yes' or 'no'): y Enter a number between 0 and 1048575 (or 'q' to quit):
  19. @Mark-XP After hard work today, I make this program. May be, it has found something common in Primes! I make a hard train for this Network with the first 1000 primes. And now, it gives some correct answers for small and BIG primes Dietmar package bine; import org.neuroph.core.NeuralNetwork; import org.neuroph.core.data.DataSet; import org.neuroph.core.data.DataSetRow; import org.neuroph.nnet.MultiLayerPerceptron; import org.neuroph.util.TransferFunctionType; import java.util.Scanner; public class Bine { public static void main(String[] args) { // Generate and store the first 1000 prime numbers in an array int[] primeNumbers = generatePrimeNumbers(1000); // Create a multi-layer perceptron neural network with 10 input neurons, 10 hidden neurons, and 2 output neurons NeuralNetwork neuralNetwork = new MultiLayerPerceptron(TransferFunctionType.SIGMOID, 20, 20, 20, 2); // Create a training set to store input-output pairs for training the neural network DataSet trainingSet = new DataSet(20, 2); Scanner scanner = new Scanner(System.in); String inputStr; System.out.println("Prime Number Classifier"); System.out.println("Enter a number between 0 and 1048575 (or 'q' to quit): "); while (!(inputStr = scanner.nextLine()).equalsIgnoreCase("q")) { try { int input = Integer.parseInt(inputStr); // Convert the input number to binary representation String binaryInput = Integer.toBinaryString(input); binaryInput = String.format("%20s", binaryInput).replace(' ', '0'); System.out.println("Input: " + input); System.out.println("Binary Input: " + binaryInput); // Convert the binary input to an array of double values double[] inputArray = new double[20]; for (int i = 0; i < binaryInput.length(); i++) { inputArray[i] = Character.getNumericValue(binaryInput.charAt(i)); } // Fill remaining array elements with 0 for (int i = binaryInput.length(); i < 20; i++) { inputArray[i] = 0; } // Use the trained neural network to make a prediction neuralNetwork.setInput(inputArray); neuralNetwork.calculate(); double[] output = neuralNetwork.getOutput(); System.out.println("Output: " + output[0] + " " + output[1]); // Display the prediction String prediction = output[0] > output[1] ? "Prime" : "Not Prime"; System.out.println("Prediction: " + prediction); // Prompt for user input on whether the input number is actually prime or not System.out.print("Is it prime? (y/n): "); String isPrime = scanner.nextLine(); if (isPrime.equalsIgnoreCase("y")) { // Add the input-output pair to the training set as a prime number DataSetRow trainingSetRow = new DataSetRow(inputArray, new double[]{1, 0}); trainingSet.add(trainingSetRow); } else { // Add the input-output pair to the training set as a non-prime number DataSetRow trainingSetRow = new DataSetRow(inputArray, new double[]{0, 1}); trainingSet.add(trainingSetRow); } // Train the neural network with the updated training set neuralNetwork.learn(trainingSet); System.out.println("Enter a number between 0 and 1048575 (or 'q' to quit): "); } catch (NumberFormatException e) { System.out.println("Invalid input. Please enter a valid number between 0 and 1048575 (or 'q' to quit): "); } } // Save the trained neural network to a file neuralNetwork.save("trained_neural_network.nnet"); System.out.println("Trained neural network saved to file: trained_neural_network.nnet"); System.out.println("Program terminated."); } /** * Generates an array of prime numbers up to a specified limit. * * @param limit The upper limit for prime numbers generation. * @return An array of prime numbers. */ private static int[] generatePrimeNumbers(int limit) { int[] primes = new int[limit]; primes[0] = 2; int count = 1; int num = 3; while (count < limit) { boolean isPrime = true; for (int i = 2; i <= Math.sqrt(num); i++) { if (num % i == 0) { isPrime = false; break; } } if (isPrime) { primes[count] = num; count++; } num += 2; } return primes; } } run: Prime Number Classifier Enter a number between 0 and 1048575 (or 'q' to quit): 7919 Input: 7919 Binary Input: 00000001111011101111 Output: 0.5948178156516414 0.40897487989552267 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 7927 Input: 7927 Binary Input: 00000001111011110111 Output: 0.8982498273851647 0.09655551571874396 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 7907 Input: 7907 Binary Input: 00000001111011100011 Output: 0.9072894778480928 0.09231869767257159 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 7933 Input: 7933 Binary Input: 00000001111011111101 Output: 0.8989077406521399 0.09734911637879708 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 7937 Input: 7937 Binary Input: 00000001111100000001 Output: 0.9043350760591787 0.09614736963345205 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 1000 Input: 1000 Binary Input: 00000000001111101000 Output: 0.8899254682389591 0.10184634378010479 Prediction: Prime Is it prime? (y/n): n Enter a number between 0 and 1048575 (or 'q' to quit): 1000 Input: 1000 Binary Input: 00000000001111101000 Output: 0.1665975490914435 0.8151083424657837 Prediction: Not Prime Is it prime? (y/n): n Enter a number between 0 and 1048575 (or 'q' to quit): 2000 Input: 2000 Binary Input: 00000000011111010000 Output: 0.28750467198426777 0.6792374064713649 Prediction: Not Prime Is it prime? (y/n): n Enter a number between 0 and 1048575 (or 'q' to quit): 3000 Input: 3000 Binary Input: 00000000101110111000 Output: 0.20588325034563312 0.789819073942458 Prediction: Not Prime Is it prime? (y/n): n Enter a number between 0 and 1048575 (or 'q' to quit): 17389 Input: 17389 Binary Input: 00000100001111101101 Output: 0.12276962636373373 0.8798565969697876 Prediction: Not Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 17389 Input: 17389 Binary Input: 00000100001111101101 Output: 0.8110576316091068 0.2032560154260368 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 17393 Input: 17393 Binary Input: 00000100001111110001 Output: 0.43852962740457774 0.5431182165605312 Prediction: Not Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 17393 Input: 17393 Binary Input: 00000100001111110001 Output: 0.8034172912800364 0.20070059184113184 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 104723 Input: 104723 Binary Input: 00011001100100010011 Output: 0.9766085585945041 0.022881199994895813 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 104724 Input: 104724 Binary Input: 00011001100100010100 Output: 0.9411592225420404 0.05804579497623357 Prediction: Prime Is it prime? (y/n): n Enter a number between 0 and 1048575 (or 'q' to quit): 104724 Input: 104724 Binary Input: 00011001100100010100 Output: 0.21484292674011074 0.7599731192129849 Prediction: Not Prime Is it prime? (y/n): n Enter a number between 0 and 1048575 (or 'q' to quit): 17401 Input: 17401 Binary Input: 00000100001111111001 Output: 0.8248729136862214 0.19731821352791543 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 17402 Input: 17402 Binary Input: 00000100001111111010 Output: 0.25042646141880837 0.7694665916822424 Prediction: Not Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 17 Input: 17 Binary Input: 00000000000000010001 Output: 0.9147609290513441 0.07336348559716502 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 5 Input: 5 Binary Input: 00000000000000000101 Output: 0.9756104355881474 0.023320270188346374 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 1 Input: 1 Binary Input: 00000000000000000001 Output: 0.9532195348828819 0.04238520033787504 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 2 Input: 2 Binary Input: 00000000000000000010 Output: 0.6778584923010748 0.28103016635239125 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 0 Input: 0 Binary Input: 00000000000000000000 Output: 0.27281379291430097 0.6823362335383929 Prediction: Not Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 97 Input: 97 Binary Input: 00000000000001100001 Output: 0.995109554413573 0.005229627558735094 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 17401 Input: 17401 Binary Input: 00000100001111111001 Output: 0.9844012869157754 0.018723648793074754 Prediction: Prime Is it prime? (y/n): y Enter a number between 0 and 1048575 (or 'q' to quit): 17400 Input: 17400 Binary Input: 00000100001111111000 Output: 0.428308665635754 0.6069720955083222 Prediction: Not Prime Is it prime? (y/n): n Enter a number between 0 and 1048575 (or 'q' to quit): 17402 Input: 17402 Binary Input: 00000100001111111010 Output: 0.7872204761301146 0.240941722495304 Prediction: Prime Is it prime? (y/n): n
  20. @Mark-XP I think, this is nearly best, what Neural Networks can offer for to find primes Dietmar package bine ; import org.neuroph.core.NeuralNetwork; import org.neuroph.core.data.DataSet; import org.neuroph.core.data.DataSetRow; import org.neuroph.nnet.MultiLayerPerceptron; import org.neuroph.util.TransferFunctionType; import java.io.FileWriter; import java.io.IOException; import java.util.Scanner; public class Bine { private static final String PRIME_FILE_PATH = "prime_numbers.txt"; private static final String NOT_PRIME_FILE_PATH = "not_prime_numbers.txt"; public static void main(String[] args) { // Create a multi-layer perceptron neural network with 10 input neurons, 10 hidden neurons, and 2 output neurons NeuralNetwork neuralNetwork = new MultiLayerPerceptron(TransferFunctionType.SIGMOID, 10, 10, 2); // Create a training set to store input-output pairs for training the neural network DataSet trainingSet = new DataSet(10, 2); Scanner scanner = new Scanner(System.in); String inputStr; System.out.println("Prime Number Classifier"); System.out.println("Enter a number between 0 and 1023 (or 'q' to quit): "); while (!(inputStr = scanner.nextLine()).equalsIgnoreCase("q")) { try { int input = Integer.parseInt(inputStr); // Convert the input number to binary representation String binaryInput = Integer.toBinaryString(input); binaryInput = String.format("%10s", binaryInput).replace(' ', '0'); System.out.println("Input: " + input); System.out.println("Binary Input: " + binaryInput); // Convert the binary input to an array of double values double[] inputArray = new double[10]; for (int i = 0; i < 10; i++) { inputArray[i] = Character.getNumericValue(binaryInput.charAt(i)); } // Use the trained neural network to make a prediction neuralNetwork.setInput(inputArray); neuralNetwork.calculate(); double[] output = neuralNetwork.getOutput(); System.out.println("Output: " + output[0] + " " + output[1]); // Display the prediction String prediction = output[0] > output[1] ? "Prime" : "Not Prime"; System.out.println("Prediction: " + prediction); // Prompt for user input on whether the input number is actually prime or not System.out.print("Is it prime? (y/n): "); String isPrime = scanner.nextLine(); if (isPrime.equalsIgnoreCase("y")) { // Add the input-output pair to the training set as a prime number DataSetRow trainingSetRow = new DataSetRow(inputArray, new double[]{1, 0}); trainingSet.add(trainingSetRow); writeToFile(PRIME_FILE_PATH, input); // Write the prime number to prime_numbers.txt } else { // Add the input-output pair to the training set as a non-prime number DataSetRow trainingSetRow = new DataSetRow(inputArray, new double[]{0, 1}); trainingSet.add(trainingSetRow); writeToFile(NOT_PRIME_FILE_PATH, input); // Write the non-prime number to not_prime_numbers.txt } // Train the neural network with the updated training set neuralNetwork.learn(trainingSet); System.out.println("Enter a number between 0 and 1023 (or 'q' to quit): "); } catch (NumberFormatException e) { System.out.println("Invalid input. Please enter a valid number between 0 and 1023 (or 'q' to quit): "); } } // Save the trained neural network to a file neuralNetwork.save("prime_number_classifier.nnet"); System.out.println("Neural network trained and saved successfully."); } private static void writeToFile(String filePath, int number) { try { FileWriter fileWriter = new FileWriter(filePath, true); fileWriter.write(number + "\n"); fileWriter.close(); } catch (IOException e) { System.out.println("Failed to write to file: " + e.getMessage()); } } }
  21. @Mark-XP Yes. This I want to demonstrate first. Neural Networks are blind as much as possible in Mathematics. Today I make next try. More help is impossible for Neural Network. I give it 10 Input Neurons. In them I store numbers between 0 and 1023 in Binary form. Only I decide, if a number is prime or not. From this information, it should learn. For example, when the last digit is a "1", it cant be a prime (only 2). If this Network does not learn what primes are, then there is a brutal limitation in the "intelligence" of Neural Networks Dietmar
  22. @Mark-XP new Prime Number program. This is nice Dietmar package primzahlerkennung; import org.neuroph.core.data.DataSet; import org.neuroph.core.data.DataSetRow; import org.neuroph.nnet.MultiLayerPerceptron; import org.neuroph.util.TransferFunctionType; import java.util.HashMap; import java.util.Random; import java.util.Scanner; public class PrimzahlErkennung { public static void main(String[] args) { int inputSize = 101; int outputSize = 1; MultiLayerPerceptron neuralNetwork = new MultiLayerPerceptron(TransferFunctionType.SIGMOID, inputSize, 10,10, outputSize); neuralNetwork.randomizeWeights(new Random()); Scanner scanner = new Scanner(System.in); HashMap<Integer, Boolean> results = new HashMap<>(); // store recognized numbers and their predicted primality DataSet trainingSet = new DataSet(inputSize, outputSize); // create a training set for updating the neural network boolean quit = false; // flag to determine when to quit the program while (!quit) { System.out.println("Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen):"); String inputString = scanner.next(); if (inputString.equalsIgnoreCase("q")) { quit = true; // set flag to quit the loop continue; // continue to next iteration } else if (inputString.equalsIgnoreCase("liste")) { System.out.println("Die getesteten Zahlen sind:"); for (int num : results.keySet()) { System.out.println(num); } continue; // continue to next iteration } int input; try { input = Integer.parseInt(inputString); } catch (NumberFormatException e) { System.out.println("Ungültige Eingabe. Bitte eine Zahl zwischen 1 und 100 eingeben:"); continue; // continue to next iteration } while (input < 1 || input > 100) { System.out.println("Ungültige Eingabe. Bitte eine Zahl zwischen 1 und 100 eingeben:"); input = scanner.nextInt(); } if (results.containsKey(input)) { boolean isPrime = results.get(input); System.out.println("Ich denke, dass die eingegebene Zahl " + (isPrime ? "eine Primzahl ist." : "keine Primzahl ist.")); } else { double[] inputValues = new double[101]; for (int i = 0; i <= 100; i++) { inputValues[i] = (i == input) ? 1 : 0; } neuralNetwork.setInput(inputValues); neuralNetwork.calculate(); double[] output = neuralNetwork.getOutput(); boolean isPrime = output[0] > 0.5; String proposition = isPrime ? "eine Primzahl ist." : "keine Primzahl ist."; System.out.println("Ich denke, dass die eingegebene Zahl " + proposition); System.out.println("Ist " + input + " eine Primzahl? (y/n):"); String feedback = scanner.next(); while (!feedback.equalsIgnoreCase("y") && !feedback.equalsIgnoreCase("n")) { System.out.println("Ungültige Eingabe. Bitte 'y' oder 'n' eingeben:"); feedback = scanner.next(); } if (feedback.equalsIgnoreCase("y")) { trainingSet.add(new DataSetRow(inputValues, new double[]{1})); results.put(input, true); } else { trainingSet.add(new DataSetRow(inputValues, new double[]{0})); results.put(input, false); } neuralNetwork.learn(trainingSet); // update neural network with new training set } } System.out.println("Vielen Dank für die Nutzung der Primzahl-Erkennungs-Anwendung. Auf Wiedersehen!"); scanner.close(); } } run: Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 1 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 1 eine Primzahl? (y/n): y Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 2 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 2 eine Primzahl? (y/n): y Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 3 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 3 eine Primzahl? (y/n): y Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 4 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 4 eine Primzahl? (y/n): n Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 5 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 5 eine Primzahl? (y/n): y Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 4 Ich denke, dass die eingegebene Zahl keine Primzahl ist. Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 6 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 6 eine Primzahl? (y/n): n Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 7 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 7 eine Primzahl? (y/n): y Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 8 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 8 eine Primzahl? (y/n): n Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 8 Ich denke, dass die eingegebene Zahl keine Primzahl ist. Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 9 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 9 eine Primzahl? (y/n): n Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 10 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 10 eine Primzahl? (y/n): n Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 11 Ich denke, dass die eingegebene Zahl eine Primzahl ist. Ist 11 eine Primzahl? (y/n): y Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 12 Ich denke, dass die eingegebene Zahl keine Primzahl ist. Ist 12 eine Primzahl? (y/n): n Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): 12 Ich denke, dass die eingegebene Zahl keine Primzahl ist. Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen): liste Die getesteten Zahlen sind: 1 2 3 4 5 6 7 8 9 10 11 12 Bitte geben Sie eine Zahl zwischen 1 und 100 ein (oder 'q' zum Beenden oder 'liste' um die getesteten Zahlen anzuzeigen):
  23. Best, what you can find in Internet about Neural Network. Funny, this Network here "solves" any problem, because until now it has no Backpropagation. Means, it does not know, what it has to learn. And you can make a check, what happens to those two input values here. In my thinking, the output is any value between 0 and 1 for each Output Neuron. Should be equally(!) distributed Dietmar PS: I read, that a Neural Network can solve the same problems as a Turing Machine. But I think, that it is not true. I think, that it depends on at least 2 Hidden Layers. And for any tasks in Mathematics, Neural Networks are bad. They even cant find the Multipliers of 3 during looking for pattern in the integer Input Neurons values. I also make a try to find pattern in primes with a Neural Network. No pattern is found in primes by a Neural Network. They are blind. This is my definition of a real Intelligence: 1.) Find NEW patterns without any help. 2.) Can explain this new discovered pattern clear and easy to anyone. And sees the need of a prove for this pattern. Until now, no Ai can do this. So, SkyNet with Terminator has to wait for > 100 years.
  24. @George King And here is the hacked version of acpi.sys 2003 5.2 bit32 against BSOD 0x7E(c0000005, ...) error in AcpiArbCrackPRT() when referencing null pointer Dietmar https://ufile.io/ibw0aaxu
  25. @George King here is the original acpi.sys 5.2 bit32 with all the OS Fakes, build from my last Sources 2003 Dietmar https://ufile.io/p1lvafdp
×
×
  • Create New...