L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. ·...

Preview:

Citation preview

L’Evolution ArtificielleUn solveur générique basé sur les systèmes complexes

massivement parallèles

Pr Pierre ColletDépartement d’Informatique de

L’UFR Mathématique et Informatique deL’Université de Strasbourg

Équipe de rechercheBioinformatique Théorique, Fouille de Données et Optimisation Stochastique du

Laboratoire des Sciences de l’Image, de l’Informatique et de la Télédétection (ICUBE)http://lsiit.u-strasbg.fr/bfo_fr

Campus Numérique des Systèmes ComplexesDe l’Université de Strasbourg

Pierre.Collet@unistra.fr

Qu’est-ce qu’un Système Complexe ?

Que sont les Systèmes Complexes ?

� Système Complexe : tout système composé d’un grand nombre d’entités autonomes en interaction, créant plusieurs niveaux d’organisation collective aboutissant à des comportements émergents.

� Exemple de comportement collectif par interactions directes entre individus :

https://www.youtube.com/watch?v=qJjeHLcbQJ0https://www.youtube.com/watch?v=Zciq3L5-JU4

https://www.youtube.com/watch?v=Jw7yee-Eaf0https://www.youtube.com/watch?v=b8eZJnbDHIg&feature=related

Question :

Peut-on reconstruire des

phénoménologies complexes

avec des règles simples ?

Boids de Craig Reynolds (1986)

� Trois règles simples !

Suivre ses voisins(ajuster direction et vitesse à

la moyenne de ses voisins)

Cohesion(aller vers le centre degravité de ses voisins)

Eviter lesvoisins

https://www.youtube.com/watch?v=OgXTQQIo6fc

http://www.red3d.com/cwr/boids/

Les Systèmes Complexes sont partout

Émergence par stigmergie

� Des interactions de bas niveau permettent l’émergence de comportements « intelligents » à un niveau supérieur.

� Phrase d’Aristote : le tout est plus que la somme des parties.

� Exemple :

7

les fourmis !

Les Systèmes Complexes sont partout !

8

Comprendre l’émergence : comment 1+1=3 ?

1

1 = 0 !

1+1+1= pas grand chose, sauf si…

12

Évolution Artificielle

Evolution: un SC créatif !

Darwinian evolution is creative !

14

Divesity is huge

Computers are number crunching machines

� Can they be made creative by implementing into them a naturally creative process?

Among the very first things tested on a computer!� 1944: ENIAC (Electronic Numerical Integrator And Calculator)

� 1950: AI has a small headstart: A. Turing writes the first papers on what « intelligent

computers should be » and introduces the Turing Test Shannon publishes a detailed analysis of the game of

Chess using a problem solving approach� 1953: First tests on AE in the US, Austalia and Europe

First commercial computer (IBM650)

Pierre Collet : Introduction àl'Evolution Artificielle

17

IA/EA history� 1955 : « logic theorist » by Newell and Simon, representing a

problem as a tree.� 1956 : McCarthy invites his colleagues for the « Dartmouth

Summer Research Project on Artificial Intelligence ».� 1957: Fraser evolves bitstrings using a crossover operator� 1957: General Problem Solver, by Newell, Shaw et Simon,� 1958: Friedberg suggests that computers could self-program

themselves by successive mutations of their code� 1958 : McCarthy comes up with LISP� 1959: Friedmann writes a paper on how evolution could be

artificially simulated…

Pierre Collet : Introduction àl'Evolution Artificielle

18

Latest developments� Early results: few but interesting� Since 1990, computing power is there many new development

in the field, including Genetic Programming by J. Koza.� Since 2000, routine human-competitive results with Artificial

