mpare the performance of three different networks, described below, on the robot application. The three networks described were chosen because they performed best on sample data that was selected to be similar to that they would see on the robot. In addition to those described below, the Neural Gas [@Martinetz93] network also performed well, but computational constraints means that it was not possible to run it on the robot.

Some Possible Clustering Networks \[NNs\]
-----------------------------------------

### Kohonen’s Self-Organising Map (SOM)

Kohonen’s Self-Organising Map [@Kohonen93] works in the following way:\
Every element of the input vector is connected to every node of the map by a modifiable connection. The distance $d$ between the input and each of the neurons in the field is calculated using $$d = \sum_{i=0}^{N-1} \left[ \mathbf{v} (t) - \mathbf{w}_i (t) \right] ^2$$

where $\mathbf{v} (t)$ is the input vector at time $t$ and $\mathbf{w}_{i}$ the weight between input $i$ and the neuron. In a Learning Vector Quantiser [@Kohonen93], used here, the neuron with the minimum $d$ is selected and the weight for that neuron and its topological neighbours are updated by:

$$\mathbf{w}_{i} (t+1) = \mathbf{w}_{i} (t) + \eta (t) \left[ \mathbf{v} (t) - \mathbf{w}_{i} (t) \right]$$

where $\eta$ is the learning rate, $0 \leq \eta \leq 1$.

Usually, a two-dimensional SOM is used, but in the implementation described here a ring-shaped network, effectively a line with the end neurons linked together, was used. The neighbourhood size and learning rate remained constant so that the system was always learning. The neighbourhood comprised only the nearest neighbours of each neuron, and $\eta$ was fixed at 0.25.

### The Temporal Kohonen Map (TKM)

This self-organising map, proposed by Chappell and Taylor [@Chappell93], is based on Kohonen’s SOM, but uses “leaky integrator” neurons whose activity decays exponentially over time. The exponential decay is controlled by a time constant ($\gamma$ in equations