Fourmi de Langton
# Fourmi de Langton

On nomme fourmi de Langton un automate cellulaire (voir machine de Turing) bidimensionnel comportant un jeu de règles très simples. On lui a donné le nom de Christopher Langton, son inventeur.

Elle constitue l'un des systèmes les plus simples permettant de mettre en évidence un exemple de comportement émergent.

## Règles

Les cases d'une grille bidimensionnelle peuvent être blanches ou noires. On considère arbitrairement l'une de ces cases comme étant l'emplacement initial de la fourmi. Dans l'état initial, toutes les cases sont de la même couleur.

La fourmi peut se déplacer à gauche, à droite, en haut ou en bas d'une case à chaque fois selon les règles suivantes :

* Si la fourmi est sur une case noire, elle tourne de 90° vers la gauche, change la couleur de la case en blanc et avance d'une case.
* Si la fourmi est sur une case blanche, elle tourne de 90° vers la droite, change la couleur de la case en noir et avance d'une case.

Il est également possible de définir la fourmi de Langton comme un automate cellulaire où la plupart des cases de la grille sont blanches ou noires et où la case de la fourmi peut prendre huit états différents, codant à la fois sa couleur et la direction de la fourmi.

## Propriétés

### Attracteur

Ces règles simples conduisent à un comportement étonnant de la fourmi : après une période initiale apparemment chaotique, la fourmi finit par construire une « route » formée par 104 étapes qui se répètent indéfiniment. Il semble que cette route de 104 étapes soit un attracteur de la fourmi de Langton. Cet attracteur apparaît quand la grille est initialement vide et pour différentes conditions initiales. On conjecture que ce comportement reste vrai pour n'importe quel motif initial fini dessiné sur la grille (c'est par contre faux si on s'autorise un motif infini).

### Modèle de calcul

Certains problèmes sur la fourmi de Langton peuvent être reliés à l'évaluation d'un circuit booléen, un problème P-complet.

## Extensions

Une extension simple consiste à utiliser plus de deux couleurs, modifiées de façon cyclique par la fourmi. Une dénomination simple de chaque fourmi consiste à assigner la lettre « G » ou « D » à chaque couleur afin d'indiquer si la fourmi doit tourner à gauche ou à droite lorsqu'elle la rencontre. Ainsi, la fourmi de Langton serait nommée « DG ».

Certaines de ces extensions produisent des motifs symétriques, comme « DGGD ».

