Difference between revisions of "Genetic Algorithms"
Line 7: | Line 7: | ||
A generic GA (also known as an evolutionary algorithm [EA]) assumes a discrete search space H and a function | A generic GA (also known as an evolutionary algorithm [EA]) assumes a discrete search space H and a function | ||
− | + | \[f:H\to\mathbb{R}\], | |
where H is a subset of the Euclidean space ''Italic text'' | where H is a subset of the Euclidean space ''Italic text'' | ||
R. | R. | ||
Line 13: | Line 13: | ||
The general problem is to find | The general problem is to find | ||
− | + | \[\arg\underset{X\in H}{\mathop{\min }}\,f\] | |
where ''Italic text'' X is avector of the decision variables and ''Italic text'' f is the objective function. | where ''Italic text'' X is avector of the decision variables and ''Italic text'' f is the objective function. | ||
Line 19: | Line 19: | ||
With GAs it is customary to distinguish genotype–the encoded representation of the variables–from phenotype–the set of variables themselves. The vector ''Italic text'' X is represented by a string (or chromosome) ''Italic text'' s of length ''Italic text'' l madeup of symbols drawn from an alphabet ''Italic text'' A using the mapping | With GAs it is customary to distinguish genotype–the encoded representation of the variables–from phenotype–the set of variables themselves. The vector ''Italic text'' X is represented by a string (or chromosome) ''Italic text'' s of length ''Italic text'' l madeup of symbols drawn from an alphabet ''Italic text'' A using the mapping | ||
− | + | \[c:{{A}^{l}}\to H\] | |
The mapping ''Italic text'' c is not necessarily surjective. The range of ''Italic text'' c determine the subset of ''Italic text''<sup>Superscript text</sup> Al available for exploration by a GA. The range of ''Italic text'' c, ''Italic text'' Ξ | The mapping ''Italic text'' c is not necessarily surjective. The range of ''Italic text'' c determine the subset of ''Italic text''<sup>Superscript text</sup> Al available for exploration by a GA. The range of ''Italic text'' c, ''Italic text'' Ξ | ||
− | + | \[\Xi\subseteq {{A}^{l}}\] | |
is needed to account for the fact that some strings in the image ''Italic text''<sup>Superscript text</sup> Al under ''Italic text'' c may represent invalid solutions to the original problem. | is needed to account for the fact that some strings in the image ''Italic text''<sup>Superscript text</sup> Al under ''Italic text'' c may represent invalid solutions to the original problem. | ||
Line 31: | Line 31: | ||
Given the statements above, the optimization becomes: | Given the statements above, the optimization becomes: | ||
− | + | \[\arg\underset{S\in L}{\mathop{\min g}}\,\], | |
given the function | given the function | ||
− | + | \[g(s)=f(c(s))\]. | |
Finally, with GAs it is helpful if ''Italic text'' c is a bijection. The important property of bijections as they apply to GAs is that bijections have an inverse, i.e., there is a unique vector ''Italic text'' x for every string and a unique string for each ''Italic text'' x. | Finally, with GAs it is helpful if ''Italic text'' c is a bijection. The important property of bijections as they apply to GAs is that bijections have an inverse, i.e., there is a unique vector ''Italic text'' x for every string and a unique string for each ''Italic text'' x. | ||
Line 48: | Line 48: | ||
Define the collection μ (the number of individuals) via Hμ. The population transforms are denoted by | Define the collection μ (the number of individuals) via Hμ. The population transforms are denoted by | ||
− | + | \[T:{{H}^{\mu }}\to {{H}^{\mu }}\] | |
where | where | ||
− | + | \[\mu \in \mathbb{N}\] | |
− | Some GA methods generate populations whose size not equal to their predecessors’. | + | Some GA methods generate populations whose size not equal to their predecessors’. The following expression |
− | + | \[T:{{H}^{\mu}}\to {{H}^{{{\mu }'}}}\] | |
can accommodate populations that contain the same or different individuals. This mapping has the ability to represent all population sizes, genetic operators, and parameters as sequences. | can accommodate populations that contain the same or different individuals. This mapping has the ability to represent all population sizes, genetic operators, and parameters as sequences. |
Revision as of 17:39, 18 August 2012
Bold textGenetic Algorithms
1. Genetic algorithms (GAs): basic form
A generic GA (also known as an evolutionary algorithm [EA]) assumes a discrete search space H and a function
\[f:H\to\mathbb{R}\],
where H is a subset of the Euclidean space Italic text R.
The general problem is to find
\[\arg\underset{X\in H}{\mathop{\min }}\,f\]
where Italic text X is avector of the decision variables and Italic text f is the objective function.
With GAs it is customary to distinguish genotype–the encoded representation of the variables–from phenotype–the set of variables themselves. The vector Italic text X is represented by a string (or chromosome) Italic text s of length Italic text l madeup of symbols drawn from an alphabet Italic text A using the mapping
\[c:{{A}^{l}}\to H\]
The mapping Italic text c is not necessarily surjective. The range of Italic text c determine the subset of Italic textSuperscript text Al available for exploration by a GA. The range of Italic text c, Italic text Ξ
\[\Xi\subseteq {{A}^{l}}\]
is needed to account for the fact that some strings in the image Italic textSuperscript text Al under Italic text c may represent invalid solutions to the original problem.
The string length Italic text l depends on the dimensions of both Italic text H and Italic textSuperscript text Al, with the elements of the string corresponding to genes and the values to alleles. This statement of genes and alleles is often referred to as genotype-phenotype mapping.
Given the statements above, the optimization becomes:
\[\arg\underset{S\in L}{\mathop{\min g}}\,\],
given the function
\[g(s)=f(c(s))\].
Finally, with GAs it is helpful if Italic text c is a bijection. The important property of bijections as they apply to GAs is that bijections have an inverse, i.e., there is a unique vector Italic text x for every string and a unique string for each Italic text x.
2. Genetic algorithms and their Operators
Below is our first general description of a GA and its operators:
Let H be a nonempty set (the individual or search space)\[{{\left\{{{u}^{i}} \right\}}_{i\in \mathbb{N}}}\] a sequence in \[{{\mathbb{Z}}^{+}}\] (the parent populations). Define the collection μ (the number of individuals) via Hμ. The population transforms are denoted by
\[T:{{H}^{\mu }}\to {{H}^{\mu }}\]
where
\[\mu \in \mathbb{N}\]
Some GA methods generate populations whose size not equal to their predecessors’. The following expression
\[T:{{H}^{\mu}}\to {{H}^{{{\mu }'}}}\]
can accommodate populations that contain the same or different individuals. This mapping has the ability to represent all population sizes, genetic operators, and parameters as sequences.
The execution of a GA typically begins by randomly sampling with replacement from Al. The resulting collection is the initial population, denoted by P(0). In general, a population is a collection \[P=({{a}_{1}},{{a}_{2}},...,{{a}_{\mu }})\]of individuals, where\[{{a}_{i}}\in {{A}^{l}}\], and populations are treated as n-tuples of individuals. The number of individuals (μ) is defined as the population size.
Using the work of Lamont and Merkle (Lamont, 1997) we describe in detail the termination criteria and the other genetic operators (GOs).
Since H is a nonempty set,\[c:{{A}^{l}}\to H\], and\[f:H\to \mathbb{R}\], the fitness scaling function can be defined as \[{{T}_{s}}:\mathbb{R}\to \mathbb{R}\]and a related fitness function as\[\Phi \triangleq {{T}_{s}}\circ f\circ c\]. In this definition it is understood that the objective function f is determined by the application, while the specification of the decoding function c[1] and the fitness scaling function Ts are design issues.
Following initialization, execution proceeds iteratively. Each iteration consists of an application of one or more GOs. The combined effect of the GOs applied in a particular generation $t\in N$ is to transform the current population P(t) into a new population P(t+1).
In the population transformation $\mu ,{\mu}'\ in {{\mathbb{Z}}^{+}}$(the parent and offspring population sizes, respectively). A mapping $T:{{H}^{\mu }}\ to {{H}^{{{\mu }'}}}$ is called a population transformation (PT). If$T(P)={P}'$, then P is a parent population and P/ is the offspring population. If$\mu ={\mu }'$, then it is called simply the population size.
The PT resulting from an GO often depends on the outcome of a random experiment. This result is referred to as a random population transformation (RPT or random PT). To define RPT, let $\mu \in {{\mathbb{Z}}^{+}}$and $\Omega $ be a set (the sample space). A random function $R:\Omega \to T({{H}^{\mu }},\bigcup\limits_{{\mu }'\ in {{\mathbb{Z}}^{+}}}^{{}}{{{H}^{{{\mu }'}}}})$ is called an RPT. The distribution of PTs resulting from the application of a GO depends on the operator parameters; in other words, a GO maps its parameters to an RPT.
Now that both the fitness function and RPT have been defined, the GO can be defined in general: let$\mu \in {{\mathbb{Z}}^{+}}$, X be a set (the parameter space) and $\Omega $ a set. The mapping $\Zeta :X\to T\left( \Omega ,T\left[ {{H}^{\mu }},\bigcup\limits_{{\mu }'\in {{\mathbb{Z}}^{+}}}^{{}}{{{H}^{{{\mu}'}}}} \right] \right)$ is a GO. The set of GOs is denoted as $GAOP\left( H,\mu ,X,\Omega \right)$.
There are three common GOs: recombination,mutation, and selection. These three operators are roughly analogous to their similarly named counterparts in genetics. The application of them in GAs is strictly Darwin-like in nature, i.e., “survival of the fittest.”
For the recombination operator let $r\in GAOP\left( H,\mu ,X,\Omega \right)$. If there exists $P\in {{H}^{\mu }},\Theta \in X$, and $\omega \in \Omega $, such that one individual in the offspring population ${{r}_{\Theta }}\left( P \right)$ depends on more than one individual of P,then r is referred to as a recombination operator.
For the mutation operator let $m\in GAOP\left( H,\mu ,X,\Omega\right)$. If for every $P\in {{H}^{\mu }}$, for every $\Theta \in X$, for every $\omega\in \Omega $, and if each individual in the offspring population ${{m}_{\Theta}}\left( P \right)$ depends on at most one individual of P, then m is called a mutation operator.
Finally, for the selection operator let $s\in EVOP\left( H,\mu ,X\times T\left(H,\mathbb{R}),\Omega \right) \right)$. If $P\in {{H}^{\mu }}$,$\Theta \in X$,$\Phi :H\to\mathbb{R}$in all cases, and satisfies $a\in {{s}_{\left( \Theta ,\Phi \right)}}(P)\Rightarrow a\in P$, then s is a selection operator.
Bold textEndnotes
[1] If the domain of c is total, i.e., the domain of c is all of A I, c is called a decoding function. The mapping of c is not necessarily surjective. The range of c determines the subset of Al available for exploration by the evolutionary algorithm.
Genetic Algorithms. Encyclopedia of Mathematics. URL: http://encyclopediaofmath.org/index.php?title=Genetic_Algorithms&oldid=27660