Reportez-vous à la fin de cet article pour obtenir des éclaircissements sur la définition des automates min-tas.
On peut imaginer utiliser diverses structures de données pour stocker des informations destinées à être utilisées par des machines à états. Par exemple, les automates déroulants stockent des informations dans une pile et les machines Turing utilisent une bande. Les machines d'état utilisant des files d'attente et celles utilisant deux piles ou bandes multiples se sont révélées être équivalentes en puissance aux machines de Turing.
Imaginez une machine min-tas. Cela fonctionne exactement comme un automate à pile, avec les exceptions suivantes:
- Au lieu de regarder la dernière chose que vous avez ajoutée au tas, vous ne pouvez regarder que le plus petit élément (avec le classement défini machine par machine) actuellement sur le tas.
- Au lieu d’obtenir la suppression de la dernière chose ajoutée au segment de mémoire, vous ne pouvez supprimer qu’un des éléments les plus petits (avec le classement défini machine par machine) actuellement sur le segment de mémoire.
- Au lieu d’obtenir l’ajout d’un élément au sommet du segment de mémoire, vous pouvez uniquement ajouter un élément au segment de mémoire, sa position étant déterminée en fonction des autres éléments du segment (le classement étant défini machine par machine).
Cette machine peut accepter toutes les langues normales, simplement en n'utilisant pas le tas. Il peut également accepter la langue en ajoutant 's au tas, et retirer du tas quand il lit . Il peut accepter une variété d'autres langues sans contexte. Cependant, il ne peut pas accepter, par exemple, (indiqué sans preuve). EDIT: ou peut-il? Je ne pense pas que ce soit le cas, mais j'ai déjà été surpris par le passé et je suis sûr que je continuerai de l'être lorsque mes hypothèses me permettront de continuer à faire de moi un ... bien.
Peut-il accepter n'importe quelle langue contextuelle ou complète de Turing?
Plus généralement, quelles recherches, le cas échéant, ont été menées dans cette direction? Quels sont les résultats, le cas échéant? Je m'intéresse également à d'autres types de machines à états exotiques, éventuellement celles utilisant d'autres structures de données pour le stockage ou divers types de restrictions d'accès (par exemple, la façon dont les LBA sont des MT restreintes). Les références sont appréciées. Je m'excuse par avance si cette question démontre de l'ignorance.
Définition formelle:
Je fournis quelques définitions plus détaillées des automates min-tas ici afin de clarifier la discussion ultérieure dans les questions qui référencent ce matériau.
Nous définissons un automate min-tas non déterministe de type 1 comme un 7-tuple où ...
- est un ensemble fini d'états non vides;
- est l'état initial;
- est l'ensemble des états acceptants;
- est un alphabet fini, non vide;
- γ ∈ r w ( γ ) ∈ N w ( γ 1 ) = w ( γ 2 ) est un alphabet fini, non vide, où le poids d'un symbole , , est tel que ;
- est le symbole spécial du bas du tas;
- est la fonction de transition.
La fonction de transition fonctionne en supposant un tas initialement vide composé uniquement de . La fonction de transition peut ajouter au tas une collection arbitraire (finie, mais éventuellement vide ou répétée) d'éléments . Sinon, la fonction de transition peut supprimer une instance de l'élément avec le poids le plus bas de tous les éléments restant sur le segment de mémoire (c'est-à-dire l'élément situé au-dessus du segment de mémoire). La fonction de transition ne peut utiliser que l’instance de symbole la plus haute (c’est-à-dire de poids minimal) pour déterminer une transition donnée.
En outre, définissez un automate déterministe min-tas de type 1 comme un automate min-tas non déterministe de type 1 qui vérifie la propriété suivante: pour toutes les chaînes telles que et , .
Définissez également un automate min-tas non déterministe de type 2 exactement identique à un automate min-tas non déterministe de type 1, à l'exception des modifications suivantes:
- γ ∈ r w ( γ ) ∈ N w ( γ 1 ) = w ( γ 2 ) γ 1 = γ 2 est un alphabet fini, non vide, où le poids d'un symbole , , est tel que n'implique pas nécessairement ; En d'autres termes, différents symboles de tas peuvent avoir le même poids.
- Lorsque des instances de symboles de segment distincts ayant le même poids sont ajoutées au segment de mémoire, leur ordre relatif est conservé selon un ordre de pile de type dernier entré, premier sorti (LIFO).
Merci à Raphael d'avoir signalé cette définition plus naturelle, qui capture (et étend) les langages sans contexte.
Quelques résultats démontrés jusqu'à présent:
- Les automates min-tas de type 1 reconnaissent un ensemble de langages qui n'est ni un sous-ensemble ni un sur-ensemble des langages sans contexte. [ 1 , 2 ]
- Les automates min-tas de type 2, de par leur définition, reconnaissent un ensemble de langages qui est un sur-ensemble correct des langages sans contexte, ainsi qu'un sur-ensemble correct des langages acceptés par les automates min-tas de type 1.
- Les langues acceptées par les automates à tas min de type 1 semblent être fermées sous l'union, la concaténation et l'étoile de Kleene, mais pas sous la complémentation [ 1 ], l'intersection ou la différence;
- Les langues acceptées par les automates non déterministes de type 1 non déterministes semblent être un surensemble des langues acceptées par les automates déterministes de type 1 ministe.
Il y a peut-être quelques autres résultats que j'ai manqués. Plus de résultats sont (éventuellement) sur le chemin.
Questions de suivi
- Fermeture en cours d'inversion? - ouvert
- Fermeture en complémentation? -- Non!
- Le non déterminisme augmente-t-il le pouvoir? -- Oui?
- Est pour le type 2? - ouvert
- L'ajout de tas augmente-t-il la puissance du type 1? - pour (?)
- L'ajout d'une pile augmente-t-il la puissance du type 1? - ouvert