With the advent of AI and the supremacy of GAFAM, algorithms are on everyone’s lips. However, as much as we hear about it in everyday life, we ignore what an algorithm really is. If this topic has already sparked your curiosity, find answers to your questions below.
Although it is today associated with new technologies, the term “algorithm” is nothing recent. It appears for the first time in the works of Mohammed Ibn Musa-Al Kwarizmi. This mathematician, father of Algebra, lived in the ninth century BC. All this to say that History goes back far, far before the Middle Ages. But how is a phrase whose origins date back to Antiquity now at the heart of current affairs?
Algorithm: the important points
An algorithm is defined as a sequence of ordered operations with the aim of solving a problem. To explain it simply, we could see an algorithm as a cooking recipe. This details each step to follow so that the ingredients at your disposal become a tasty dish. In the same way, an algorithm allows you to achieve a very specific result by going through a certain number of operations.
The fact remains that the parameters change each time we run an algorithm. Many external factors can come into play. This is why designing an algorithm also involves planning for all eventualities and building a real instruction tree. The computer engineer must ensure that no detail is left to chance so that the algorithm does its job, whatever the circumstances.
Algorithm: where does this term come from?
As mentioned previously, this term was coined by Muhammad ibn Mūsa al-Khwarizmī. Truth be told, we owe a lot to this ancient scholar. Until today, humanity uses its decimal number system. His discoveries are the foundation on which Mathematics rests.
Through his works, this scholar acquired a strong reputation which quickly crossed the borders of the Middle East. However, due to language barriers, the name of this brilliant mathematician was gradually distorted from Khwarizmi to Algoritmi. This romanized name will subsequently give the word “algorithm” whose meaning is close to “step-by-step recipes” for English speakers. Over the years, this term gradually found its place in technological jargon.
Understand the link between algorithm and computer science
First of all, you must first understand how computers work. These are devices intended to launch computer programs. These were designed to deliver instructions to the computer to carry out any task. On this occasion, the program delivers step by step the operations to be carried out to successfully complete the task in question. You would have understood it ! Many computer tools have been designed based on an algorithm.
From a technical point of view, algorithms transform inputs into outputs. So, in the case of a search engine, the phrases you search for are inputs and the addresses you obtain are outputs. In everyday life, algorithms translate a need into computer language (input) to respond to it using computer means (output). To perform any function, they must therefore be written in code. The programming language must be chosen carefully to allow specific uses.
An algorithm: what for?
Algorithms are omnipresent in the field of computing. To create any program, developers design and compile a number of algorithms. These will ensure the proper execution of orders whatever the circumstances. It is therefore a matter of doing everything possible to ensure that any errors do not disrupt the proper functioning of the application.
With all the possibilities offered by new technologies, algorithms are omnipresent today. They offer a vast field of application that developers enjoy exploring. Nevertheless, they stand out in a certain number of areas.
Overview of services that rely on algorithms
Internet giants have based their success on the performance of their algorithms. Algorithms that have allowed them to offer services that perfectly meet the needs of their customers. Here are just some of these renowned algorithms.
Google PageRank: This service intended to index and classify all web content is based on exceptional algorithms. These have not only been designed to present the pages that correspond to your search. They offer a real ecosystem that studies the quality of content, your browsing habits or even the topics that are creating buzz on the Web.
The Facebook Timeline: Have you noticed that your Facebook news feed always displays posts related to your interests? Well ! This is not the result of chance. An algorithm keeps track of your interactions on this social network. This information will then allow us to present posts that will certainly catch your attention.
Trading robots : The growing attraction that most people have for the world of finance has favored the appearance of trading platforms. At the same time, trading robots have emerged. These algorithms are intended to replace the trader. They analyze market signals in real time to buy or sell assets with the aim of making a profit without human intervention.
The famous Round Robin algorithm : Although it is little known to lay people, this algorithm is widely known among developers. Effectively, it transmits to your computer’s processor the order in which different programs will run so that the device functions properly without excessively spending resources.
When machine learning develops the potential of algorithms
Machine learning has given a new dimension to algorithms. It makes it possible to develop more or less autonomous programs which process data and execute commands depending on the nature of the input. So, there is no need to provide them with specific instructions on how to carry out a task. New generation tools “learn” to excel in a field and evolve with use. This process takes place with little or no human intervention. Which makes them efficient and reliable programs.
These evolving algorithms are now suitable for all uses. However, they stand out perfectly in big data. The modules created deliver precise predictions or even identify profiles that meet certain criteria in a vast database that is continually updated. To this end, business intelligence tools rely on this technology. This ingenious system allows them to help any manager in decision-making.
However, we also encounter these tools in everyday life. Thus, we find ourselves faced with a Machine learning algorithm when we access our Facebook or Instagram profile. The same is true when viewing suggestions on Netflix. An algorithm analyzes our habits to then present content likely to interest us.
These algorithms are therefore present everywhere. The fact remains that we distinguish 3 main algorithmic models for machine learning:
Supervised learning algorithms that require developers or users to first sort input data by labeling it. These tools then process this data so that ultimately the desired results are achieved. Usually, they are the basis of software intended to provide predictions. For example, we could cite software that will automatically produce forecast statements for your company. To do this, it will analyze the sales made during previous years in order to better understand the seasonality of your activity. You must then indicate your turnover for each given period, the expenses you support, etc.
Unsupervised learning algorithms work without you having to sort the input data. These tools usually focus on trend analysis. The objective will be to “guess” the variables that dictate the distribution of numbers. The module in question will subsequently establish a correlation between the data entered. This process will subsequently make it possible to have a model that will prioritize all the elements of a data aggregate. In practice, these algorithms facilitate the understanding of statistical sequences and resolve problems linked to clustering, the reduction of quantities or the establishment of association rules. They can thus be used to automate the analysis of trading signals, for example.
Semi-supervised algorithms represent the middle of both worlds. Some data is sorted and labeled while others are not. By doing this, the model will order this data by itself and it will then be able to provide a prediction if necessary. This diagram allows the tools to be relatively autonomous while guaranteeing a minimum of precision. It is a model widely used in Big Data for classification or regression.
Note that there are many ways to classify algorithms. By considering their mode of operation, we will distinguish, for example, those designed for regression, clustering or even regularization. However, we will also mention decision trees and Bayesian algorithms or even artificial neural networks and dimensional reduction models.
Algorithms to encrypt your data
Everyone’s concerns about their personal data have pushed Silicon Valley companies to develop algorithms for encrypting this data. These will provide an additional layer of protection against intrusions and data leaks. To do this, your data will be processed as input to obtain a series of alphanumeric characters as output. This way, the data will be indecipherable for cybercriminals who have managed to steal your data.
Algorithms for automation
The automation possibilities offered by algorithms are obvious. We could actually give them instructions to automate different treatments. Today, they are used to form the heart of many automation software.
For example, these tools allow you to automatically retrieve billing data sent by your prospects by email. In this case, the messages that pass through your email address serve as input data. The utility will be able to recognize the billing data and then copy it into a spreadsheet.
In this case, the algorithm will analyze each email received to find key terms. Messages presenting these terms will automatically be processed for data extraction and copying.
Should we fear the massive use of algorithms?
Algorithms are very practical tools, but they are far from infallible. The performance of an algorithm will depend primarily on the know-how of its designer and the language chosen. If it was not designed to handle a given situation or if a mistake was made during its design, it will display errors or execute inappropriate commands. In doing so, these dysfunctions are not always easy to identify.
As mentioned above, algorithms serve as decision-making tools. They can therefore alter your perception of reality and encourage you to make questionable decisions. Let’s imagine that an algorithm advises an HR manager. Based on company data, he can suggest to the recruiter to hire a white man rather than a minority woman. Its analyzes could in fact show that the first group will be more efficient. This will be the case if society has more Caucasian individuals than people of color in its ranks.
This concern linked to perception will be all the more problematic for AI. By feeding these algorithms data, we risk repeating the same mistakes due to deeply ingrained biases. In a structure lacking ethnic diversity, an algorithm will deduce that minorities do not meet the company’s criteria.
Contrary to what one imagines, this problem is at the heart of the news. Algorithms seem to favor discrimination. Facial recognition algorithms therefore consider people of color as criminals and chatbots can adopt racist remarks.
How to remedy the perception biases of algorithms?
It is up to designers to make the right decisions to remedy these problems. For now, it is a question of adopting good practices to eliminate these biases. It is appropriate initially to concentrate on the really important data and, for example, not to consider the origin of each person. The legal texts adopted in recent years are moving in this direction, but it remains to be seen whether the GAFAM are following the trend.
Computer engineers and developers also need to be more responsible for their creations and anticipate any misuse. Technicians must therefore protest in the event that any technology is used for other purposes. This was already the case for Microsoft staff who opposed the use of HoloLens in the military field, Google employees have stated their opposition to a project to create killer drones.
Issues related to bias need to be addressed more seriously. Even in the event that certain parameters were deleted, the algorithm could deduce their existence to take them into account. This is one of the reasons why Amazon decided to do without its AI for recruitment. Against all expectations, it discriminated against people of color as well as women. A situation which should encourage companies to adopt more in-depth tests to try to identify these biases.