La Révolution Numérique
-
LA SIMULATION NUMÉRIQUE OUTIL INDUSTRIEL
Mais cela ne suffit plus, la simulation numérique intervient de plus en plus tout au long du processus industriel, dans la séquence conception-fabrication-distribution, comme dans l’analyse des réactions des clients. La simulation permet d’améliorer, élargir et affiner l’exploration des possibles, de tester différentes possibilités sans autres conséquences que quelques heures de calcul. Cela donne la possibilité de diminuer les coûts et durées de conception en permettant, par exemple, de mettre en évidence au plus tôt et sans grosses conséquences les erreurs de conception ou les défauts de qualité. La simulation permet aussi de former des compétences.
Dans le domaine des économies d’énergie, elle est décisive. Dans l’industrie du transport, elle permet de diminuer considérablement le poids d’un véhicule pour le rendre moins gourmand en énergie et moins polluant, et elle seule le permet.
« Pour garantir leurs objectifs de réduction d’émissions de CO2, tous les constructeurs automobiles allègent leurs véhicules. […] On sort des zones de travail habituelles et la simulation prédictive est la seule voie économiquement viable pour comprendre le comportement de la matière, afin de développer ces nouveaux process de production.(1)»
Il est peu de domaines industriels qui y échapperont dans l’avenir. On ne pourra bientôt plus concevoir un nouveau produit sans être passé par la case simulation numérique. Ainsi pour l’élaboration de nouveaux médicaments, l’usage de la simulation va permettre de personnaliser les traitements.
Une modélisation/simulation bien conçue et bien menée sur des machines puissantes doit faire gagner des échellesde temps très importantes. En médecine comme en cosmétologie(2), des méthodes combinant approche biologique et simulation constituent une alternative à l’expérimentationin vivo. Cette façon de faire suppose toutefois l’accès à d’énormes puissances de calcul et à des logiciels sophistiqués, clés du développement industriel actuel.
Dans le domaine économique, à l’échelle d’un groupe, d’une entreprise, d’une région ou d’un État, l’élaboration de modèles statistiques fondés
sur une analyse de très grandes quantités de données comportementales conduit à pouvoir fixer les prix et optimiser les marges au niveau de chaque magasin, optimiser les flux au niveau social, gérer la distribution de l’eau ou de l’énergie, par exemple.
La simulation numérique devient un élément clé pour renforcer la capacité de développement d’une entreprise, sa réactivité, tout en réduisant les risques et incertitudes qui y sont liés et en améliorant sa santé économique dans le cadre d’une économie très concurrentielle.
DES OUTILS CONCEPTUELS RENOUVELÉS ET DES SUPERORDINATEURS
La simulation numérique nécessite des outils conceptuels d’un type nouveau. Il y faut une modélisation, un maquettage virtuel de ce qu’on souhaite simuler (produit, institution, procédé, molécules, services…), ce qui signifie une traduction mathématique, qu’elle soit discrète(3) ou continue, des objets étudiés et des lois qui les régissent. Un tel maquettage nécessite une quantité considérable de données et de mesures, une quantité d’autant plus considérable qu’on souhaite entrer dans le détail et avoir une simulation la plus réaliste possible. Qui plus est, il faut considérer les choses d’un point de vue dynamique. On n’en est plus seulement à simuler un objet en tant que tel mais en situation et en évolution la plupart du temps. Ce sont des systèmes de systèmes en interactions qu’il faut prendre en compte. La complexité devient telle qu’il faut faire appel à des capacités de calcul considérables. Il faut alors disposer de systèmes
de traitement offrant la puissance de calcul, la capacité d’archivage de données, les logiciels et les compétences humaines(4) adaptées pour transformer l’usage de la simulation numérique en un véritable avantage concurrentiel. La puissance de calcul utile à l’obtention de cet avantage concurrentiel varie selon l’état de l’art, les secteurs d’activité et les marchés correspondants pour ce qui est des entreprises.
Il est clair que le calcul haute performance, c’est-à-dire de l’ordre du petaflops (1 million de milliard d’opération par seconde !) permettra de repousser les frontières de ce qu’il est possible de faire par ordinateur en utilisant les plus rapides d’entre eux.
Cette puissance de calcul peut servir deux objectifs différents mais complémentaires :
– réduire autant que possible le temps d’exécution d’un programme par nature complexe en nombre d’opérations à réaliser et s’appliquant à des volumes considérables de données ;
– tester et comparer très rapidement un grand nombre de solutions en utilisant le même programme mais en faisant s’exécuter en parallèle de multiples instances de celui-ci avec des paramètres différents, notamment à des fins d’optimisations spécifiques.
Actuellement ( en 1994 !) les ordinateurs les plus puissants accessibles au monde de l’industrie offrent une puissance de l’ordre de 1 petaflops. Ce genre de machine est surtout utilisé par l’armée pour simuler des explosions thermonucléaires, évitant ainsi de tester ces engins dans l’atmosphère.
LA SIMULATION NUMÉRIQUE SE DÉMOCRATISE
L’usage industriel de la simulation est resté pendant longtemps l’apanage de grandes entreprises des secteurs de l’automobile, de l’aéronautique, de l’énergie et de la défense.
Au sein de ces secteurs d’activité, l’emploi de méthodes de simulation n’a cessé de se perfectionner pour améliorer les usages existants, mais aussi pour en couvrir de nouveau.
L’augmentation de la puissance des ordinateurs et l’apparition de nouveaux algorithmes permettent régulièrement d’augmenter la taille des modèles, et donc la qualité et la précision de la simulation. De nouvelles applications ont été rendues possibles, comme la simulation électromagnétique ou acoustique dans l’aéronautique.
De nouvelles méthodes et de nouveaux procédés voient le jour.
C’est le cas de la conception de nouveaux matériaux ; ce sont aussi les progrès vers la mise au point de modélisations et simulations à la fois plus globales et plus systémiques.
Outre les secteurs traditionnels, on observe une pénétration croissante de l’emploi du calcul intensif au sein des domaines de la finance, des télécommunications et de l’énergie (simulation de réseaux…) ou encore de la santé. Dans les secteurs de la chimie ou de la biotechnologie, des progrès importants ont été obtenus par l’emploi de méthodes relevant de la simulation au niveau moléculaire en particulier.
Le domaine du multimédia et des jeux devient de plus en plus, lui aussi, un domaine privilégié de l’emploi de la haute performance dès lors que les images, les films, les sons, les jeux sont devenus des objets numériques. Ainsi le calcul intensif permet, dans un temps raisonnable, l’amélioration du rendu naturel de scènes artificielles.
De même, la simulation des ensembles urbains tant du point de vue de leur conception que celui de l’analyse de la pollution, du trafic ou encore de l’énergie constitue un champ prometteur d’application du calcul intensif.
La suite après les notes
Aux origines de la révolution numérique, la machine de Turing
L’année 1900 est la dernière année du XIXe siècle. La charnière entre le XIXe et le XXe siècle est riche de découvertes et avancées scientifiques et philosophiques qui vont marquer l’avenir et qui nous interpellent toujours aujourd’hui, qu’il s’agisse de la théorie d’Einstein et de la fameuse formule E = m.c2 (1905) qui permet de caractériser l’équivalence énergie/matière qui préoccupait la science de l’époque, ou de la démonstration par Louis Bachelier de la caractérisation mathématique du mouvement Brownien, ou encore de l’émergence du concept de complexité avec le problème des trois corps par Henri Poincaré et Gaston Bachelard le facteur philosophe qui publiera Le nouvel esprit scientifique, dans les années 30, et une critique rationaliste et marxiste de l’empiriocriticisme, doctrine à la mode à l’époque, par Vladimir Illitch Oulianov, dit Lénine sous le titre Matérialisme et empiriocriticisme (1908) qui ouvre la voie philosophique à la révolution bolchevique.
Mais en 1900, le mathématicien David Hilbert va poser au congrès des mathématiques de Paris une série de 23 problèmes dont le dixième va conduire à une révolution, à la fois conceptuelle, mathématique et philosophique, à l’émergence d’une nouvelle science. On peut donner une version « grand public » de ce dixième problème, et surtout de sa reformulation en 1928 sous le nom allemand Entscheidungsproblem ou problème de décision; en fait il se compose de deux parties, deux conjectures[1].
Première partie de la conjecture : il existe une façon unique de poser tout problème de mathématique ;
Deuxième partie de la conjecture : Si cette première partie de la conjecture est vraie, alors il existe une façon unique de résoudre tout problème de mathématique.
Je laisse là imaginer un peu l’enjeu. C’est dans les années 30 du XXe siècle que des réponses vont être données.
En 1931, le mathématicien-logicien Allemand Kurt Gödel va provoquer un séisme en publiant deux théorèmes dont le premier est dit théorème d’incomplétude[2] de Gödel, le plus puissant pour ce qui nous préoccupe peut s’énoncer comme suit :
Dans n'importe quelle théorie récursivement axiomatisable, cohérente et capable de « formaliser l'arithmétique », on peut construire un énoncé arithmétique qui ne peut être ni démontré ni réfuté dans cette théorie.
Gödel vient là de balayer tous les espoirs de la construction cohérente de l’édifice mathématique que le prestigieux mathématicien Bertrand Russel poursuivait et l’espoir d’une théorie parfaite et close.
Le concept d’indécidabilité est né ! Mais la démonstration en est particulièrement abstruse. C’est Alan Mathison Turing qui va donner une réponse à ces problèmes dans un article majeur encore aujourd’hui « On computable numbers with an application to the entscheindungsproblem »[3]
Et Turing advint
Pour ce faire, Turing avance un concept abstrait de machine, qu’on appellera par la suite Machine de Turing[4]. Ce concept[5] va permettre de refonder le concept de calcul, celui de problème, puis de solution d’un problème en formalisant ce qui va devenir fondamental par la suite, le concept d’Algorithme.
Quoique son nom de « machine » puisse conduire à imaginer un objet matériel, palpable, la machine de Turing est un concept abstrait, un objet mathématique. Une machine de Turing est constituée des éléments suivants :
- un ruban infini divisé en cases consécutives. Chaque case contient un symbole et un seul parmi un alphabet fini[6]. L'alphabet contient un symbole spécial appelé « symbole blanc » et plusieurs autres symboles. Le ruban est supposé infini tant à droite qu’à gauche ; la machine doit toujours avoir assez de longueur de ruban pour son exécution. On considère que les cases non écrites du ruban contiennent le symbole « blanc » ou « vide »;
- une tête de lecture/écriture qui peut lire et écrire les symboles sur le ruban, et se déplacer vers la gauche ou vers la droite du ruban d’une seule case à la fois, ou ne pas se déplacer ;
- un registre d’état qui mémorise l'état courant de la machine de Turing, et celui-ci seulement. Le nombre d'états possibles est toujours fini, la machine possède donc un alphabet d’états ;
- une table d'actions, table à double entrée[7] dans laquelle on lit en ligne le symbole qui vient d’être lu sur le ruban, en colonne l’état de la machine, et la case correspondante de cette table à double entrée indique à la machine quelle action effectuer sur le ruban, effacer le symbole lu, écrire un symbole sur le ruban, comment déplacer la tête de lecture (par exemple « G » pour une case vers la gauche, « D » pour une case vers la droite, « N » pour neutre, c’est-à-dire stagnation), et dans quel nouvel état passer éventuellement, en fonction du symbole lu sur le ruban et de l'état courant de la machine.
Ce concept de machine de Turing est d’une puissance phénoménale et est à l’origine de l’informatique et de la révolution numérique ; il concerne toutes les activités humaines et plus, il permet de modéliser y compris des phénomènes qui sont hors du champ mathématique, comme le comportement des espèces animales[8], ou la théorie de l’évolution de Darwin[9]
Exemple de Machine de Turing
Il s’agit là d’une machine de Turing particulière qui effectue une addition comme on l’apprend aux enfants, avec des buchettes. Là par exemple, à partir de la position au départ, la machine lit (I,q0) c’est-à-dire qu’elle lit le I alors qu’elle est dans l’état q0, elle efface alors le contenu de la case du ruban[10] « L » puis opère un décalage à droite « d » puis la machine passe dans l’état « q1 » et ainsi de suite…
On peut aussi coder chacun de ces symboles avec des « 0 » et des « 1 » auquel cas, suite à de petites manipulations de codage, on obtient une Machine de Turing universelle qui permet de simuler toute machine de Turing particulière comme celle-ci.
[1] En mathématiques une conjecture est un énoncé qu’on a toutes les raisons de penser être vrai mais qu’on ne sait pas démontrer et pour lequel on n’a jusqu’à présent aucun contre-exemple.
[2] Le second porte sur la cohérence logique d’une théorie, il dit en substance qu’une théorie sera dite cohérente lorsqu’on ne peut y démontrer une proposition et son contraire, A et non A.
[3] Sur les nombres calculables avec une application au problème de la décision
[4] Voir une description simple dans L’homme et les techniques p.48 , éd. Messidor/La Farandole 1991.
[5] N’en déplaise à Deleuze et Gattari, les mathématiciens aussi créent des concepts !
[6] En fait, on montre –mais ce n’est pas ici le lieu de le faire- que cet alphabet peut se résumer à [0,1] dans ce qu’on appelle la machine de Turing universelle, c’est-à-dire la machine de Turing capable de simuler toute machine de Turing spécifique.
[7] C’est une représentation parmi d’autres, on pourrait présenter ça autrement.
[8] https://hal.archives-ouvertes.fr/hal-00814812v2 et aussi https://arxiv.org/abs/1304.5604
[9] Probablement Approximativement Correct, (trad.) Leslie Valiant, éd. Cassini 2018.
[10] Le symbole L signifie ici le “blanc”.