<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to EAs</title><link>https://sourceforge.net/p/ugp3/wiki/EAs/</link><description>Recent changes to EAs</description><atom:link href="https://sourceforge.net/p/ugp3/wiki/EAs/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 10 Oct 2014 09:54:58 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/ugp3/wiki/EAs/feed" rel="self" type="application/rss+xml"/><item><title>EAs modified by Giovanni Squillero</title><link>https://sourceforge.net/p/ugp3/wiki/EAs/</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="natural-and-artificial-evolution"&gt;Natural and Artificial Evolution&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Evolution&lt;/strong&gt; is the biological theory that animals and plants have  their origin in other types, and that the distinguishable differences  are due to modifications in successive generations  &lt;a class="" href="http://www.britannica.com/EBchecked/topic/197367/evolution" rel="nofollow"&gt;1&lt;/a&gt;. Natural  evolution is not a random process. On the contrary, it is based on  random variations, but some are rejected while others preserved  according to objective evaluations. Only changes that are beneficial to  the individuals are likely to spread into subsequent generations. Darwin  in his &lt;em&gt;On the Origin of Species by Means of Natural Selection, or the  Preservation of Favoured Races in the Struggle for Life&lt;/em&gt; (1859)  &lt;a class="" href="http://en.wikipedia.org/wiki/On_the_Origin_of_Species" rel="nofollow"&gt;2&lt;/a&gt; called this  principle "natural selection", a quite simple process where random  variations "afford materials". &lt;br /&gt;
&lt;/p&gt;
&lt;p&gt;When natural selection causes variations to be accumulated in one specific direction the result strikingly resembles the outcome of an &lt;em&gt;intelligent&lt;/em&gt; optimization process. However, the process only requires to &lt;em&gt;assess&lt;/em&gt; the effect of random changes, not the ability to &lt;em&gt;design&lt;/em&gt; intelligent modifications. Several researchers, independently, tried to replicate such a characteristic to solve difficult problems more efficiently. Accordingly, an &lt;strong&gt;evolutionary algorithm&lt;/strong&gt; (EA) is an algorithm loosely inspired by the theory of evolution, and &lt;strong&gt;evolutionary computation&lt;/strong&gt; (EC) is the offshoot of computer science focusing on such algorithms. The definition is deliberately vague since the boundaries of the field are not, and cannot be, sharply defined. Evolutionary computation is a branch of &lt;strong&gt;computational intelligence&lt;/strong&gt;, and it is also included into the broad framework of &lt;strong&gt;bio-inspired heuristics&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Evolutionary computation does not have a single recognizable origin. Some scholars identify its starting point in 1950, when Alan Turing wrote "Computing machinery and intelligence" (&lt;em&gt;Mind&lt;/em&gt;, no. 9, pp. 433–360), drawing attention to the similarities between learning and evolution. Others pointed out the inspiring ideas that appeared later in the decade, despite the fact that the lack of computational power impaired their diffusion in the broader scientific community (see: David Fogel, &lt;em&gt;Evolutionary Computation: The Fossil Record&lt;/em&gt;, 1998, ISBN 978-0780334816). More commonly, the birth of evolutionary computation is set in the 1960s with the appearance of three independent research lines: John Holland’s &lt;strong&gt;genetic algorithms&lt;/strong&gt; (GA); Lawrence Fogel’s &lt;strong&gt;evolutionary programming&lt;/strong&gt; (EP); Ingo Rechenberg’s and Hans-Paul Schwefel’s &lt;strong&gt;evolution strategies&lt;/strong&gt; (ES). These three paradigms monopolized the field until the 1990s, when John Koza entered the arena with &lt;strong&gt;genetic programming&lt;/strong&gt; (GP). &lt;/p&gt;
&lt;p&gt;In evolutionary algorithms a single candidate solution is termed &lt;strong&gt;individual&lt;/strong&gt;; the set of all candidate solutions that exists at a particular time is called &lt;strong&gt;population&lt;/strong&gt;. Evolution proceeds through discrete steps called &lt;strong&gt;generations&lt;/strong&gt;. In each of them, the population is first expanded and then collapsed, mimicking the processes of breeding and struggling for survival. Some evolutionary algorithms do not store a collection of distinct individuals, and evolution is depicted through the variation of the statistical parameters that describe the population. &lt;/p&gt;
&lt;p&gt;Most of the jargon of evolutionary computation mimics the precise terminology of biology. The ability of an individual to solve the target problem is measured by the &lt;strong&gt;fitness function&lt;/strong&gt;, which influences the likelihood of a solution to propagate its characteristics to the next generation. In some approaches individuals may die of old age, while in other they remain in the population until replaced by fitter ones. &lt;/p&gt;
&lt;p&gt;The word &lt;strong&gt;genome&lt;/strong&gt; denotes the whole genetic material of the organism, although its actual implementation strongly differs from one approach to another. The &lt;strong&gt;gene&lt;/strong&gt; is the functional unit of inheritance, or, operatively, the smallest fragment of the genome that may be modified in the evolution process. Genes are positioned in the genome at specific positions called loci. The alternative genes that may occur at a given locus are called &lt;strong&gt;alleles&lt;/strong&gt;. &lt;/p&gt;
&lt;p&gt;Biologists need to distinguish between the &lt;strong&gt;genotype&lt;/strong&gt; and the &lt;strong&gt;phenotype&lt;/strong&gt;: the former is all the genetic constitution of an organism; the latter is the set of observable properties that are produced by the interaction between the genotype and the environment. In many implementations, EC practitioners do not require such a precise distinction. The single numerical value representing the fitness of an individual is sometimes assimilated to its phenotype. &lt;/p&gt;
&lt;p&gt;To generate the &lt;strong&gt;offspring&lt;/strong&gt;, evolutionary algorithms implement sexual and asexual reproduction. The former is named &lt;strong&gt;recombination&lt;/strong&gt;; it involves two or more participants, and implies the possibility for the offspring to inherit different characteristics from different parents. When recombination is achieved through an exchange of genetic material between the parents, it often takes the name of crossover. Asexual reproduction may be named &lt;strong&gt;replication&lt;/strong&gt;, to indicate that a copy of an individual is created, or, more commonly, &lt;strong&gt;mutation&lt;/strong&gt;, to stress that the copy is not exact. All operators exploited during reproduction can be cumulatively called evolutionary operators, or genetic operators because they act at the genotypical level. Almost no evolutionary algorithm takes gender into account; hence, individuals do not have distinct reproductive roles. &lt;/p&gt;
&lt;p&gt;An evolutionary algorithm performs better than a pure random approach. This rather simple consideration is probably the main reason why EAs are sometimes exploited in the &lt;em&gt;industrial&lt;/em&gt; world. Nevertheless, they have show interesting characteristics: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Evolutionary algorithms provide an effective methodology for trying random modifications, where no preconceived idea about the optimal solution is required. &lt;/li&gt;
&lt;li&gt;Evolutionary algorithms are more robust than pure hill climbing (being based on a &lt;em&gt;population&lt;/em&gt;). &lt;/li&gt;
&lt;li&gt;Both small and large modifications are possible, but with different probabilities. &lt;/li&gt;
&lt;li&gt;Sexual recombination allows merging useful characteristics from different solutions, exploring efficiently the search space. &lt;/li&gt;
&lt;li&gt;Evolutionary algorithms are quite simple to set up, and require no human intervention when running. &lt;/li&gt;
&lt;li&gt;Evolutionary algorithms are inherently parallel: a nearly-linear speed-up may be easily achieved on multiple instruction/multiple data (MIMD) architectures. &lt;/li&gt;
&lt;li&gt;It’s easy to trade-off between computational resources and quality of the results. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Unfortunately, several hidden and rather obscure details may significantly impair evolutionary algorithms’ efficacy. This may explain the relative slow acceptance, compared to other bio-inspired heuristics, such as &lt;em&gt;simulate annealing&lt;/em&gt; or &lt;em&gt;artificial neural network&lt;/em&gt; (see the section on &lt;a class="" href="../Main_Page#Known_problems_and_frequent_pitfalls" title="wikilink"&gt;&lt;em&gt;known problems and frequent pitfalls&lt;/em&gt;&lt;/a&gt;). &lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovanni Squillero</dc:creator><pubDate>Fri, 10 Oct 2014 09:54:58 -0000</pubDate><guid>https://sourceforge.net9dcf931ccf544a7abe182e6a9ad07c9542958c81</guid></item></channel></rss>