Problème entièrement résolu
-
Pourquoi aucune machine finie ne peut apparier les 0 et les 1, quel que soit le nombre d'états qu'on lui donne 8 étapes
L'automate de parité présent sur cette page possède deux états, et il lit 101101, six symboles, sans jamais avoir besoin d'un troisième. Donnez-lui six millions de symboles, et il n'en demande toujours que deux. Que ne peut donc pas faire une machine ayant un nombre fixe d'états ? Et comment prouver qu'une machine n'existe pas, au lieu d'échouer simplement à en trouver une ?
-
Observez la machine dont vous disposez. L'automate de parité démarre dans e, et chaque 1 le fait basculer. Six symboles plus tard, il est de retour dans e et l'entrée est acceptée. Rien ne s'est accumulé en chemin : au sixième symbole, la machine est exactement dans le même état qu'elle aurait pu l'être au premier symbole.
-
Voilà toute la ressource disponible. La mémoire d'un automate fini déterministe réside dans l'état où il se trouve et rien d'autre. Aucun compteur, aucune pile, aucun ruban sur lequel écrire. Après avoir lu un préfixe quelconque, tout ce que la machine sait de ce préfixe est lequel de ses k états elle occupe désormais.
-
Trouvez donc une tâche qui nécessite visiblement davantage. Prenez les chaînes formées d'un certain nombre de zéros suivis d'exactement autant de uns. 01 en fait partie, 0011 aussi, mais pas 001, ni 0110.
-
Supposez qu'un automate fini déterministe à k états le reconnaisse. Ne demandez pas à quoi ressemble la machine — on ne vous le dira jamais. Donnez-lui simplement les k+1 préfixes composés de 0 à k zéros, et notez dans quel état chacun d'eux la laisse.
-
Principe des tiroirs. Il y a plus de préfixes que d'états, donc deux d'entre eux aboutissent au même endroit. Appelons-les 0ⁱ et 0ʲ avec i inférieur à j. À partir de cet instant, la machine ne peut plus les distinguer, et non pas parce qu'elle serait mal conçue. L'état est tout ce dont elle dispose, et les deux chaînes l'ont amenée dans le même.
-
Fournissez maintenant la même suite aux deux chaînes : i uns. Même état de départ, mêmes symboles, donc même état d'arrivée, et par conséquent même verdict. La machine n'a aucune marge de manœuvre pour faire autrement.
-
Or, les deux verdicts doivent différer. 0ⁱ1ⁱ possède des nombres d'occurrences identiques et fait partie du langage ; 0ʲ1ⁱ n'en fait pas partie, car j n'est pas égal à i. L'une des chaînes doit être acceptée et l'autre refusée, pourtant la machine leur donne la même réponse. C'est l'hypothèse de son existence qui s'effondre.
-
Relisez l'argumentation et remarquez ce qui n'y figure jamais : une valeur particulière de k. Deux (la taille de l'automate de parité) ou deux milliards : dans tous les cas, k+1 préfixes sont plus nombreux que k états. Fixez toutefois un plafond à n, et le langage devient immédiatement reconnaissable par un automate fini : apparier jusqu'à N nécessite 2N+2 états, soit 22 pour N = 10 et 202 pour N = 100.
Réponse
Aucun automate fini ne le reconnaît, quelle que soit sa taille. La preuve ne nécessite aucun détail sur la façon dont la machine est construite, seulement le fait que k+1 éléments ne peuvent occuper k emplacements sans que deux d'entre eux n'en partagent un, et que partager un état équivaut à oublier. L'automate de parité montre la même chose en miniature : donnez-lui 0, puis 00, puis 000, et tous trois le laissent dans e, car il ne prend aucunement en compte les zéros.
Toute la difficulté réside dans ce plafond. Apparier jusqu'à N est facile et nécessite 2N+2 états, soit une paire supplémentaire pour chaque symbole qu'on souhaite atteindre, et ce nombre grandit sans s'arrêter : ainsi, chaque N particulier possède son automate, mais aucun automate ne convient pour tout N. Cet écart est la définition même de la « mémoire finie », et c'est pourquoi l'étape suivante après un automate fini déterministe est définie en lui ajoutant une pile : une mémoire non bornée, réintroduite précisément parce que son absence a un coût. -
Références (2)
- Insight block 3 — the nerve-net model the finite automaton descends from: W. S. McCulloch and W. Pitts, "A logical calculus of the ideas immanent in nervous activity." Bulletin of Mathematical Biophysics 5(4), 115–133, 1943.
- Insight block 1 — the theorem that fixes the minimum state count: A. Nerode, "Linear automaton transformations." Proceedings of the American Mathematical Society 9(4), 541–544, 1958.