Simple object-oriented implementation of a multi-layer perceptron which uses the back propagation algorithm to learn