Je pense que la réponse est affirmative. Il y a peut-être une preuve plus simple, mais voici un croquis d'une preuve qui utilise l'algèbre linéaire.
Comme domotorp, nous verrons une configuration d'un automate XOR à n états comme un vecteur dans V = GF (2) n .
Soit L un langage fini sur un alphabet Σ = {1,…, k }, et considérons un automate XOR pour L avec le nombre minimum d'états. Soit n le nombre d'états. Nous supposons que les états sont étiquetés 1,…, n et l'état 1 est l'état initial.
Nous avons d'abord mis en place la notation. Soit v 0 = (1, 0,…, 0) T ∈ V le vecteur élémentaire correspondant à l'état initial, et soit s le vecteur ligne dont la i ème entrée est 1 si et seulement si l'état i est un état accepteur. Le sous-espace R = { v : s v = 0} de V correspond aux vecteurs de configuration rejetés.
Pour chaque a ∈Σ, soit A a la matrice n × n sur GF (2) qui représente la transition provoquée par la lettre a . Par exemple, le vecteur de configuration après lecture de la chaîne d'entrée a b est A b A a v 0 . Pour une chaîne σ = a 1 … a t , on note le produit A a t … A a 1 par M ( σ ). Soit S = { A 1,…, A k }.
Un sous - espace W de V est dit S - invariant lorsque A W ⊆ W pour chaque A ∈ S . Dans notre contexte, cela signifie qu'une fois que le vecteur de configuration passe dans W , il n'y a aucun moyen de sortir de W en lisant plus de lettres.
Parce que cet automate XOR a le nombre minimum d'états, nous avons les propriétés suivantes.
- Le seul sous-espace S -invariant de V qui contient v 0 est V lui-même. En effet, si W est un sous-espace S- invariant approprié contenant v 0 , alors nous pouvons utiliser W à la place de V , contredisant la minimalité.
- Le seul sous-espace S -invariant contenu dans R est {0}. En effet, si W est un sous-espace S non invariant contenu dans R , alors nous pouvons utiliser l'espace vectoriel quotient V / W à la place de V , contredisant à nouveau la minimalité.
Parce que L est fini, laisser m soit un nombre entier plus grand que la longueur d'une chaîne de caractères dans L .
Lemme 1 . Pour toute chaîne σ de longueur au moins m , nous avons que M ( σ ) = 0.
Preuve. Premièrement, nous prouvons que pour toute chaîne σ de longueur au moins m , nous avons que M ( σ ) v 0 = 0. Soit W le sous-espace de V étendu par { M ( σ ) v 0 : σ est une chaîne de longueur au moins m }. Par définition, W est S -variant. Parce que l'automate XOR en question rejette ces chaînes σ , W est contenu dans R . Par conséquent W = {0}, ce qui signifie queM ( σ ) v 0 = 0 pour toutes ces chaînes σ .
Considérons maintenant tout vecteur v ∈ V . Parce que le seul sous-espace S -invariant de V qui contient v 0 est V lui-même, v peut être écrit comme une combinaison linéaire de vecteurs de la forme M ( τ ) v 0 pour certaines chaînes τ . Parce que M ( σ ) M ( τ ) v 0 = M ( τ σ ) v 0= 0 (cette dernière égalité découle du paragraphe précédent car la longueur de τ σ est au moins m ), elle considère que M ( σ ) v = 0. ■
Nous avons besoin d'un fait de plus de l'algèbre linéaire.
Lemme 2 . Soit A 1 , ..., A k être n × n matrices sur un corps, et définissent M ( σ ) comme ci - dessus. S'il y a m ≥0 tel que M ( σ ) = 0 pour chaque chaîne σ de longueur au moins m , alors les matrices A 1 ,…, A k sont simultanément similaires à des matrices triangulaires strictement inférieures (c'est-à-dire qu'il existe un n × n matrice non singulière P telle que les matrices P -1 A1 P ,…, P −1 A k P sont des triangles strictement inférieurs).
Le cas de k = 1 est une caractérisation bien connue des matrices nilpotentes, et le lemme 2 peut être démontré de la même manière.
Considérons maintenant l' automate XOR à n états dans lequel la matrice de transition correspondant au symbole a ∈Σ est donnée par P −1 A a P , le vecteur de configuration initial est donné par P −1 v 0 , et le vecteur caractéristique (ligne) de les Etats acceptant est donnée par s P . Par construction, cet automate XOR accepte le même langage L. Parce que les matrices de transition sont strictement triangulaires inférieures, chaque front de transition dans cet automate XOR passe d'un état avec un index plus petit à un état avec un index plus grand, et donc cet automate XOR est acyclique. Bien que le vecteur de configuration initial puisse avoir plus d'un 1, il est facile de convertir cet automate XOR en un automate XOR habituel avec un seul état initial pour le même langage sans augmenter le nombre d'états ou ruiner l'acyclicité.