55
L’Evolution Artificielle Un solveur générique basé sur les systèmes complexes massivement parallèles Pr Pierre Collet Département d’Informatique de L’UFR Mathématique et Informatique de L’Université de Strasbourg Équipe de recherche Bioinformatique 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 Complexes De l’Université de Strasbourg [email protected]

L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

[email protected]

Page 2: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 3: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 4: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Question :

Peut-on reconstruire des

phénoménologies complexes

avec des règles simples ?

Page 5: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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/

Page 6: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Les Systèmes Complexes sont partout

Page 7: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

É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 !

Page 8: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Les Systèmes Complexes sont partout !

8

Page 9: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 10: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

1

Page 11: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

1 = 0 !

Page 12: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

12

Page 13: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Évolution Artificielle

Evolution: un SC créatif !

Page 14: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Darwinian evolution is creative !

14

Page 15: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Divesity is huge

Page 16: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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)

Page 17: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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…

Page 18: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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!!!

Page 19: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 20: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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}

Page 21: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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…

Page 22: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 23: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 24: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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 !

Page 25: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 26: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 27: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Massively parallel EC is very creative

�3 micro-satellites transmit collected data towards earth

27

�NASA ST-5 mission

Page 28: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 29: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

ST- 5 mission launched in 2006

29

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

Page 30: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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.

Page 31: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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:

Page 32: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Current EASEA platform in Strasbourg

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

Page 33: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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!

Page 34: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Benchmarks

34

1000 dimensions Rastrigin function

Page 35: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Old GTX275 vs Core i7 950

� GPU / CPU speedup

35

Page 36: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Multi-island acceleration on Rastrigin

36

20 machines 10 machines 5 machines 1 machine

Same pop size !

Page 37: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Speedup on Weierstrass with 1x GTX580

37

x284.5

Page 38: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Speedup on Weierstrass function

38

SupralinearSpeedup !

Page 39: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

High-level massive parallelism (island model)

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

Page 40: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

EAs can exploit loosely coupled clusters

Page 41: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Or clouds of loosely coupled computers

Page 42: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Computing eco-systems

Beowulf cluster of machinesGrid

CloudSingle machine

Page 43: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 44: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

GPU acceleration on zeolite pb

44

~120 with GTX275

Page 45: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 46: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

Page 47: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Roll non-linear equation (learning set)

Page 48: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Roll equation test set 1

Page 49: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

Roll equation test set 2

Page 50: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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, …

Page 51: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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

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

Page 52: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

CNSC Strasbourg : activité

Page 53: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

CNSC Strasbourg : recherche

Page 54: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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, …

Page 55: L’Evolution Artificielle Un solveur générique basé sur les systèmes … · 2012. 11. 27. · Pierre Collet : Introduction à l'Evolution Artificielle 17 IA/EA history ˜ 1955

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