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.
Cette partie étudiera les phénomènes physiques qui ne concernent pas ceux monde du vivant (les parties suivantes traiteront ces phénomènes).
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 :
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.
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. |
|
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 :
|
|
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.
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.
" 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 :
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.
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. |
|
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. |
On peut modifier l'environnement en utilisant :
Une des applications les plus intéressantes des automates cellulaires est la simulation de la vie.
Le fonctionnement est simple. On travaille sur une grille bornée. Le monde connaît 2 règles :
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 :
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.
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.
| 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.
Cette partie s'attache à l'étude des comportements des organismes pluricellulaires (neurones, insectes et vertébrés).
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.
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.
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.