62
Penser, modéliser et maîtriser le calcul informatique Gérard Berry C haire Informatique et sciences numériques C ollège de France, 19 novembre 2009

Penser, modéliser et maîtriser le calcul informatique

  • Upload
    halil

  • View
    44

  • Download
    3

Embed Size (px)

DESCRIPTION

Penser, modéliser et maîtriser le calcul informatique. Gérard Berry. Chaire Informatique et sciences numériques Collège de France, 19 novembre 2009. Le calcul humain assisté. Curt Herzstark, 1936-1945. La révolution du microprocesseur. coeur 1. coeur 2. - PowerPoint PPT Presentation

Citation preview

Page 1: Penser, modéliser et maîtriser le calcul informatique

Penser, modéliser et maîtriserle calcul informatique

Gérard Berry

Chaire Informatique et sciences numériques

Collège de France, 19

novembre 2009

Page 2: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 2Collège de France, G. Berry,

Le calcul humain assisté

Page 3: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 3Collège de France, G. Berry,

Curt Herzstark, 1936-1945

Page 4: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 4Collège de France, G. Berry,

La révolution du microprocesseur

Si vous m’instruisez bien, je sais tout faire tout seul,en tournant moi-même la manivelle !

Si vous m’instruisez bien, je sais tout faire tout seul,en tournant moi-même la manivelle !

coeur 1

coeur 2

Page 5: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 5Collège de France, G. Berry,

La révolution du microprocesseur

Rapidité, exactitude, stupidité

coeur 1

coeur 2

Page 6: Penser, modéliser et maîtriser le calcul informatique

Rapidité

Exactitude

Stupidité

Maîtrise ?

Modèles de calcul

19/11/2009 6Collège de France, G. Berry,

Sans la main => sans la pensée !

Intuition

RigueurLenteur

Calculer sur le calcul

Page 7: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 7Collège de France, G. Berry,

Anatomie d’un modèle de calcul

raisonnementsur la correction

penséealgorithmique

conception etprogrammation

implantation optimisation vérification

machines langagesnoyau intuitif etmathématique

Page 8: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 8Collège de France, G. Berry,

Pourquoi plusieurs modèles de calcul,alors que tous les ordinateurs

semblent marcher pareil ?

Page 9: Penser, modéliser et maîtriser le calcul informatique

1. Modèles de la calculabilité

2. Modèles séquentiels

3. Modèles parallèles

4. Modèles diffus

19/11/2009 9Collège de France, G. Berry,

Quatre classes de modèles

Page 10: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 10Collège de France, G. Berry,

La sémantique : concepts ↔ symboles

• Domaine des symboles 34 et 56 sont des symboles en représentation décimale et + le symbole d’un algorithme

4+6 3+5+1 → 1 0

Machine : 34+56

→ 0 9

0 9 0

• Domaine des concepts : la somme du nombre 34 et du nombre 56 est le nombre 90

Il n’y a pas de nombres dans un ordinateurrien que des symboles

Page 11: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 11Collège de France, G. Berry,

Symboles

Conceptssomme du nombre « 34 » et du nombre « 56 »

nombre « 90 »

34+56

notation

090

dénotation

manivelle

Le diagramme sémantique

Pour comprendre l’informatique, il faut arriver àêtre aussi bête qu’un ordinateur

Page 12: Penser, modéliser et maîtriser le calcul informatique

7+57+5

19/11/2009 12Collège de France, G. Berry,

Causalité des calculs

(3+4)+(8-3)(3+4)+(8-3)

7+(8-3) (3+4)+5

12

résidu

création

La causalité détermine la liberté du calcul

Page 13: Penser, modéliser et maîtriser le calcul informatique

• Déterminisme : un seul résultat– calcul mathématique standard– circuits électroniques– pilotage d’avions, conduite de voitures, etc.

19/11/2009 13Collège de France, G. Berry,

Déterminisme / non-déterminisme

• Non-déterminisme : plusieurs résultats– navigateur Internet, moteur de recherches, etc.– incertitude : on ne peut pas connaître en même temps la

position et le contenu d’une page Web– encore quelques voitures (hélas)

Page 14: Penser, modéliser et maîtriser le calcul informatique

2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3132 33 34 35 36 37 38 39 40 4142 43 44 45 46 47 48 49 50 51

Un nombre est premier s’il n’a pas

