Our website is made possible by displaying online advertisements to our visitors.
Please consider supporting us by disabling your ad blocker.

Responsive image


Fitness function

A fitness function is a particular type of objective or cost function that is used to summarize, as a single figure of merit, how close a given candidate solution is to achieving the set aims. It is an important component of evolutionary algorithms (EA), such as genetic programming, evolution strategies or genetic algorithms. An EA is a metaheuristic that reproduces the basic principles of biological evolution as a computer algorithm in order to solve challenging optimization or planning tasks, at least approximately. For this purpose, many candidate solutions are generated, which are evaluated using a fitness function in order to guide the evolutionary development towards the desired goal.[1] Similar quality functions are also used in other metaheuristics, such as ant colony optimization or particle swarm optimization.

In the field of EAs, each candidate solution, also called an individual, is commonly represented as a string of numbers (referred to as a chromosome). After each round of testing or simulation the idea is to delete the n worst individuals, and to breed n new ones from the best solutions. Each individual must therefore to be assigned a quality number indicating how close it has come to the overall specification, and this is generated by applying the fitness function to the test or simulation results obtained from that candidate solution.[2]

Two main classes of fitness functions exist: one where the fitness function does not change, as in optimizing a fixed function or testing with a fixed set of test cases; and one where the fitness function is mutable, as in niche differentiation or co-evolving the set of test cases.[3][4] Another way of looking at fitness functions is in terms of a fitness landscape, which shows the fitness for each possible chromosome. In the following, it is assumed that the fitness is determined based on an evaluation that remains unchanged during an optimization run.

A fitness function does not necessarily have to be able to calculate an absolute value, as it is sometimes sufficient to compare candidates in order to select the better one. A relative indication of fitness (candidate a is better than b) is sufficient in some cases,[5] such as tournament selection or Pareto optimization.

  1. ^ Eiben, A.E.; Smith, J.E. (2015). "Evaluation Function (Fitness Function)". Introduction to Evolutionary Computing. Natural Computing Series (2nd ed.). Berlin, Heidelberg: Springer. p. 30. doi:10.1007/978-3-662-44874-8. ISBN 978-3-662-44873-1. S2CID 20912932.
  2. ^ Eiben, A.E.; Smith, J.E. (2015). "What Is an Evolutionary Algorithm?". Introduction to Evolutionary Computing. Natural Computing Series. Berlin, Heidelberg: Springer. pp. 25–48. doi:10.1007/978-3-662-44874-8. ISBN 978-3-662-44873-1. S2CID 20912932.
  3. ^ Popovici, Elena; Bucci, Anthony; Wiegand, R. Paul; De Jong, Edwin D. (2012), Rozenberg, Grzegorz; Bäck, Thomas; Kok, Joost N. (eds.), "Coevolutionary Principles", Handbook of Natural Computing, Berlin, Heidelberg: Springer Berlin Heidelberg, pp. 987–1033, doi:10.1007/978-3-540-92910-9_31, ISBN 978-3-540-92909-3, retrieved 2023-01-08
  4. ^ Eiben, A.E.; Smith, J.E. (2015). "Coevolutionary Systems". Introduction to Evolutionary Computing. Natural Computing Series. Berlin, Heidelberg: Springer Berlin Heidelberg. pp. 223–230. doi:10.1007/978-3-662-44874-8. ISBN 978-3-662-44873-1. S2CID 20912932.
  5. ^ Bäck, Thomas; Fogel, David; Michalewicz, Zbigniew, eds. (2000-11-20). Evolutionary Computation 2: Advanced Algorithms and Operators. Taylor & Francis. doi:10.1201/9781420034349. ISBN 978-0-7503-0665-2.

Previous Page Next Page