CHAPITRE 1

Introduction

Ce livre a pour but de vous faire découvrir une méthode mathématique et un certain nombre de concepts adaptés à la description des systèmes complexes. La complexité est une notion quelque peu galvaudée aujourd'hui, mais dans ce livre elle a un sens précis: un système complexe est un système formé de nombreux éléments différents en interaction.

La physique statistique nous a habitué à la description mathématique de certains systèmes à très grand nombre de composants. Les propriétés thermodynamiques des gaz parfaits ont été comprises dès la fin du XIXe siècle, et celle des solides au début du XXe. Dans ces deux cas, deux propriétés importantes facilitent la modélisation:

   Il s'agit de systèmes dont les composants sont identiques.

   Les interactions entre composants sont ou bien faibles, et on peut donc soit les ignorer, comme dans le cas des gaz parfaits, ou bien on sait employer un formalisme linéaire permettant de se ramener aux simplifications précédentes, ce qui est le cas pour les solides.

Ces systèmes ne sont donc pas considérés comme complexes (voir le tableau 1.1).

Voici, à l'inverse, quelques exemples de systèmes complexes dont certains seront étudiés dans ce livre:

   Le cerveau humain est composé d'un très grand nombre de cellules, les neurones, de l'ordre de dix milliards. Ces cellules échangent des signaux électriques par l'intermédiaire de leurs synapses. Même si les divers types neuronaux sont en nombre réduit, c'est par leur structure de connexions qu'ils diffèrent.

   Les systèmes informatiques font intervenir de nombreux composants électroniques différents, que ce soit au niveau des transistors ou des portes logiques.

   Les systèmes multiphasiques en physico-chimie comprennent plusieurs phases différentes: il peut s'agir tout aussi bien de mayonnaise que des matériaux composites utilisés en aéronautique.

   Les systèmes sociaux et économiques, bien entendu, sont composés d'acteurs différents en interaction.

En fait, la grande majorité des systèmes naturels ou artificiels sont de nature complexe, et le scientifique choisit le plus souvent de travailler sur un système simplifié à un minimum de composants, ce qui lui permet d'observer des effets "purs". C'est en somme l'approche cartésienne.

Nous nous proposons de décrire dans ce livre une autre approche, qui consiste à simplifier au maximum les composants du système, de manière à pouvoir prendre en compte leur très grand nombre. Cette méthode s'inscrit dans un courant d'idées récent, connu chez les physiciens sous le nom de physique des systèmes désordonnés.

Tableau 1.1 Table d'orientation entre différentes approches des systèmes dynamiques à plusieurs composants. On voit sur cette table, évidemment très grossière, que les réseaux d'automates permettent d'aborder le cas le plus défavorable, celui du grand nombre de composants différents en interaction.

1-1 LES SYSTEMES DESORDONNES


Comme nous l'avons signalé plus haut, un grand nombre de systèmes physiques, les systèmes multiphasiques, sont désordonnés au niveau macroscopique, mais certains le sont même au niveau microscopique. Les verres, par exemple, diffèrent des cristaux en ce que les liaisons interatomiques dans un verre ne sont pas réparties suivant les symétries que l'on observe dans les cristaux. Malgré ce désordre, les propriétés physiques macroscopiques d'un verre de composition déterminée sont généralement reproductibles d'un échantillon à l'autre, de même que celles d'un cristal. Autrement dit, le caractère désordonné ne conduit pas à n'importe quel comportement. Les modèles simples utilisés par les physiciens sont basés sur des réseaux périodiques, sortes de grilles aux nœuds desquelles sont placés des composants simplifiés de deux types différents, par exemple conducteurs ou isolants dans le problème dit de percolation. Ces composants sont répartis au hasard, et les interactions sont limitées aux paires de nœuds voisins. Pour des réseaux de taille suffisante on s'aperçoit que certaines propriétés intéressantes ne dépendent pas de l'échantillon particulier créé par un tirage au sort, mais des paramètres de ce tirage. Dans le cas du mélange isolants/conducteurs cité plus haut, la conductivité entre les deux bords de l'échantillon ne dépend que du rapport du nombre des sites conducteurs sur celui des sites isolants.

Bien des concepts importants ont été introduits dans ce cadre par les physiciens, de même que le recours aux simulations numériques massives, mais les motivations de l'approche des réseaux d'automates ont été formulées par les premiers informaticiens durant les années quarante.

1-2 LES ORIGINES

