Artificial neural networks (ANN) is a collective name for a number of self-learning algorithms that try to mimic the function of biological neural networks such as our brain.
Algorithms that mimic neural networks can often solve problems that are difficult to solve with conventional computer science methods. Examples of applications are: data mining, pattern recognition, signal processing, control technology, computer games, forecasts, self-organization, non-linear optimization, optimization problems with many side conditions (eg scheduling) and more.
A neural network must be trained before it can be used. Most neural networks therefore work in two phases, first a learning phase where the network is trained on the task to be performed. Then follows an application phase where the network only uses what it has learned.