l'évolution des systèmes vers l'autorganisation
complexité aléatoire et complexité organisée
Sommaire
Dans le cas d'interactions non-additives (comme dans le cas de combinaisons chimiques ou de mélanges d'ingrédients dans une recette), nous avons vu qu'il fallait également tenir compte du temps (l'ordre dans lequel les interactions se passent ou même la durée de ces interactions). Nous allons maintenant nous intéresser à une autre approche qui se concentre sur l'évolution dans le temps du niveau macroscopique.
L'émergence diachronique
L'émergence diachronique concerne le comportement dynamique d'un système (par exemple la succession des états d'un automate cellulaire ou bien la création d'anneaux autour de Saturne). Dans tous ces cas, on s'intéresse à la façon dont des règles même très simple pour définir les interrelations entre les constituants permettent de faire évoluer le résultat macroscopique.En général, la seule façon de prévoir l'évolution du système est de simuler le fonctionnement du système étape par étape. On parle alors de comportement émergent. Comme nous l'avons vu précédemment, nos mathématiques permettent de connaître n'importe quel moment dans le passé ou le futur simplement en modifiant la valeur de la variable temps. Mais elles sont mal adaptées dès que le nombre d'éléments qui interagissent entre eux est supérieur à deux... Ainsi, il n'y a aucun raccourci qui permette de savoir directement l'état d'un automate cellulaire à la 1000ème itération : nous devons utiliser chacune des étapes successives pour connaître la suivante.
Ce qui est étonnant dans l'évolution des systèmes complexes (c'est à dire composés de plusieurs constituants qui interagissent entre eux) est qu'il suffit souvent de règles très simples appliquées aux relations entre les éléments microscopiques pour faire émerger au niveau macroscopique des comportements extrêmement variés et surprenants : du simple émerge le complexe.
Mesurer la complexité
Dans l'émergence diachronique, on s'intéresse donc aux règles de bases appliquées aux constituants de base et à leur évolution dans le temps. Comme nous l'avons vu, il n'est pas possible d'utiliser l'analyse mathématique pour obtenir une seule équation générale regroupant toutes les différentes interactions et permettant de se "téléporter" dans le futur simplement en en changeant la valeur de la variable temps. A la place nous utilisons la simulation numérique : les règles de bases sont appliquées aux éléments constituants sur un interval de temps suffisamment petit pour que leurs propriétés n'aient pas le temps d'évoluer de façon trop significative. Une fois obtenues les nouvelles valeurs on s'en sert comme base pour calculer l'étape suivante, et ainsi de suite.Cette façon de faire ressemble fortement au fonctionnement d'un programme informatique qui applique des règles à des variables et fonctionne par itérations successives. Il est ainsi possible de définir les règles de bases qui permettront de faire émerger (ou non) de la complexité au niveau global comme un programme.
A défaut de savoir mesurer le degré de complexité directement en regardant le résultat global, l'idée fut de mesurer cette complexité à partir de caractéristiques du programme. Deux approches différentes ont menées à définir deux types de complexité.
La complexité aléatoire
Andreï Kolmogorov (URSS) en 1965 et Gregory Chaitin (USA) en 1966 ont proposés de mesurer la complexité par la taille du plus petit programme permettant de produire un objet complexe. Cette définition est peu sensible au langage utilisé.La "complexité de Kolmogorov" mesure le contenu incompressible d'information, son désordre ou son niveau d'aléatoire. Elle définit une complexité d'un désordre sans règles. On parle de "complexité aléatoire".
Une difficulté est que l'on a démontré que la fonction qui attribue une mesure à un objet (Objet -> K(objet) ) n'est pas calculable, seulement mesurable.
La complexité aléatoire peut croître rapidement, par exemple lorsque l'on casse un verre. Dans ce cas, on doit définir lequel des "possibles" s'est actualisé parmi toutes les combinaisons possibles de sous ensembles du verre. Cette mesure donne donc plutôt un idée du nombre de possibles lorsque l'on transforme un objet complexe. On pourrait faire également le parallèle avec les "paramètres de contrôle" de la théorie des catastrophes. (au delà de cinq paramètres de contrôle, il existe une infinité de catastrophes élémentaires stables).
La complexité organisée
Une autre façon de mesurer la complexité consiste à regarder le temps de calcul nécessaire au plus court programme possible pour produire un objet complexe (complexité organisée). Il s'agit d'une proposition de Charles Bennet (USA), en 1988. Comme ces programmes utilisent la plupart du temps des étapes de temps plutôt qu'un temps continu, il possible de compter le nombre de cycles (ce qui revient au nombre d'étapes pour arriver à une configuration donnée pour un automate cellulaire). On parle également de "profondeur logique"Il est nécessaire de préciser que cela est mesuré sur le plus petit programme nécessaire pour produire un objet, pour éviter les programmes triviaux (pour chacune des conditions initiales des composants de base, on donne le résultat attendu).
Bennet a défini la "loi de la croissante lente" qui indique que :
- la profondeur logique ne croit jamais brusquement dans un univers déterministe
- la profondeur logique ne croit brusquement que dans des cas très rares - impossibles en pratique - dans un univers indéterministe
- les diminutions brusques sont cependant possibles
Que mesure-t-on ?
Nous avons vu que le niveau local (micro) est constitué d'éléments disposant de leur propre propriétés et de règles de base appliquées à leurs interrelations. Le niveau global (macro) donne des formes particulières qui peuvent être très complexes même si les règles de base sont simples.
Dans l'émergence synchronique, nous nous sommes intéressés à la possibilité qu'une modification des propriétés d'un constituant puisse apporter une modification significative au niveau global (soit par ce que l'on est au-dessous du seuil de validité statistique, soit parce que le système est chaotique). Nous avons vu également que le niveau global en retour pouvait interagir avec les constituants de base en opérant une "sélection" en fonction des contraintes de l'environnement.
Dans l'émergence diachronique au contraire, c'est l'impact des règles de base et la façon dont elles influencent le niveau global qui nous intéresse.
- Lorsqu'il faut un très grand nombre de règles (un grand programme) pour obtenir un objet global, alors il s'agit d'une complexité qui a besoin d'un très grand nombre d'information (Complexité aléatoire)
- Lorsque la situation globale est obtenue au contraire par un grand nombre d'itération de règles simples (complexité organisée), alors nous sommes dans le cas d'émergence de complexité. A partir d'un ensemble donné de règles, cette complexité ne peut croître que lentement, sauf dans certains cas rares appliqués dans un univers indéterministe, même si elle peut décroître rapidement (loi de la croissance lente)
- En diminuant le nombre de constituants de base et/ou en leur permettant d'outre passer la loi des grands nombre par la théorie du chaos pour permettre au global de refléter la diversité du local (émergence synchronique)
- En augmentant le nombre de règles d'interactions locales et/ou en les appliquant un grand nombre de fois pour leur permettre de se "déplier" - comme le propose la théorie de l'ordre implicite de David Bohm (émergence diachronique)
On pourrait donc proposer cinq mesures complémentaires de la complexité :
- Nombre de constituants (ou plus précisément : de combien est-on éloigné du seuil de validité statistique)
- Niveau de chaos du système (pour "repousser" le seuil de validité statistique)
- Le type de classes auxquelles appartiennent les règles (voir la proposition de classification)
- Nombres de règles locales - ou ce qui revient au même la taille du programme le plus petit pour générer ce résultat (mais cette complexité semble ne rien produire particulièrement)
- La profondeur logique (pour permettre aux règles locales de se "déplier" dans le global)
Voir aussi : C. H. Bennett. Logical depth and physical complexity. In R. Herken, editor, The Universal Turing Machine: A Half-Century Survey, pages 227-257. Oxford University Press, 1988.
Par | Avant | 06/01/2006 07:47 | Après | Complexité | aucun commentaire | Lu 7365 fois |