d’autre diviseur que 1 et lui-même

19/11/2009 14Collège de France, G. Berry,

Le crible d’Eratosthène

Page 15: Penser, modéliser et maîtriser le calcul informatique

2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3132 33 34 35 36 37 38 39 40 4142 43 44 45 46 47 48 49 50 51

19/11/2009 15Collège de France, G. Berry,

Le crible d’Eratosthène

Un nombre est premier s’il n’a pas

d’autre diviseur que 1 et lui-même

Page 16: Penser, modéliser et maîtriser le calcul informatique

2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3132 33 34 35 36 37 38 39 40 4142 43 44 45 46 47 48 49 50 51

2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3132 33 34 35 36 37 38 39 40 4142 43 44 45 46 47 48 49 50 51

2 3 4 5 6 7 8 9 10 1112 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 3132 33 34 35 36 37 38 39 40 4142 43 44 45 46 47 48 49 50 51

19/11/2009 16Collège de France, G. Berry,

Le crible d’Eratosthène

Un nombre est premier s’il n’a pas

d’autre diviseur que 1 et lui-même

Page 17: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 17Collège de France, G. Berry,

Le crible de Darwin : p, kp → p

39

7

28

4

7

7

7

2

Banâtre - Le Métayer : GAMMABerry - Boudol : CHAM

Page 18: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 18Collège de France, G. Berry,

Comparaison des cribles

séquentialitécausalité complexe

déterminisme du calculdéterminisme du résultat

terminaison trivialelimité au fini

parallélisme massifcausalité minimale

non-déterminisme du calculdéterminisme du résultatterminaison probabiliste

passe à l’infini

Page 19: Penser, modéliser et maîtriser le calcul informatique

1. Par les machines machines de Turing, de von Neumann,

automates cellulaires, pavages du plan, etc.

2. Par les langages et calculs algébriquesdéfinitions récursives de fonctions

-calcul

3. Par les classes algébriques de fonctions fermetures par opérations appropriées

Toutes ces définitions sont équivalentes

19/11/2009 19Collège de France, G. Berry,

Comment définir la calculabilité ?

Thèse de Church-Turing : Toute nouvelle définition restera équivalente

Page 20: Penser, modéliser et maîtriser le calcul informatique

1 4 95 2 3 • • • • • • 1 4 95 2 3 • • • • • • 1 4 95 2 3 • • • • • • 1 4 95 2 3 • • • • • •

19/11/2009 20Collège de France, G. Berry,

La machine de Turing

1 8 95 2 3 • • • • • •

A : 3 → D, AA : 4 → G, BA : 8 → 3, A

B : 3 → D, C A : 7 → G, BA : 7 → 2, A

DGE

non-déterminisme

arrêt

Page 21: Penser, modéliser et maîtriser le calcul informatique

Théorème : il existe une machine universelle U qui permet de simuler toute machine sur toute donnée

19/11/2009 21Collège de France, G. Berry,

Machine universelle

D o n n é e s

MD o n n é e sD o c M

U

Le programme enregistré est la clef de l’informatique

Page 22: Penser, modéliser et maîtriser le calcul informatique

Théorème : il n’existe pas de machine testant si une machine M s’arrête sur une donnée D

19/11/2009 22Collège de France, G. Berry,

Indécidabilité de l’Arrêt

• A s’arrête toujours• A rend 1 si M s’arrête• A rend 0 si M boucle

A

D o n n é e s

MD o n n é e sD o c M

Toute propriété non-triviale est indécidable

Page 23: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 23Collège de France, G. Berry,

Alan Turing (1912-1954)

1936 : grands théorèmes

1940 : casse le code allemand Enigma

1952 : condamné pour homosexualité castré chimiquement

1954 : suicide (?)

2009 : excuses de Gordon Brown

A Turing qui aimait tant l’argument diagonal,donnons le prix Turing à titre posthume !

Page 24: Penser, modéliser et maîtriser le calcul informatique

• Fact (m) si m1 alors 1 sinon Mult (m, Fact(m1))

Un langage : la récursion générale

19/11/2009 24Collège de France, G. Berry,

• Add (m, n) si m0 alors n sinon si n0 alors m sinon (Add (m1, n1)1)1

• Mult (m, n) si m0 alors 0 sinon si m1 alors n sinon Add (Mult(m1, n), n)

Page 25: Penser, modéliser et maîtriser le calcul informatique

