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 m1 alors 1 sinon Mult (m, Fact(m1)) • Mult (m, n) si m0 alors 0 sinon si m1 alors n sinon Add (Mult(m1, n), n) • Add (m, n) si m0 alors n sinon si n0 alors m sinon (Add (m1, n1)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 m1 alors 1 sinon Mult (m, Fact (m1)) FACT f. m. si m1 alors 1 sinon Mult (m, f (m1)) 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