Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the difference between heuristics and metaheuristics?

After some research about algorithms I found two terms which confuses me. I've read at least 20 papers and yet, there aren't any clear definition about either. I hope someone can help me tell the difference between heuristics and metaheuristics algorithms. And if possible, add the source of it.

ps: I already know what the meaning is of the words, but I don't know what the exact difference is between them in computer science.

thanks in advance

like image 893
Nico Liu Avatar asked May 04 '12 08:05

Nico Liu


People also ask

What do you mean by metaheuristics?

Definition. A metaheuristic is a high-level problem-independent algorithmic framework that provides a set of guidelines or strategies to develop heuristic optimization algorithms (Sörensen and Glover, 2013).

Is genetic algorithm heuristic and metaheuristic?

In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA).

What is the difference between heuristics and algorithm?

An algorithm is a step-wise procedure for solving a specific problem in a finite number of steps. The result (output) of an algorithm is predictable and reproducible given the same parameters (input). A heuristic is an educated guess which serves as a guide for subsequent explorations.

What is the difference between traditional and heuristic approach?

Traditional scanning is based on virus signatures. heuristic scanning is based on detecting suspicious behavior. Since the amount of viruses is huge, it's becoming not practical to hold the database of all signatures. That's why scanning algorithms are moving towards heuristic scanning.


1 Answers

You could think of a heuristic like an approximate (not approximation) solution to a problem. The difference between approximate and approximation is that the first is about getting a good guess of the solution of a problem, but that you don't really know how good it is. The second is about getting a solution for which you can prove how close it is to the optimal solution.

So, heuristics are often problem-dependent, that is, you define an heuristic for a given problem. Metaheuristics are problem-independent techniques that can be applied to a broad range of problems. An heuristic is, for example, choosing a random element for pivoting in Quicksort. A metaheuristic knows nothing about the problem it will be applied, it can treat functions as black boxes.

You could say that a heuristic exploits problem-dependent information to find a 'good enough' solution to a specific problem, while metaheuristics are, like design patterns, general algorithmic ideas that can be applied to a broad range of problems.

like image 194
Alejandro Piad Avatar answered Sep 22 '22 09:09

Alejandro Piad