Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Fitness function
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Objective function of evolutionary algorithm}} {{evolutionary algorithms}} A '''fitness function''' is a particular type of [[objective function|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 algorithm|evolutionary algorithms (EA)]], such as [[genetic programming]], [[Evolution strategy|evolution strategies]] or [[genetic algorithm]]s. An EA is a [[metaheuristic]] that reproduces the basic principles of [[biological evolution]] as a [[computer algorithm]] in order to solve challenging [[Optimization problem|optimization]] or [[planning]] tasks, at least [[Approximation|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.<ref>{{Cite book |last1=Eiben |first1=A.E. |url=http://link.springer.com/10.1007/978-3-662-44874-8 |title=Introduction to Evolutionary Computing |last2=Smith |first2=J.E. |date=2015 |publisher=Springer |isbn=978-3-662-44873-1 |edition=2nd |series=Natural Computing Series |location=Berlin, Heidelberg |pages=30 |language=en |chapter=Evaluation Function (Fitness Function) |doi=10.1007/978-3-662-44874-8 |s2cid=20912932}}</ref> Similar quality functions are also used in other metaheuristics, such as [[Ant colony optimization algorithms|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 (evolutionary algorithm)|chromosome]]). After each round of testing or simulation the idea is to delete the ''n'' worst individuals, and to [[crossover (evolutionary algorithm)|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.<ref name="intro">{{Cite book |last1=Eiben |first1=A.E. |url=http://link.springer.com/10.1007/978-3-662-44874-8 |title=Introduction to Evolutionary Computing |last2=Smith |first2=J.E. |date=2015 |publisher=Springer |isbn=978-3-662-44873-1 |series=Natural Computing Series |location=Berlin, Heidelberg |pages=25–48 |chapter=What Is an Evolutionary Algorithm? |doi=10.1007/978-3-662-44874-8|s2cid=20912932 }}</ref> 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-evolution|co-evolving]] the set of test cases.<ref>{{Citation |last1=Popovici |first1=Elena |title=Coevolutionary Principles |date=2012 |url=http://link.springer.com/10.1007/978-3-540-92910-9_31 |work=Handbook of Natural Computing |pages=987–1033 |editor-last=Rozenberg |editor-first=Grzegorz |place=Berlin, Heidelberg |publisher=Springer Berlin Heidelberg |language=en |doi=10.1007/978-3-540-92910-9_31 |isbn=978-3-540-92909-3 |access-date=2023-01-08 |last2=Bucci |first2=Anthony |last3=Wiegand |first3=R. Paul |last4=De Jong |first4=Edwin D. |editor2-last=Bäck |editor2-first=Thomas |editor3-last=Kok |editor3-first=Joost N.|url-access=subscription }}</ref><ref>{{Cite book |last1=Eiben |first1=A.E. |url=http://link.springer.com/10.1007/978-3-662-44874-8 |title=Introduction to Evolutionary Computing |last2=Smith |first2=J.E. |date=2015 |publisher=Springer Berlin Heidelberg |isbn=978-3-662-44873-1 |series=Natural Computing Series |location=Berlin, Heidelberg |pages=223–230 |chapter=Coevolutionary Systems |doi=10.1007/978-3-662-44874-8|s2cid=20912932 }}</ref> 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,<ref>{{Cite book |url=https://www.taylorfrancis.com/books/9781420034349 |title=Evolutionary Computation 2: Advanced Algorithms and Operators |date=2000-11-20 |publisher=Taylor & Francis |isbn=978-0-7503-0665-2 |editor-last=Bäck |editor-first=Thomas |language=en |doi=10.1201/9781420034349 |editor-last2=Fogel |editor-first2=David |editor-last3=Michalewicz |editor-first3=Zbigniew}}</ref> such as [[tournament selection]] or [[Multi-objective optimization|Pareto optimization]].
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)