f(2) (x. x+1) (2)

25/11/2009 25G. Berry, Collège de France,

Le -calcul (Church 1936)

•-notation f x. x+1

• Notation classique des fonctions f [ x x+1 ]

g [ y y2 ]

g○f [ z g(f(z)) ] [ z (z+1)2 ]

f(2) (x. x+1) (2)

g(3) (y. y2) (3)32 9g y. y2

Donner un vrai statut à la notation des fonctions

2+1 3

Page 26: Penser, modéliser et maîtriser le calcul informatique

○ g f z. (y. y2) ((x. x+1) (z))

25/11/2009 26G. Berry, Collège de France,

○ g f (u. v. z. u(v(z))) (y. y2) (x. x+1)

f x. x+1 g y. y2

○ u. v. z. u(v(z))

○ g f (u. v. z. u(v(z))) (y. y2) (x. x+1)

○ g f z. (y. y2) ((x. x+1) (z))

○ g f z. (y. y2) (z+1)

○ g f z. (z+1)2

○ g f z. (y. y2) (z+1)

g○f : [ z (z+1)2 ]

○ g f

Page 27: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 27Collège de France, G. Berry,

Le -calcul pur

• x, y, z,... : variables • x. M : abstraction fonction de x de corps M• (MN) : application d’une fonction à un argument

• (x. M) N M[N/x] : -réduction

mais ce calcul est vide ! Où sont donc les entiers, la récursion, etc ?

Page 28: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 28Collège de France, G. Berry,

0 f. x. x1 f. x. fx2 f. x. f(fx)...

n f. x. f n(x) = f(f(...f(x)...))

...

+1 n. f. x.f (nfx)

-1 λn.λf.λx. n (λg.λh.h(fg)) (λu.x) (λv.v)

Le nombre n devient l’algorithme qui applique n fois une fonction f à son argument x

Page 29: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 29Collège de France, G. Berry,

Récursion et point fixe

let rec Fact m si m1 alors 1 sinon Mult (m, Fact (m1))

Fact = FACT (Fact) - équation de point fixe

FACT f. m. si m1 alors 1 sinon Mult (m, f (m1))

Fact = Y (FACT) avec Y = (x. y.y(xxy)) (x. y.y(xxy))

Pour comprendre comment un calcul évolue,le mieux est de comprendre ce qu’il laisse fixe !

Page 30: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 30Collège de France, G. Berry,

La carte du -calcul

relations avecla logique formelle

algorithmiquerécursive

programmationfonctionnelle

machines virtuelles

CAM, Krivine

SCHEMECAML Haskell

Javascript

compilation et optimisationdes langages fonctionnels

LCF, HOLIsabelle, CoQ

-calculdomaines de Scott

Page 31: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 31Collège de France, G. Berry,

La carte du -calcul

relations avecla logique formelle

algorithmiquerécursive

programmationfonctionnelle

machines virtuelles

CAM, Krivine

SCHEMECAML Haskell

Javascript

compilation et optimisationdes langages fonctionnels

LCF, HOLIsabelle, CoQ

-calculdomaines de ScottJean-Jacques Lévy

Page 32: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 32Collège de France, G. Berry,

La carte du -calcul

relations avecla logique formelle

algorithmiquerécursive

programmationfonctionnelle

machines virtuelles

CAM, Krivine

SCHEMECAML Haskell

Javascript

compilation et optimisationdes langages fonctionnels

LCF, HOLIsabelle, CoQ

-calculdomaines de Scott

Gérard Huet

-calculdomaines de Scott

Page 33: Penser, modéliser et maîtriser le calcul informatique

=> génie logicien19/11/2009 33Collège de France, G. Berry,

Le théorème des 4 couleurs en CoQ

Preuve omise, évidente mais longue

• 1852 Guthrie

• 1976 Appel – Haken

Georges Gonthier

• 2005 Gonthier (en CoQ)

Page 34: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 34Collège de France, G. Berry,

Systèmes d’états finis

• Expressions régulières : (ab+b)*baba abba bba abbabba ...

• Automates finis

circuits électroniquessystèmes embarqués, réseaux

interfaces homme-machineanalyse des langues, du génome, ...

• Langages évolués (Statecharts, Esterel, SCADE)

Page 35: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 35Collège de France, G. Berry,

La carte des systèmes d’états finis

