perceptron cache passing all tests