What is an algorithm? A closer look at the tech underpinning everything we do online
One of the seemingly most-overused words in tech is “algorithm”. From the apps on your phone to the sensors in your wearables and how posts appear in your Facebook News Feed, you’ll be pushed to find a service that isn’t powered by some form of algorithm.
Machine learning techniques and artificial intelligence – the biggest and most significant technological advances of our time – cannot function without a set of algorithms, so it’s an exceptionally important concept for future technologies.
What is an algorithm?
An algorithm can be best described as a precise set of instructions a computer will follow to achieve a desired result, usually to solve a problem. An algorithm’s instructions need to comprise of a number of steps, exercised in the right order, and what to do at each step depends on the outcome of the steps taken previously.
For example, the algorithms powering Instagram, as an example, will be programmed to deliver notifications to your phone when someone has liked your photo. They will then be written to add this Like to the number of Likes already garnered, to update the total sum.
“Algorithms operate on input data, which might be a list of numbers that need to be put into ascending orde or the RGB values of an image where the algorithm needs to determine whether there’s a human face present [such as face recognition technology],” explains Will Addison, principal engineer and algorithm expert at Cambridge Consultants.
He explains that while some algorithms are guaranteed to achieve the result they’re after, many are not. Most algorithms are fully deterministic, while some make use of random numbers to achieve their results.
“Algorithms are sometimes compared to recipes for making a meal and that’s fair enough to an extent, but the key thing about algorithms is that they leave no room for interpretation,” adds Addison. “They must be absolutely precise and fully prescriptive about what to do at each step.”
Why are algorithms so important?
Algorithms come in many shapes and sizes, from short and simple to long and complex. At the most complex end of this spectrum are machine learning algorithms. These are designed to learn steps automatically and are generally so complex that it’s impossible for a human to fully understand how they achieve the results that they do.
Computers without algorithms would have no purpose and no use. Algorithms are how we instruct computers to do what we need them to do. Those algorithms are expressed in the form of computer code, but it’s the ideas in the algorithms being expressed that are key. Many services additionally depend on a multitude of algorithms working together.
Concerns about the impenetrability of some of these algorithms is what lies behind proposed new EU regulations, which suggest we have the right to be given an explanation for any decision that is made about us by automated processing. With algorithms being such a vital ingredient in upcoming technology and thus our future, it’s hard to overstate the role that algorithms play.
How do algorithms work? An example
An example of a successful, yet very simple everyday algorithm, is the one used by a typical central heating system to keep a house at a desired temperature. The inputs to the algorithm would be the desired temperature and the measurement of the current temperature at the thermostat.
At each moment in time, the algorithm determines whether to turn the heating on or off in the following way:
If the measured temperature is 1 degree below the desired temperature (or lower), the heating is turned on
If the measured temperature is within 1 degree of the desired temperature, then the heating is left in its current state
If the measured temperature is 1 degree above the desired temperature (or higher), the heating is turned off
Addison says that work being conducted by Cambridge Consultants for the Energy Systems Catapult is a good example of how the increasing ability to cheaply collect more data and run more computationally intensive algorithms is improving the systems around us, thus enabling the smart home.
By collecting more user-generated data from thermostats, the Energy Systems Catapult’s system is able to ‘feed’ the temperature from every room in the house into the algorithm, rather than just the temperature from a single point in the house.
“The heating control algorithm is also made aware of the desired temperature over the next several hours,” he adds. “It therefore has a model that can predict how the the temperature of each room in the house will change over time, while also taking into account the outside air temperature. At each moment in time, it predicts how the temperatures in each room will change with both the radiator on and the radiator off.”
These predictions are used to decide when to turn each radiator on. As a result the algorithm is much more complex, but produces a much better user experience, turning the heating on at just the right time so that the right rooms will be warm for when you get home from work. A more intelligent and personalised system, thanks to the use of improved algorithms.