[email protected] CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

26
[email protected] CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms

Transcript of [email protected] CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Page 1: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

[email protected]

CSM6120Introduction to Intelligent

SystemsOther evolutionary algorithms

Page 2: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Today Other evolutionary algorithms

Genetic programming Ant colony optimization Particle swarm optimization

Knowledge representation Several approaches

Page 3: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

The GA cycle

selection

population evaluation

modification

discard

deleted members

parents

children

modifiedchildren

evaluated children

recombinationchosenparents

Page 4: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Genetic programming Devised by John Koza

36 Human-Competitive Results Produced by Genetic Programming http://www.genetic-programming.com/humancompetitive.html

Page 5: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Genetic programming

*

B *

A A

Page 6: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Trees consist of functions and terminals

Choose a set of functions and terminals, e.g { +, -, *, /, √}; {A,B}

Generate random programs (trees) which are syntactically correct

Follow a GA-like procedure Evaluate fitness, select parents Apply crossover and mutation

Koza’s algorithm

Page 7: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

/

A /

/ /

A A A A

*

A -

* √

A A A

/

A /

/ /

√ A A A

*

A -

* A

A A

X

A

Crossover

Page 8: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Examples Symbolic regression (function finding)

http://alphard.ethz.ch/gerber/approx/default.html http://www.geneticprogramming.org/symbolic/mai

n.htm

Moon lander! http://genetic.moonlander.googlepages.com/

Page 9: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Other bio-inspired approaches Simulated annealing

Ant colony optimization (ACO)

Particle swarm optimization (PSO)

...

Page 10: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Ant Colony Optimization Nature: unsupervised complex problem solving Simple agents working locally, displaying global

intelligence Ants are capable of finding the shortest route between

food source and nest Also react to changes in environment (obstructions etc)

nest

food source

Page 11: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Ant Colony Optimization Shortest path is discovered via pheromone trails

Each ant moves ‘randomly’ Pheromone is deposited on path Ants detect lead ant’s path, inclined to follow More pheromone on path increases probability of path

being followed

nest

food source

Page 12: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Problem formulation for ACO Graph representation (nodes and edges) Heuristic desirability of edges Construction of feasible solutions Pheromone update rule (pheromone attached to edges)

Also we need a probabilistic transition rule This evaluates the next step for an ant and considers

both the heuristic desirability of an edge and the amount of pheromone deposited on the edge

The edge with the highest value of this combination is chosen by the artificial ant

Ant Colony Optimization

Page 13: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

ACO algorithm Key idea: virtual pheromone accumulated on path

edges

Algorithm for one ant: Select starting node at random While not-finished

Evaluate all edges from this node Select the best-looking edge via probabilistic transition rule Deposit artificial pheromone on the chosen edge

Finished path is a potential solution, analysed for optimality

Page 14: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Evaluate

position

Choose next

node

Generate Gather

solutions

Evaluate

position

continue

stop

Begin

Update

pheromone

ants

Return best

solution

continue

stop

(transition rule)Ants

ACO algorithm

Page 15: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

ACO: TSPDemo of ACO applied to large(ish) dynamic TSP

(where cities are moved after a number of iterations)

http://www.tjhsst.edu/~rlatimer/techlab07/Students/RWard/ProjectV1-6/Project/tsp2.html

Performs well! Combines heuristic knowledge with discovered

knowledge

Page 16: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Particle Swarm Optimization Based on the flocking/swarming behaviour of

birds/insects

Page 17: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

The basic idea Each particle is searching for the optimum and

encodes a solution (like the GA approach)

Each particle is moving (can’t search otherwise!), and hence has a velocity

Each particle remembers the position it was in where it had its best result so far (its personal best)

But this would not be much good on its own; particles need help in figuring out where to search

Page 18: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

The basic idea The particles in the swarm co-operate

They exchange information about what they’ve discovered in the places they have visited

The co-operation need only be very simple; in basic PSO it is like this: A particle has a neighbourhood associated with it A particle knows the fitnesses of those in its

neighbourhood, and uses the position of the one with best fitness

This position is simply used to adjust the particle’s velocity

Page 19: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Initialization: Positions and velocities

Page 20: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

What a particle does In each time-step, a particle has to move to a new

position

It does this by adjusting its velocity via: The current velocity + A weighted random portion in the direction of its personal best +

A weighted random portion in the direction of the neighbourhood best +

A weighted random portion in the direction of the global best

Having worked out a new velocity, its position is simply its old position plus the new velocity

Page 21: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

PSO search

Page 22: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Neighbourhoods

geographical

social

Page 23: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Neighbourhoods

Global

Page 24: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

PSO visualisation http://www.projectcomputing.com/resources/psovis/index.

html

More info on PSO http://www.swarmintelligence.org/

Page 25: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Multi-objective optimisation Sometimes we're searching for an answer which

has to be optimal in several aspects

For example: Finding the quickest and cheapest flight Finding the lightest and strongest construction material Finding the game strategy that will maximise trade profit,

cities explored/conquered and health of your character.

Evolutionary algorithms can search the multi-objective space of solutions Fitness function needs to combine the scores for the

different objectives

Page 26: Rkj@aber.ac.uk CSM6120 Introduction to Intelligent Systems Other evolutionary algorithms.

Summary What we looked at:

Genetic algorithms Genetic programming Other bio-inspired techniques

These are often applied to search/optimisation problems that are very challenging

Free (GNU licsensed) book: Global Optimization Algorithms – Thomas Weise

http://www.it-weise.de/projects/book.pdf