Les automates XOR (NXA) pour les langages finis bénéficient-ils des cycles?

14

Un automate Xor non déterministe (NXA) est syntaxiquement un NFA, mais un mot est dit accepté par NXA s'il a un nombre impair de chemins d'acceptation (au lieu d'au moins un chemin d'acceptation dans le cas NFA).

Il est facile de voir que pour un langage régulier fini , il existe un NFA minimal qui ne contient aucun cycle (si un cycle était à la fois accessible depuis l'état initial et que vous passez de celui-ci à un état acceptant - votre langue n'est pas fini).L

Ce n'est pas nécessairement le cas pour les NXA.

Notons la complexité d'état xor d'un langage L ,xsc(L)L

et par la complexité d'état xor acyclique de L (c'est-à-dire la taille du plus petit NXA acyclique qui accepte L ).axsc(L)LL

Est-il vrai que pour tout langage fini : a x s c ( L ) = x s c ( L ) ?L

axsc(L)=xsc(L) ?
RB
la source
Pourriez-vous donner un exemple de NXA contenant un (des) cycle (s) pour une langue finie?
Abuzer Yakaryilmaz du
2
S'il y a des cycles, il peut y avoir une infinité de chemins d'acceptation (si vous autorisez arêtes), vous devez donc interdire les ϵ- cycles. ϵϵ
Yuval Filmus
@Abuzer L'automate à un état sans états accepteurs en est un exemple. Je sais que c'est un exemple stupide mais c'est le point de la question, que chaque cycle est amovible.
domotorp
Btw, comment définissez-vous le cycle? Les voies menant à l'acceptation des États devraient être sans cycle?
domotorp

Réponses:

5

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) TV 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 1a t , on note le produit A a tA a 1 par M ( σ ). Soit S = { A 1,…, A k }.

Un sous - espace W de V est dit S - invariant lorsque A WW pour chaque AS . 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 vV . 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é.

Tsuyoshi Ito
la source
Comment l'utilisation de l'espace vectoriel quotient V / W se traduit-elle par l'utilisation d'un NXA avec <n états?
Abel Molina
@Abel: Soit W un sous-espace S-invariant non trivial contenu dans R. Alors chaque matrice A_a induit une cartographie linéaire UNEune¯ de V / W à lui-même (car W est S-invariant), et le vecteur ligne induit un mappage linéaire s¯de V / W à GF (2) (parce que W est contenu dans R). Parce que W n'est pas trivial, d: = dim (V / W) <n. Considérons maintenant une base de V / W qui contient v_0 mod W et écrivons des mappages linéairesUNEune¯ et cartographie linéaire s¯sur cette base sous forme de matrices et de vecteur de lignes, respectivement. Ces matrices et vecteur ligne définissent un automate XOR pour le même langage avec des états d (<n).
Tsuyoshi Ito
4

Je pense que je peux prouver que les cycles n'aident pas l'alphabet unaire.

Considérez la matrice M plus de F2 décrivant à partir de quel état dans quel état nous pouvons obtenir en une seule étape et le vecteur vn plus de F2 décrivant les états possibles de l'automate mod2 après n étapes, donc vn=Mnv0, où v0=(1,0,..,0)décrit l'état de départ. Si nous savons qu'après un certain tempst pas sv=0 (où sest le vecteur caractéristique des états accepteurs), cela signifie que nous sommes dans un certain sous-espace. La dimension deMnest strictement monotone décroissant pendant un certain temps, puis constant. Cela signifie que nous devons atteindre le subsapcesvn=0après au plus autant d'étapes, autant d'états que l'automate a. Mais il y a ensuite un automate sans cycle qui ne compte que la longueur du mot.

domotorp
la source