Comme bien des inventions récentes, l'informatique pratique est née d'efforts de recherche déployés au cours de la Seconde Guerre mondiale. A l'époque, l'ordinateur était encore en gestation et il n'était pas évident que la future machine serait très différente du cerveau humain par son architecture comme par son fonctionnement. Rappelons que les premiers efforts de vol humain avaient pris pour modèle le vol des oiseaux. En 1943 deux chercheurs, le mathématicien Pitts et le neurophysiologiste McCulloch, proposèrent un système composé de neurones formels, c'est-à-dire d'unités simples dont le comportement logique, en fait les règles de transmission et de combinaison de l'information, était calqué sur celui des neurones du cerveau (du moins tel qu'on l'imaginait à l'époque). Ils montrèrent que les possibilités informatiques de cette machine étaient équivalentes à celles de la machine théorique "de référence" des informaticiens, la machine de Turing. L'intérêt de cette équivalence réside dans le fait que les propriétés de la machine de Turing ont fait l'objet de nombreuses études et qu'elles sont clairement établies.

C'est à la même époque que le "père" de l'ordinateur moderne, John von Neumann, se proposait de démonter l'un des paradoxes des systèmes vivants, celui de l'autoreproduction: est-il possible de construire un système artificiel capable de se reproduire? Bien entendu, la construction d'un robot pilotant les machines-outils capables d'usiner et d'assembler les pièces nécessaires à sa propre construction était hors de prix, même pour une équipe de recherche américaine. Toutefois, la résolution du paradoxe ne nécessitait pas une véritable réalisation mécanique, mais simplement la démonstration logique de la possibilité de construire le robot. Von Neumann a donc réduit le monde réel à un monde modèle en dessinant un quadrillage (infini il est vrai) sur les carreaux duquel "vivent" et "meurent" de petits êtres mathématiques, les automates cellulaires (un automate par carreau, figurant en quelque sorte les cellules de cet organisme artificiel). La résolution logique du problème s'est alors ramenée à un choix de règles d'interaction entre les automates et à la recherche des configurations de cellules susceptibles de se multiplier au cours de la "vie" de l'organisme.

Ces deux exemples originels situent bien l'état d'esprit dans lequel travaillent les théoriciens des réseaux d'automates:

   On choisit de simplifier à l'extrême les composants du système dont on souhaite modéliser le comportement global. Les neurones formels introduits par McCulloch et Pitts sont une simplification caricaturale des neurones vivants, objets d'étude de l'électrophysiologie actuelle. De même, il n'existe aucun organisme dont la structure ressemble de près ou de loin aux configurations des automates cellulaires de von Neumann.

   Ces simplifications permettent néanmoins d'appliquer un formalisme rigoureux et d'obtenir des résultats exacts.

   Cette approche est une approche dynamique. Comme dans les méthodes différentielles, on part d'une description locale du système, en termes des changements d'état à court terme des composants, sous l'effet de leurs interactions. On attend du formalisme la description globale du système, c'est-à-dire le comportement aux temps longs de l'ensemble du système. Le comportement global peut être d'une très grande richesse, et s'interpréter en termes de propriétés émergentes. Cette notion recouvre l'idée que ces propriétés ne sont pas a priori prévisibles à partir de la structure des interactions locales, et qu'elles revêtent un intérêt fonctionnel, qu'il s'agisse de modélisation biologique ou de dispositifs technologiques.



1-3 VERS LA TECHNOLOGIE

Le formalisme des réseaux d'automates permet donc une description semi-quantitative des systèmes complexes naturels. Il est aussi à la base d'applications technologiques concernant le traitement du signal, la reconnaissance des formes, l'intelligence artificielle…, que nous exposerons dans la suite du livre. Cette méthode permet en effet de contourner deux obstacles auxquels doit faire face le développement de l'informatique actuelle.

Le premier est de nature matérielle. Les grands progrès de ces dernières années dans le domaine des prix de revient, de la vitesse de traitement et des capacités en mémoire des ordinateurs ont été obtenus grâce à une miniaturisation poussée des dispositifs électroniques. Or les dimensions actuelles de ceux-ci se rapprochent des limites imposées par la mécanique quantique: il faut au moins un électron par bit d'information. De plus, la vitesse de transfert des informations est limitée par la vitesse de la lumière le long des connexions. On ne peut donc pas extrapoler dans le futur la croissance exponentielle des performances obtenues les années précédentes. On se rapproche plutôt de la saturation.

Le second obstacle est lié au logiciel. Les processeurs actuels sont devenus très complexes et leur mise au point est de plus en plus longue. Le développement des logiciels suit avec beaucoup de retard celui des matériels, et les impressionnantes performances de ceux-ci ne sont que très partiellement utilisées.

Pour accroître encore la vitesse des calculs sans changer le niveau d'intégration des circuits électroniques, la solution consiste à faire effectuer les calculs en parallèle par un grand nombre de processeurs. On peut espérer ainsi diviser le temps de calcul par le nombre des processeurs. Chaque processeur peut être considéré comme un automate et leur ensemble constitue un réseau. Nous entrons là dans le domaine de l'informatique parallèle.

Certains objecteront que nous n'avons réussi à sauter le premier obstacle que pour nous précipiter dans un fossé encore plus profond: il est beaucoup plus difficile de programmer un système informatique parallèle qu'une machine séquentielle classique. Dans une machine classique, les opérations sont programmées l'une après l'autre. Dans une machine parallèle il faut gérer la coopérativité des processeurs dans le temps, ainsi que leurs échanges de données. Comme nous le verrons plus loin, dans beaucoup de tâches consommant une grande puissance de calcul, mais néanmoins programmables en parallèle, l'obstacle de la difficulté de programmation peut être contourné par une technique d'apprentissage. Au lieu d'énumérer la suite des opérations exécutables par la machine, on se contente de lui présenter des exemples assortis d'indications générales sur la manière de les traiter. Cette approche est, dans de nombreux cas, plus simple à mettre en pratique que n'importe quel type de programmation.

Après cet exposé des motifs, nous préciserons au chapitre 2 les notions indispensables sur les réseaux d'automates et leur dynamique. Les deux chapitres suivants, consacrés aux automates cellulaires, donnent de nombreux exemples simples et comportent une application à la mécanique des fluides. Nous commencerons, à partir du chapitre 5, à donner quelques réponses aux questions que nous avons évoquées dans cette introduction.