An algorithm is a pre­defined procedure that solves problems or tasks step by step. While al­gorithms 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­term­ines the ranking of search results, and the newsfeed al­gorithms of Facebook or Instagram.

A brief defin­i­tion of al­gorithms

Al­gorithms are pre­defined, 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­gorithms are in­de­pend­ent of a specific language and therefore work with and without machines. But al­gorithms aren’t just found in math­em­at­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­gorithms used to be ar­bit­rar­ily defined, today it’s possible to identify an algorithm according to six prop­er­ties:

Unique­ness/ef­fect­ive­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­plic­a­tion in order to obtain a result or output value.

Execution

Actions and in­di­vidu­al steps must be ex­ecut­able and logical.

Fi­nite­ness

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

Ter­min­a­tion

The ex­ecut­able, logical and finite in­di­vidu­al 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­term­in­acy

The same inputs under the same con­di­tions must lead to the same outputs. Only then can al­gorithms guarantee an ap­plic­a­tion and problem solution to work reliably.

De­term­in­ism

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

What’s the im­port­ance of al­gorithms?

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

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

However, not every algorithm is a program, because al­gorithms are in­de­pend­ent of Internet pro­gram­ming languages. They can also be for­mu­lated in `natural´ language, rep­res­en­ted in math­em­at­ic­al formulas, or executed non-mech­an­ic­ally. The origin of the term harks back to the 8th century, deriving from the Khorezmi­an polymath and math­em­atician al-Chwarizmi, ab­bre­vi­ated from Abu Jah’far Muhammad ibn Musa al-Chwārizmī.

Ap­plic­a­tions for al­gorithms

Al­gorithms are neither limited to languages and methods nor to specific areas of ap­plic­a­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­ig­a­tion devices, re­com­mend­a­tion engines in online stores, real-time ad­vert­ising for in­tel­li­gent, real-time online ad­vert­ising, trans­lat­or-apps and computer sim­u­la­tions.

Par­tic­u­larly, within big data and ar­ti­fi­cial in­tel­li­gence (AI) al­gorithms continue to gain in im­port­ance. The di­git­al­isa­tion and presence of smart tech­no­lo­gies such as smart­phones, smart­watches 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­res­pond­ing computing power, but also al­gorithms 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­em­at­ic­al computer al­gorithms 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­gorithms. So-called crawlers are used to search, analyse and index web content. Crawlers catalog and index data based on a search engine algorithm. In turn, the ranking and find­ab­il­ity of search results depends on optimal cata­loguing. The search engine algorithm therefore serves as an ori­ent­a­tion for efficient search engine op­tim­isa­tion.

Examples of al­gorithms

New al­gorithms and practical ap­plic­a­tions are added daily. The following examples il­lus­trate some existing al­gorithms 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­ab­il­ity 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­gredi­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­gredi­ents based on servings and number of people use al­gorithms.

Body Mass Index

The body fat per­cent­age of a person can be cal­cu­lated 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­plic­a­tion-specific in­teg­rated 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, cata­loguing and indexing of data is also calle data mining. Al­gorithms, AI and machine learning are used here.

Mining al­gorithms of crypto­cur­ren­cies

In cryp­tomin­ing, trans­ac­tions with crypto­cur­ren­cies are doc­u­mented, verified and posted in the block­chain. As part of the process, crypto miners solve trans­ac­tion-related al­gorithms 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­gorithms are used to simulate and reproduce the functions of the human brain. These can be used for various functions such as language as­sist­ance, trans­la­tion, pro­tec­tion against cy­ber­at­tacks or text gen­er­a­tion.

Go to Main Menu