An algorithm is a finite group of operations organized in a logical and orderly manner that allows solving a specific problem . It is a series of established instructions or rules that, through a succession of steps, make it possible to arrive at a result or solution.
According to mathematics experts, algorithms are used to work from a basic or initial state and, after following the proposed steps, reach a solution . It should be noted that, although algorithms are usually associated with the mathematical field (since they are used, to cite specific cases, to find out the quotient between a pair of digits or determine what is the greatest common divisor between two figures belonging to the group of integers), do not always imply the presence of numbers.
Etymology of algorithm
Arabic is where we can find the etymological origin of the term algorithm. More precisely, it is found in the name of the mathematician Al-Khwarizmi , who was born in the Middle Ages in one of the areas of what is now known as Uzbekistan , in central Asia .
Al-Khwarizmi developed a large part of his career in Baghdad : he moved there to, by order of the caliph, create a higher center for scientific research that was known as the House of Wisdom . Various treatises on algebra and astronomy were some of the works carried out by this wise man, which has also led to the creation of another series of scientific terms such as algebra or figures .
Such was the importance of this historical figure that he is currently considered not only the father of algebra but also as the person in charge of introducing our numbering system .
Some considerations
In the mathematical field, the description of an algorithm can be carried out at three levels. Thus we find the high-level description (it consists of mentioning the problem, determining a mathematical model and verbally explaining the algorithm), the formal description (the sequence of steps is described through a pseudocode) and finally the description via implementation ( the algorithm is detailed in a given programming language).
Likewise, we cannot ignore that algorithms can be expressed through natural language or a flow chart . In this framework, both an instruction manual for the operation of an appliance and a series of orders from the boss to an employee to perform a certain task can also include algorithms.
This breadth of meaning allows us to appreciate that there is no formal and unique definition of an algorithm. The term is usually noted as the fixed number of steps necessary to transform input information (a problem) into an output (its solution) . However, some algorithms have no end or do not solve a particular problem.
Algorithm properties
There are certain properties that apply to all algorithms, with the exception of the so-called parallel algorithms: sequential time (algorithms work step by step), abstract state (each algorithm is independent of its implementation) and bounded exploration (the transition between states is determined by a finite and fixed description).
It is worth mentioning that algorithms are very important in computing and information technology since they allow data to be represented as sequences of bits. A program or software, in this way, is an algorithm that tells the computer what specific steps it must follow to perform a task.
artificial intelligence
The use of algorithms can be seen in artificial intelligence . This concept refers to those capabilities of a system that allow it to execute intellectual or cognitive tasks.
The key to artificial intelligence is the use of algorithms, both simple and highly complex, to imitate or reproduce the functioning of people's brains. This makes it possible to perform big data analysis and carry out different procedures efficiently.
The algorithms applied to artificial intelligence also enable machine learning and the development of an artificial neural network . In this framework, the algorithm is an instruction or rule that guides the analysis carried out by artificial intelligence and allows it to make a decision. If we focus on machine learning, algorithms are used to train the system, which is thus trained to categorize information and make predictions.
Algorithm Types
To complete this article, we are going to focus on the different types of algorithms that exist. The most common classification is linked to the function they perform.
A search algorithm , for example, aims to detect certain elements in a data structure. A sorting or sorting algorithm , meanwhile, places elements in a sequence that it creates from an order relationship.
A greedy algorithm , on the other hand, is called an algorithm that selects the best option in each step up to the best possible solution at the end of the process. Other types of algorithm are the backtracking algorithm (based on trial and error dynamics), the encryption algorithm (uses cryptographic methods to encrypt data), the probabilistic algorithm (generates random results based on a certain set of data) and the quantum algorithm (enables the virtualization of a quantum computing model).