Among the different **types of algorithms** that exist, those that are classified according to their system of signs and according to their function stand out. An algorithm is a series of steps that are performed to solve a problem, perform a task, or perform a calculation.

By definition, they are generally rigorous and logical designs, such as mathematical operations, that have proven to be optimal for solving any given difficulty. Basically an algorithm is the best known solution for a particular problem. Depending on its strategy and function, there are many types of algorithms.

Some of these types are: dynamic algorithms, reverse algorithms, brute force algorithms, opportunistic algorithms, marking algorithms, and random algorithms, among others.

Algorithms have different uses in many fields. From the area of computing, passing through mathematics to the area of *marketing.* There are thousands of algorithms suitable for solving problems in each area.

**Types of algorithms according to their system of signs**

**qualitative algorithms **

These algorithms are those in which verbal elements are placed. An example of this type of algorithms are the instructions or the «step by step» that are given orally.

Such is the case of cooking recipes or instructions for doing a DIY job.

**Quantitative algorithms**

They are the opposite of qualitative algorithms, because numerical elements are placed. These types of algorithms are used in mathematics to perform calculations. For example, to find a square root or solve an equation.

**computational algorithm**

They are the algorithms that are made with a computer; many of these algorithms are more complex and therefore need to be performed by a machine. They can also be quantitative algorithms that are optimized.

**Non-computational algorithm **

These algorithms are those that cannot be done with a computer; for example, the programming of a television.

**Types of algorithms according to their function**

**marking algorithm**

This algorithm uses automation to set prices dynamically, based on factors such as customer behavior.

It is the practice of automatically setting a price for items on sale to maximize the seller’s profit. It has been common practice in the airline industry since the early 1990s.

The marking algorithm is a common practice in highly competitive industries such as travel and e-commerce.

This type of algorithm can be extremely complex or relatively simple. In many cases they can be self-learning or can be continually optimized with testing.

The marking algorithm can be unpopular with customers as people tend to value stability and fairness.

**Probabilistic or random algorithms**

It is an algorithm where the result or the way in which the result is obtained depends on probability. They are also sometimes called random algorithms.

In some applications, the use of this type of algorithm is natural, such as when simulating the behavior of an existing or planned system over time. In this case the result is fortuitous.

In other cases the problem to be solved is deterministic but can be transformed into a fortuitous one, and can be solved by applying a probability algorithm.

The good thing about this type of algorithm is that its application does not require sophisticated or mathematical knowledge. There are three main types: numeric, Monte Carlo and Las Vegas.

The numerical algorithm uses approximation, instead of symbolic manipulations, to solve mathematical analysis problems. They can be applied in all fields of engineering and physical sciences.

For their part, Monte Carlo algorithms produce answers based on probability. As a result, the solutions produced by this algorithm may or may not be correct, since they have a certain margin of error.

It is used by developers, by mathematicians, and by scientists. They are contrasted with Las Vegas algorithms.

Finally, Las Vegas algorithms are characterized by the fact that the result will always be correct, but the system may use more than the anticipated resources or more than the estimated time.

In other words: these algorithms make a kind of gamble with the use of resources, but they always produce an accurate result.

**dynamic programming**

The word dynamic refers to the method in which the algorithm computes the result. Sometimes the solution of one element of the problem depends on the solution of a series of smaller problems.

Therefore, to solve the problem, the same values must be recomputed over and over again to solve smaller subproblems. But this creates a waste of cycles.

To remedy this, dynamic programming can be used. In this case, basically the result of each subproblem is remembered; when needed, that value is used instead of being computed over and over again.

**Heuristic algorithms**

These algorithms are those that find solutions among all the possible ones, but do not guarantee that the best of these will be found. For this reason they are considered as approximate or not precise algorithms.

They usually find a solution that is close to the best, and also find it quickly and easily. Generally, this type of algorithm is used when it is impossible to find a solution by the normal way.

**backtracking algorithms**

They are algorithms that have been revoked by observing their behavior. They are typically approximations of the original algorithm that are built for purposes such as competition or research.

Algorithms can be revoked to study their impact on markets, the economy, pricing, operations, and society.

**voracious algorithm**

In many of the problems, making voracious decisions leads to optimal solutions. This type of algorithms is applicable to optimization problems.

In each step of a greedy algorithm, a logical and optimal decision is made, so that in the end the best global solution is reached. But keep in mind that once a decision is made it cannot be corrected or changed in the future.

Testing the truth of a greedy algorithm is very important, since not all algorithms of this class lead to a global optimal solution.

**References**

Algorithm: types and classification. Recovered from gonitsora.com

Heuristic algorithms. Retrieved from students.cei.upatras.gr

What is algorithmic pricing (2016). Recovered from simplicable.com

Number analysis. Retrieved from wikipedia.org

Probabilistic algorithms (2001). Retrieved from users.abo.fi

What are algorithms (2015). Recovered from simplicable.com

Monte carlo algorithm. Recovered from technopedia.com

Types of algorithms. Recovered from lostipos.com

What are reverse algorithms? Recovered from simplicable.com