Introduction

Le monde qui nous entoure est régi par des lois physiques qui fournissent un équilibre à notre environnement. Par exemple, la formation des plantes, le mouvement des vagues, les motifs des nuages, etc. Chaque élément a un rôle important et se régule automatiquement en symbiose avec les autres éléments. On peut considérer ce monde comme un ensemble d'agents qui dialoguent entre eux pour obtenir une stabilité personnelle et globale. Notre intérêt est de copier ces mécanismes pour les adapter aux procédés informatiques et d'obtenir, par la même occasion, une solution stable et viable. Cette étude traitera les phénomènes physiques sans vie, les mondes cellulaires et le comportement d'organismes plus complexes.


1. Étude des phénomènes physiques

Cette partie étudiera les phénomènes physiques qui ne concernent pas ceux monde du vivant (les parties suivantes traiteront ces phénomènes).

1.1. Un exemple simple

Un exemple simple est la résolution de la moyenne de n réels en se base sur le principe des vases communicants. Au départ, on dispose de n vases avec une quantité xi d'eau. Lorsque on relie le vase xi avec le vase xi+1, chaque vase contient la moyenne des n vases :

1.2. Le recuit simulé

Un autre exemple est le recuit simulé. C'est une métaheuristique inspirée d'un processus utilisé en métallurgie. Ce processus alterne des cycles de refroidissement lent et de réchauffage (recuit) qui tendent à minimiser l'énergie du matériau. Elle est aujourd'hui utilisée en optimisation pour trouver les extrema d'une fonction.

1.3. Les fractales

Une fractale (mot inventé par B. Mandelbrot) est une courbe ou un surface de forme irrégulière morcelée qui se crée en suivant des règles déterministes ou stochastiques. Un objet fractal possède au moins l'une des caractéristiques suivantes :

Au départ, B. Mandelbrot étudia les méthodes pour mesurer les côtes du Royaume-Uni ("How Long Is the Coast of Britain? Statistical Self-Similarity and Fractional Dimension"). Leur utilisation s'est appliqué à différents domaines pratiques, et peuvent servir à décrire de nombreux objets extrêmement irréguliers du monde réel. Les exemples incluent des nuages, les montagnes, turbulence, les lignes des côtes et les arbres.

1.3.1. Un exemple de fractale : le flocon de Koch

La courbe de Koch permet d'obtenir le flocon de Koch. Elle s'obtient à partir d'un segment de droite, en modifiant récursivement chaque segment de droite de la façon suivante :
  • on divise le segment de droite en trois segments de longueurs égales,
  • on dessine un triangle équilatéral qui a pour base le segment du milieu de la première étape,
  • on supprime le segment de droite qui était la base du triangle de la deuxième étape.

Au bout des ces trois étapes, l'objet résultant a une forme similaire à une coupe transversale d'un chapeau de sorcière. La courbe de Koch est la limite des courbes obtenues, lorsque vous suivez les étapes mentionnées ci-dessus, maintes et maintes fois encore. La courbe de Koch a une longueur infinie parce qu'à chaque fois vous appliquez les modifications ci-dessus sur chaque segment de droite, la longueur de votre courbe augmente d'un tiers.

Le flocon de Koch s'obtient de la même façon que le fractal précédent sauf que vous commencez à partir d'un triangle équilatéral au lieu d'un segment de droite. Après quelques itérations il commence à ressembler à un flocon de neige.

Ces algorithmes permettent d'étudier les phénomènes physiques et de les reproduire.


2. Organismes et automates cellulaires

Cette partie étudiera les organismes unicellulaires, leurs organisations au cours du temps et en fonction de l'environnement.

Pour extraire le fonctionnement des organismes simples, nous partons de la définition de la vie artificielle.

2.1. Définition de la vie artificielle

" Le rôle de la vie est d’insérer de l’indétermination dans la matière. ", Henri Bergson.

Le biologiste J. de Rosnay distingue trois fonctions fondamentales chez les êtres vivants :

2.2. Définition d'un automate cellulaire

L'outil le plus simple et le plus généraliste pour considérer les organismes unicellulaires en tant qu'agent est l'automate cellulaire. Un automate cellulaire est une grille infinie et régulière de cellules ayant un nombre fini d'états. On considère que le temps est discret. Une cellule à l'instant t dépend uniquement de ses voisins à l'instant t-1. D'après Von Neumann, cette représentation est un modèle simplifié de la physique de notre univers. Certains extrapolent ce modèle à l'univers entier, qui ne serait qu'un automate géant.

Exemple simple :

Pour exemple, on choisi un monde à 2 dimensions de taille bornée. Chaque cellule dispose de 2 états (blanc ou noir).

Pour une cellule, il existe 2^9 = 512 configurations possibles avec ses voisins (patterns). La règle du monde détermine pour chaque configuration à l'instant t si la cellule du milieu sera blanche (ou noire) à l'instant t+1.

