Nov 21, 2024

Wiki

Python

Aide

edit SideBar

Search

Les Automates Les Plus Simples


Un automate simple

L'automate cellulaire le plus simple que l'on puisse concevoir consiste en une grille linéaire de cellules ne pouvant prendre que deux états.

Le voisinage est constitué, pour chaque cellule, d'elle-même et des deux cellules qui lui sont adjacentes. Il existe 23 = 8 configurations (ou motifs) possibles d'un tel voisinage.

Pour que l'automate cellulaire fonctionne, il faut définir quel doit être l'état, à la génération suivante, d'une cellule pour chacun de ces motifs (28 = 256 façons de s'y prendre, donc 256 automates différents).

Exemple

On définit un automate cellulaire élémentaire par la règle :

Motif initial111110101100011010001000
Valeur suivante00011110

Si une cellule est à l'état 1, avec à gauche 1 et à droite 0, alors au temps suivant elle sera à 0.

Cette règle est nommée règle 30, car 30 s'écrit 00011110 en binaire.

Travaux pratiques

  1. Réalisez un automate élémentaire.
  2. Vous pouvez prendre la règle d'évolution de votre choix, et faire marcher cet automate, en mode texte, dans un terminal.
  3. Pour l'améliorer, on peut penser demander à l'utilisateur son choix de règle, puis en faire une représentation graphique.

Une application rudimentaire

On souhaite réaliser un cryptage à clé privé, type masque jetable : on souhaite transmettre un message, ayant la forme d'une suite de bits, à un individu autorisé.

Pour cela, Alice utilise le ou exclusif (XOR) bit à bit, entre notre message à chiffrer et ce que génère l'automate cellulaire à partir du motif initial. Le résultat est le cryptogramme.

Pour le déchiffrer, pour Bob, il suffit d'appliquer à nouveau le XOR bit à bit, entre le cryptogramme et ce que produit l'automate cellulaire sur le même motif initial. Cela revient à ajouter deux fois chaque bit du masque, le tout modulo 2 : le masque disparaît.

Page Actions

Recent Changes

Group & Page

Back Links