What are evolutionary algorithms?

13

Researching on Evolutionary Programming, I came across the question What are genetic algorithms?

In an excerpt from the answer:

  

... Genetic algorithms are a particular class of algorithms   evolutionary ...

So, I'd like to know:

  • What are evolutionary algorithms?
  • What are evolutionary algorithms made up of?
  • asked by anonymous 03.01.2019 / 17:03

    2 answers

    8

    They are algorithms applied in NP (complexity) problems. They are in the class of non-deterministic algorithms that, rather, have a search not necessarily for an optimal solution, but rather a good solution based on stochastic actions with less time than deterministic search algorithms. Examples for such problems that they try to solve are those that have a combinatorial feature that testing all possible combinations would take centuries.

    Explaining better, I'll use the classic problem. If we consider any graph with nodes and edges, where each edge connects one or more nodes, consider that the goal is to get out of any node and go to another node as short as possible.

    Consideringanillustrativeexample,intheGraphabove,wewanttoleavethepointDandgotoEatthelowestpossiblecost.Althoughthegraphoftheimageispossibletotestallpossiblecombinations,itisverydifficultwhenconsideringproblemsofhugegraphs.

    Inthiscontext,thesealgorithmsenterintometa-heuristicsearches.AsIsaidbefore,thesolutionthatthesemodelsarelookingforarenotnecessarilyoptimalsolutions,butthatinthesearchspaceamongallpossiblecombinationsitcangotowardsthebestchoice.Forawell-definedevolutionaryalgorithmstructurewehave:

    • FitnessFunction:Evaluatethecostofyoursolution.
    • ItemPool:Loadsacompletesolution.
    • SearchEngine:Amodelthatcombinesorstochasticallyinducesindividualstothebestplacesinthesearchspace.
    Apriori,evolutionaryalgorithmsaresubsetsofintelligentalgorithms,andcontainsomeproposedmodelsofevolutionaryalgorithms,whichingeneralsharetheabovestructure.

    Toillustrate,aclassicalmodeltosolvetheproposedroutingmodelinthegraphwouldbeageneticalgorithm.Sotobuildthemodel,weconsiderafitnessfunctionthatcostisthesizeoftheedges,andthepoolof"individuals" are constituted of a vector of items to be considered. To be more understandable, an individual can be described as {D, A, B, E} and other {D, F, G, E} , the former has a cost of 5+7+7=19 and the second 6+11+9=26 , where the former has a better fitness function and therefore a better individual than the second. Already in the mechanism of action for these individuals to be updated, we can describe something very simple as a mutation that uses two of the individuals in the pool to generate a third. Note that in the graph problem there are constraints on which the algorithm you are modeling needs to respect.

    • Do not connect disconnected edges.
    • Let the individual have D at the beginning and E at the end.

    In other words, evolutionary algorithms are most often modeled to solve specific problems, with specific constructions to contain constraints and in a stochastic way, to change at the level of individuals (Solution bearers) to improve their solution in the space of search, however much you have an idea behind, are built according to the problem to be solved.

    In general, I advise you to look for information on how to solve NP-Hard problems, these algorithms belong to computational intelligence discipline and are very likely fast ways to find good solutions. Also look for optimizers that are the Core of Artificial Intelligence models.

    Considerations and Corrections.

    The problem I mentioned is the minimum path, with easy solution. The inverse of the problem is the longest path. The problem of the shortest path in a directed or non-directed graph with non-negative weight edges is solved in computational time by the Dijkstra algorithm.

        
    04.01.2019 / 18:05
    6

    In Evolutionary Programming, each individual of the population is represented by a finite state machine (MEF), which processes a sequence of symbols. During the evaluation, the individuals are analyzed by a payoff function according to the output of the machine and the expected output for solution of the problem. Reproduction is done only by mutation operators, individuals in the current population generate new offspring. This process called asexual reproduction. In selecting individuals for the next generation, the offspring compete with the parents and only the individuals with higher fitness (in this case, those with greater payoff between μ + λ individuals) survive.

    Evolutionary Programming ensures that all individuals will produce new descendants and only the best individuals between the current and the descendants survive. The total domination of the best individuals is called total elitism (Kuri-Morales and Gutiérrez-García, 2001; 2004). The elitism most used guarantees the survival of only the best k-individuals, k < N, where N is the population size. Total elitism, however, can decrease significantly the diversity of individuals, and can stagnate in great locations and / or increase the algorithm convergence time (De Jong, 2006).

    Font

        
    03.01.2019 / 19:01