2.3. Utilisations possibles

Les automates cellulaires ont diverses applications comme la génération de nombre pseudo aléatoires utilisés en cryptographie, car certaines configurations ne sont pas réversibles (cependant, la sécurité de ce type de système n'a pas encore été prouvée). On peut utilisé ce modèle pour déterminer la pigmentation des coquillages.

2.4. Extrapolation de la définition

On peut modifier l'environnement en utilisant :

2.5. Simulation de modèles de vies

Une des applications les plus intéressantes des automates cellulaires est la simulation de la vie.

2.5.1. Fonctionnement

Le fonctionnement est simple. On travaille sur une grille bornée. Le monde connaît 2 règles :

2.5.2. Un modèle : le jeu de la vie

2.5.2.1. Règle

La règle la plus utilisée est la règle du Jeu de la vie de Conway (23/3) :

La notation est la suivante : 23/3. Malgré sa simplicité, ce jeu est une machine de Turing universelle : il est possible de calculer tout algorithme pourvu que la grille soit suffisamment grande et les conditions initiales correctes.

Le jeu de la vie a donné naissance à quelques nouveaux concepts :

Remarque :

Ce modèle valut plus d'intérêt du grand public (grâce aux économiseurs d'écrans) aux automates cellulaires que tous les travaux de Codd, spécialiste reconnu du domaine.

2.5.2.2. Formes de vie fonctionnelles

Il y a toutes les sortes de modèles qui se produisent dans le jeu de la vie, y compris les modèles statiques ("still lifes"), des modèles répétitifs ("oscillator "- un ensemble de "still lifes"), et des modèles qui se déplacent d'un bout à l'autre ("spaceships"). Les exemples les plus simples de ces trois classes sont montrés ci-dessous, avec les cellules vivantes montrées dans le noir, et les cellules mortes montrées dans le blanc :

Block Boat Blinker Toad Glider LWSS

Le "block" et le "boat" sont immobiles, le "blinker" et le "toad" sont des oscillateurs, le "glider" et le "lightweight spaceship" ("LWSS") sont des vaisseaux spatiaux qui se déplacent de façon constante leur manière à travers la grille.

2.5.2.3. Etude comparative des modèles

Règle Stabilité
/3 stable
5678/35678 chaotique
/2 explosion
/234 explosion
12345/3 explosion
125/36 chaotique
1357/1357 explosion
1358/357 chaotique
23/3 chaotique (Jeu de la vie)
23/36 chaotique
235678/3678 stable
... ...

On constate que la plupart des modèles amènent à des configurations chaotiques ou qui submergent l'environnement. Cependant, certains modèles aboutissent sur des configurations stables. Nous pouvons calquer ces configurations pour les algorithmes d'IA de manière à obtenir des solutions stables.

23/3 (chaotique) "Jeu de la vie de Conway"

Ces différentes méthodes permettent d'étudier des phénomènes cellulaires artificiels en appliquant des procédés issus de la vie.

3. Étude de la flore

Cette partie s'attache à l'étude des comportements des organismes pluricellulaires (neurones, insectes et vertébrés).

3.1. Quelques exemples

Il existe de nombreux exemples d'algorithmes se basant sur ces comportements. Par exemple, l'algorithme des fourmis est utilisé pour résoudre le problème du voyageur de commerce. Les réseaux de neurones fournissent des décisions basées sur la perception (et non sur le raisonnement logique formel comme les algorithme d'apprentissage classique). Ces derniers sont particulièrement utilisés pour leur capacité de classification et d'évaluation.

3.2. Les Boids

Pour cette partie, nous étudierons le comportement des Boids. Ce mot est la contraction du mot "birdoid", ou plus simplement, les mouvements des oiseaux (et poissons). Comment les oiseaux se déplacent-ils en groupe ? Comment se repèrent t'ils ? Comment évitent-ils les obstacles ?

L'étude a montré que ces animaux respectent les 3 règles suivantes : par ordre de priorité croissante (la première est la plus respectée) :

La séparation : éviter les collisions
L'alignement : tous les individus se déplacent dans la même direction
La cohésion : un individu trop écarté rejoint le groupe.

Grâce à ces 3 règles, on peut utiliser des algorithmes permettant le mouvement de groupe dans des applications scientifiques et ludiques.

Conclusion

Nous avons étudiés des exemples en partant des phénomènes physiques qui permettent la stabilité du monde. Grâce à ces phénomènes, on étudie les immenses possibilités que nous fournissent les organismes les plus petits. Cependant, il ne fallait pas négliger le fait que des comportements de type "sociaux" apparaissent dans des organismes de taille plus grande. A chaque étape, les raisonnements est identique : on n'étudie pas l'ensemble mais l'élément. Comment interagit-il dans l'ensemble pour apporter une stabilité ? Cette étude est une approche des possibilités que la vie nous apporte dans nos raisonnements en informatique.

Sources