# XOR

• 1/0
• 1/0

• XOR

## Neuron type

Best algorithm has been found - locked

## Patterns

Pattern Input Output
1.
 1/0: 0 1/0: 0
 XOR: 0
2.
 1/0: 0 1/0: 1
 XOR: 1
3.
 1/0: 1 1/0: 0
 XOR: 1
4.
 1/0: 1 1/0: 1
 XOR: 0

## Applicable neurons

• Plus (x + y)
• Minus (x - y)
• Multiple (x × y)
• Division (x ÷ y)
• 0
• 1
• Absolute value

## Algorithm

### Test

```/**
* Minus (x - y):
*
* @param x1 Number X
* @param x2 Number Y
* @return {Array}
*/
function neuron2(x1, x2)
{
math.config({number: 'BigNumber', precision: 64}); return [math.eval(Number(x1) + '-'+Number(x2)).toString()];
}

/**
* Multiple (x × y):
*
* @param x1 Number X
* @param x2 Number Y
* @return {Array}
*/
function neuron3(x1, x2)
{
math.config({number: 'BigNumber', precision: 64}); return [math.eval(Number(x1) + '*'+Number(x2)).toString()];
}

/**
* XOR:
*
* @param x1 1/0
* @param x2 1/0
* @return {Array}
*/
function neuron571(x1, x2)
{
var outputs = [];
outputs[0] = x1;
outputs[1] = x2;

arr = neuron2(outputs[1], outputs[0]);
outputs[2] = arr[0];

arr = neuron3(outputs[2], outputs[2]);
outputs[3] = arr[0];

return[outputs[3]];
}

```