Evolutionary Computation Application Peter Andras peter.andras/lectures
Overview 1.Application principles 2.Problem definition 3.Evolutionary solution 4.Summary and questions
Application principles Problem domains: hard discrete optimisation problems (e.g., complex combinatorial optimisation) very hard continuous optimisation problems (e.g., problems with high combinatorial complexity) evolutionary simulations
Application principles Speed: evolutionary optimisation is usually slow if there are simple ways of finding the optimal solutions those should be preferred
Application principles Complex programming: evolutionary optimisation needs relatively complex programming (encoding, genetic operators, performance evaluation, offspring generation, etc.)
Application principles Off-line application: if the objective is to apply evolutionary optimisation to find an optimal solution of a problem, off-line application is preferred
Application principles Simulation games: ideas and methods form evolutionary optimisation can fit very well to simulation games, where these can be applied directly
Problem definition World of problems: finding the right parameters of the problems; finding the effective ranges of the parameters; finding a good problem representation;
Problem definition Generating the problem world: problem population with good random sampling of the parameter domains; regime dependent problem world niches;
Problem definition Problem: health resource allocation in a labyrinth
Problem definition Optimisation problem: given the risks of moving within the labyrinth, how to locate the health resources to allow passing through the labyrinth, but without making this easy
Problem definition Simple labyrinth: can be solved explicitly Complex labyrinth: hard to solve, and more interesting to play with
Problem definition Solving the complex labyrinth problem: good place for evolutionary optimisation
Evolutionary solution Encoding: the labyrinth is given the risks associated to labyrinth positions are given; the locations of the resources are encoded by their positions chromosome: (x1,y1), …, (xn,yn)
Evolutionary solution Crossover operator:
Evolutionary solution Mutation operator: mutations
Evolutionary solution Performance evaluation: several trials of simulated players the simulated players try to go through the labyrinth and we monitor their health amount we determine the performance for each resource allocation pattern from the population of solutions
Evolutionary solution Directed operators: monitoring the health amount changes in areas of the labyrinth we can guide the mutation and crossover operators to improve areas where the performance is not close enough to the desired one
Evolutionary solution Mating potential determination: Mating potential Performance
Evolutionary solution Parent selection: each potential parent is assigned a mating potential randomly select parents randomly set a limit for the potential parent, if its mating potential is bigger than that, the parent is selected after each time when a parent is selected its mating potential is decreased
Evolutionary solution Evolution: a population of potential solutions (resource allocation patterns) is generated the population evolves using the genetic operators, performance evaluation, parent selection and offspring generation
Evolutionary solution How does it work ? Average performance Variance of performance
Summary evolutionary optimisation is very time consuming off-line application is preferred for optimisation for computer games it may be applied to evolutionary simulation the problem world should be well defined and should sample the relevant ranges of the parameters appropriate genetic encoding, genetic operators, performance evaluation, mating potential determination and parent selection should be found
Questions 1.Are the proteins the building blocks of the DNA ? 2.Is it true that animals may develop new organs under evolutionary pressures ? 3.Are the behaviours of an animal determined by its genes ? 4.Is it true that evolutionary optimisation is slow ? 5.Are the genes of a solution individual randomly changed by the application of crossover ? 6.Is it good if the variance of the performances is very low from the beginning of the evolutionary optimisation ?