41
Evolutionary Computation an introduction These slides available at http://db.tt/PSuRvmoD

Evolutionary Computation an introduction These slides available at

Embed Size (px)

Citation preview

Page 1: Evolutionary Computation an introduction These slides available at

Evolutionary Computationan introduction

These slides available at http://db.tt/PSuRvmoD

Page 2: Evolutionary Computation an introduction These slides available at

Who am I?

•Dr. Shahin Rostami

•Lecturer in Computing here at Bournemouth University

•Ph.D. for research project: “Preference Focussed Many-Objective Evolutionary Computation”

Page 3: Evolutionary Computation an introduction These slides available at

Presentation overview

•Why Evolutionary Computation?

•What is it?

•How does it work?

•How can you get involved?

•Questions? (5 minutes)

Page 4: Evolutionary Computation an introduction These slides available at

Why Evolutionary Computation?•Exciting applications in many fields:

▫Concealed weapon detection

▫Medical scan classifiers

▫Automotive active steering controllers

▫SMART home systems

▫A.I. behaviour for video games

Why? What? How? Next?

Page 5: Evolutionary Computation an introduction These slides available at

Why Evolutionary Computation?• Improve design of systems• Make an impact on safety of others

Why? What? How? Next?

Page 6: Evolutionary Computation an introduction These slides available at

Why Evolutionary Computation• Design A.I. behaviourwith preference towards:

▫ Fast level completion

▫ Aggressiveness

▫ Score achievement

▫ Coins collected

▫ Or a compromise of the above

Why? What? How? Next?

Page 7: Evolutionary Computation an introduction These slides available at

What is Evolutionary Computation?•A nature inspired approach to

optimisation

•Process of getting the most out of something

•Inspired by the notion of survival of the fittest from Darwinian Evolution and modern genetics

Why? What? How? Next?

Page 8: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

Why? What? How? Next?

Page 9: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]

[A]

[C]

[D]

[E]

[F]

Why? What? How? Next?

Page 10: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]

[A]

[C]

[D]

[E]

Parameters:– Left leg length– Right leg length– Torso length

– Left arm length– Right arm

length– Head Size

[F]

Left Leg Torso Left Arm Head Right Arm Right Leg

Chromosome:

Why? What? How? Next?

Page 11: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]

[A]

[C]

[D]

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 12: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]

[A]

[C]

[D]

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 13: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]

[A]250

[C]

[D]

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 14: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]

[A]250

[C]

[D]

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 15: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]

[D]

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 16: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]

[D]

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 17: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 18: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 19: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]320

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 20: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]320

[E]

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 21: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]320

[E]10

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 22: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]320

[E]10

0 100 200 300 400 500600

[F]

Why? What? How? Next?

Page 23: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]320

[E]10

0 100 200 300 400 500600

[F]0

Why? What? How? Next?

Page 24: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]320

[E]10

Termination Criteria– Goal achieved?– Number of generations reached max?– Performance stagnating?

[F]0

Why? What? How? Next?

Page 25: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]320

[E]10

[F]0

Why? What? How? Next?

Page 26: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]240

[D]320

[E]10

[F]0

Why? What? How? Next?

Page 27: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]320

Why? What? How? Next?

Page 28: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]320

Left Leg Torso Left Arm Head Right Arm Right Leg

Why? What? How? Next?

Page 29: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]320

Left Leg Torso Left Arm Head Right Arm Right Leg

[D]

Why? What? How? Next?

Page 30: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]320

Left Leg Torso Left Arm Head Right Arm Right Leg

[E]

[D]

Why? What? How? Next?

Page 31: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]320

Left Leg Torso Left Arm Head Right Arm Right Leg

[E]

[D]

[F]

Why? What? How? Next?

15 secs

Page 32: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]320

Left Leg Torso Left Arm Head Right Arm Right Leg

[E]

[D]

[F]

Why? What? How? Next?

15 secs

Page 33: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]320

Left Leg Torso Left Arm Head Right Arm Right Leg

[E]

[D]

[F]

Why? What? How? Next?

Page 34: Evolutionary Computation an introduction These slides available at

How does it work?

Initialisation

Evaluate

Terminate?

Variation

Selection

[B]350

[A]250

[C]320

[D]

[F]

Left Leg Torso Left Arm Head Right Arm Right Leg

[E]

Why? What? How? Next?

Page 35: Evolutionary Computation an introduction These slides available at

How does it work?

Generation 1

Generation 2

Why? What? How? Next?

Page 36: Evolutionary Computation an introduction These slides available at

Why? What? How? Next?

ConditionMario within 90 to 110 px of enemy ✗ ✓ ✗ ✗

Mario within 0 to 50 px of enemy ✓ ✗ ✗ ✗Mario within 100 px of an obstruction ✓ ✓ ✓ ✗

Mario is on the ground ✓ ✓ ✗ ✓

ActionMARIO.KEY_JUMP ✓ ✓MARIO.KEY_SPEED ✓ ✓MARIO.KEY_RIGHT ✓ ✓ ✓ ✓

Jump on enemy head

Jump on enemy head

Prepare for jumping over

Keep running

GENE 1 GENE 2 GENE 3 GENE 4 GENE 5 GENE 6

Page 37: Evolutionary Computation an introduction These slides available at

Further playing

•Visit: http://boxcar2d.com/

•Evolutionary Computation used to design a vehicle within the Box2D Physics engine.

Why? What? How? Next?

Page 38: Evolutionary Computation an introduction These slides available at

Further reading▫Genetic Algorithms in Search, Optimization

and Machine Learning [Book] ISBN: 0201157675

▫Evolutionary Computation [Journal], MIT http://www.mitpressjournals.org/loi/evco

▫Information Sciences [Journal], Elsevier http://www.journals.elsevier.com/information-

sciences/

▫My publications at www.shahinrostami.com

Why? What? How? Next?

Page 39: Evolutionary Computation an introduction These slides available at

Presentation overview

•Why Evolutionary Computation?

•What is it?

•How does it work?

•How can you get involved?

Why? What? How? Next?

Page 40: Evolutionary Computation an introduction These slides available at

Our web page!

•Visit: www.shahinrostami.com/MARP

Why? What? How? Next?

Page 41: Evolutionary Computation an introduction These slides available at

Thank you, any questions?Dr. Shahin RostamiP304, Poole [email protected]

These slides available at http://db.tt/PSuRvmoD