Les contre-automates ont été très étudiés dans le passé ancien du langage formel, dans le cadre de la théorie AFA et AFL (familles abstraites d'automates & langages) par des équipes américaines et françaises (Ginsberg, Greibach, ..., Nivat, Berstel, ...)
Les automates de compteur sont généralement définis comme des automates à états finis équipés de mémoire externe, consistant en un nombre naturel (ou plusieurs si vous avez plusieurs compteurs). Ce nombre peut être incrémenté, décrémenté et (généralement) testé pour zéro. Un calcul commence par zéro et n'est accepté que lorsque le compteur est nul à la fin, comparable à l'acceptation de pile vide de refoulement.
Si une telle machine a au moins deux compteurs de ce type, elle est équivalente à une machine de Turing, même dans le cas déterministe. La preuve de ce fait est par Minsky et peut être trouvée dans l'article wikipedia que vous avez lié. Le modèle est bien sûr lié à la machine d'enregistrement mentionnée dans la même page wikipedia. Les problèmes de codage mentionnés dans l'article de wikipedia ne sont pas importants dans ce paramètre ici car nous considérons les automates avec une bande d'entrée (après tout, nous devons lire une chaîne d'entrée) alors que wikipedia sur cette page ne suppose que des compteurs.
Ce compteur automate peut être vu comme un type spécial de pda, ayant un seul symbole de pile et un bas de pile (qui n'est jamais déplacé). Cela permet à l'automate de tester si le compteur / pile est nul et d'agir en conséquence.
Il existe en fait trois types de contre-automates. Combinez donc les résultats à bon escient ou vous vous retrouvez avec des contradictions (comme cela m'est arrivé dans le passé). Les trois types sont (strictement) inclus dans les langages sans contexte pour un compteur.
Le type ci-dessus stocke un entier (ou un nombre naturel, peu importe) et peut tester son contenu à zéro.
Les automates de compteurs aveugles stockent un entier mais ne peuvent pas tester zéro. Ils peuvent cependant compter sous zéro.
Les contre-automates partiellement aveugles ne peuvent pas tester zéro, mais stockent un nombre naturel. Si la machine essaie de descendre en dessous de zéro, elle s'arrête sans accepter. Il s'agit d'un type de stockage naturel pour modéliser les filets de Petri. Il est également associé au PDA, maintenant avec un seul symbole de pile sans le marqueur inférieur spécial (et donc le problème du test de zéro: nous restons coincés lorsque nous éclatons le dernier élément de la pile). Parfois, les noms des familles définies par les modèles de compteur respactif sont OCL, ROCL et 1-BLIND.
( D c )∗D = { w ∈ { a , b }∗∣ #une( w ) = #b( w ) }unebc
À titre d'exemple de recherche pertinente, Latteux et al ont un article non trivial "La famille des langues à guichet unique est fermée sous quotient" (qui concerne en fait ROCL).