Content deleted Content added
Thorough revision of the old article, see talk. |
Citation bot (talk | contribs) Removed URL that duplicated identifier. Removed parameters. | Use this bot. Report bugs. | #UCB_CommandLine |
||
(19 intermediate revisions by 9 users not shown) | |||
Line 2:
{{Evolutionary algorithms}}
==Chromosome design==
When creating the [[genetic representation]] of a task, it is determined which decision variables and other degrees of freedom of the task should be improved by the EA and possible additional heuristics and how the [[Genetic representation#Distinction between search space and problem space|genotype-phenotype mapping]] should look like. The design of a chromosome translates these considerations into concrete data structures for which an EA then has to be selected, configured, extended, or, in the worst case, created. Finding a suitable [[Genetic representation|representation]] of the problem ___domain for a chromosome is an important consideration, as a good representation will make the search easier by limiting the [[Genetic representation#Distinction between search space and problem space|search space]]; similarly, a poorer representation will allow a larger search space.<ref name=ga-notes>{{cite web|title=Genetic algorithms|url=http://www.cse.unsw.edu.au/~billw/cs9414/notes/ml/05ga/05ga.html|accessdate=12 August 2015|archive-date=22 October 2019|archive-url=https://web.archive.org/web/20191022162416/http://www.cse.unsw.edu.au/~billw/cs9414/notes/ml/05ga/05ga.html|url-status=dead}}</ref> In this context, suitable [[mutation (genetic algorithm)|mutation]] and [[crossover (genetic algorithm)|crossover]] [[genetic operator|operators]]<ref name=":0" /> must also be found or newly defined to fit the chosen chromosome design. An important requirement for these operators is that they not only allow all points in the search space to be reached in principle, but also make this as easy as possible.<ref>{{Cite book |last=Rothlauf |first=Franz |url=http://link.springer.com/10.1007/978-3-642-88094-0 |title=Representations for Genetic and Evolutionary Algorithms |date=2002 |publisher=Physica-Verlag HD |isbn=978-3-642-88096-4 |series=Studies in Fuzziness and Soft Computing |volume=104 |___location=Heidelberg |pages=31 |doi=10.1007/978-3-642-88094-0}}</ref><ref>{{Cite book |
The following requirements must be met by a well-suited chromosome:
Line 12:
* Design of the chromosome in such a way that it covers only the search space and no additional areas. so that there is no [[Genetic representation#Redundancy|redundancy]] or only as little redundancy as possible.
* Observance of [[Causality conditions|strong causality]]: small changes in the chromosome should only lead to small changes in the phenotype.<ref>{{Cite
* Designing the chromosome in such a way that it excludes prohibited regions in the search space completely or as much as possible.
While the first requirement is indispensable, depending on the application and the EA used, one usually only has to be satisfied with fulfilling the remaining requirements as far as possible.
== Examples of chromosomes ==
=== Chromosomes for binary codings ===
In their classical form, GAs use bit strings and map the decision variables to be optimized onto them. An example for one
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none; text-align:center;"
Line 31:
|style="text-align:left"| position: || 17 || 16 || 15 || 14 || 13 || 12 || 11 || 10 || 9 || 8 || 7 || 6 || 5 || 4 || 3 || 2 || 1
|}
Note that the negative number here is given in [[
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none; text-align:center;"
Line 44:
=== Chromosomes with real-valued or integer genes ===
For the processing of tasks with real-valued or mixed-integer decision variables, EAs such as the [[evolution strategy]]<ref name=":3">{{Cite book |last=Schwefel |first=Hans-Paul |url=https://www.researchgate.net/publication/220690578 |title=Evolution and optimum seeking |date=1995 |publisher=John Wiley & Sons |isbn=0-471-57148-2 |___location=New York |oclc=30701094}}</ref> or the real-coded GAs<ref>{{Citation |
=== Chromosomes for permutations ===
[[Combinatorial optimization|Combinatorial problems]] are mainly concerned with finding an optimal sequence of a set of elementary items. As an example, consider the problem of the [[Travelling salesman problem|traveling salesman]] who wants to visit a given number of cities exactly once on the shortest possible tour. The simplest and most obvious mapping onto a chromosome is to number the cities consecutively, to interpret a resulting sequence as [[permutation]] and to store it directly in a chromosome, where one gene corresponds to the ordinal number of a city.<ref>{{Cite book |
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none; text-align:center;"
|-
|| 3 || 5 || 7 || 1 || 4 || 2 || 9 || 6 || 8
|}
In addition to this encoding frequently called ''path representation'', there are several other ways of representing a permutation, for example the ''ordinal representation'' or the ''matrix representation''.<ref name=":2" /><ref>{{Cite book |last=Whitley |first=Darrell |url= |title=Evolutionary computation. Vol. 1, Basic algorithms and operators |date=2000 |publisher=Institute of Physics Pub |isbn=0-585-30560-9 |editor-last=Fogel |editor-first=David B. |___location=Bristol |pages=
=== Chromosomes for co-evolution ===
When a genetic representation contains, in addition to the decision variables, additional information that influences evolution and/or the mapping of the genotype to the phenotype and is itself subject to evolution, this is referred to as ''co-evolution''. A typical example is the [[evolution strategy]] (ES), which includes one or more mutation step sizes as strategy parameters in each chromosome.<ref name=":3" /> Another example is an additional gene to control a selection heuristic for resource allocation in a scheduling tasks.<ref name=":6">{{Cite journal |
This approach is based on the assumption that good solutions are based on an appropriate selection of strategy parameters or on control gene(s) that influences genotype-phenotype mapping. The success of the ES gives evidence to this assumption.
=== Chromosomes for complex representations ===
The chromosomes presented above are well suited for processing tasks of continuous, mixed-integer, pure-integer or combinatorial optimization. For a combination of these optimization areas, on the other hand, it becomes increasingly difficult to map them to simple strings of values, depending on the task. The following extension of the gene concept is proposed by the EA GLEAM (General Learning Evolutionary Algorithm and Method) for this purpose:<ref name=":4">{{Citation |
[[File:Genmodell Chromosombeispiel.png|thumb|212x212px|Three exemplary genes matching the adjacent gene type definitions in a chromosome organized as a list
[[File:Gene model gene types.png|left|thumb|224x224px|Three exemplary genes matching the adjacent gene type definitions in a chromosome organized as a list
A [[Scheduling (computing)|scheduling]] task is used as an illustration, in which [[Workflow|workflows]] are to be scheduled that require different numbers of heterogeneous resources. A workflow specifies which work steps can be processed in parallel and which have to be executed one after the other. In this context, heterogeneous resources mean different processing times at different costs in addition to different processing capabilities.<ref name=":6" /> Each scheduling operation therefore requires one or more parameters that determine the resource selection, where the value ranges of the parameters depend on the number of alternative resources available for each work step. A suitable chromosome provides one gene type per work step and in this case one corresponding gene, which has one parameter for each required resource. The order of genes determines the order of scheduling operations and, therefore, the precedence in case of allocation conflicts. The exemplary gene type definition of work step 15 with two resources, for which there are four and seven alternatives respectively, would then look as shown in the left image. Since the parameters represent indices in lists of available resources for the respective work step, their value range starts at 0. The right image shows an example of three genes of a chromosome belonging to the gene types in list representation.
[[File:Genetic Program Tree.png|thumb|214x214px|Syntax tree of a formula example]]
=== Chromosomes for tree representations ===
Tree representations in a chromosome are used by [[genetic programming]], an EA type for generating [[Computer program|computer programs]] or [[Electronic circuit|circuits]].<ref name=":5" /> The trees correspond to the [[Parse tree|syntax trees]] generated by a [[compiler]] as internal representation when translating a computer program. The adjacent figure shows the syntax tree of a mathematical expression as an example. Mutation operators can rearrange, change or delete subtrees depending on the represented syntax structure. Recombination is performed by exchanging suitable subtrees.<ref>{{Cite book |
== Bibliography ==
* Thomas Bäck (1996): ''[https://books.google.com/books?id=htJHI1UrL7IC
* Wolfgang Banzhaf, P. Nordin, R. Keller, F. Francone (1998): ''Genetic Programming - An Introduction'', Morgan Kaufmann, San Francisco. {{ISBN|1-55860-510-X}}
* Kenneth A. de Jong (2006): ''Evolutionary Computation: A Unified Approach.'' MIT Press, Cambridge, MA. {{ISBN|0-262-04194-4}}
* Melanie Mitchell (1996): ''An Introduction to Genetic Algorithms.'' MIT Press, Cambridge MA. {{ISBN|978-0-262-63185-3}}
* Hans-Paul Schwefel (1995): ''[https://www.researchgate.net/publication/220690578_Evolution_and_Optimum_Seeking Evolution and Optimum Seeking]''. Wiley & Sons, New York. {{ISBN|0-471-57148-2}}
== References ==
Line 81:
{{DEFAULTSORT:Chromosome (Genetic Algorithm)}}
[[Category:Evolutionary algorithms]]
|