What Is An Algorithm? How Computers Know What To Do With Data

Computer Algorithm. Photo by Markus Spiske.

The world of computing is full of buzzwords: AI, supercomputers, machine learning, the cloud, quantum computing and more. One word in particular is used throughout computing – algorithm.

In the most general sense, an algorithm is a series of instructions telling a computer how to transform a set of facts about the world into useful information. The facts are data. And the useful information is knowledge for people, instructions for machines or input for yet another algorithm. There are many common examples of algorithms. For example: sorting sets of numbers, to finding routes through maps, to displaying information on a screen.

To get a feel for the concept of algorithms, think about getting dressed in the morning. Certainly, few people give it a second thought. But how would you write down your process or tell a 5-year-old your approach? Answering these questions in a detailed way yields an algorithm.

Input

To a computer, input is the information needed to make decisions.

Choosing what to wear involves algorithms. Photo by Artem Beliakin.

When you get dressed in the morning, what information do you need? Firstly, you need to know what clothes are available to you in your closet. Then you might consider what the temperature is, what the weather forecast is for the day, what season it is and maybe some personal preferences.

All of this can be represented in data, which is essentially simple collections of numbers or words. For example, temperature is a number, and a weather forecast might be “rainy” or “sunshine.”

Transformation

Next comes the heart of an algorithm – computation. Computations involve arithmetic, decision-making and repetition.


Read about the connection between Pottery and personal transformation


So, how does this apply to getting dressed? You make decisions by doing some math on those input quantities. Whether you put on a jacket might depend on the temperature. And which jacket you choose might depend on the forecast. To a computer, part of our getting-dressed algorithm would look like “if it is below 50 degrees and it is raining, then pick the rain jacket and a long-sleeved shirt to wear underneath it.”

After picking your clothes, you then need to put them on. This is a key part of our algorithm. To a computer a repetition can be expressed like “for each piece of clothing, put it on.”

Output

Dressed and ready to go! Photo by Hamann La.

Finally, the last step of an algorithm is output – expressing the answer. To a computer, output is usually more data, just like input. It allows computers to string algorithms together in complex fashions to produce more algorithms. However, output can also involve presenting information. For example putting words on a screen, producing auditory cues or some other form of communication.

So after getting dressed you step out into the world. You’re finally ready for the elements and the gazes of the people around you. Maybe you even take a selfie and put it on Instagram to strut your stuff.

Machine learning

Sometimes a decision-making process is too complicated to spell out. Therefore, a special category of algorithms try to “learn” based on a set of past decision-making examples. These machine learning algorithms are commonplace for things like recommendations, predictions and looking up information.


Read more about Artificial Intelligence


Consider our getting-dressed example. A machine learning algorithm would be the equivalent of:

  • You remembering past decisions about what to wear,
  • Knowing how comfortable you feel wearing each item,
  • Maybe which selfies got the most likes,
  • And subsequently using that information to make better choices.

So, an algorithm is the process a computer uses to transform input data into output data. A simple concept; however, every piece of technology that you touch involves many algorithms. Maybe the next time you grab your phone, see a Hollywood movie or check your email, you can ponder what sort of complex set of algorithms is behind the scenes.


Jory Denny

Assistant Professor of Computer Science, University of Richmond

This article is republished from The Conversation under a Creative Commons license.

Main photo by Markus Spiske
.