<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>http://os-vps418.infomaniak.ch:1250/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mluque</id>
	<title>Wiki du LAMA (UMR 5127) - Contributions [fr]</title>
	<link rel="self" type="application/atom+xml" href="http://os-vps418.infomaniak.ch:1250/mediawiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Mluque"/>
	<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php/Sp%C3%A9cial:Contributions/Mluque"/>
	<updated>2026-05-21T08:41:15Z</updated>
	<subtitle>Contributions</subtitle>
	<generator>MediaWiki 1.39.4</generator>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13976</id>
		<title>Automates cellulaires</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13976"/>
		<updated>2022-05-28T09:58:44Z</updated>

		<summary type="html">&lt;p&gt;Mluque : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ce projet avait pour but d&#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&#039;on peut retrouver chez certains.&lt;br /&gt;
&lt;br /&gt;
== Définitions ==&lt;br /&gt;
&lt;br /&gt;
=== Définition simple ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire est une grille régulière dont les cases sont appelées &amp;amp;laquo; cellules &amp;amp;raquo;. Chacune a un &amp;amp;laquo; état &amp;amp;raquo; parmi un ensemble fini. L&#039;état d&#039;une cellule au &amp;amp;laquo; tour &amp;amp;raquo; t+1 est définit en fonction de cet état et celui de l&#039;ensemble fini de cellules &amp;amp;laquo; voisinage &amp;amp;raquo; au tour t, par la &amp;amp;laquo; règle &amp;amp;raquo; de l&#039;automate cellulaire. Lorsque toutes les cellules ont été mises à jour, on parle de &amp;amp;laquo; génération &amp;amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
Pour un automate de 2 dimensions les voisinages les plus courants sont celui de von Neumann&lt;br /&gt;
[[Fichier:voisinage_von_neumann.png|50px]]&lt;br /&gt;
et celui de Moore.&lt;br /&gt;
[[Fichier:voisinage_moore.png|50px]] (en vert et rouge les cellules appartenant au voisinage de la cellule rouge.)&lt;br /&gt;
&lt;br /&gt;
=== Définition formelle ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; est définit par le 4-uplet &amp;lt;math&amp;gt;(d,Q,V,\delta)&amp;lt;/math&amp;gt; tel que :&lt;br /&gt;
* &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; est un entier positif, la dimension de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Son réseau est donc &amp;lt;math&amp;gt;\mathbb{Z}^d&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; est l&#039;ensemble fini des états des cellules de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V \subseteq \mathbb{Z}^d&amp;lt;/math&amp;gt;, un sous-ensemble fini du réseau, le voisinage. &amp;lt;math&amp;gt;V = \{v_1,\ldots,v_a\}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math id=&amp;quot;regle&amp;quot;&amp;gt;\delta : Q^a \rightarrow Q&amp;lt;/math&amp;gt; est la règle locale avec &amp;lt;math&amp;gt;a = |V|&amp;lt;/math&amp;gt;&lt;br /&gt;
On peut donc définir la fonction globale d&#039;évolution de l&#039;automate &amp;lt;math&amp;gt;F_\delta : Q^{\mathbb{Z}^d} \rightarrow Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt; définit par &amp;lt;math&amp;gt;F_\delta (c) = z \mapsto \delta\bigl(c(z+v_1),\ldots,c(z+v_a)\bigr)&amp;lt;/math&amp;gt; pour tout &amp;lt;math&amp;gt;c \in Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classifications ==&lt;br /&gt;
&lt;br /&gt;
Bien que les deux classifications qui sont décrites ci-dessous peuvent être retrouvées dans les travaux de certains chercheurs, il est commun de décrire un automate en fonction de leurs caractéristiques particulières sans pour autant les séparer en classes.&lt;br /&gt;
&lt;br /&gt;
=== Classification de Wolfram ===&lt;br /&gt;
&lt;br /&gt;
Stephen Wolfram classe les automates cellulaires en 4 classes selon leur comportement avec des configurations initiales aléatoires :&lt;br /&gt;
# Stable : Après un certain nombre de générations, une configuration se répète à l&#039;infini.&lt;br /&gt;
# Cyclique : Après un certain nombre de générations, une série de configurations se répètent périodiquement.&lt;br /&gt;
# Chaotique : Comportement chaotique et génération de motifs apériodiques.&lt;br /&gt;
# Complexe : Apparition de structures complexes possédants divers propriétés comme la capacité de se mouvoir ou de se préserver malgré des perturbations.&lt;br /&gt;
&lt;br /&gt;
L&#039;une des principales critiques de cette classification réside dans son incapacité à déterminer si un automate cellulaire est Turin-universel, venant du fait que Wolfram ne définit la classe qu&#039;à partir de configurations initiales aléatoires, mais pas de structure particulière créée spécifiquement. Malgré cela, cette classification reste la plus étudiée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_wolfram.png|750px]]&lt;br /&gt;
&lt;br /&gt;
Christopher Langton propose d&#039;envisager ces classes dans un continuum.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_langton.png|250px]]&lt;br /&gt;
&lt;br /&gt;
=== Classification d&#039;Eppstein ===&lt;br /&gt;
&lt;br /&gt;
Il existe une deuxième classification, proposée par David Eppstein. Les automates sont séparés en 4 classes :&lt;br /&gt;
# Expansion obligatoire : N&#039;importe quel motif initial s&#039;étend indéfiniment dans toutes les directions.&lt;br /&gt;
# Expansion impossible : Aucun motif ne peut s&#039;étendre au-delà de ses limites initiales.&lt;br /&gt;
# Contraction impossible : Les motifs ne s&#039;étendent pas forcément indéfiniment, mais ne peuvent jamais se réduire en-deçà de leur limites initiales.&lt;br /&gt;
# Expansion et contraction possibles : Seuls ces cas peuvent contenir des vaisseaux.&lt;br /&gt;
&lt;br /&gt;
À l&#039;heure actuelle, les automates qui ont été prouvés Turing-universels appartiennent tous à la 4ème classe. Cependant il n&#039;a pas été démontré que les autres classes ne peuvent pas contenir d&#039;automate Turing-universel puisqu&#039;il existe d&#039;autres façons de transmettre des informations que les vaisseaux.&lt;br /&gt;
&lt;br /&gt;
== Les familles d&#039;automates cellulaires célèbres ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreuses familles d&#039;automates cellulaires, mais nous n&#039;en verrons que deux ici.&lt;br /&gt;
&lt;br /&gt;
=== Les automates cellulaires élémentaires ===&lt;br /&gt;
&lt;br /&gt;
Cette famille est la plus simple des automates cellulaires. Ses membres n&#039;ont qu&#039;une dimension et deux états. Le voisinage d&#039;une cellule est composé de celles directement à sa droite et sa gauche et d&#039;elle-même.&lt;br /&gt;
&lt;br /&gt;
Puisque le voisinage prend 3 cellules et que chacune d&#039;elles a un état parmi 2, on a &amp;lt;math&amp;gt;2^3 = 8&amp;lt;/math&amp;gt; motifs possibles. Pour chaque motif il y a 2 résultats possibles, donc &amp;lt;math&amp;gt;2^8 = 256&amp;lt;/math&amp;gt; règles possibles pour un automate cellulaire de cette famille. Depuis les travaux de S. Wolfram sur cette famille, chacune de ces règles est nommée par le résultat de ses motifs convertit en décimal. Ainsi, la règle suivante est la 103 :&lt;br /&gt;
[[Fichier:regle_103.jpg|100px]]&lt;br /&gt;
Car&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;111   110   101   100   011   010   001   000&lt;br /&gt;
 0     1     1     0     0     1     1     1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Soit &amp;lt;math&amp;gt;01100111_{(2)} = 103_{(10)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Règles intéressantes ====&lt;br /&gt;
&lt;br /&gt;
Certaines de ces 256 règles ont des propriétés particulières. Voici 3 d&#039;entre elles :&lt;br /&gt;
&lt;br /&gt;
===== Règle 22 =====&lt;br /&gt;
&lt;br /&gt;
Lorsque la configuration initiale est composée d&#039;une seule cellule vivante on obtient une approximation du triangle de Sierpiński.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_22.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Règle 30 =====&lt;br /&gt;
&lt;br /&gt;
[https://demonstrations.wolfram.com/UsingRule30ToGeneratePseudorandomRealNumbers/#more Selon Wolfram Research], en raison de son comportement local imprévisible et son comportement global chaotique, cet automate cellulaire peut être utilisé comme générateur de nombres pseudo-aléatoires.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_30.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===== Règle 110 =====&lt;br /&gt;
&lt;br /&gt;
Cette règle a été prouvée [[#Universalité Turing|Turing-universelle]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_110.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Automates cellulaires type &amp;quot;Vie&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ces automates sont bidimensionnels et utilisent le voisinage de Moore. Leurs règles peuvent toutes s&#039;écrire sous la forme &amp;lt;math&amp;gt;Bx_1,...,x_n/Sy_1,...,y_m&amp;lt;/math&amp;gt; avec &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse naître et &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse survivre.&lt;br /&gt;
&lt;br /&gt;
==== Le jeu de la vie de John H. Conway ====&lt;br /&gt;
&lt;br /&gt;
Le jeu de la vie est certainement l&#039;automate cellulaire le plus connu du grand publique. Il a été imaginé par John H. Conway en 1970.&lt;br /&gt;
&lt;br /&gt;
Sa règle est la suivante :&lt;br /&gt;
* Une cellule morte nait si elle a exactement 3 cellules voisines vivantes&lt;br /&gt;
* Une cellule vivante survie si elle a 2 ou 3 cellules voisines vivantes.&lt;br /&gt;
* Dans les autres cas elle sera morte.&lt;br /&gt;
Cette règle peut donc s&#039;écrire &amp;lt;math&amp;gt;B3/S23&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Malgré cette règle simple, le jeu de la vie permet d&#039;obtenir une grande variété de type de structures :&lt;br /&gt;
* Des structures stables, comme le bloc [[Fichier:stable_block.png|50px]]&lt;br /&gt;
* Des structures périodiques, comme le clignotant [[Fichier:periodique_blinker.png|50px]]&lt;br /&gt;
* Des vaisseaux, structures mouvantes, comme le planeur [[Fichier:vaisseau_glider.png|50px]]&lt;br /&gt;
* Des mathusalems, structures qui vont mettre du temps avant de se stabiliser, comme le pentomino R [[Fichier:mathusalem_pentomino_r.png|50px]]&lt;br /&gt;
* Des cannons, structures créant des vaisseaux à un rythme parfois imprévisible, comme le Gosper Glider Gun [[Fichier:canon_gosper_glider_gun.png|50px]]&lt;br /&gt;
* Des puffeurs, vaisseaux laissant une trainée de débris, comme le Switch Engine [[Fichier:puffeur_switch_engine.png|50px]]&lt;br /&gt;
** Il existe des puffeurs particuliers, les rakes qui agissent à la fois comme des puffeurs et comme des canons, leur débris étant composés de vaisseaux, comme le backrake 1 [[Fichier:rake_backrake_1.png|50px]]&lt;br /&gt;
** Il existe également des puffeurs dits spacefillers, dont les débris remplissent tout l&#039;espace d&#039;un motif régulier, comme le Max [[Fichier:spacefiller_max.png|50px]]&lt;br /&gt;
&lt;br /&gt;
Cet automate est [[#Universalité Turing|Turing-universel]] et [[#Universalité intrinsèque|intrinsèquement universel]].&lt;br /&gt;
&lt;br /&gt;
== Universalité ==&lt;br /&gt;
&lt;br /&gt;
On distingue 2 types d&#039;universalité pour les automates cellulaires.&lt;br /&gt;
&lt;br /&gt;
=== Universalité Turing ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire dit Turing-universel a la capacité de simuler une machine de Turing. Il donc capable de réaliser n&#039;importe quel calcul. Plus généralement on accepte comme Turing-universel les automates cellulaires capables de simuler un système Turing-complet.&lt;br /&gt;
&lt;br /&gt;
=== Universalité intrinsèque ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire dit intrinsèquement universel est capable de simuler pas à pas n&#039;importe quel automate de même dimension. L&#039;automate simulateur utilise des groupes de cellules identiques et réguliers, chaque groupe représentant une seule cellule de l&#039;automate simulé. L&#039;automate simulateur peut utiliser plusieurs tours pour simuler une étape de l&#039;automate simulé. Chaque état de l&#039;automate simulé a au moins une configuration correspondante dans l&#039;automate simulateur.&lt;br /&gt;
&lt;br /&gt;
== Remarque sur l&#039;écriture des règles automates cellulaires ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreux formats pour donner la règle d&#039;un automate. Pour un [[#Les automates cellulaires élémentaires|automate élémentaire]], on utilisera la concaténation de ses résultats pour chaque motif en binaire ou décimal. Pour un [[#Automates cellulaires type &amp;quot;Vie&amp;quot;|type &amp;quot;Vie&amp;quot;]] on utilisera le format B/S. Pourtant nous avons vu au début que l&#039;écriture formelle de la règle d&#039;un automate cellulaire était celle d&#039;une fonction[[#regle|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]].&lt;br /&gt;
La raison est plutôt simple : Pour l&#039;instant, il n&#039;existe pas d&#039;algorithme capable de générer n&#039;importe quel automate cellulaire de manière optimisée, donc la plupart des logiciels de visualisation d&#039;automates cellulaires préfèrent se concentrer sur certains types d&#039;automates. Il n&#039;est pas ardu pour autant de faire un générateur universel, il sera seulement très lent. C&#039;est d&#039;ailleurs ce que j&#039;ai tenté de faire avec ce programme, écrit en python. [[https://github.com/UP-4303/VISI201-Automates-Cellulaires Voir le projet sur GitHub]]&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13975</id>
		<title>Automates cellulaires</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13975"/>
		<updated>2022-05-28T09:58:07Z</updated>

		<summary type="html">&lt;p&gt;Mluque : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Création en cours.&lt;br /&gt;
&lt;br /&gt;
Ce projet avait pour but d&#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&#039;on peut retrouver chez certains.&lt;br /&gt;
&lt;br /&gt;
== Définitions ==&lt;br /&gt;
&lt;br /&gt;
=== Définition simple ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire est une grille régulière dont les cases sont appelées &amp;amp;laquo; cellules &amp;amp;raquo;. Chacune a un &amp;amp;laquo; état &amp;amp;raquo; parmi un ensemble fini. L&#039;état d&#039;une cellule au &amp;amp;laquo; tour &amp;amp;raquo; t+1 est définit en fonction de cet état et celui de l&#039;ensemble fini de cellules &amp;amp;laquo; voisinage &amp;amp;raquo; au tour t, par la &amp;amp;laquo; règle &amp;amp;raquo; de l&#039;automate cellulaire. Lorsque toutes les cellules ont été mises à jour, on parle de &amp;amp;laquo; génération &amp;amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
Pour un automate de 2 dimensions les voisinages les plus courants sont celui de von Neumann&lt;br /&gt;
[[Fichier:voisinage_von_neumann.png|50px]]&lt;br /&gt;
et celui de Moore.&lt;br /&gt;
[[Fichier:voisinage_moore.png|50px]] (en vert et rouge les cellules appartenant au voisinage de la cellule rouge.)&lt;br /&gt;
&lt;br /&gt;
=== Définition formelle ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; est définit par le 4-uplet &amp;lt;math&amp;gt;(d,Q,V,\delta)&amp;lt;/math&amp;gt; tel que :&lt;br /&gt;
* &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; est un entier positif, la dimension de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Son réseau est donc &amp;lt;math&amp;gt;\mathbb{Z}^d&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; est l&#039;ensemble fini des états des cellules de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V \subseteq \mathbb{Z}^d&amp;lt;/math&amp;gt;, un sous-ensemble fini du réseau, le voisinage. &amp;lt;math&amp;gt;V = \{v_1,\ldots,v_a\}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math id=&amp;quot;regle&amp;quot;&amp;gt;\delta : Q^a \rightarrow Q&amp;lt;/math&amp;gt; est la règle locale avec &amp;lt;math&amp;gt;a = |V|&amp;lt;/math&amp;gt;&lt;br /&gt;
On peut donc définir la fonction globale d&#039;évolution de l&#039;automate &amp;lt;math&amp;gt;F_\delta : Q^{\mathbb{Z}^d} \rightarrow Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt; définit par &amp;lt;math&amp;gt;F_\delta (c) = z \mapsto \delta\bigl(c(z+v_1),\ldots,c(z+v_a)\bigr)&amp;lt;/math&amp;gt; pour tout &amp;lt;math&amp;gt;c \in Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classifications ==&lt;br /&gt;
&lt;br /&gt;
Bien que les deux classifications qui sont décrites ci-dessous peuvent être retrouvées dans les travaux de certains chercheurs, il est commun de décrire un automate en fonction de leurs caractéristiques particulières sans pour autant les séparer en classes.&lt;br /&gt;
&lt;br /&gt;
=== Classification de Wolfram ===&lt;br /&gt;
&lt;br /&gt;
Stephen Wolfram classe les automates cellulaires en 4 classes selon leur comportement avec des configurations initiales aléatoires :&lt;br /&gt;
# Stable : Après un certain nombre de générations, une configuration se répète à l&#039;infini.&lt;br /&gt;
# Cyclique : Après un certain nombre de générations, une série de configurations se répètent périodiquement.&lt;br /&gt;
# Chaotique : Comportement chaotique et génération de motifs apériodiques.&lt;br /&gt;
# Complexe : Apparition de structures complexes possédants divers propriétés comme la capacité de se mouvoir ou de se préserver malgré des perturbations.&lt;br /&gt;
&lt;br /&gt;
L&#039;une des principales critiques de cette classification réside dans son incapacité à déterminer si un automate cellulaire est Turin-universel, venant du fait que Wolfram ne définit la classe qu&#039;à partir de configurations initiales aléatoires, mais pas de structure particulière créée spécifiquement. Malgré cela, cette classification reste la plus étudiée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_wolfram.png|750px]]&lt;br /&gt;
&lt;br /&gt;
Christopher Langton propose d&#039;envisager ces classes dans un continuum.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_langton.png|250px]]&lt;br /&gt;
&lt;br /&gt;
=== Classification d&#039;Eppstein ===&lt;br /&gt;
&lt;br /&gt;
Il existe une deuxième classification, proposée par David Eppstein. Les automates sont séparés en 4 classes :&lt;br /&gt;
# Expansion obligatoire : N&#039;importe quel motif initial s&#039;étend indéfiniment dans toutes les directions.&lt;br /&gt;
# Expansion impossible : Aucun motif ne peut s&#039;étendre au-delà de ses limites initiales.&lt;br /&gt;
# Contraction impossible : Les motifs ne s&#039;étendent pas forcément indéfiniment, mais ne peuvent jamais se réduire en-deçà de leur limites initiales.&lt;br /&gt;
# Expansion et contraction possibles : Seuls ces cas peuvent contenir des vaisseaux.&lt;br /&gt;
&lt;br /&gt;
À l&#039;heure actuelle, les automates qui ont été prouvés Turing-universels appartiennent tous à la 4ème classe. Cependant il n&#039;a pas été démontré que les autres classes ne peuvent pas contenir d&#039;automate Turing-universel puisqu&#039;il existe d&#039;autres façons de transmettre des informations que les vaisseaux.&lt;br /&gt;
&lt;br /&gt;
== Les familles d&#039;automates cellulaires célèbres ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreuses familles d&#039;automates cellulaires, mais nous n&#039;en verrons que deux ici.&lt;br /&gt;
&lt;br /&gt;
=== Les automates cellulaires élémentaires ===&lt;br /&gt;
&lt;br /&gt;
Cette famille est la plus simple des automates cellulaires. Ses membres n&#039;ont qu&#039;une dimension et deux états. Le voisinage d&#039;une cellule est composé de celles directement à sa droite et sa gauche et d&#039;elle-même.&lt;br /&gt;
&lt;br /&gt;
Puisque le voisinage prend 3 cellules et que chacune d&#039;elles a un état parmi 2, on a &amp;lt;math&amp;gt;2^3 = 8&amp;lt;/math&amp;gt; motifs possibles. Pour chaque motif il y a 2 résultats possibles, donc &amp;lt;math&amp;gt;2^8 = 256&amp;lt;/math&amp;gt; règles possibles pour un automate cellulaire de cette famille. Depuis les travaux de S. Wolfram sur cette famille, chacune de ces règles est nommée par le résultat de ses motifs convertit en décimal. Ainsi, la règle suivante est la 103 :&lt;br /&gt;
[[Fichier:regle_103.jpg|100px]]&lt;br /&gt;
Car&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;111   110   101   100   011   010   001   000&lt;br /&gt;
 0     1     1     0     0     1     1     1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Soit &amp;lt;math&amp;gt;01100111_{(2)} = 103_{(10)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Règles intéressantes ====&lt;br /&gt;
&lt;br /&gt;
Certaines de ces 256 règles ont des propriétés particulières. Voici 3 d&#039;entre elles :&lt;br /&gt;
&lt;br /&gt;
===== Règle 22 =====&lt;br /&gt;
&lt;br /&gt;
Lorsque la configuration initiale est composée d&#039;une seule cellule vivante on obtient une approximation du triangle de Sierpiński.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_22.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Règle 30 =====&lt;br /&gt;
&lt;br /&gt;
[https://demonstrations.wolfram.com/UsingRule30ToGeneratePseudorandomRealNumbers/#more Selon Wolfram Research], en raison de son comportement local imprévisible et son comportement global chaotique, cet automate cellulaire peut être utilisé comme générateur de nombres pseudo-aléatoires.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_30.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===== Règle 110 =====&lt;br /&gt;
&lt;br /&gt;
Cette règle a été prouvée [[#Universalité Turing|Turing-universelle]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_110.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Automates cellulaires type &amp;quot;Vie&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ces automates sont bidimensionnels et utilisent le voisinage de Moore. Leurs règles peuvent toutes s&#039;écrire sous la forme &amp;lt;math&amp;gt;Bx_1,...,x_n/Sy_1,...,y_m&amp;lt;/math&amp;gt; avec &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse naître et &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse survivre.&lt;br /&gt;
&lt;br /&gt;
==== Le jeu de la vie de John H. Conway ====&lt;br /&gt;
&lt;br /&gt;
Le jeu de la vie est certainement l&#039;automate cellulaire le plus connu du grand publique. Il a été imaginé par John H. Conway en 1970.&lt;br /&gt;
&lt;br /&gt;
Sa règle est la suivante :&lt;br /&gt;
* Une cellule morte nait si elle a exactement 3 cellules voisines vivantes&lt;br /&gt;
* Une cellule vivante survie si elle a 2 ou 3 cellules voisines vivantes.&lt;br /&gt;
* Dans les autres cas elle sera morte.&lt;br /&gt;
Cette règle peut donc s&#039;écrire &amp;lt;math&amp;gt;B3/S23&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Malgré cette règle simple, le jeu de la vie permet d&#039;obtenir une grande variété de type de structures :&lt;br /&gt;
* Des structures stables, comme le bloc [[Fichier:stable_block.png|50px]]&lt;br /&gt;
* Des structures périodiques, comme le clignotant [[Fichier:periodique_blinker.png|50px]]&lt;br /&gt;
* Des vaisseaux, structures mouvantes, comme le planeur [[Fichier:vaisseau_glider.png|50px]]&lt;br /&gt;
* Des mathusalems, structures qui vont mettre du temps avant de se stabiliser, comme le pentomino R [[Fichier:mathusalem_pentomino_r.png|50px]]&lt;br /&gt;
* Des cannons, structures créant des vaisseaux à un rythme parfois imprévisible, comme le Gosper Glider Gun [[Fichier:canon_gosper_glider_gun.png|50px]]&lt;br /&gt;
* Des puffeurs, vaisseaux laissant une trainée de débris, comme le Switch Engine [[Fichier:puffeur_switch_engine.png|50px]]&lt;br /&gt;
** Il existe des puffeurs particuliers, les rakes qui agissent à la fois comme des puffeurs et comme des canons, leur débris étant composés de vaisseaux, comme le backrake 1 [[Fichier:rake_backrake_1.png|50px]]&lt;br /&gt;
** Il existe également des puffeurs dits spacefillers, dont les débris remplissent tout l&#039;espace d&#039;un motif régulier, comme le Max [[Fichier:spacefiller_max.png|50px]]&lt;br /&gt;
&lt;br /&gt;
Cet automate est [[#Universalité Turing|Turing-universel]] et [[#Universalité intrinsèque|intrinsèquement universel]].&lt;br /&gt;
&lt;br /&gt;
== Universalité ==&lt;br /&gt;
&lt;br /&gt;
On distingue 2 types d&#039;universalité pour les automates cellulaires.&lt;br /&gt;
&lt;br /&gt;
=== Universalité Turing ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire dit Turing-universel a la capacité de simuler une machine de Turing. Il donc capable de réaliser n&#039;importe quel calcul. Plus généralement on accepte comme Turing-universel les automates cellulaires capables de simuler un système Turing-complet.&lt;br /&gt;
&lt;br /&gt;
=== Universalité intrinsèque ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire dit intrinsèquement universel est capable de simuler pas à pas n&#039;importe quel automate de même dimension. L&#039;automate simulateur utilise des groupes de cellules identiques et réguliers, chaque groupe représentant une seule cellule de l&#039;automate simulé. L&#039;automate simulateur peut utiliser plusieurs tours pour simuler une étape de l&#039;automate simulé. Chaque état de l&#039;automate simulé a au moins une configuration correspondante dans l&#039;automate simulateur.&lt;br /&gt;
&lt;br /&gt;
== Remarque sur l&#039;écriture des règles automates cellulaires ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreux formats pour donner la règle d&#039;un automate. Pour un [[#Les automates cellulaires élémentaires|automate élémentaire]], on utilisera la concaténation de ses résultats pour chaque motif en binaire ou décimal. Pour un [[#Automates cellulaires type &amp;quot;Vie&amp;quot;|type &amp;quot;Vie&amp;quot;]] on utilisera le format B/S. Pourtant nous avons vu au début que l&#039;écriture formelle de la règle d&#039;un automate cellulaire était celle d&#039;une fonction[[#regle|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]].&lt;br /&gt;
La raison est plutôt simple : Pour l&#039;instant, il n&#039;existe pas d&#039;algorithme capable de générer n&#039;importe quel automate cellulaire de manière optimisée, donc la plupart des logiciels de visualisation d&#039;automates cellulaires préfèrent se concentrer sur certains types d&#039;automates. Il n&#039;est pas ardu pour autant de faire un générateur universel, il sera seulement très lent. C&#039;est d&#039;ailleurs ce que j&#039;ai tenté de faire avec ce programme, écrit en python. [[https://github.com/UP-4303/VISI201-Automates-Cellulaires Voir le projet sur GitHub]]&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13974</id>
		<title>Automates cellulaires</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13974"/>
		<updated>2022-05-27T17:56:56Z</updated>

		<summary type="html">&lt;p&gt;Mluque : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Création en cours.&lt;br /&gt;
&lt;br /&gt;
Ce projet avait pour but d&#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&#039;on peut retrouver chez certains.&lt;br /&gt;
&lt;br /&gt;
== Définitions ==&lt;br /&gt;
&lt;br /&gt;
=== Définition simple ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire est une grille régulière dont les cases sont appelées &amp;amp;laquo; cellules &amp;amp;raquo;. Chacune a un &amp;amp;laquo; état &amp;amp;raquo; parmi un ensemble fini. L&#039;état d&#039;une cellule au &amp;amp;laquo; tour &amp;amp;raquo; t+1 est définit en fonction de cet état et celui de l&#039;ensemble fini de cellules &amp;amp;laquo; voisinage &amp;amp;raquo; au tour t, par la &amp;amp;laquo; règle &amp;amp;raquo; de l&#039;automate cellulaire. Lorsque toutes les cellules ont été mises à jour, on parle de &amp;amp;laquo; génération &amp;amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
Pour un automate de 2 dimensions les voisinages les plus courants sont celui de von Neumann&lt;br /&gt;
[[Fichier:voisinage_von_neumann.png|50px]]&lt;br /&gt;
et celui de Moore.&lt;br /&gt;
[[Fichier:voisinage_moore.png|50px]] (en vert et rouge les cellules appartenant au voisinage de la cellule rouge.)&lt;br /&gt;
&lt;br /&gt;
=== Définition formelle ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; est définit par le 4-uplet &amp;lt;math&amp;gt;(d,Q,V,\delta)&amp;lt;/math&amp;gt; tel que :&lt;br /&gt;
* &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; est un entier positif, la dimension de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Son réseau est donc &amp;lt;math&amp;gt;\mathbb{Z}^d&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; est l&#039;ensemble fini des états des cellules de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V \subseteq \mathbb{Z}^d&amp;lt;/math&amp;gt;, un sous-ensemble fini du réseau, le voisinage. &amp;lt;math&amp;gt;V = \{v_1,\ldots,v_a\}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math id=&amp;quot;regle&amp;quot;&amp;gt;\delta : Q^a \rightarrow Q&amp;lt;/math&amp;gt; est la règle locale avec &amp;lt;math&amp;gt;a = |V|&amp;lt;/math&amp;gt;&lt;br /&gt;
On peut donc définir la fonction globale d&#039;évolution de l&#039;automate &amp;lt;math&amp;gt;F_\delta : Q^{\mathbb{Z}^d} \rightarrow Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt; définit par &amp;lt;math&amp;gt;F_\delta (c) = z \mapsto \delta\bigl(c(z+v_1),\ldots,c(z+v_a)\bigr)&amp;lt;/math&amp;gt; pour tout &amp;lt;math&amp;gt;c \in Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classifications ==&lt;br /&gt;
&lt;br /&gt;
Bien que les deux classifications qui sont décrites ci-dessous peuvent être retrouvées dans les travaux de certains chercheurs, il est commun de décrire un automate en fonction de leurs caractéristiques particulières sans pour autant les séparer en classes.&lt;br /&gt;
&lt;br /&gt;
=== Classification de Wolfram ===&lt;br /&gt;
&lt;br /&gt;
Stephen Wolfram classe les automates cellulaires en 4 classes selon leur comportement avec des configurations initiales aléatoires :&lt;br /&gt;
# Stable : Après un certain nombre de générations, une configuration se répète à l&#039;infini.&lt;br /&gt;
# Cyclique : Après un certain nombre de générations, une série de configurations se répètent périodiquement.&lt;br /&gt;
# Chaotique : Comportement chaotique et génération de motifs apériodiques.&lt;br /&gt;
# Complexe : Apparition de structures complexes possédants divers propriétés comme la capacité de se mouvoir ou de se préserver malgré des perturbations.&lt;br /&gt;
&lt;br /&gt;
L&#039;une des principales critiques de cette classification réside dans son incapacité à déterminer si un automate cellulaire est Turin-universel, venant du fait que Wolfram ne définit la classe qu&#039;à partir de configurations initiales aléatoires, mais pas de structure particulière créée spécifiquement. Malgré cela, cette classification reste la plus étudiée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_wolfram.png|750px]]&lt;br /&gt;
&lt;br /&gt;
Christopher Langton propose d&#039;envisager ces classes dans un continuum.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_langton.png|250px]]&lt;br /&gt;
&lt;br /&gt;
=== Classification d&#039;Eppstein ===&lt;br /&gt;
&lt;br /&gt;
Il existe une deuxième classification, proposée par David Eppstein. Les automates sont séparés en 4 classes :&lt;br /&gt;
# Expansion obligatoire : N&#039;importe quel motif initial s&#039;étend indéfiniment dans toutes les directions.&lt;br /&gt;
# Expansion impossible : Aucun motif ne peut s&#039;étendre au-delà de ses limites initiales.&lt;br /&gt;
# Contraction impossible : Les motifs ne s&#039;étendent pas forcément indéfiniment, mais ne peuvent jamais se réduire en-deçà de leur limites initiales.&lt;br /&gt;
# Expansion et contraction possibles : Seuls ces cas peuvent contenir des vaisseaux.&lt;br /&gt;
&lt;br /&gt;
À l&#039;heure actuelle, les automates qui ont été prouvés Turing-universels appartiennent tous à la 4ème classe. Cependant il n&#039;a pas été démontré que les autres classes ne peuvent pas contenir d&#039;automate Turing-universel puisqu&#039;il existe d&#039;autres façons de transmettre des informations que les vaisseaux.&lt;br /&gt;
&lt;br /&gt;
== Les familles d&#039;automates cellulaires célèbres ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreuses familles d&#039;automates cellulaires, mais nous n&#039;en verrons que deux ici.&lt;br /&gt;
&lt;br /&gt;
=== Les automates cellulaires élémentaires ===&lt;br /&gt;
&lt;br /&gt;
Cette famille est la plus simple des automates cellulaires. Ses membres n&#039;ont qu&#039;une dimension et deux états. Le voisinage d&#039;une cellule est composé de celles directement à sa droite et sa gauche et d&#039;elle-même.&lt;br /&gt;
&lt;br /&gt;
Puisque le voisinage prend 3 cellules et que chacune d&#039;elles a un état parmi 2, on a &amp;lt;math&amp;gt;2^3 = 8&amp;lt;/math&amp;gt; motifs possibles. Pour chaque motif il y a 2 résultats possibles, donc &amp;lt;math&amp;gt;2^8 = 256&amp;lt;/math&amp;gt; règles possibles pour un automate cellulaire de cette famille. Depuis les travaux de S. Wolfram sur cette famille, chacune de ces règles est nommée par le résultat de ses motifs convertit en décimal. Ainsi, la règle suivante est la 103 :&lt;br /&gt;
[[Fichier:regle_103.jpg|100px]]&lt;br /&gt;
Car&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;111   110   101   100   011   010   001   000&lt;br /&gt;
 0     1     1     0     0     1     1     1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Soit &amp;lt;math&amp;gt;01100111_{(2)} = 103_{(10)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Règles intéressantes ====&lt;br /&gt;
&lt;br /&gt;
Certaines de ces 256 règles ont des propriétés particulières. Voici 3 d&#039;entre elles :&lt;br /&gt;
&lt;br /&gt;
===== Règle 22 =====&lt;br /&gt;
&lt;br /&gt;
Lorsque la configuration initiale est composée d&#039;une seule cellule vivante on obtient une approximation du triangle de Sierpiński.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_22.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Règle 30 =====&lt;br /&gt;
&lt;br /&gt;
[https://demonstrations.wolfram.com/UsingRule30ToGeneratePseudorandomRealNumbers/#more Selon Wolfram Research], en raison de son comportement local imprévisible et son comportement global chaotique, cet automate cellulaire peut être utilisé comme générateur de nombres pseudo-aléatoires.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_30.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===== Règle 110 =====&lt;br /&gt;
&lt;br /&gt;
Cette règle a été prouvée [[#Universalité Turing|Turing-universelle]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_110.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Automates cellulaires type &amp;quot;Vie&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ces automates sont bidimensionnels et utilisent le voisinage de Moore. Leurs règles peuvent toutes s&#039;écrire sous la forme &amp;lt;math&amp;gt;Bx_1,...,x_n/Sy_1,...,y_m&amp;lt;/math&amp;gt; avec &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse naître et &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse survivre.&lt;br /&gt;
&lt;br /&gt;
==== Le jeu de la vie de John H. Conway ====&lt;br /&gt;
&lt;br /&gt;
Le jeu de la vie est certainement l&#039;automate cellulaire le plus connu du grand publique. Il a été imaginé par John H. Conway en 1970.&lt;br /&gt;
&lt;br /&gt;
Sa règle est la suivante :&lt;br /&gt;
* Une cellule morte nait si elle a exactement 3 cellules voisines vivantes&lt;br /&gt;
* Une cellule vivante survie si elle a 2 ou 3 cellules voisines vivantes.&lt;br /&gt;
* Dans les autres cas elle sera morte.&lt;br /&gt;
Cette règle peut donc s&#039;écrire &amp;lt;math&amp;gt;B3/S23&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Malgré cette règle simple, le jeu de la vie permet d&#039;obtenir une grande variété de type de structures :&lt;br /&gt;
* Des structures stables, comme le bloc [[Fichier:stable_block.png|50px]]&lt;br /&gt;
* Des structures périodiques, comme le clignotant [[Fichier:periodique_blinker.png|50px]]&lt;br /&gt;
* Des vaisseaux, structures mouvantes, comme le planeur [[Fichier:vaisseau_glider.png|50px]]&lt;br /&gt;
* Des mathusalems, structures qui vont mettre du temps avant de se stabiliser, comme le pentomino R [[Fichier:mathusalem_pentomino_r.png|50px]]&lt;br /&gt;
* Des cannons, structures créant des vaisseaux à un rythme parfois imprévisible, comme le Gosper Glider Gun [[Fichier:canon_gosper_glider_gun.png|50px]]&lt;br /&gt;
* Des puffeurs, vaisseaux laissant une trainée de débris, comme le Switch Engine [[Fichier:puffeur_switch_engine.png|50px]]&lt;br /&gt;
** Il existe des puffeurs particuliers, les rakes qui agissent à la fois comme des puffeurs et comme des canons, leur débris étant composés de vaisseaux, comme le backrake 1 [[Fichier:rake_backrake_1.png|50px]]&lt;br /&gt;
** Il existe également des puffeurs dits spacefillers, dont les débris remplissent tout l&#039;espace d&#039;un motif régulier, comme le Max [[Fichier:spacefiller_max.png|50px]]&lt;br /&gt;
&lt;br /&gt;
Cet automate est [[#Universalité Turing|Turing-universel]] et [[#Universalité intrinsèque|intrinsèquement universel]].&lt;br /&gt;
&lt;br /&gt;
== Universalité ==&lt;br /&gt;
&lt;br /&gt;
On distingue 2 types d&#039;universalité pour les automates cellulaires.&lt;br /&gt;
&lt;br /&gt;
=== Universalité Turing ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire dit Turing-universel a la capacité de simuler une machine de Turing. Il donc capable de réaliser n&#039;importe quel calcul. Plus généralement on accepte comme Turing-universel les automates cellulaires capables de simuler un système Turing-complet.&lt;br /&gt;
&lt;br /&gt;
=== Universalité intrinsèque ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire dit intrinsèquement universel est capable de simuler pas à pas n&#039;importe quel automate de même dimension. L&#039;automate simulateur utilise des groupes de cellules identiques et réguliers, chaque groupe représentant une seule cellule de l&#039;automate simulé. L&#039;automate simulateur peut utiliser plusieurs tours pour simuler une étape de l&#039;automate simulé. Chaque état de l&#039;automate simulé a au moins une configuration correspondante dans l&#039;automate simulateur.&lt;br /&gt;
&lt;br /&gt;
== Remarque sur l&#039;écriture des règles automates cellulaires ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreux formats pour donner la règle d&#039;un automate. Pour un [[#Les automates cellulaires élémentaires|automate élémentaire]], on utilisera la concaténation de ses résultats pour chaque motif en binaire ou décimal. Pour un [[#Automates cellulaires type &amp;quot;Vie&amp;quot;|type &amp;quot;Vie&amp;quot;]] on utilisera le format B/S. Pourtant nous avons vu au début que l&#039;écriture formelle de la règle d&#039;un automate cellulaire était celle d&#039;une fonction[[#regle|&amp;lt;sup&amp;gt;[1]&amp;lt;/sup&amp;gt;]].&lt;br /&gt;
La raison est plutôt simple : Pour l&#039;instant, il n&#039;existe pas d&#039;algorithme capable de générer n&#039;importe quel automate cellulaire de manière optimisée, donc la plupart des logiciels de visualisation d&#039;automates cellulaires préfèrent se concentrer sur certains types d&#039;automates. Il n&#039;est pas ardu pour autant de faire un générateur universel, il sera seulement très lent. C&#039;est d&#039;ailleurs ce que j&#039;ai tenté de faire avec ce programme, écrit en python. [[https://github.com À venir]]&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13973</id>
		<title>Automates cellulaires</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13973"/>
		<updated>2022-05-27T17:37:13Z</updated>

		<summary type="html">&lt;p&gt;Mluque : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Création en cours.&lt;br /&gt;
&lt;br /&gt;
Ce projet avait pour but d&#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&#039;on peut retrouver chez certains.&lt;br /&gt;
&lt;br /&gt;
== Définitions ==&lt;br /&gt;
&lt;br /&gt;
=== Définition simple ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire est une grille régulière dont les cases sont appelées &amp;amp;laquo; cellules &amp;amp;raquo;. Chacune a un &amp;amp;laquo; état &amp;amp;raquo; parmi un ensemble fini. L&#039;état d&#039;une cellule au &amp;amp;laquo; tour &amp;amp;raquo; t+1 est définit en fonction de cet état et celui de l&#039;ensemble fini de cellules &amp;amp;laquo; voisinage &amp;amp;raquo; au tour t, par la &amp;amp;laquo; règle &amp;amp;raquo; de l&#039;automate cellulaire. Lorsque toutes les cellules ont été mises à jour, on parle de &amp;amp;laquo; génération &amp;amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
Pour un automate de 2 dimensions les voisinages les plus courants sont celui de von Neumann&lt;br /&gt;
[[Fichier:voisinage_von_neumann.png|50px]]&lt;br /&gt;
et celui de Moore.&lt;br /&gt;
[[Fichier:voisinage_moore.png|50px]] (en vert et rouge les cellules appartenant au voisinage de la cellule rouge.)&lt;br /&gt;
&lt;br /&gt;
=== Définition formelle ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; est définit par le 4-uplet &amp;lt;math&amp;gt;(d,Q,V,\delta)&amp;lt;/math&amp;gt; tel que :&lt;br /&gt;
* &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; est un entier positif, la dimension de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Son réseau est donc &amp;lt;math&amp;gt;\mathbb{Z}^d&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; est l&#039;ensemble fini des états des cellules de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V \subseteq \mathbb{Z}^d&amp;lt;/math&amp;gt;, un sous-ensemble fini du réseau, le voisinage. &amp;lt;math&amp;gt;V = \{v_1,\ldots,v_a\}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;\delta : Q^a \rightarrow Q&amp;lt;/math&amp;gt; est la règle locale avec &amp;lt;math&amp;gt;a = |V|&amp;lt;/math&amp;gt;&lt;br /&gt;
On peut donc définir la fonction globale d&#039;évolution de l&#039;automate &amp;lt;math&amp;gt;F_\delta : Q^{\mathbb{Z}^d} \rightarrow Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt; définit par &amp;lt;math&amp;gt;F_\delta (c) = z \mapsto \delta\bigl(c(z+v_1),\ldots,c(z+v_a)\bigr)&amp;lt;/math&amp;gt; pour tout &amp;lt;math&amp;gt;c \in Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classifications ==&lt;br /&gt;
&lt;br /&gt;
Bien que les deux classifications qui sont décrites ci-dessous peuvent être retrouvées dans les travaux de certains chercheurs, il est commun de décrire un automate en fonction de leurs caractéristiques particulières sans pour autant les séparer en classes.&lt;br /&gt;
&lt;br /&gt;
=== Classification de Wolfram ===&lt;br /&gt;
&lt;br /&gt;
Stephen Wolfram classe les automates cellulaires en 4 classes selon leur comportement avec des configurations initiales aléatoires :&lt;br /&gt;
# Stable : Après un certain nombre de générations, une configuration se répète à l&#039;infini.&lt;br /&gt;
# Cyclique : Après un certain nombre de générations, une série de configurations se répètent périodiquement.&lt;br /&gt;
# Chaotique : Comportement chaotique et génération de motifs apériodiques.&lt;br /&gt;
# Complexe : Apparition de structures complexes possédants divers propriétés comme la capacité de se mouvoir ou de se préserver malgré des perturbations.&lt;br /&gt;
&lt;br /&gt;
L&#039;une des principales critiques de cette classification réside dans son incapacité à déterminer si un automate cellulaire est Turin-universel, venant du fait que Wolfram ne définit la classe qu&#039;à partir de configurations initiales aléatoires, mais pas de structure particulière créée spécifiquement. Malgré cela, cette classification reste la plus étudiée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_wolfram.png|750px]]&lt;br /&gt;
&lt;br /&gt;
Christopher Langton propose d&#039;envisager ces classes dans un continuum.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_langton.png|250px]]&lt;br /&gt;
&lt;br /&gt;
=== Classification d&#039;Eppstein ===&lt;br /&gt;
&lt;br /&gt;
Il existe une deuxième classification, proposée par David Eppstein. Les automates sont séparés en 4 classes :&lt;br /&gt;
# Expansion obligatoire : N&#039;importe quel motif initial s&#039;étend indéfiniment dans toutes les directions.&lt;br /&gt;
# Expansion impossible : Aucun motif ne peut s&#039;étendre au-delà de ses limites initiales.&lt;br /&gt;
# Contraction impossible : Les motifs ne s&#039;étendent pas forcément indéfiniment, mais ne peuvent jamais se réduire en-deçà de leur limites initiales.&lt;br /&gt;
# Expansion et contraction possibles : Seuls ces cas peuvent contenir des vaisseaux.&lt;br /&gt;
&lt;br /&gt;
À l&#039;heure actuelle, les automates qui ont été prouvés Turing-universels appartiennent tous à la 4ème classe. Cependant il n&#039;a pas été démontré que les autres classes ne peuvent pas contenir d&#039;automate Turing-universel puisqu&#039;il existe d&#039;autres façons de transmettre des informations que les vaisseaux.&lt;br /&gt;
&lt;br /&gt;
== Les familles d&#039;automates cellulaires célèbres ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreuses familles d&#039;automates cellulaires, mais nous n&#039;en verrons que deux ici.&lt;br /&gt;
&lt;br /&gt;
=== Les automates cellulaires élémentaires ===&lt;br /&gt;
&lt;br /&gt;
Cette famille est la plus simple des automates cellulaires. Ses membres n&#039;ont qu&#039;une dimension et deux états. Le voisinage d&#039;une cellule est composé de celles directement à sa droite et sa gauche et d&#039;elle-même.&lt;br /&gt;
&lt;br /&gt;
Puisque le voisinage prend 3 cellules et que chacune d&#039;elles a un état parmi 2, on a &amp;lt;math&amp;gt;2^3 = 8&amp;lt;/math&amp;gt; motifs possibles. Pour chaque motif il y a 2 résultats possibles, donc &amp;lt;math&amp;gt;2^8 = 256&amp;lt;/math&amp;gt; règles possibles pour un automate cellulaire de cette famille. Depuis les travaux de S. Wolfram sur cette famille, chacune de ces règles est nommée par le résultat de ses motifs convertit en décimal. Ainsi, la règle suivante est la 103 :&lt;br /&gt;
[[Fichier:regle_103.jpg|100px]]&lt;br /&gt;
Car&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;111   110   101   100   011   010   001   000&lt;br /&gt;
 0     1     1     0     0     1     1     1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Soit &amp;lt;math&amp;gt;01100111_{(2)} = 103_{(10)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Règles intéressantes ====&lt;br /&gt;
&lt;br /&gt;
Certaines de ces 256 règles ont des propriétés particulières. Voici 3 d&#039;entre elles :&lt;br /&gt;
&lt;br /&gt;
===== Règle 22 =====&lt;br /&gt;
&lt;br /&gt;
Lorsque la configuration initiale est composée d&#039;une seule cellule vivante on obtient une approximation du triangle de Sierpiński.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_22.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Règle 30 =====&lt;br /&gt;
&lt;br /&gt;
[https://demonstrations.wolfram.com/UsingRule30ToGeneratePseudorandomRealNumbers/#more Selon Wolfram Research], en raison de son comportement local imprévisible et son comportement global chaotique, cet automate cellulaire peut être utilisé comme générateur de nombres pseudo-aléatoires.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_30.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===== Règle 110 =====&lt;br /&gt;
&lt;br /&gt;
Cette règle a été prouvée [[#Universalité Turing|Turing-universelle]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_110.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Automates cellulaires type &amp;quot;Vie&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ces automates sont bidimensionnels et utilisent le voisinage de Moore. Leurs règles peuvent toutes s&#039;écrire sous la forme &amp;lt;math&amp;gt;Bx_1,...,x_n/Sy_1,...,y_m&amp;lt;/math&amp;gt; avec &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse naître et &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse survivre.&lt;br /&gt;
&lt;br /&gt;
==== Le jeu de la vie de John H. Conway ====&lt;br /&gt;
&lt;br /&gt;
Le jeu de la vie est certainement l&#039;automate cellulaire le plus connu du grand publique. Il a été imaginé par John H. Conway en 1970.&lt;br /&gt;
&lt;br /&gt;
Sa règle est la suivante :&lt;br /&gt;
* Une cellule morte nait si elle a exactement 3 cellules voisines vivantes&lt;br /&gt;
* Une cellule vivante survie si elle a 2 ou 3 cellules voisines vivantes.&lt;br /&gt;
* Dans les autres cas elle sera morte.&lt;br /&gt;
Cette règle peut donc s&#039;écrire &amp;lt;math&amp;gt;B3/S23&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Malgré cette règle simple, le jeu de la vie permet d&#039;obtenir une grande variété de type de structures :&lt;br /&gt;
* Des structures stables, comme le bloc [[Fichier:stable_block.png|50px]]&lt;br /&gt;
* Des structures périodiques, comme le clignotant [[Fichier:periodique_blinker.png|50px]]&lt;br /&gt;
* Des vaisseaux, structures mouvantes, comme le planeur [[Fichier:vaisseau_glider.png|50px]]&lt;br /&gt;
* Des mathusalems, structures qui vont mettre du temps avant de se stabiliser, comme le pentomino R [[Fichier:mathusalem_pentomino_r.png|50px]]&lt;br /&gt;
* Des cannons, structures créant des vaisseaux à un rythme parfois imprévisible, comme le Gosper Glider Gun [[Fichier:canon_gosper_glider_gun.png|50px]]&lt;br /&gt;
* Des puffeurs, vaisseaux laissant une trainée de débris, comme le Switch Engine [[Fichier:puffeur_switch_engine.png|50px]]&lt;br /&gt;
** Il existe des puffeurs particuliers, les rakes qui agissent à la fois comme des puffeurs et comme des canons, leur débris étant composés de vaisseaux, comme le backrake 1 [[Fichier:rake_backrake_1.png|50px]]&lt;br /&gt;
** Il existe également des puffeurs dits spacefillers, dont les débris remplissent tout l&#039;espace d&#039;un motif régulier, comme le Max [[Fichier:spacefiller_max.png|50px]]&lt;br /&gt;
&lt;br /&gt;
Cet automate est [[#Universalité Turing|Turing-universel]] et [[#Universalité intrinsèque|intrinsèquement universel]].&lt;br /&gt;
&lt;br /&gt;
== Universalité ==&lt;br /&gt;
&lt;br /&gt;
On distingue 2 types d&#039;universalité pour les automates cellulaires.&lt;br /&gt;
&lt;br /&gt;
=== Universalité Turing ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire dit Turing-universel a la capacité de simuler une machine de Turing. Il donc capable de réaliser n&#039;importe quel calcul. Plus généralement on accepte comme Turing-universel les automates cellulaires capables de simuler un système Turing-complet.&lt;br /&gt;
&lt;br /&gt;
=== Universalité intrinsèque ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire dit intrinsèquement universel est capable de simuler pas à pas n&#039;importe quel automate de même dimension. L&#039;automate simulateur utilise des groupes de cellules identiques et réguliers, chaque groupe représentant une seule cellule de l&#039;automate simulé. L&#039;automate simulateur peut utiliser plusieurs tours pour simuler une étape de l&#039;automate simulé. Chaque état de l&#039;automate simulé a au moins une configuration correspondante dans l&#039;automate simulateur.&lt;br /&gt;
&lt;br /&gt;
== Remarque sur l&#039;écriture des règles automates cellulaires ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreux formats pour donner la règle d&#039;un automate. Pour un [[#Les automates cellulaires élémentaires|automate élémentaire]], on utilisera la concaténation de ses résultats pour chaque motif en binaire ou décimal. Pour un [[#Automates cellulaires type &amp;quot;Vie&amp;quot;|type &amp;quot;Vie&amp;quot;]] on utilisera le format B/S.&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13955</id>
		<title>Automates cellulaires</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13955"/>
		<updated>2022-05-27T16:58:01Z</updated>

		<summary type="html">&lt;p&gt;Mluque : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Création en cours.&lt;br /&gt;
&lt;br /&gt;
Ce projet avait pour but d&#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&#039;on peut retrouver chez certains.&lt;br /&gt;
&lt;br /&gt;
== Définitions ==&lt;br /&gt;
&lt;br /&gt;
=== Définition simple ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire est une grille régulière dont les cases sont appelées &amp;amp;laquo; cellules &amp;amp;raquo;. Chacune a un &amp;amp;laquo; état &amp;amp;raquo; parmi un ensemble fini. L&#039;état d&#039;une cellule au &amp;amp;laquo; tour &amp;amp;raquo; t+1 est définit en fonction de cet état et celui de l&#039;ensemble fini de cellules &amp;amp;laquo; voisinage &amp;amp;raquo; au tour t, par la &amp;amp;laquo; règle &amp;amp;raquo; de l&#039;automate cellulaire. Lorsque toutes les cellules ont été mises à jour, on parle de &amp;amp;laquo; génération &amp;amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
Pour un automate de 2 dimensions les voisinages les plus courants sont celui de von Neumann&lt;br /&gt;
[[Fichier:voisinage_von_neumann.png|50px]]&lt;br /&gt;
et celui de Moore.&lt;br /&gt;
[[Fichier:voisinage_moore.png|50px]] (en vert et rouge les cellules appartenant au voisinage de la cellule rouge.)&lt;br /&gt;
&lt;br /&gt;
=== Définition formelle ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; est définit par le 4-uplet &amp;lt;math&amp;gt;(d,Q,V,\delta)&amp;lt;/math&amp;gt; tel que :&lt;br /&gt;
* &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; est un entier positif, la dimension de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Son réseau est donc &amp;lt;math&amp;gt;\mathbb{Z}^d&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; est l&#039;ensemble fini des états des cellules de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V \subseteq \mathbb{Z}^d&amp;lt;/math&amp;gt;, un sous-ensemble fini du réseau, le voisinage. &amp;lt;math&amp;gt;V = \{v_1,\ldots,v_a\}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;\delta : Q^a \rightarrow Q&amp;lt;/math&amp;gt; est la règle locale avec &amp;lt;math&amp;gt;a = |V|&amp;lt;/math&amp;gt;&lt;br /&gt;
On peut donc définir la fonction globale d&#039;évolution de l&#039;automate &amp;lt;math&amp;gt;F_\delta : Q^{\mathbb{Z}^d} \rightarrow Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt; définit par &amp;lt;math&amp;gt;F_\delta (c) = z \mapsto \delta\bigl(c(z+v_1),\ldots,c(z+v_a)\bigr)&amp;lt;/math&amp;gt; pour tout &amp;lt;math&amp;gt;c \in Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classifications ==&lt;br /&gt;
&lt;br /&gt;
Bien que les deux classifications qui sont décrites ci-dessous peuvent être retrouvées dans les travaux de certains chercheurs, il est commun de décrire un automate en fonction de leurs caractéristiques particulières sans pour autant les séparer en classes.&lt;br /&gt;
&lt;br /&gt;
=== Classification de Wolfram ===&lt;br /&gt;
&lt;br /&gt;
Stephen Wolfram classe les automates cellulaires en 4 classes selon leur comportement avec des configurations initiales aléatoires :&lt;br /&gt;
# Stable : Après un certain nombre de générations, une configuration se répète à l&#039;infini.&lt;br /&gt;
# Cyclique : Après un certain nombre de générations, une série de configurations se répètent périodiquement.&lt;br /&gt;
# Chaotique : Comportement chaotique et génération de motifs apériodiques.&lt;br /&gt;
# Complexe : Apparition de structures complexes possédants divers propriétés comme la capacité de se mouvoir ou de se préserver malgré des perturbations.&lt;br /&gt;
&lt;br /&gt;
L&#039;une des principales critiques de cette classification réside dans son incapacité à déterminer si un automate cellulaire est Turin-universel, venant du fait que Wolfram ne définit la classe qu&#039;à partir de configurations initiales aléatoires, mais pas de structure particulière créée spécifiquement. Malgré cela, cette classification reste la plus étudiée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_wolfram.png|750px]]&lt;br /&gt;
&lt;br /&gt;
Christopher Langton propose d&#039;envisager ces classes dans un continuum.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_langton.png|250px]]&lt;br /&gt;
&lt;br /&gt;
=== Classification d&#039;Eppstein ===&lt;br /&gt;
&lt;br /&gt;
Il existe une deuxième classification, proposée par David Eppstein. Les automates sont séparés en 4 classes :&lt;br /&gt;
# Expansion obligatoire : N&#039;importe quel motif initial s&#039;étend indéfiniment dans toutes les directions.&lt;br /&gt;
# Expansion impossible : Aucun motif ne peut s&#039;étendre au-delà de ses limites initiales.&lt;br /&gt;
# Contraction impossible : Les motifs ne s&#039;étendent pas forcément indéfiniment, mais ne peuvent jamais se réduire en-deçà de leur limites initiales.&lt;br /&gt;
# Expansion et contraction possibles : Seuls ces cas peuvent contenir des vaisseaux.&lt;br /&gt;
&lt;br /&gt;
À l&#039;heure actuelle, les automates qui ont été prouvés Turing-universels appartiennent tous à la 4ème classe. Cependant il n&#039;a pas été démontré que les autres classes ne peuvent pas contenir d&#039;automate Turing-universel puisqu&#039;il existe d&#039;autres façons de transmettre des informations que les vaisseaux.&lt;br /&gt;
&lt;br /&gt;
== Les familles d&#039;automates cellulaires célèbres ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreuses familles d&#039;automates cellulaires, mais nous n&#039;en verrons que deux ici.&lt;br /&gt;
&lt;br /&gt;
=== Les automates cellulaires élémentaires ===&lt;br /&gt;
&lt;br /&gt;
Cette famille est la plus simple des automates cellulaires. Ses membres n&#039;ont qu&#039;une dimension et deux états. Le voisinage d&#039;une cellule est composé de celles directement à sa droite et sa gauche et d&#039;elle-même.&lt;br /&gt;
&lt;br /&gt;
Puisque le voisinage prend 3 cellules et que chacune d&#039;elles a un état parmi 2, on a &amp;lt;math&amp;gt;2^3 = 8&amp;lt;/math&amp;gt; motifs possibles. Pour chaque motif il y a 2 résultats possibles, donc &amp;lt;math&amp;gt;2^8 = 256&amp;lt;/math&amp;gt; règles possibles pour un automate cellulaire de cette famille. Depuis les travaux de S. Wolfram sur cette famille, chacune de ces règles est nommée par le résultat de ses motifs convertit en décimal. Ainsi, la règle suivante est la 103 :&lt;br /&gt;
[[Fichier:regle_103.jpg|100px]]&lt;br /&gt;
Car&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;111   110   101   100   011   010   001   000&lt;br /&gt;
 0     1     1     0     0     1     1     1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Soit &amp;lt;math&amp;gt;01100111_{(2)} = 103_{(10)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Règles intéressantes ====&lt;br /&gt;
&lt;br /&gt;
Certaines de ces 256 règles ont des propriétés particulières. Voici 3 d&#039;entre elles :&lt;br /&gt;
&lt;br /&gt;
===== Règle 22 =====&lt;br /&gt;
&lt;br /&gt;
Lorsque la configuration initiale est composée d&#039;une seule cellule vivante on obtient une approximation du triangle de Sierpiński.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_22.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Règle 30 =====&lt;br /&gt;
&lt;br /&gt;
[https://demonstrations.wolfram.com/UsingRule30ToGeneratePseudorandomRealNumbers/#more Selon Wolfram Research], en raison de son comportement local imprévisible et son comportement global chaotique, cet automate cellulaire peut être utilisé comme générateur de nombres pseudo-aléatoires.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_30.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===== Règle 110 =====&lt;br /&gt;
&lt;br /&gt;
Cette règle a été prouvée [[#Turing-universelle|Turing-universelle]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_110.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Automates cellulaires type &amp;quot;Vie&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ces automates sont bidimensionnels et utilisent le voisinage de Moore. Leurs règles peuvent toutes s&#039;écrire sous la forme &amp;lt;math&amp;gt;Bx_1,...,x_n/Sy_1,...,y_m&amp;lt;/math&amp;gt; avec &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse naître et &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse survivre.&lt;br /&gt;
&lt;br /&gt;
==== Le jeu de la vie de John H. Conway ====&lt;br /&gt;
&lt;br /&gt;
Le jeu de la vie est certainement l&#039;automate cellulaire le plus connu du grand publique. Il a été imaginé par John H. Conway en 1970.&lt;br /&gt;
&lt;br /&gt;
Sa règle est la suivante :&lt;br /&gt;
* Une cellule morte nait si elle a exactement 3 cellules voisines vivantes&lt;br /&gt;
* Une cellule vivante survie si elle a 2 ou 3 cellules voisines vivantes.&lt;br /&gt;
* Dans les autres cas elle sera morte.&lt;br /&gt;
Cette règle peut donc s&#039;écrire &amp;lt;math&amp;gt;B3/S23&amp;lt;/math&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Malgré cette règle simple, le jeu de la vie permet d&#039;obtenir une grande variété de type de structures :&lt;br /&gt;
* Des structures stables, comme le bloc [[Fichier:stable_block.png|50px]]&lt;br /&gt;
* Des structures périodiques, comme le clignotant [[Fichier:periodique_blinker.png|50px]]&lt;br /&gt;
* Des vaisseaux, structures mouvantes, comme le planeur [[Fichier:vaisseau_glider.png|50px]]&lt;br /&gt;
* Des mathusalems, structures qui vont mettre du temps avant de se stabiliser, comme le pentomino R [[Fichier:mathusalem_pentomino_r.png|50px]]&lt;br /&gt;
* Des cannons, structures créant des vaisseaux à un rythme parfois imprévisible, comme le Gosper Glider Gun [[Fichier:canon_gosper_glider_gun.png|50px]]&lt;br /&gt;
* Des puffeurs, vaisseaux laissant une trainée de débris, comme le Switch Engine [[Fichier:puffeur_switch_engine.png|50px]]&lt;br /&gt;
** Il existe des puffeurs particuliers, les rakes qui agissent à la fois comme des puffeurs et comme des canons, leur débris étant composés de vaisseaux, comme le backrake 1 [[Fichier:rake_backrake_1.png|50px]]&lt;br /&gt;
** Il existe également des puffeurs dits spacefillers, dont les débris remplissent tout l&#039;espace d&#039;un motif régulier, comme le Max [[Fichier:spacefiller_max.png|50px]]&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Vaisseau_glider.png&amp;diff=13954</id>
		<title>Fichier:Vaisseau glider.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Vaisseau_glider.png&amp;diff=13954"/>
		<updated>2022-05-27T16:56:47Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Structure de type vaisseau&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Structure de type vaisseau&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Mathusalem_pentomino_r.png&amp;diff=13953</id>
		<title>Fichier:Mathusalem pentomino r.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Mathusalem_pentomino_r.png&amp;diff=13953"/>
		<updated>2022-05-27T16:56:13Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Structure de type mathusalem&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Structure de type mathusalem&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Rake_backrake_1.png&amp;diff=13950</id>
		<title>Fichier:Rake backrake 1.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Rake_backrake_1.png&amp;diff=13950"/>
		<updated>2022-05-27T16:51:13Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Structure de type rake&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Structure de type rake&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Puffeur_switch_engine.png&amp;diff=13945</id>
		<title>Fichier:Puffeur switch engine.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Puffeur_switch_engine.png&amp;diff=13945"/>
		<updated>2022-05-27T16:46:02Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Structure de type puffeur&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Structure de type puffeur&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Stable_block.png&amp;diff=13944</id>
		<title>Fichier:Stable block.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Stable_block.png&amp;diff=13944"/>
		<updated>2022-05-27T16:45:48Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Structure de type stable&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Structure de type stable&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Periodique_blinker.png&amp;diff=13942</id>
		<title>Fichier:Periodique blinker.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Periodique_blinker.png&amp;diff=13942"/>
		<updated>2022-05-27T16:45:26Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Structure de type périodique&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Structure de type périodique&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Canon_gosper_glider_gun.png&amp;diff=13932</id>
		<title>Fichier:Canon gosper glider gun.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Canon_gosper_glider_gun.png&amp;diff=13932"/>
		<updated>2022-05-27T16:26:46Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Structure de type canon&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Structure de type canon&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Spacefiller_max.png&amp;diff=13930</id>
		<title>Fichier:Spacefiller max.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Spacefiller_max.png&amp;diff=13930"/>
		<updated>2022-05-27T16:25:14Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Structure de type spacefiller&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Structure de type spacefiller&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13887</id>
		<title>Automates cellulaires</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13887"/>
		<updated>2022-05-27T15:39:47Z</updated>

		<summary type="html">&lt;p&gt;Mluque : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Création en cours.&lt;br /&gt;
&lt;br /&gt;
Ce projet avait pour but d&#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&#039;on peut retrouver chez certains.&lt;br /&gt;
&lt;br /&gt;
== Définitions ==&lt;br /&gt;
&lt;br /&gt;
=== Définition simple ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire est une grille régulière dont les cases sont appelées &amp;amp;laquo; cellules &amp;amp;raquo;. Chacune a un &amp;amp;laquo; état &amp;amp;raquo; parmi un ensemble fini. L&#039;état d&#039;une cellule au &amp;amp;laquo; tour &amp;amp;raquo; t+1 est définit en fonction de cet état et celui de l&#039;ensemble fini de cellules &amp;amp;laquo; voisinage &amp;amp;raquo; au tour t, par la &amp;amp;laquo; règle &amp;amp;raquo; de l&#039;automate cellulaire. Lorsque toutes les cellules ont été mises à jour, on parle de &amp;amp;laquo; génération &amp;amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
Pour un automate de 2 dimensions les voisinages les plus courants sont celui de von Neumann&lt;br /&gt;
[[Fichier:voisinage_von_neumann.png|50px]]&lt;br /&gt;
et celui de Moore.&lt;br /&gt;
[[Fichier:voisinage_moore.png|50px]] (en vert et rouge les cellules appartenant au voisinage de la cellule rouge.)&lt;br /&gt;
&lt;br /&gt;
=== Définition formelle ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; est définit par le 4-uplet &amp;lt;math&amp;gt;(d,Q,V,\delta)&amp;lt;/math&amp;gt; tel que :&lt;br /&gt;
* &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; est un entier positif, la dimension de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Son réseau est donc &amp;lt;math&amp;gt;\mathbb{Z}^d&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; est l&#039;ensemble fini des états des cellules de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V \subseteq \mathbb{Z}^d&amp;lt;/math&amp;gt;, un sous-ensemble fini du réseau, le voisinage. &amp;lt;math&amp;gt;V = \{v_1,\ldots,v_a\}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;\delta : Q^a \rightarrow Q&amp;lt;/math&amp;gt; est la règle locale avec &amp;lt;math&amp;gt;a = |V|&amp;lt;/math&amp;gt;&lt;br /&gt;
On peut donc définir la fonction globale d&#039;évolution de l&#039;automate &amp;lt;math&amp;gt;F_\delta : Q^{\mathbb{Z}^d} \rightarrow Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt; définit par &amp;lt;math&amp;gt;F_\delta (c) = z \mapsto \delta\bigl(c(z+v_1),\ldots,c(z+v_a)\bigr)&amp;lt;/math&amp;gt; pour tout &amp;lt;math&amp;gt;c \in Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classifications ==&lt;br /&gt;
&lt;br /&gt;
Bien que les deux classifications qui sont décrites ci-dessous peuvent être retrouvées dans les travaux de certains chercheurs, il est commun de décrire un automate en fonction de leurs caractéristiques particulières sans pour autant les séparer en classes.&lt;br /&gt;
&lt;br /&gt;
=== Classification de Wolfram ===&lt;br /&gt;
&lt;br /&gt;
Stephen Wolfram classe les automates cellulaires en 4 classes selon leur comportement avec des configurations initiales aléatoires :&lt;br /&gt;
# Stable : Après un certain nombre de générations, une configuration se répète à l&#039;infini.&lt;br /&gt;
# Cyclique : Après un certain nombre de générations, une série de configurations se répètent périodiquement.&lt;br /&gt;
# Chaotique : Comportement chaotique et génération de motifs apériodiques.&lt;br /&gt;
# Complexe : Apparition de structures complexes possédants divers propriétés comme la capacité de se mouvoir ou de se préserver malgré des perturbations.&lt;br /&gt;
&lt;br /&gt;
L&#039;une des principales critiques de cette classification réside dans son incapacité à déterminer si un automate cellulaire est Turin-universel, venant du fait que Wolfram ne définit la classe qu&#039;à partir de configurations initiales aléatoires, mais pas de structure particulière créée spécifiquement. Malgré cela, cette classification reste la plus étudiée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_wolfram.png|750px]]&lt;br /&gt;
&lt;br /&gt;
Christopher Langton propose d&#039;envisager ces classes dans un continuum.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_langton.png|250px]]&lt;br /&gt;
&lt;br /&gt;
=== Classification d&#039;Eppstein ===&lt;br /&gt;
&lt;br /&gt;
Il existe une deuxième classification, proposée par David Eppstein. Les automates sont séparés en 4 classes :&lt;br /&gt;
# Expansion obligatoire : N&#039;importe quel motif initial s&#039;étend indéfiniment dans toutes les directions.&lt;br /&gt;
# Expansion impossible : Aucun motif ne peut s&#039;étendre au-delà de ses limites initiales.&lt;br /&gt;
# Contraction impossible : Les motifs ne s&#039;étendent pas forcément indéfiniment, mais ne peuvent jamais se réduire en-deçà de leur limites initiales.&lt;br /&gt;
# Expansion et contraction possibles : Seuls ces cas peuvent contenir des vaisseaux.&lt;br /&gt;
&lt;br /&gt;
À l&#039;heure actuelle, les automates qui ont été prouvés Turing-universels appartiennent tous à la 4ème classe. Cependant il n&#039;a pas été démontré que les autres classes ne peuvent pas contenir d&#039;automate Turing-universel puisqu&#039;il existe d&#039;autres façons de transmettre des informations que les vaisseaux.&lt;br /&gt;
&lt;br /&gt;
== Les familles d&#039;automates cellulaires célèbres ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreuses familles d&#039;automates cellulaires, mais nous n&#039;en verrons que deux ici.&lt;br /&gt;
&lt;br /&gt;
=== Les automates cellulaires élémentaires ===&lt;br /&gt;
&lt;br /&gt;
Cette famille est la plus simple des automates cellulaires. Ses membres n&#039;ont qu&#039;une dimension et deux états. Le voisinage d&#039;une cellule est composé de celles directement à sa droite et sa gauche et d&#039;elle-même.&lt;br /&gt;
&lt;br /&gt;
Puisque le voisinage prend 3 cellules et que chacune d&#039;elles a un état parmi 2, on a &amp;lt;math&amp;gt;2^3 = 8&amp;lt;/math&amp;gt; motifs possibles. Pour chaque motif il y a 2 résultats possibles, donc &amp;lt;math&amp;gt;2^8 = 256&amp;lt;/math&amp;gt; règles possibles pour un automate cellulaire de cette famille. Depuis les travaux de S. Wolfram sur cette famille, chacune de ces règles est nommée par le résultat de ses motifs convertit en décimal. Ainsi, la règle suivante est la 103 :&lt;br /&gt;
[[Fichier:regle_103.jpg|100px]]&lt;br /&gt;
Car&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;111   110   101   100   011   010   001   000&lt;br /&gt;
 0     1     1     0     0     1     1     1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
Soit &amp;lt;math&amp;gt;01100111_{(2)} = 103_{(10)}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Règles intéressantes ====&lt;br /&gt;
&lt;br /&gt;
Certaines de ces 256 règles ont des propriétés particulières. Voici 3 d&#039;entre elles :&lt;br /&gt;
&lt;br /&gt;
===== Règle 22 =====&lt;br /&gt;
&lt;br /&gt;
Lorsque la configuration initiale est composée d&#039;une seule cellule vivante on obtient une approximation du triangle de Sierpiński.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_22.png|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===== Règle 30 =====&lt;br /&gt;
&lt;br /&gt;
[https://demonstrations.wolfram.com/UsingRule30ToGeneratePseudorandomRealNumbers/#more Selon Wolfram Research], en raison de son comportement local imprévisible et son comportement global chaotique, cet automate cellulaire peut être utilisé comme générateur de nombres pseudo-aléatoires.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_30.png|500px]]&lt;br /&gt;
&lt;br /&gt;
===== Règle 110 =====&lt;br /&gt;
&lt;br /&gt;
Cette règle a été prouvée [[#Turing-universelle|Turing-universelle]].&lt;br /&gt;
&lt;br /&gt;
[[Fichier:regle_110.jpg|500px]]&lt;br /&gt;
&lt;br /&gt;
=== Automates cellulaires type &amp;quot;Vie&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ces automates sont bi-dimensionnels et utilisent le voisinage de Moore. Leurs règles peuvent toutes s&#039;écrire sous la forme &amp;lt;math&amp;gt;Bx_1,...,x_n/Sy_1,...,y_m&amp;lt;/math&amp;gt; avec &amp;lt;math&amp;gt;x&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse naître et &amp;lt;math&amp;gt;y&amp;lt;/math&amp;gt; le nombre de cellules voisines vivantes nécessaires pour qu&#039;une cellule puisse survivre.&lt;br /&gt;
&lt;br /&gt;
==== Le jeu de la vie de John H. Conway ====&lt;br /&gt;
&lt;br /&gt;
Le jeu de la vie est certainement l&#039;automate cellulaire le plus connu du grand publique. Il a été imaginé par John H. Conway en 1970.&lt;br /&gt;
&lt;br /&gt;
Sa règle est la suivante :&lt;br /&gt;
* Une cellule morte nait si elle a exactement 3 cellules voisines vivantes&lt;br /&gt;
* Une cellule vivante survie si elle a 2 ou 3 cellules voisines vivantes.&lt;br /&gt;
* Dans les autres cas elle sera morte.&lt;br /&gt;
Cette règle peut donc s&#039;écrire &amp;lt;math&amp;gt;B3/S23&amp;lt;/math&amp;gt;.&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Voisinage_moore.png&amp;diff=13885</id>
		<title>Fichier:Voisinage moore.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Voisinage_moore.png&amp;diff=13885"/>
		<updated>2022-05-27T15:28:19Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Voisinage de Moore&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voisinage de Moore&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Voisinage_von_neumann.png&amp;diff=13884</id>
		<title>Fichier:Voisinage von neumann.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Voisinage_von_neumann.png&amp;diff=13884"/>
		<updated>2022-05-27T15:27:58Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Voisinage de von Neumann&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Voisinage de von Neumann&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Regle_110.jpg&amp;diff=13875</id>
		<title>Fichier:Regle 110.jpg</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Regle_110.jpg&amp;diff=13875"/>
		<updated>2022-05-27T14:54:37Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Automate cellulaire élémentaire 110&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Automate cellulaire élémentaire 110&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Regle_30.png&amp;diff=13867</id>
		<title>Fichier:Regle 30.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Regle_30.png&amp;diff=13867"/>
		<updated>2022-05-27T13:54:00Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Automate cellulaire élémentaire 30&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Automate cellulaire élémentaire 30&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Regle_22.png&amp;diff=13866</id>
		<title>Fichier:Regle 22.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Regle_22.png&amp;diff=13866"/>
		<updated>2022-05-27T13:53:43Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Automate cellulaire élémentaire 22&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Automate cellulaire élémentaire 22&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Regle_103.jpg&amp;diff=13865</id>
		<title>Fichier:Regle 103.jpg</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Regle_103.jpg&amp;diff=13865"/>
		<updated>2022-05-27T13:25:54Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Visualisation de la règle élémentaire 103&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Visualisation de la règle élémentaire 103&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13864</id>
		<title>Automates cellulaires</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13864"/>
		<updated>2022-05-27T13:20:12Z</updated>

		<summary type="html">&lt;p&gt;Mluque : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Création en cours.&lt;br /&gt;
&lt;br /&gt;
Ce projet avait pour but d&#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&#039;on peut retrouver chez certains.&lt;br /&gt;
&lt;br /&gt;
== Définitions ==&lt;br /&gt;
&lt;br /&gt;
=== Définition simple ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire est une grille régulière dont les cases sont appelées &amp;amp;laquo; cellules &amp;amp;raquo;. Chacune a un &amp;amp;laquo; état &amp;amp;raquo; parmi un ensemble fini. L&#039;état d&#039;une cellule au &amp;amp;laquo; tour &amp;amp;raquo; t+1 est définit en fonction de cet état et celui de l&#039;ensemble fini de cellules &amp;amp;laquo; voisinage &amp;amp;raquo; au tour t, par la &amp;amp;laquo; règle &amp;amp;raquo; de l&#039;automate cellulaire. Lorsque toutes les cellules ont été mises à jour, on parle de &amp;amp;laquo; génération &amp;amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
=== Définition formelle ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; est définit par le 4-uplet &amp;lt;math&amp;gt;(d,Q,V,\delta)&amp;lt;/math&amp;gt; tel que :&lt;br /&gt;
* &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; est un entier positif, la dimension de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Son réseau est donc &amp;lt;math&amp;gt;\mathbb{Z}^d&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; est l&#039;ensemble fini des états des cellules de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V \subseteq \mathbb{Z}^d&amp;lt;/math&amp;gt;, un sous-ensemble fini du réseau, le voisinage. &amp;lt;math&amp;gt;V = \{v_1,\ldots,v_a\}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;\delta : Q^a \rightarrow Q&amp;lt;/math&amp;gt; est la règle locale avec &amp;lt;math&amp;gt;a = |V|&amp;lt;/math&amp;gt;&lt;br /&gt;
On peut donc définir la fonction globale d&#039;évolution de l&#039;automate &amp;lt;math&amp;gt;F_\delta : Q^{\mathbb{Z}^d} \rightarrow Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt; définit par &amp;lt;math&amp;gt;F_\delta (c) = z \mapsto \delta\bigl(c(z+v_1),\ldots,c(z+v_a)\bigr)&amp;lt;/math&amp;gt; pour tout &amp;lt;math&amp;gt;c \in Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classifications ==&lt;br /&gt;
&lt;br /&gt;
Bien que les deux classifications qui sont décrites ci-dessous peuvent être retrouvées dans les travaux de certains chercheurs, il est commun de décrire un automate en fonction de leurs caractéristiques particulières sans pour autant les séparer en classes.&lt;br /&gt;
&lt;br /&gt;
=== Classification de Wolfram ===&lt;br /&gt;
&lt;br /&gt;
Stephen Wolfram classe les automates cellulaires en 4 classes selon leur comportement avec des configurations initiales aléatoires :&lt;br /&gt;
# Stable : Après un certain nombre de générations, une configuration se répète à l&#039;infini.&lt;br /&gt;
# Cyclique : Après un certain nombre de générations, une série de configurations se répètent périodiquement.&lt;br /&gt;
# Chaotique : Comportement chaotique et génération de motifs apériodiques.&lt;br /&gt;
# Complexe : Apparition de structures complexes possédants divers propriétés comme la capacité de se mouvoir ou de se préserver malgré des perturbations.&lt;br /&gt;
&lt;br /&gt;
L&#039;une des principales critiques de cette classification réside dans son incapacité à déterminer si un automate cellulaire est Turin-universel, venant du fait que Wolfram ne définit la classe qu&#039;à partir de configurations initiales aléatoires, mais pas de structure particulière créée spécifiquement. Malgré cela, cette classification reste la plus étudiée.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_wolfram.png|750px]]&lt;br /&gt;
&lt;br /&gt;
Christopher Langton propose d&#039;envisager ces classes dans un continuum.&lt;br /&gt;
&lt;br /&gt;
[[Fichier:classification_langton.png|250px]]&lt;br /&gt;
&lt;br /&gt;
=== Classification d&#039;Eppstein ===&lt;br /&gt;
&lt;br /&gt;
Il existe une deuxième classification, proposée par David Eppstein. Les automates sont séparés en 4 classes :&lt;br /&gt;
# Expansion obligatoire : N&#039;importe quel motif initial s&#039;étend indéfiniment dans toutes les directions.&lt;br /&gt;
# Expansion impossible : Aucun motif ne peut s&#039;étendre au-delà de ses limites initiales.&lt;br /&gt;
# Contraction impossible : Les motifs ne s&#039;étendent pas forcément indéfiniment, mais ne peuvent jamais se réduire en-deçà de leur limites initiales.&lt;br /&gt;
# Expansion et contraction possibles : Seuls ces cas peuvent contenir des vaisseaux.&lt;br /&gt;
&lt;br /&gt;
À l&#039;heure actuelle, les automates qui ont été prouvés Turing-universels appartiennent tous à la 4ème classe. Cependant il n&#039;a pas été démontré que les autres classes ne peuvent pas contenir d&#039;automate Turing-universel puisqu&#039;il existe d&#039;autres façons de transmettre des informations que les vaisseaux.&lt;br /&gt;
&lt;br /&gt;
== Les familles d&#039;automates cellulaires célèbres ==&lt;br /&gt;
&lt;br /&gt;
Il existe de nombreuses familles d&#039;automates cellulaires, mais nous n&#039;en verrons que deux ici.&lt;br /&gt;
&lt;br /&gt;
=== Les automates cellulaires élémentaires ===&lt;br /&gt;
&lt;br /&gt;
Cette famille est la plus simple des automates cellulaires. Ses membres n&#039;ont qu&#039;une dimension et deux états. Le voisinage d&#039;une cellule est composé de celles directement à sa droite et sa gauche et d&#039;elle-même.&lt;br /&gt;
&lt;br /&gt;
Puisque le voisinage prend 3 cellules et que chacune d&#039;elles a un état parmi 2, on a &amp;lt;math&amp;gt;2^3 = 8&amp;lt;/math&amp;gt; motifs possibles. Pour chaque motif il y a 2 résultats possibles, donc &amp;lt;math&amp;gt;2^8 = 256&amp;lt;/math&amp;gt; règles possibles pour un automate cellulaire de cette famille. Depuis les travaux de S. Wolfram sur cette famille, chacune de ces règles est nommée par le résultat de ses motifs convertit en décimal.&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Classification_langton.png&amp;diff=13863</id>
		<title>Fichier:Classification langton.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Classification_langton.png&amp;diff=13863"/>
		<updated>2022-05-27T13:02:41Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Classification des automates cellulaires de Stephen Wolfram, dans le continuum proposé par Christopher Langton&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Classification des automates cellulaires de Stephen Wolfram, dans le continuum proposé par Christopher Langton&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Classification_wolfram.png&amp;diff=13862</id>
		<title>Fichier:Classification wolfram.png</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Fichier:Classification_wolfram.png&amp;diff=13862"/>
		<updated>2022-05-27T12:47:33Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Classification des automates cellulaires de Stephen Wolfram&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Classification des automates cellulaires de Stephen Wolfram&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13861</id>
		<title>Automates cellulaires</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13861"/>
		<updated>2022-05-27T10:57:10Z</updated>

		<summary type="html">&lt;p&gt;Mluque : &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Création en cours.&lt;br /&gt;
&lt;br /&gt;
Ce projet avait pour but d&#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&#039;on peut retrouver chez certains.&lt;br /&gt;
&lt;br /&gt;
== Définitions ==&lt;br /&gt;
&lt;br /&gt;
=== Définition simple ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire est une grille régulière dont les cases sont appelées &amp;amp;laquo; cellules &amp;amp;raquo;. Chacune a un &amp;amp;laquo; état &amp;amp;raquo; parmi un ensemble fini. L&#039;état d&#039;une cellule au &amp;amp;laquo; tour &amp;amp;raquo; t+1 est définit en fonction de cet état et celui de l&#039;ensemble fini de cellules &amp;amp;laquo; voisinage &amp;amp;raquo; au tour t, par la &amp;amp;laquo; règle &amp;amp;raquo; de l&#039;automate cellulaire. Lorsque toutes les cellules ont été mises à jour, on parle de &amp;amp;laquo; génération &amp;amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
=== Définition formelle ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; est définit par le 4-uplet &amp;lt;math&amp;gt;(d,Q,V,\delta)&amp;lt;/math&amp;gt; tel que :&lt;br /&gt;
* &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; est un entier positif, la dimension de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Son réseau est donc &amp;lt;math&amp;gt;\mathbb{Z}^d&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; est l&#039;ensemble fini des états des cellules de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V \subseteq \mathbb{Z}^d&amp;lt;/math&amp;gt;, un sous-ensemble fini du réseau, le voisinage. &amp;lt;math&amp;gt;V = \{v_1,\ldots,v_a\}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;\delta : Q^a \rightarrow Q&amp;lt;/math&amp;gt; est la règle locale avec &amp;lt;math&amp;gt;a = |V|&amp;lt;/math&amp;gt;&lt;br /&gt;
On peut donc définir la fonction globale d&#039;évolution de l&#039;automate &amp;lt;math&amp;gt;F_\delta : Q^{\mathbb{Z}^d} \rightarrow Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt; définit par &amp;lt;math&amp;gt;F_\delta (c) = z \mapsto \delta\bigl(c(z+v_1),\ldots,c(z+v_a)\bigr)&amp;lt;/math&amp;gt; pour tout &amp;lt;math&amp;gt;c \in Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classifications ==&lt;br /&gt;
&lt;br /&gt;
=== Classification de Wolfram ===&lt;br /&gt;
&lt;br /&gt;
Stephen Wolfram classe les automates cellulaires en 4 classes selon leur comportement avec des configurations initiales aléatoires :&lt;br /&gt;
# Stable : Après un certain nombre de générations, une configuration se répète à l&#039;infini.&lt;br /&gt;
# Cyclique : Après un certain nombre de générations, une série de configurations se répètent périodiquement.&lt;br /&gt;
# Chaotique : Comportement chaotique et génération de motifs apériodiques.&lt;br /&gt;
# Complexe : Apparition de structures complexes possédants divers propriétés comme la capacité de se mouvoir ou de se préserver malgré des perturbations.&lt;br /&gt;
&lt;br /&gt;
L&#039;une des principales critiques de cette classification réside dans son incapacité à déterminer si un automate cellulaire est Turin-universel, venant du fait que Wolfram ne définit la classe qu&#039;à partir de configurations initiales aléatoires, mais pas de structure particulière créée spécifiquement. Malgré cela, cette classification reste la plus étudiée.&lt;br /&gt;
&lt;br /&gt;
[image]&lt;br /&gt;
&lt;br /&gt;
Christopher Langton propose d&#039;envisager ces classes dans un continuum.&lt;br /&gt;
&lt;br /&gt;
[image]&lt;br /&gt;
&lt;br /&gt;
=== Classification d&#039;Eppstein ===&lt;br /&gt;
&lt;br /&gt;
Il existe une deuxième classification, proposée par David Eppstein. Les automates sont séparés en 4 classes :&lt;br /&gt;
# Expansion obligatoire : N&#039;importe quel motif initial s&#039;étend indéfiniment dans toutes les directions.&lt;br /&gt;
# Expansion impossible : Aucun motif ne peut s&#039;étendre au-delà de ses limites initiales.&lt;br /&gt;
# Contraction impossible : Les motifs ne s&#039;étendent pas forcément indéfiniment, mais ne peuvent jamais se réduire en-deçà de leur limites initiales.&lt;br /&gt;
# Expansion et contraction possibles : Seuls ces cas peuvent contenir des vaisseaux.&lt;br /&gt;
&lt;br /&gt;
À l&#039;heure actuelle, les automates qui ont été prouvés Turing-universels appartiennent tous à la 4ème classe. Cependant il n&#039;a pas été démontré que les autres classes ne peuvent pas contenir d&#039;automate Turing-universel puisqu&#039;il existe d&#039;autres façons de transmettre des informations que les vaisseaux.&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
	<entry>
		<id>http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13860</id>
		<title>Automates cellulaires</title>
		<link rel="alternate" type="text/html" href="http://os-vps418.infomaniak.ch:1250/mediawiki/index.php?title=Automates_cellulaires&amp;diff=13860"/>
		<updated>2022-05-26T18:29:46Z</updated>

		<summary type="html">&lt;p&gt;Mluque : Page créée avec « Création en cours.  Ce projet avait pour but d&amp;#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&amp;#039;on peut retrouver chez c... »&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Création en cours.&lt;br /&gt;
&lt;br /&gt;
Ce projet avait pour but d&#039;étudier le fonctionnement des automates cellulaires et les caractéristiques particulières que l&#039;on peut retrouver chez certains.&lt;br /&gt;
&lt;br /&gt;
== Définitions ==&lt;br /&gt;
&lt;br /&gt;
=== Définition simple ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire est une grille régulière dont les cases sont appelées &amp;amp;laquo; cellules &amp;amp;raquo;. Chacune a un &amp;amp;laquo; état &amp;amp;raquo; parmi un ensemble fini. L&#039;état d&#039;une cellule au &amp;amp;laquo; tour &amp;amp;raquo; t+1 est définit en fonction de cet état et celui de l&#039;ensemble fini de cellules &amp;amp;laquo; voisinage &amp;amp;raquo; au tour t, par la &amp;amp;laquo; règle &amp;amp;raquo; de l&#039;automate cellulaire. Lorsque toutes les cellules ont été mises à jour, on parle de &amp;amp;laquo; génération &amp;amp;raquo;.&lt;br /&gt;
&lt;br /&gt;
=== Définition formelle ===&lt;br /&gt;
&lt;br /&gt;
Un automate cellulaire &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt; est définit par le 4-uplet &amp;lt;math&amp;gt;(d,Q,V,\delta)&amp;lt;/math&amp;gt; tel que :&lt;br /&gt;
* &amp;lt;math&amp;gt;d&amp;lt;/math&amp;gt; est un entier positif, la dimension de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;. Son réseau est donc &amp;lt;math&amp;gt;\mathbb{Z}^d&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;Q&amp;lt;/math&amp;gt; est l&#039;ensemble fini des états des cellules de &amp;lt;math&amp;gt;A&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;V \subseteq \mathbb{Z}^d&amp;lt;/math&amp;gt;, un sous-ensemble fini du réseau, le voisinage. &amp;lt;math&amp;gt;V = \{v_1,\ldots,v_a\}&amp;lt;/math&amp;gt;&lt;br /&gt;
* &amp;lt;math&amp;gt;\delta : Q^a \rightarrow Q&amp;lt;/math&amp;gt; est la règle locale avec &amp;lt;math&amp;gt;a = |V|&amp;lt;/math&amp;gt;&lt;br /&gt;
On peut donc définir la fonction globale d&#039;évolution de l&#039;automate &amp;lt;math&amp;gt;F_\delta : Q^{\mathbb{Z}^d} \rightarrow Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt; définit par &amp;lt;math&amp;gt;F_\delta (c) = z \mapsto \delta\bigl(c(z+v_1),\ldots,c(z+v_a)\bigr)&amp;lt;/math&amp;gt; pour tout &amp;lt;math&amp;gt;c \in Q^{\mathbb{Z}^d}&amp;lt;/math&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Classifications ==&lt;br /&gt;
&lt;br /&gt;
=== Classification de Wolfram ===&lt;br /&gt;
&lt;br /&gt;
Stephen Wolfram classe les automates cellulaires en 4 classes selon leur comportement avec des configurations initiales aléatoires:&lt;br /&gt;
# Stable : Après un certain nombre de générations, une configuration se répète à l&#039;infini.&lt;br /&gt;
# Cyclique : Après un certain nombre de générations, une série de configurations se répètent périodiquement.&lt;br /&gt;
# Chaotique : Comportement chaotique et génération de motifs apériodiques.&lt;br /&gt;
# Complexe : Apparition de structures complexes possédants divers propriétés comme la capacité de se mouvoir ou de se préserver malgré des perturbations.&lt;br /&gt;
&lt;br /&gt;
L&#039;une des principales critiques de cette classification réside dans son incapacité à déterminer si un automate cellulaire est Turin-universel, venant du fait que Wolfram ne définit la classe qu&#039;à partir de configurations initiales aléatoires, mais pas de structure particulière créée spécifiquement.&lt;br /&gt;
&lt;br /&gt;
[image]&lt;br /&gt;
&lt;br /&gt;
Christopher Langton propose d&#039;envisager ces classes dans un continuum.&lt;br /&gt;
&lt;br /&gt;
[image]&lt;br /&gt;
&lt;br /&gt;
=== Classification d&#039;Eppstein ===&lt;/div&gt;</summary>
		<author><name>Mluque</name></author>
	</entry>
</feed>