Neural Net Exercise - X and O recogniser

Draw a 15 x 15 grid and print it out. With a thick marker, draw an "X" in the grid. Every square that the marker touches has value "1", every other square has value "0". It's up to you to find a sensible way of coding these 225 squares of value 0 or 1 as input to the neural network.

Draw a number of sample X's and sample O's. Train the network on them. Output should be X, O, or "unknown". You may have to train it on some non-X, non-O patterns.

Then draw a new X and a new O and see if the network successfully recognises them. Get someone else to draw a new X and O and see how the network performs.

Finally, find, and hand up a printout of, the "X" that looks least like the X's it has been trained on, yet which is still classified as an X. This shape should still be clearly an X to the human eye.

Similarly, find the most different O it can recognise.

To be handed up:

  1. Tidy, bound printout of full working code, commented, in any language.
  2. Samples of all exemplars and test patterns used, with the network output for them explained.