logiquestemporelles

théorie deslangages

états / transitionsgrammaires

automatescircuits

électroniques

Lex, YaccEsterel

Statecharts

automateslangages réguliers

langages → automateslangages → circuits

model-checking

optimisationbooléenne

Joseph SifakisAmir Pnueli

Page 36: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 36Collège de France, G. Berry,

La carte des systèmes d’états finis

logiquestemporelles

théorie deslangages

états / transitionsgrammaires

automatescircuits

électroniques

Lex, YaccEsterel

Statecharts

automateslangages réguliers

langages → automateslangages → circuits

model-checking

optimisationbooléenne

Dominique Perrin

Page 37: Penser, modéliser et maîtriser le calcul informatique

• Communication entre machines distantes– unité centrale et périphériques (PC → imprimante)– émetteurs et receveurs multiples : réseaux

19/11/2009 37Collège de France, G. Berry,

Pourquoi le parallélisme

• Partage de ressources– PC: plusieurs tâches partagent le CPU, les disques, etc.– stockage d’information dans les grands réseaux.

• Amélioration de performances– machines parallèles, grilles, nuages– circuits : caches, spéculation, multicœurs, SoCs, etc.

Page 38: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 38Collège de France, G. Berry,

Pourquoi le parallélisme

• Contrôle d’objets avec parallélisme physique– avion : ~10 gouvernes, 2 réacteurs, 3 trains, etc.

• Contrôle de grands systèmes– contrôle aérien– signalisation ferroviaire, aiguillages– contrôle de la circulation en ville

• Redondance pour la sécurité et la disponibilité

communication, coopération, compétitionsécurité des données et communications

Page 39: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 39Collège de France, G. Berry,

Interblocage (deadlock)

Page 40: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 40Collège de France, G. Berry,

Famine (starvation)

Page 41: Penser, modéliser et maîtriser le calcul informatique

13:0613:0312:57

19/11/2009 41Collège de France, G. Berry,

Le ski au 20 e siècle

13:00

Page 42: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 42Collège de France, G. Berry,

Le ski au 20 e siècle, avec protocole

13:0613:0312:5713:00

Le drapeau ajoute le lien de causalité manquant

Page 43: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 43Collège de France, G. Berry,

Le ski au 21 e siècle

On peut même prévenir d’avance qu’on sera en retard !

13:0613:0312:5713:00

Page 44: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 44Collège de France, G. Berry,

Processus et communication

P Q

R S

• Réseaux de processus statiques ou dynamiques• Trois types de communication

– asynchrone : temps quelconque– synchrone : temps conceptuellement nul– vibratoire : temps non nul prévisible

Page 45: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 45Collège de France, G. Berry,

Parallélismes synchrone et vibratoire

SynchroneMusiciens et spectateurs négligent la vitesse du son

VibratoireMais les acousticiens règlent sa propagation

Page 46: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 46Collège de France, G. Berry,

Applications : embarqué et circuits

SCADE

circuits électroniques

Nicolas Halbwachs

modèle / langage Lustre

Jean Vuillemin

nombres 2-adiques

Page 47: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 47Collège de France, G. Berry,

Mémoire partagée

P Q

R S

Mémoire

Page 48: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 48Collège de France, G. Berry,

P QP

P

P

Q

Q

Q

P

P

Michel Raynal

Brisure decausalité

Page 49: Penser, modéliser et maîtriser le calcul informatique

• P and Q sont asynchrone, mais communiquent de façon localement synchrone

• A ce moment, chacun sait ce que sait l’autre

• Les rendezvous sont ordonnancés de manière non-déterministe

19/11/2009 49Collège de France, G. Berry,

Rendezvous = information partagée

P Q

Page 50: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 50Collège de France, G. Berry,

CSP = séquentiel + rendez-vous

P Q

R S

Bien contrôlable, mais souvent trop lourd

Page 51: Penser, modéliser et maîtriser le calcul informatique

• Découplage de l’émetteur et du récepteur– plus de parallélisme– mais introduction de latence imprévisible– et comportement total plus complexe

19/11/2009 51Collège de France, G. Berry,

Communication par files d’attente

P Q

• Applications– transmission dans les réseaux– traitement du signal – interfaces homme / machine, Web

Page 52: Penser, modéliser et maîtriser le calcul informatique

• nœuds déterministes, files non bornées

• ordonnancement non-déterministe arbitraire

