* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Download Evolutionary Computation
Hologenome theory of evolution wikipedia , lookup
Sexual selection wikipedia , lookup
Evolutionary mismatch wikipedia , lookup
Sociobiology wikipedia , lookup
Kin selection wikipedia , lookup
Co-operation (evolution) wikipedia , lookup
Genetic drift wikipedia , lookup
Gene expression programming wikipedia , lookup
The eclipse of Darwinism wikipedia , lookup
Natural selection wikipedia , lookup
Zorica Stanimirović Faculty of Mathematics, University of Belgrade [email protected] Basic GA scheme offspringchromosomes Population decoding (chromosomes) Evaluation Variation operators (crossover, mutation, inversion, deletion,…). parentchromosomes Fitness calculation Selection operator Types of encoding Vectors: • usually of fixed length • usually implemented as arrays or lists • often represented as n-tuples of binary, integer or real values Trees: • size usually not fixed • usually implemented as lists, or list-based structures • often represent symbolic expressions (for example, formulae) Other types: • matrices, generalized graphs, etc. • hybrid representations may also be used (for example, binary vector + matrix) Example: Tree structure encoding Equation modeling: 0.48*Z1 + (Z2 – 0.56) (1.1-Z1 )+ (Z2 – 0.56) Individuals (mathematical equations) are represented as trees The branching nodes of the tree correspond to functions(operators) The end-nodes(leaves) of the tree correspond to input data f= number of incorrect properties such as: no coffee contained, no milk contained, no foam on the top,… GA population • GA works over the population of individuals, usually numbering 10-200 • Each individual is represented by a genetic code (chromosome) , which corresponds to one solution of the problem • Initial population is usually randomly generated • A fitness value is assigned to each individual, measuring its quality • Individuals in the population then pass through the process of “simulated evolution” • Genetic operators are iteratively applied and the sequence of GA generations is created until certain stopping criterion is satisfied Selection operator • As in nature, the selection operator provides necessary mechanism for better individuals to survive •The probability that a individual will take part in producing offspring individual(s) depends on its fitness •The higher fitness value of an individual provides higher chances for its survival and reproduction •There are different ways for the selection of best fitted individuals: roulette selection, rang-based selection, tournament selection, fine-grained tournament selection, etc. Variation = Crossover + Mutation • Selected individuals are subject to Variation operators • Usually, two types of variation operators are used: Crossover Mutation But, keep in mind that: The choice of variation operators depends on the problem under consideration and the chosen encoding of individuals However, There are some operators that are applicable to wider set of problems and tailored to standard encodings, such as vectors, trees,… Various stopping criteria may be used for forcing the GA to finish its run • maximal number of GA generations • high similarity of individuals in the population • the best individual is repeated maximal times • GA has reached global optimum or the best GA solution is good enough (according to some criterion) • limited time of the GA run…. But: the combination of two or more stopping criteria gives the best results in practice... 1. Generation GA: all individuals from the population are replaced in each GA generation 2. Stationary GA: only one part of the population is replaced in each generation 3. Elitistic GA: elite individuals are directly passing in the next genaration, while the remaining individuals are replaced Most used: stationary GA with elitist strategy • GA implementation has numerous parameters: selection, crossover, mutation rates, population size, stopping criteria parameters …. • There is NO unique combination of GA parameters that guarantees successful GA implementation for all problems • Parameter values may be fixed in advance or they can change during the GA run - fixed parameter change - adaptive parameter change Hybridization: general considerations Idea: to combine a general search strategy such as GA with a problem specific heuristic or exact method Some examples: Evolutionary approach + Local search = Memetic algorithm Evolutionary approach + Variable Neighborhood Search Evolutionary approach + Tabu Search Evolutionary approach + Linear programming method= Matheuristics Questions?