Question

I'm not sure if my understanding of maximization and minimization is correct.

So lets say for some function f(x,y,z) I want to find what would give the highest value that would be maximization, right? And if I wanted to find the lowest value that would be minimization?

So if a genetic algorithm is a search algorithm trying to maximize some fitness function would they by definition be maximization algorithms?

Was it helpful?

Solution

So let's say for some function f(x,y,z), I want to find what would give the highest value that would be maximization, right? And if I wanted to find the lowest value that would be minimization?

Yes, that's by definition true.

So if a genetic algorithm is a search algorithm trying to maximize some fitness function would they by definition be maximization algorithms?

Pretty much yes, although I'm not sure a "maximization algorithm" is a well-used term, and only if a genetic algorithm is defined as such, which I don't believe it is strictly.

Generic algorithms can also try to minimize the distance to some goal function value, or minimize the function value, but then again, this can just be rephrased as maximization without loss of generality.

Perhaps more significantly, there isn't a strict need to even have a function - the candidates just need to be comparable. If they have a total order, it's again possible to rephrase it as a maximization problem. If they don't have a total order, it might be a bit more difficult to get candidates objectively better than all the others, although nothing's stopping you from running the GA on this type of data.

In conclusion - trying to maximize a function is the norm (and possibly in line with how you'll mostly see it defined), but don't be surprised if you come across a GA that doesn't do this.

OTHER TIPS

Are all genetic algorithms maximization algorithms?

No they aren't.

Genetic algorithms are popular approaches to multi-objective optimization (e.g. NSGA-II or SPEA-2 are very well known genetic algorithm based approaches).

For multi-objective optimization you aren't trying to maximize a function.

This because scalarizing multi-objective optimization problems is seldom a viable way (i.e. there isn't a single solution that simultaneously optimizes each objective) and what you are looking for is a set of nondominated solutions (or a representative subset of the Pareto optimal solutions).

There are also approaches to evolutionary algorithms which try to capture open-endedness of natural evolution searching for behavioral novelty. Even in an objective-based problem, such novelty search ignores the objective (see Abandoning Objectives: Evolution through the Search for Novelty Alone by Joel Lehman and Kenneth O. Stanley for details).

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top