Rehan Ahmed on the Vision Project

September, 1998

The Neural Network:

The artificial neural network (ANN) implemented in this program is a fully connected 3 layer ANN utilizing the backpropagation algorithm. It has 1326 input neurons, 2 hidden neurons, and 1 output neuron. All the neurons have a binary mapping, and no momentum was used. The neural network classifies between "mark not found" (0) and "mark found" (1) (where a "mark" means an 'X' or an 'O'). We decided to only have 2 hidden neurons because of the simplicity of the problem. In fact, only 10 training vectors were needed for this problem. If it were a more demanding problem, we would have implemented the root of the number of inputs (n) or 2n + 1 as the number of hidden neurons. The neural network has been modified. It was originally written by Rao & Rao, and it can be found in their book, C++ Neural Networks and Fuzzy Logic.

The Neural Network as Implemented in the Program:

Each time a picture is taken, the main program calls the function neural() to run the neural network. The network then opens up the binary mapped image file and iterates through the vectors labeling each with the appropriate output. This is then placed in an array and sent back to the main program. If the tic-tac-toe configuration produced by the neural network does not correspond with the previous one, an error occurs. Each time an appropriate update is made in the configuration of the neural network, the board array is updated.