24
Evolutionary Computation Application Peter Andras [email protected] www.staff.ncl.ac.uk/ peter.andras/lectures

Evolutionary Computation Application Peter Andras [email protected] peter.andras/lectures

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Evolutionary Computation

Application

Peter Andras

[email protected]

www.staff.ncl.ac.uk/

peter.andras/lectures

Page 2: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Overview

1. Application principles

2. Problem definition

3. Evolutionary solution

4. Summary and questions

Page 3: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

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

Page 4: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Application principles

Speed:

• evolutionary optimisation is usually slow

• if there are simple ways of finding the optimal solutions those should be preferred

Page 5: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Application principles

Complex programming:

• evolutionary optimisation needs relatively complex programming (encoding, genetic operators, performance evaluation, offspring generation, etc.)

Page 6: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

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

Page 7: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Application principles

Simulation games:

• ideas and methods form evolutionary optimisation can fit very well to simulation games, where these can be applied directly

Page 8: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Problem definition

World of problems:

• finding the right parameters of the problems;

• finding the effective ranges of the parameters;

• finding a good problem representation;

Page 9: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Problem definition

Generating the problem world:

• problem population with good random sampling of the parameter domains;

• regime dependent problem world niches;

Page 10: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Problem definition

Problem:

• health resource allocation in a labyrinth

Page 11: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

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

Page 12: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Problem definition

Simple labyrinth: can be solved explicitly

Complex labyrinth: hard to solve, and more interesting to play with

Page 13: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Problem definition

Solving the complex labyrinth problem:

• good place for evolutionary optimisation

Page 14: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

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)

Page 15: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Evolutionary solution

Crossover operator:

Page 16: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Evolutionary solution

Mutation operator:

mutations

Page 17: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

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

Page 18: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

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

Page 19: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Evolutionary solution

Mating potential determination:

Mating potential

Performance

Page 20: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

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

Page 21: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

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

Page 22: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Evolutionary solution

How does it work ?

Average performance Variance of performance

Page 23: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

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

Page 24: Evolutionary Computation Application Peter Andras peter.andras@ncl.ac.uk  peter.andras/lectures

Questions1. 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 ?