If you have been reading the other articles in this site you’ll have seen we touch on a lot of practical stuff around AI. Questions around the different types of Artificial Intelligence, or some thoughts about data cleansing. Let’s go back a little and ask why does Artificial Intelligence use algorithms?
What is an Algorithm?
In terms of our area, an algorithm is a defined set of instructions for a computer. They carry out tasks, such as solve a problem or process data.
You might think algorithms are quite new and that they arrived with modern computers. Actually, you would be wrong. Algorithms have existed for thousands of years; the Greeks used algorithms to find prime numbers, and Arabic mathematician al-Kindi was using algorithms to break codes.
Furthermore, algorithms in computing are far from being a new innovation. For that we should thanks the brilliant Alan Turing. In 1936 his paper on the beginnings of computer science included the concept of computer algorithms. And in 1952 he published a series of algorithms that look to understand pattern formations in nature. So, in maths or in computing, algorithms are nothing new. And they’re very much at the core of how a computer works.
Why do we use algorithms in Artificial Intelligence?
To answer this, let’s go back slightly and look at a computer. If you want it to do more than just sit on your desk, you need to install a program. A program is a set of step-by-step instructions for the computer to follow to perform a task. You can choose how the computer is going to do that task – which is where algorithms appear. They are the route you tell the computer to take to do the task.
Are there different types of Algorithms?
You may asked a computer to solve all sorts of problems. You might want a number-based answer, or an answer based on data. It means you could need one or many more algorithms from a series of types available. However, you can group these algorithms into 3 sets:
- Classification Algorithms (where the class of data is predicted from given data points)
- Regression Algorithms (predicting output labels which are continues numeric values, for the given input data)
- Clustering Algorithms (identifying groups of objects that have similarities to each other)
In each set you will find lots of types of algorithms, which we will cover these in more detail in other articles. You should bear in mind that there are no algorithms which are better than others to use. Instead you need to look at the issue you want to solve and the data available. This will help narrow down the ideal algorithm(s) to use.