Collection of algorithms used to simulate learning in a neural network