# Algorithms

## Rules to live by

In computing, algorithms are operational instructions or input/output rules. Humans are born with some in-built algorithms (e.g. when you feel hunger, cry) and develop others later (e.g. if your soup is hot, blow on it before you drink it). As we gather data through our senses, our brains re-shape themselves to process new information and store memories, extending the neural networks we exercise and pruning back dormant ones. Neuromorphic engineers seek to emulate this plasticity in computers.

If we think of a computer as a brain, then memory holds both data and algorithms and ‘thinking’ is applying algorithms to data. Defining the algorithms that govern the operation of an artificial brain (a network of artificial neurons) is arguably the biggest challenge in neuromorphic computing. Successful neuromorphic algorithms leverage mathematical theory as well as concepts from neuroscience to achieve world-leading performance in some computing tasks.

## Dynamic weight training for brains

When neurons are activated, they transmit spikes of electrical voltage to neighbouring neurons, which may or may not activate in turn, according to their activation thresholds. The rate of spiking is a code. The precise pattern of spikes over time is another, richer, temporal code. Neuromorphic engineers write algorithms in these and other codes to control the behaviour of artificial neural networks.

Like muscles, brains change with training, i.e. we learn. In biological brains, some data inputs will activate a neuron, while others inhibit it. In an artificial neural network, these inputs are referred to as positive or negative weights. Cumulatively, the weights affect the neurons, leaving an impression – a memory. Neuromorphic engineers write algorithms that harness these memories to enable machine learning through training.

Although neuron activation occurs on the scale of milliseconds rather than the nanosecond speeds of modern microprocessors, the human brain outperforms computers in tasks such as image recognition, especially at low resolution or with distortion. This is due to complex serial and concurrent interactions between our neurons, including feedback loops. By integrating algorithms with the design of our sensors and processors, ICNS researchers aim to mimic these complex space-time dynamics and solve difficult real-world problems for positive impact.