This is a character recognition program, based on the example program
included in the libneural
library. It is released under the GNU public license, and you can find the source here.
The program requires you to specify a letter, along with a corruption
value. The letter is then randomly corrupted, according to the specified value (ie. a
corruption value of 0.1 will result in minimal corruption, while a corruption value of 1.0
or over will result in an almost unreadable character).
This corrupted letter is then fed to the network (represented by the character formed of
hashes [#] in the output). If you specify that the network should be trained, the program
will feed test values to it, and compare the resulting output to the required output,
adjusting the network to provide better results each time. You may need to train it two or
If you specify that the program use existing training, it will not train the network,
instead using whatever training has already been completed, while if you specify that the
program use prepared training, it will use training that, while not perfect, is more
likely to work than whatever training currently exists :) Just remember, if you get a bad
answer, just try again!