Evolution and Genetic Programming� Currently: AE widely used in industry (train timetables in Italy,

vehicle routing by DHL, optimal diamond cutting, lenses design, … cf. application tracks of conferences in artificial evolution (GECCO, EvoStar).

� Many companies use them but say otherwise!!!

Standard Artificial Evolution loop

Stop ?Stop ?

PopulationPopulationinitialisationinitialisation

Selection ofSelection ofnn parentsparents

VariationVariationoperatorsoperators(Xover +(Xover +mutation)mutation)

ReductionReduction

ParentsParentsParents

Parents+children

Parents+cParents+childrenhildren

GenerationsGenerations

BestBestIndividualIndividual

Wea

k el

itism

Wea

k el

itism

Chi

ldre

n cr

eatio

nC

hild

ren

crea

tion

Stro

ng e

litis

mSt

rong

elit

ism

evaluationevaluation

evaluationevaluation

20

Practical example with French crêpes...

� What is the genome of a crêpe?� Create a random population of 100 individuals within limits (3 liters mixing bowl)

� Evaluation of an individual:

� Create a population of 50 baby crêpes :

� Objective: Find the best crêpes recipe

� Select the 100 best individuals in the population of 100 parents and 50 children and start over on a new generation.

{Flour(g), Milk(l), Eggs(n), Salt(pinches)}

{232, 2.24, 1, 48}, {1723, 0.02, 5, 7} , …, {5, 0.01, 8, 3}

1.Mix the batter2.Cook a crêpe3.Find a victim to taste the result and take a photo of his face…

Select 2 “good” parents and perform a crossover:{234, 0.34, 8, 7}, {26, 1.4, 5, 22} {234, 0.34, 5, 22}

Mutate the obtained genome:Evaluate the child

{234, 0.34, 6, 22}

Creativity is reacheable within a small domain

� Look at the first generation!

What will Mr Bean probably rate as the best?{232, 2.24, 1, 48}, {1723, 0.02, 5, 7} , …, {5, 0.01, 8, 3}

� The outcome of artificial evolution of crêpes could be…

Synergy with revolution in computer science

Solution for more powerful CPUs:multi-core CPUs

Peak at 3.6 GHzin 2005

Going faster ?

AMD Phenom II X4 940 BE running at 6Ghzin a bath of liquid nitrogen at -195°C...

Multi-core is more energy-efficient� Power consumption grows with the cube of clock speed!� Multiplying slower cores exploits Moore’s law and gets more

operations/second done, albeit in parallel...

2012 Nvidia 690 (300W, $1000):• 2 x 1536 (3072) 915MHz cores• 2 x 2Gb Global memory• 2 x 192 Gb/s bandwidth• 2 x 2.8 TFLOP/s (5.4 TFLOP/s total)

2000 IBM ASCI White supercomputer at Livermore Labs, USA 106 Tons, 3MW +3MW for cooling, $110M 8000 procs @ 375MHz, 6TB, 7.226 TFLOPS

Massively Parallel Computers are here!

And possibly 4 cards per computer !

Nvidia Tesla K20:• 90 FP32 multiprocessors• 30 FP64 multiprocessors• 3840 cores in total• 24 Gb Global memory• 288 Gb/s bandwidth• 6 TFLOP/s SP, 1,7TFLOP/s DP

Artificial Evolution is inherently parallel!

Stop ?Stop ?

PopulationPopulationinitialisationinitialisation

Selection ofSelection ofnn parentsparents

VariationVariationoperatorsoperators(Xover +(Xover +mutation)mutation)

ReductionReduction

ParentsParentsParents

Parents+children

Parents+cParents+childrenhildren

GenerationsGenerations

BestBestIndividualIndividual

Wea

k el

itism

Wea

k el

itism

Chi

ldre

n cr

eatio

nC

hild

ren

crea

tion

Stro

ng e

litis

mSt

rong

elit

ism

evaluationevaluation

evaluationevaluation

Massively parallel EC is very creative

�3 micro-satellites transmit collected data towards earth

27

�NASA ST-5 mission

Problèm: find a small enough antenna

� Nasa engineers unable to find a small enough antenna.� Provided physical electromagnetic equations and antenna

simulators to their team of computer scientists experts in Artificial Evolution.

After 3 weeks of calculation on a NASA massively parallel supercomputer (in 2004)

28

ST- 5 mission launched in 2006

29

First nonFirst non--human technology sent human technology sent in space !in space !

Creativity vs inventivity vs innovation� Inventivity makes massive use of past human discoveries

(databases of patents, inventing new solutions using predefined rules / principles, …)

� No inventivity process could have come up with ST-5 antennae: even though engineers now know they exist, they cannot design new ones => “non-human technology”

� ST-5 antennae are the result of a creative process (evolution) that may come up with unexpected (and even unknown) results, that are certainly innovative.

� Creativity can come up with new solutions within narrow domains

� Inventivity or creativity both lead to innovation.

Why AE will have great impact in the future

� CHEAP project in Strasbourg (14k€): Heterogeneous Cluster for Parallel Artificial EvolutionTotal = 41000 GPU cores + 210 CPU cores ~ 100 Tflops20 machines with 1x NVIDIA GTX680 cards (1536 cores, 4GB, 3.1 TFlops) = 30720 cores / 62 TFlops15 machines with 2x NVIDIA GTX560TI (352 cores, 2GB, 1.26TFlops) = 10560 cores / 37,8 Tflops

8 exaflops/day!!!� June 2012 Top 500 super-computers:

Current EASEA platform in Strasbourg

� What does our 100 Tflops – 8 Exaflops/day supercomputer looks like ?

Artifcial evolution

� Routinely competitive with human intelligence since 2000(cf. http://www.human-competitive.org)

� Currently widely used in the industry to find creative solutionswithout expertise on the domain:

NOZOMI 700 Shinkanzen

� Bright future because: Can exploit loosely coupled massively parallel computers

and exascale computers on generic problems!

Benchmarks

34

1000 dimensions Rastrigin function

Old GTX275 vs Core i7 950

� GPU / CPU speedup

35

Multi-island acceleration on Rastrigin

36

20 machines 10 machines 5 machines 1 machine

Same pop size !

Speedup on Weierstrass with 1x GTX580

37

x284.5

Speedup on Weierstrass function

38

SupralinearSpeedup !

High-level massive parallelism (island model)

AE can run efficiently with loosely coupled computers sending individuals in connection-less mode (UDP)

EAs can exploit loosely coupled clusters

Or clouds of loosely coupled computers

Computing eco-systems

Beowulf cluster of machinesGrid

CloudSingle machine

Application to a real problem: Zeolite search

� Looking for the structure of a zeolite: Zeolites are porous crystalline structures

with many applications in industrymade of oxygen atoms arounda silicon or aluminium atom.

A replication of the unitstructure allows to obtainthe pores.

Zeolites are used for filtering, catalysis, energy storing, medicine, absorbing liquids, odours (cat litter), …

43

GPU acceleration on zeolite pb

44

~120 with GTX275

Island model on zeolite problem

� 1, 5, 10 and 20 GPU machines

45

New zeolitepublished in Science !

Time on one machine:

20x120=2400 speedup40 h EASEA = 96000 h= 10.95 years

GP regression of state space models for drone

� 6 non-linear necessary for an airplane autopilot (3 translations and 3 rotations) but only 3 for an octocopter (3 rotations)

� 10 variables� 3 operators (+, *, -)� 10800 individuals� 300 generations� Max depth: 15

Results in minutes rather than hours

Roll non-linear equation (learning set)

Roll equation test set 1

Roll equation test set 2

Conclusion

� Des règles simples peuvent reconstruire des phénoménologies complexes

� Objectif de la science des systèmes complexes : Trouver un formalisme permettant de trouver un

modèle correspondant au mieux à une phénoménologie observée

� Comportement collectif par interaction directe : Comportement émergent typique : mouvement de

foule, buzz dans les réseaux sociaux, krach boursier, …

CNSC Strasbourg� Complexes Systèmes transverses à l’Université :

Chimie Physique Biologie Mathématiques Informatique Musique Ethologie Sciences Humaines et Sociales … Sciences de la terre ?

CNSC Strasbourg : activité

CNSC Strasbourg : recherche

Conclusion Systèmes Complexes

� Des règles simples peuvent reconstruire des phénoménologies complexes

� Objectif de la science des systèmes complexes : Trouver un formalisme permettant de trouver un

modèle correspondant au mieux à une phénoménologie observée

� Comportement collectif par interaction directe : Comportement émergent typique : mouvement de

foule, buzz dans les réseaux sociaux, krach boursier, …

Evolution artificielle et SC

� Solveur générique fondé sur les Systèmes Complexes� Capable d’utiliser la puissance de calcul de machines

massivement parallèles

Recommended