2 - Inria Sophia Antipolis

publicité
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é
Collège de France, G. Berry, 19/11/2009
2
Curt Herzstark, 1936-1945
Collège de France, G. Berry, 19/11/2009
3
La révolution du microprocesseur
coeur 1
coeur 2
Si vous m’instruisez bien, je sais tout faire tout seul,
en tournant moi-même la manivelle !
Collège de France, G. Berry, 19/11/2009
4
La révolution du microprocesseur
coeur 1
coeur 2
Rapidité, exactitude, stupidité
Collège de France, G. Berry, 19/11/2009
5
Sans la main => sans la pensée !
Modèles de calcul
Maîtrise
Calculer
sur ?
le calcul
Intuition
Rapidité
Rigueur
Exactitude
Lenteur
Stupidité
Collège de France, G. Berry, 19/11/2009
6
Anatomie d’un modèle de calcul
pensée
algorithmique
machines
implantation
conception et
programmation
noyau intuitif et
mathématique
optimisation
raisonnement
sur la correction
langages
vérification
Collège de France, G. Berry, 19/11/2009
7
Pourquoi plusieurs modèles de calcul,
alors que tous les ordinateurs
semblent marcher pareil ?
Collège de France, G. Berry, 19/11/2009
8
Quatre classes de modèles
1. Modèles de la calculabilité
2. Modèles séquentiels
3. Modèles parallèles
4. Modèles diffus
Collège de France, G. Berry, 19/11/2009
9
La sémantique : concepts ↔ symboles
• Domaine des concepts :
la somme du nombre 34 et du nombre 56 est le nombre 90
• Domaine des symboles
34 et 56 sont des symboles en représentation décimale
et + le symbole d’un algorithme
Machine : 34+56
3+5+1 → 0 9
4+6 → 1 0
090
Il n’y a pas de nombres dans un ordinateur
rien que des symboles
Collège de France, G. Berry, 19/11/2009 10
Le diagramme sémantique
Concepts
somme
du nombre « 34 »
et du nombre « 56 »
nombre « 90 »
dénotation
Symboles
notation
34+56
manivelle
090
Pour comprendre l’informatique, il faut arriver à
être aussi bête qu’un ordinateur
Collège de France, G. Berry, 19/11/2009 11
Causalité des calculs
(3+4)+(8-3)
7+(8-3) résidu (3+4)+5
7+5
création
12
La causalité détermine la liberté du calcul
Collège de France, G. Berry, 19/11/2009 12
Déterminisme / non-déterminisme
• Déterminisme : un seul résultat
– calcul mathématique standard
– circuits électroniques
– pilotage d’avions, conduite de voitures, etc.
• 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)
Collège de France, G. Berry, 19/11/2009 13
Le crible d’Eratosthène
Un nombre est premier s’il n’a pas
d’autre diviseur que 1 et lui-même
2
12
22
32
42
3
13
23
33
43
4
14
24
34
44
5
15
25
35
45
6
16
26
36
46
7
17
27
37
47
8
18
28
38
48
9
19
29
39
49
10
20
30
40
50
11
21
31
41
51
Collège de France, G. Berry, 19/11/2009 14
Le crible d’Eratosthène
Un nombre est premier s’il n’a pas
d’autre diviseur que 1 et lui-même
2
12
22
32
42
3
13
23
33
43
4
14
24
34
44
5
15
25
35
45
6
16
26
36
46
7
17
27
37
47
8
18
28
38
48
9
19
29
39
49
10
20
30
40
50
11
21
31
41
51
Collège de France, G. Berry, 19/11/2009 15
Le crible d’Eratosthène
Un nombre est premier s’il n’a pas
d’autre diviseur que 1 et lui-même
2
12
22
32
42
3
13
23
33
43
4
14
24
34
44
5
15
25
35
45
6
16
26
36
46
7
17
27
37
47
8
18
28
38
48
9
19
29
39
49
10
20
30
40
50
11
21
31
41
51
Collège de France, G. Berry, 19/11/2009 16
Le crible de Darwin : p, kp → p
7
9
7
3
7
7
2
4
28
Banâtre - Le Métayer : GAMMA
Berry - Boudol : CHAM
Collège de France, G. Berry, 19/11/2009 17
Comparaison des cribles
séquentialité
causalité complexe
déterminisme du calcul
déterminisme du résultat
terminaison triviale
limité au fini
parallélisme massif
causalité minimale
non-déterminisme du calcul
déterminisme du résultat
terminaison probabiliste
passe à l’infini
Collège de France, G. Berry, 19/11/2009 18
Comment définir la calculabilité ?
1. Par les machines
machines de Turing, de von Neumann,
automates cellulaires, pavages du plan, etc.
2. Par les langages et calculs algébriques
dé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
Thèse de Church-Turing :
Toute nouvelle définition restera équivalente
Collège de France, G. Berry, 19/11/2009 19
La machine de Turing
•••
3
1 8
4 5 9 2
E
G
•••
D
A : 3 → D, A
A : 4 → G, B
A : 8 → 3, A
B : 3 → D, C
A : 7 → G, B
A : 7 → 2, A
arrêt
non-déterminisme
Collège de France, G. Berry, 19/11/2009 20
Machine universelle
Théorème : il existe une machine universelle U qui
permet de simuler toute machine sur toute donnée
Do n n é e s
Do cM Do n n é e s
M
U
Le programme enregistré est la clef de l’informatique
Collège de France, G. Berry, 19/11/2009 21
Indécidabilité de l’Arrêt
Théorème : il n’existe pas de machine testant si
une machine M s’arrête sur une donnée D
Do n n é e s
Do cM Do n n é e s
M
A
• A s’arrête toujours
• A rend 1 si M s’arrête
• A rend 0 si M boucle
Toute propriété non-triviale est indécidable
Collège de France, G. Berry, 19/11/2009 22
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 !
Collège de France, G. Berry, 19/11/2009 23
Un langage : la récursion générale
• Fact (m)  si m1 alors 1
sinon Mult (m, Fact(m1))
• Mult (m, n)  si m0 alors 0
sinon si m1 alors n
sinon Add (Mult(m1, n), n)
• Add (m, n)  si m0 alors n
sinon si n0 alors m
sinon (Add (m1, n1)1)1
Collège de France, G. Berry, 19/11/2009 24
Le -calcul (Church 1936)
Donner un vrai statut à la notation des fonctions
• Notation classique des fonctions
f  [ x  x+1 ]
g  [ y  y2 ]
g○f [ z  g(f(z)) ] [ z  (z+1)2 ]
• -notation
f  x. x+1
f(2)  (x. x+1) (2)  2+1  3
g  y. y2
g(3)  (y. y2) (3)  32  9
G. Berry, Collège de France, 25/11/2009 25
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)
○ u(v(z))) (y.gy2) (x.fx+1)
○g f  (u. v. z.
○g f  z. (y. y2) ((x. x+1) (z))
○g f  z. (y. y2) ((x. x+1) (z))
○g f  z. (y. y2) (z+1)
○g f  z. (y. y2) (z+1)
○g f  z. (z+1)2
g○f : [ z  (z+1)2 ]
G. Berry, Collège de France, 25/11/2009 26
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 ?
Collège de France, G. Berry, 19/11/2009 27
0 f. x. x
1 f. x. fx
2 f. x. f(fx)
...
n f. x. f n(x) = f(f(...f(x)...))
...
Le nombre n devient l’algorithme
qui applique n fois une fonction f à son argument x
+1  n. f. x.f (nfx)
-1 λn.λf.λx. n (λg.λh.h(fg)) (λu.x) (λv.v)
Collège de France, G. Berry, 28
19/11/2009
Récursion et point fixe
let rec Fact m  si m1 alors 1 sinon Mult (m, Fact (m1))
FACT  f. m. si m1 alors 1 sinon Mult (m, f (m1))
Fact = FACT (Fact) - équation de point fixe
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 !
Collège de France, G. Berry, 19/11/2009 29
La carte du -calcul
algorithmique
récursive
machines
virtuelles
CAM, Krivine
programmation
fonctionnelle
relations avec
la logique formelle
-calcul
domaines de Scott
compilation et optimisation
des langages fonctionnels
SCHEME
CAML
Haskell
Javascript
LCF, HOL
Isabelle, CoQ
Collège de France, G. Berry, 19/11/2009 30
La carte du -calcul
algorithmique
récursive
machines
virtuelles
CAM, Krivine
programmation
fonctionnelle
relations avec
la logique formelle
-calcul
domaines de Scott
Jean-Jacques Lévy
compilation et optimisation
des langages fonctionnels
SCHEME
CAML
Haskell
Javascript
LCF, HOL
Isabelle, CoQ
Collège de France, G. Berry, 19/11/2009 31
La carte du -calcul
algorithmique
récursive
machines
virtuelles
CAM, Krivine
programmation
fonctionnelle
relations avec
la logique formelle
-calcul
-calcul
domaines
domainesde
deScott
Scott
SCHEME
CAML
Haskell
Javascript
Gérard Huet
compilation et optimisation
des langages fonctionnels
LCF, HOL
Isabelle, CoQ
Collège de France, G. Berry, 19/11/2009 32
Le théorème des 4 couleurs en CoQ
• 1852
Guthrie
• 1976
Appel –
Haken
Georges Gonthier
• 2005
Gonthier
(en CoQ)
Preuve omise, évidente mais longue
=> génie logicien
Collège de France, G. Berry, 19/11/2009 33
Systèmes d’états finis
• Expressions régulières : (ab+b)*ba
ba abba bba abbabba ...
• Automates finis
• Langages évolués (Statecharts, Esterel, SCADE)
circuits électroniques
systèmes embarqués, réseaux
interfaces homme-machine
analyse des langues, du génome, ...
Collège de France, G. Berry, 19/11/2009 34
La carte des systèmes d’états finis
théorie des
langages
automates
circuits
électroniques
états / transitions
grammaires
logiques
temporelles
automates
langages réguliers
Lex, Yacc
Esterel
Statecharts
Pnueli
JosephAmir
Sifakis
langages → automates
langages → circuits
optimisation
booléenne
modelchecking
Collège de France, G. Berry, 19/11/2009 35
La carte des systèmes d’états finis
théorie des
langages
automates
circuits
électroniques
états / transitions
grammaires
logiques
temporelles
automates
langages réguliers
Lex, Yacc
Esterel
Statecharts
Dominique Perrin
langages → automates
langages → circuits
optimisation
booléenne
modelchecking
Collège de France, G. Berry, 19/11/2009 36
Pourquoi le parallélisme
• Communication entre machines distantes
– unité centrale et périphériques (PC → imprimante)
– émetteurs et receveurs multiples : réseaux
• 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.
Collège de France, G. Berry, 19/11/2009 37
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étition
sécurité des données et communications
Collège de France, G. Berry, 19/11/2009 38
Interblocage (deadlock)
Collège de France, G. Berry, 19/11/2009 39
Famine (starvation)
Collège de France, G. Berry, 19/11/2009 40
Le ski au 20 e siècle
12:57
13:03
13:06
13:00
Collège de France, G. Berry, 19/11/2009 41
Le ski au 20 e siècle, avec protocole
13:06
12:57
13:03
13:00
Le drapeau ajoute le lien de causalité manquant
Collège de France, G. Berry, 19/11/2009 42
Le ski au 21 e siècle
13:06
12:57
13:03
13:00
On peut même prévenir d’avance qu’on sera en retard !
Collège de France, G. Berry, 19/11/2009 43
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
Collège de France, G. Berry, 19/11/2009 44
Parallélismes synchrone et vibratoire
Synchrone
Musiciens et spectateurs négligent la vitesse du son
Vibratoire
Mais les acousticiens règlent sa propagation
Collège de France, G. Berry, 19/11/2009 45
Applications : embarqué et circuits
Nicolas
Halbwachs
SCADE
modèle / langage
Lustre
Jean Vuillemin
circuits électroniques
nombres 2-adiques
Collège de France, G. Berry, 19/11/2009 46
Mémoire partagée
P
Q
R
S
Mémoire
Collège de France, G. Berry, 19/11/2009 47
P
Q
P
Q
Q
P
P
P
P
Q
Brisure de
causalité
Michel Raynal
Collège de France, G. Berry, 19/11/2009 48
Rendezvous = information partagée
P
Q
• 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
Collège de France, G. Berry, 19/11/2009 49
CSP = séquentiel + rendez-vous
P
Q
R
S
Bien contrôlable, mais souvent trop lourd
Collège de France, G. Berry, 19/11/2009 50
Communication par files d’attente
P
Q
• Découplage de l’émetteur et du récepteur
– plus de parallélisme
– mais introduction de latence imprévisible
– et comportement total plus complexe
• Applications
– transmission dans les réseaux
– traitement du signal
– interfaces homme / machine, Web
Collège de France, G. Berry, 19/11/2009 51
Réseaux de Kahn
P
R
Q
• nœuds déterministes, files non bornées
• ordonnancement non-déterministe arbitraire
• Mais résultat déterministe !
Magnifique sémantique mathématique
Collège de France, G. Berry, 19/11/2009 52
Réseaux graphiques
Réseaux de Petri
Réseaux d’automates
Source Univ. Stuttgart
Collège de France, G. Berry, 19/11/2009 53
Le -calcul de Milner : chimie +  calcul
Annuaire
rep<[email protected]>
[email protected]<Bonjour>
[email protected]<[email protected]>
adr<Alice>
[email protected]
Cedric Fournet
[email protected]<“vous
habitez
chez vos parents?”>
[email protected]
Collège de France, G. Berry, 19/11/2009 54
D’un ordinateur, on ne sort jamais que ce qu’on y a mis
Homo bureaucratus
D’Internet, je sors ce que le reste du monde y a mis
Homo Internetus
Collège de France, G. Berry, 19/11/2009 55
55
Communautés, pair-à-pair et réseaux virtuels
Anne-Marie Kermarrec
Collège de France, G. Berry, 19/11/2009 56
Calcul diffus : alerte aux pucerons !
Manuel Serrano
• infestation massive par pucerons enfouis partout
• qui peuvent communiquer entre eux
• Comment les programmer et les coordonner ?
Collège de France, G. Berry, 19/11/2009 57
Comment calcule notre cerveau ?
• 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
Collège de France, G. Berry, 19/11/2009 58
Sophie Denève
Yves Frégnac
Neurosciences computationnelles
=> nouveaux principes de calcul informatique
=> commande d’actions par l’activité cérébrale
=> couplages circuits / neurones
Collège de France, G. Berry, 19/11/2009 59
Collège de France, G. Berry, 19/11/2009 60
Conclusion
• 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
…
Faire ce qu’ on veut en étant aussi bête
qu’un ordinateur demande beaucoup d’intelligence
Collège de France, G. Berry, 19/11/2009 61
Ravi Sethi
Remerciements spéciaux
Téléchargement