## Artificial Neural Networks (ANNS)

1. COUNTER NETWORK: The first 8 counting numbers are represented in binary as follows:

 Binary Decimal Binary Decimal 0000 0 0101 5 0001 1 0110 6 0010 2 0111 7 0011 3 1000 8 0100 4
Create a neural network (call it COUNT.NET on your H: drive) that will accept the binary representation and correctly output the decimal equivalent. Train your neural network and demonstrate it's effectiveness to your teacher.

2. The TC network : a simple Optical Character Recognition Neural Network

Consider the following optical characters as all of the regular orientations of the characters 't' and 'c'.

 1 1 1 0 1 0 0 1 0
 0 0 1 1 1 1 0 0 1
 0 1 0 0 1 0 1 1 1
 1 0 0 1 1 1 1 0 0
 1 1 1 1 0 0 1 1 1
 1 1 1 1 0 1 1 0 1
 1 1 1 0 0 1 1 1 1
 1 0 1 1 0 1 1 1 1

We could specify a rule for each of the orientations of each letter as follows:

```IF top left cell is on    and top centre is on    and top right is on    and middle left is off    and middle centre is on    and middle right is off    and bottom left is off    and bottom centre is on    and bottom right is off THEN the letter is a 'T'.
```
 INPUTS (1 = On, 0 = Off) OUTPUT Top Left Top Middle Top Right Middle Left Middle Middle Middle Right Bottom Left Bottom Middle Bottom Right Letter 1 1 1 0 1 0 0 1 0 10 = T 1 1 1 1 0 0 1 1 1 20 = C

(note NSHELL can only currently deal with NUMERIC DATA)

This system has 9 INPUTS, 1 OUTPUT, 8 RULES (the total number of rows in the matrix).

CREATE a Neural Network according the specifications above. SAVE the network under the name VISION.NET in your home directory.
TRAIN the network - this may take a number of minutes (aim to get the minimum error (it should be possible to get 0 error).
RUN the network using some of the KNOWN data, to see if it classifies them correctly.
TEST the network on some unknown data like the following:

 1 1 1 1 0 1 1 1 1

..this should be more like a 'c' than a 't'

MAINTAIN the network by training it to recognise T, C and L
Add to its training with letters H, I and X

3. Design and create a Neural Network to deal with XOR (the truth table follows)

 Input 1 Input 2 Output true true false true false true false true true false false false

NOTE: the system has 2 inputs, 1 output and 4 rules. Allow the system plenty of time to train, then test it correctly classifies test data.

wonko@wonko.info