An algorithm is a pre­de­fined procedure that solves problems or tasks step by step. While al­go­rithms are found in almost all areas of everyday life, they are vital to computer science and software programs. Well-known examples include the Google algorithm that de­ter­mines the ranking of search results, and the newsfeed al­go­rithms of Facebook or Instagram.

A brief de­f­i­n­i­tion of al­go­rithms

Al­go­rithms are pre­de­fined, finite sequences of actions used to solve problems. In other words, they’re used to perform specific tasks using fixed sequences of steps or by con­vert­ing input values into output values. The steps are pre­de­ter­mined and executed in a sequence. Al­go­rithms are in­de­pen­dent of a specific language and therefore work with and without machines. But al­go­rithms aren’t just found in math­e­mat­ics and computer science. They can be found all around us, from the lights in road traffic to an elevator calling function.

6 prop­er­ties an algorithm needs to have

While al­go­rithms used to be ar­bi­trar­i­ly defined, today it’s possible to identify an algorithm according to six prop­er­ties:

Unique­ness/ef­fec­tive­ness

Each step in the sequence of actions of an algorithm must be effective and un­am­bigu­ous. This means that each in­struc­tion must make sense and be ap­pro­pri­ate for the ap­pli­ca­tion in order to obtain a result or output value.

Execution

Actions and in­di­vid­ual steps must be ex­e­cutable and logical.

Finite­ness

The goal of an algorithm is to convert input data into output data. This is only possible if the process is finite. Al­go­rithms must take on a finite form, e.g. by a limited number of char­ac­ters or a limited memory.

Ter­mi­na­tion

The ex­e­cutable, logical and finite in­di­vid­ual steps must lead to an output in a finite time frame. The sequence should be goal-directed and not end in an endless loop without result.

De­ter­mi­na­cy

The same inputs under the same con­di­tions must lead to the same outputs. Only then can al­go­rithms guarantee an ap­pli­ca­tion and problem solution to work reliably.

De­ter­min­ism

In the step sequence of the algorithm, there’s always just a single way to solve the problem. Sub­se­quent steps are thus clearly defined by the in­ter­me­di­ate results and aren’t random.

What’s the im­por­tance of al­go­rithms?

Al­go­rithms used to play a central role in the 19th and 20th century, es­pe­cial­ly in math­e­mat­ics and logic where they were popular topics of debate. Today, al­go­rithms can be found in almost every area of daily life. Usually, however, we’re unaware of the al­go­rithms that make certain ap­pli­ca­tions possible, such as the assembly line at the checkout, our nav­i­ga­tion devices or the ranking mechanism of a search engine like Google.

In computer science, al­go­rithms form a central foun­da­tion for pro­gram­ming. Anyone looking to learn pro­gram­ming quickly realizes that almost every program uses al­go­rithms to perform a task. To put it simply, every program is an algorithm.

However, not every algorithm is a program, because al­go­rithms are in­de­pen­dent of Internet pro­gram­ming languages. They can also be for­mu­lat­ed in “natural” language, rep­re­sent­ed in math­e­mat­i­cal formulas, or executed non-me­chan­i­cal­ly. The origin of the term harks back to the 8th century, deriving from the Khorezmi­an polymath and math­e­mati­cian al-Chwarizmi, ab­bre­vi­at­ed from Abu Jah’far Muhammad ibn Musa al-Chwārizmī.

Ap­pli­ca­tions for al­go­rithms

Al­go­rithms are neither limited to languages and methods nor to specific areas of ap­pli­ca­tion. Since their utility lies in problem solving, they represent a specific course of action and procedure that works with different variables and sequences of steps. This could include route cal­cu­la­tion for nav­i­ga­tion devices, rec­om­men­da­tion engines in online stores, real-time ad­ver­tis­ing for in­tel­li­gent, real-time online ad­ver­tis­ing, trans­la­tor-apps and computer sim­u­la­tions.

Par­tic­u­lar­ly, within big data and ar­ti­fi­cial in­tel­li­gence (AI) al­go­rithms continue to gain in im­por­tance. The dig­i­tal­iza­tion and presence of smart tech­nolo­gies such as smart­phones, smart­watch­es and AI in cars and the smart home means that data is rapidly in­creas­ing.

This requires computers and servers which have the necessary cor­re­spond­ing computing power, but also al­go­rithms to organize, evaluate, process or apply data volumes. Sensors in automated vehicles are an example of this. They trigger vehicle actions based on recorded data. Math­e­mat­i­cal computer al­go­rithms also play a decisive role in the creation of climate sim­u­la­tions.

Search engines and pathfind­ing in computer science would also not be possible without al­go­rithms. So-called crawlers are used to search, analyze and index web content. Crawlers catalog and index data based on a search engine algorithm. In turn, the ranking and find­abil­i­ty of search results depends on optimal cat­a­loging. The search engine algorithm therefore serves as an ori­en­ta­tion for efficient search engine op­ti­miza­tion.

Examples of al­go­rithms

New al­go­rithms and practical ap­pli­ca­tions are added daily. The following examples il­lus­trate some existing al­go­rithms in practice.

Google algorithm

Google takes a fraction of a second to display search results when you enter search terms or queries into the search bar. This is made possible by Google’s search engine algorithm that lists results according to relevance, keywords, linking structure, read­abil­i­ty of the content and security. However, the exact algorithm and its detailed workings remain a secret.

Cooking recipes

Simple cooking recipes embody the basic principle of an algorithm. The in­gre­di­ents can be un­der­stood as inputs that lead to the result in a specific and fixed sequence of actions. Cooking sites that make it possible to calculate the amount of in­gre­di­ents based on servings and number of people use al­go­rithms.

Body Mass Index

The body fat per­cent­age of a person can be cal­cu­lat­ed using the body mass index. Here, the body weight is set in relation to the body height. The inputs are a person’s weight and height, and the output is the BMI. The BMI indicates whether a person is of normal weight, un­der­weight, over­weight or obese.

ASIC

The so-called ap­pli­ca­tion-specific in­te­grat­ed circuit can be un­der­stood as an algorithm built into the hardware. These are non-variable circuits in hardware that perform a specific function. An example of this is a graphics processor.

Data mining

The search, col­lec­tion, analysis, cat­a­loging and indexing of data is also called data mining. Al­go­rithms, AI and machine learning are used here.

Mining al­go­rithms of cryp­tocur­ren­cies

In cryp­to­min­ing, trans­ac­tions with cryp­tocur­ren­cies are doc­u­ment­ed, verified and posted in the blockchain. As part of the process, crypto miners solve trans­ac­tion-related al­go­rithms similar to number puzzles. Solving the puzzles verifies trans­ac­tions.

Neuronal networks

A neural network is an area of deep learning. Deep learning al­go­rithms are used to simulate and reproduce the functions of the human brain. These can be used for various functions such as language as­sis­tance, trans­la­tion, pro­tec­tion against cy­ber­at­tacks or text gen­er­a­tion.

Go to Main Menu