• Mais résultat déterministe !Magnifique

sémantique mathématique

19/11/2009 52Collège de France, G. Berry,

Réseaux de Kahn

P

Q

R

Page 53: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 53Collège de France, G. Berry,

Réseaux graphiques

Réseaux de Petri

Source Univ. Stuttgart

Réseaux d’automates

Page 54: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 54Collège de France, G. Berry,

Le -calcul de Milner : chimie + calcul

[email protected]<“vous habitez chez vos parents?”>

[email protected]

[email protected]

Annuaireadr<Alice> rep<[email protected]>[email protected]<[email protected]>[email protected]<Bonjour>

Cedric Fournet

Page 55: Penser, modéliser et maîtriser le calcul informatique

D’un ordinateur, on ne sort jamais que ce qu’on y a misD’un ordinateur, on ne sort jamais que ce qu’on y a mis

D’Internet, je sors ce que le reste du monde y a mis

Homo bureaucratus

Homo Internetus

5519/11/2009 55Collège de France, G. Berry,

Page 56: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 56Collège de France, G. Berry,

Communautés, pair-à-pair et réseaux virtuels

Anne-Marie Kermarrec

Page 57: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 57Collège de France, G. Berry,

Calcul diffus : alerte aux pucerons !

• infestation massive par pucerons enfouis partout• qui peuvent communiquer entre eux• Comment les programmer et les coordonner ?

Manuel Serrano

Page 58: Penser, modéliser et maîtriser le calcul informatique

• De nombreux principes de calcul parallèle– trains de spikes (vibratoires)– évaluations probabilistes– discussions asynchrones– synchronisation d’horloges

• Un mélange synchrone / asynchrone– conscient séquentiel, inconscient parallèle

• Une robustesse fondamentale– apprentissage (semi-) spontané– beaucoup de pièces en panne– plasticité cérébrale

19/11/2009 58Collège de France, G. Berry,

Comment calcule notre cerveau ?

Page 59: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 59Collège de France, G. Berry,

Neurosciences computationnelles=> nouveaux principes de calcul informatique=> commande d’actions par l’activité cérébrale

=> couplages circuits / neurones

Page 60: Penser, modéliser et maîtriser le calcul informatique

19/11/2009 60Collège de France, G. Berry,

Page 61: Penser, modéliser et maîtriser le calcul informatique

• Le 20e siècle a été celui de l’énergie et du moteur

• Le 21e sera celui de l’information et du calcul– qu’il faut donc étudier à fond

• L’épidémie numériques gagne les sciences– mathématiques numériques G. Gonthier, E. Ghys, …– Physique numérique, cf L.I. Antoine Georges, 2009– Bioinformatique, informatique médicale– …

19/11/2009 61Collège de France, G. Berry,

Conclusion

Faire ce qu’ on veut en étant aussi bête qu’un ordinateur demande beaucoup d’intelligence

Page 62: Penser, modéliser et maîtriser le calcul informatique

A mon directeur de thèse

Maurice Nivat

A mes thésards préférés

Pierre-Louis CurienLaurent CosseratGeorges Gonthier

Olivier Tardieu

A la bande du bâtiment 8 de l’INRIA Rocquencourt

Bruno CourcellePhilippe Flajolet

Gérard HuetGilles Kahn

GustaveJean-Jacques Lévy

Ron RivestJean-Marc Steyaert

Jean Vuillemin

A la bande de l’Ecole des Mines / INRIA Sophia-Antipolis

Yves BertotGérard Boudol

Frédéric BoussinotIlaria Castellani

Jean-Paul MarmoratJean-Paul RigaultDavide SangiorgiRobert de Simone

Valérie Roy

A la bande de Digital Equipment

Patrice BertinFrançois Bourdoncle

Olivier CoudertJean-Christophe Madre

Mark ShandHervé Touati

Jean Vuillemin

A la bande de Grenoble

Paul CaspiNicolas Halbwachs

Florence MaraninchiPascal Raymond

Joseph Sifakis

A la bande d’Esterel Technologies

Amar BoualiXavier FornariBruno PaganoMarc Perreaut

... et tous les autres

Et à mes collègues étrangers

Mike KishinevskyEdward Lee

David McQueenRobin MilnerDana Scott

Gordon PlotkinEllen Sentovich

Ravi Sethi

Remerciements spéciaux