Question

Étant donné une langue $ L $, définir l'ensemble de la longueur de $ L $ comme l'ensemble des longueurs de mots $ L $: $$ \ mathrm {LS} (L) = \ {| u | \ Mi u \ in L \} $$

Quels sont les ensembles d'entiers peuvent être l'ensemble de la longueur d'une langue régulière?

Était-ce utile?

La solution

Tout d'abord, une observation qui n'est pas cruciale mais pratique: l'ensemble $ \ mathscr {S} $ des ensembles d'entiers qui sont $ LS (L) $ pour une langue régulière $ L $ sur un alphabet non vide $ \ mathscr {A} $ ne dépend pas du choix de l'alphabet. Pour voir cela, considérer un automate fini qui reconnaît $ L $ ; les longueurs des mots qui sont $ L $ sont les longueurs des chemins sur l'automate considéré comme un graphe non marquée de l'état de départ à tout accepter état. vous pouvez en particulier réétiqueter chaque flèche à $ a $ et obtenir une langue régulière avec le même jeu de longueur sur l'alphabet $ \ {a \} $ . A l'inverse, si $ L $ est une langue régulière sur un alphabet d'un élément, il peut être injecté trivialement dans un alphabet plus grand, et le résultat est encore une langue régulière.

Par conséquent, nous recherchons des ensembles de longueur possibles pour les mots sur un alphabet singleton. Sur un alphabet singleton, la langue est l'ensemble de la longueur écrite dans unaire: $ \ mathrm {LS} (L) = \ {n \ in \ mathbb {N} \ mid un ^ n \ in L \} $ . Ces langues sont appelées langues unaire.

Soit $ L $ être une langue régulière, et d'envisager un automate fini déterministe (DFA) qui reconnaît $ L $ . L'ensemble des longueurs des mots de $ L $ est l'ensemble des longueurs des chemins dans le DFA vu comme un graphe orienté qui commencent sur l'état de début et de fin dans l'un des l'acceptent états. Un DFA sur un alphabet un élément est assez apprivoisés (NFA serait plus sauvage): il est soit une liste finie ou une liste circulaire. Si la liste est finie, le nombre des états de $ 0 $ $ h $ suivant l'ordre de la liste; si elle est circulaire, le nombre des états de $ 0 $ $ h $ suite à la tête de la liste, et $ h $ $ h + r $ le long de la boucle.

liste en forme d'automates

Soit $ F $ l'ensemble des indices d'accepter les états jusqu'à $ h $ , et $ G $ l'ensemble des indices d'accepter les états de $ h $ $ h + r $ . Ensuite,

$$ \ mathrm {LS} (l) = F \ cup \ {k \, r + x \ mi x \ in G, k \ in \ mathbb {N} \} $$

A l'inverse, laissez $ h $ et $ r $ deux entiers et $ F $ et $ G $ deux ensembles finis d'entiers tels que $ \ forall x \ in F, x \ le h $ et $ \ forall x \ G, h \ le x \ le h + r $ . Ensuite, l'ensemble $ L_ {F, G, r} = \ {a ^ {k \, r + x} \ mi x \ G, k \ in \ mathbb {N} \} $ est une langue régulière: il est la langue reconnue par le DFA décrit ci-dessus. Une expression régulière qui décrit cette langue est a ^ F $ milieu des années å ^ {G} (a ^ r) ^ * $ .

Pour résumer en anglais, les jeux de longueur des langues régulières sont les ensembles de nombres entiers qui sont periodic¹ au-dessus d'une certaine valeur .

¹ Pour accrocher à un notion bien établie , périodique signifie que la fonction caractéristique de l'ensemble (qui est une fonction $ \ mathbb {N} \ à \ {\ mathtt {false}, \ mathtt {true} \} $ que nous levons à une fonction $ \ mathbb {Z} \ à \ {\ {mathtt false}, \ mathtt {true} \} $ ) est périodique. Périodique au-dessus de certains moyens de valeur que la fonction limitée à $ [h, + \ infty [$ peut être prolongée dans une fonction périodique.

Autres conseils

Tout fini sous-ensemble $ \ {\ ell_1, \ ldots, \ ell_n \} \ subset \ mathbb {N} $ peut être la longueur-ensemble d'une langue régulière $ L $, puisque vous pouvez prendre un alphabet unaire $ \ {0 \} $ et définir l $ en $ $ \ {0 ^ {\ ell_1}, \ ldots, 0 ^ {\ ell_n} \} $ (ce qui comprend la langue vide et $ \ {\ varepsilon \} $).

Maintenant, pour les ensembles infinis. Je vais vous donner une brève analyse, bien que la réponse finale pourrait ne pas être assez explicite. Je ne développerai pas à moins que vous me demandez, parce que je pense qu'il est intuitif et parce que je n'ai pas beaucoup de temps maintenant.

Soit $ r_1, R_2 $ sont des expressions régulières générant langues $ L_1 $ et $ L_2 $, respectivement. Il est (un peu) facile de voir que

  • $ \ mathsf {LS} (L (r_1 + r_2)) = \ mathsf {LS} (L_1 \ cup L_2) = \ mathsf {LS} (L_1) \ cup \ mathsf {LS} (L_2) $.
  • $ \ mathsf {LS} (L (r_1r_2)) = \ mathsf {LS} (L_1L_2) = \ {\ ell_1 + \ ell_2: \ ell_1 \ in \ mathsf {LS} (L_1), \ ell_2 \ in \ mathsf {LS} (L_2) \} $. Ceci est notée $ \ {mathsf LS} (L_1) + \ {mathsf LS} (L_2) $.
  • $$ \ mathsf {LS} (L (r_1 ^ *)) = \ {0 \} \ cup \ bigcup_ {n \ geq 1} \ Big \ {\ sum_ {i = 1} ^ n \ ell_i: (\ ell_1, \ ldots, \ ell_n) \ dans \ big (\ mathsf {LS} (L_1) \ big) ^ n \ Big \}. $$

Ainsi, les ensembles possibles d'entiers qui peuvent être la longueur ensemble d'une langue régulière sont celles qui sont des sous-ensembles finis de $ \ mathbb {N} $ ou qui peut être construit en prenant des sous-ensembles finis S_1 $, S_2 $ de $ \ mathbb {N} $ et en utilisant les formules précédentes un nombre fini de fois.

Ici, nous utilisons que les langues régulières sont construites, par définition, en appliquant les règles pour la construction d'une expression régulière un nombre fini de fois. Notez que nous pouvons commencer par un sous-ensemble fini de $ \ mathbb {N} $, même si dans les expressions régulières, nous commençons par mots de longueur 0 et 1 uniquement le cas de base. Cela se justifie aisément par le fait que tous les (finis) sont des mots (finis) concaténations des symboles de l'alphabet.

Selon le lemme de pompage pour les langues régulières, il existe un $ n $ tel qu'un string $ x $ de longueur au moins égale à peut être écrit $ n $ sous la forme suivante: $$ x = uvw $$ Où les trois conditions suivantes sont: $$ | uv | 0 $$ $$ uv ^ {k} w \ in L $$

Cela nous donne un test pour les ensembles: un ensemble ne peut pas être l'ensemble de la longueur d'une langue régulière à moins que tous ses éléments peuvent être exprimés en un certain ensemble arbitraire d'entiers non supérieur à un fixe $ n $, plus un multiple d'un non déterminé la valeur $ m $ (la longueur de $ v $), plus une certaine valeur finie arbitraire.

En d'autres termes, il semble que les ensembles possibles de longueurs linguistiques pour les langues régulières est la fermeture par rapport à l'union de jeu (comme discuté sous EDIT et EDIT2, grâce aux commentaires publiés) des ensembles comme suit: $$ \ {a + bn | n \ in \ mathbb {N} \} \ cup S $$ Pour fixe $ a, b \ in \ mathbb {N} $ et tous les ensembles finis $ S $, par le lemme de pompage pour les langues régulières (merci à Gilles pour pointage une erreur stupide dans ma version originale, par laquelle je définir l'ensemble $ \ mathbb {N} $).

EDIT: Un peu plus de discussion. Certes, tous les ensembles finis d'entiers sont des ensembles de longueur. En outre, l'union de deux ensembles de longueur doit également être un ensemble de longueur, comme cela doit être le complément d'un ensemble de longueur (donc d'intersection, d'où la différence). La raison est que les langues sont régulièrement fermés dans ces opérations. , La réponse que je donne ci-dessus est donc (peut-être) incomplète; en réalité, une union de ces ensembles est aussi l'ensemble de la longueur d'une certaine langue régulière (note que je l'ai abandonné nécessitant intersection, complément, la différence, etc., puisque ceux-ci sont couverts par le fait que les langues régulières sont fermées dans ces propriétés, comme discutais dans EDIT3,. Je pense que l'union n'est réellement nécessaire, même si les autres ont raison, ce qui pourrait ne pas être le cas)

EDIT2: Encore plus de discussion. La réponse donner I est fondamentalement où vous finiriez si vous avez pris la réponse de Janoma un peu plus loin; la partie de $ milliards $ provient de l'étoile Kleene, la différence $ a $ provient de concaténation, et la discussion de l'union, intersection, et le complément viennent du + d'expressions régulières (ainsi que d'autres propriétés de fermeture des langues régulières) de départ prouvable à partir des automates).

EDIT3: À la lumière des commentaires de Janoma, nous allons oublier les propriétés de fermeture des ensembles de longueur de la langue que je parle dans le premier EDIT. Étant donné que les langues régulières ont ces propriétés de fermeture, et que toutes les langues régulière a un DFA, il en résulte que le lemme de pompage pour les langues régulières applique à tous les syndicats, les intersections, des compléments, et les différences de langues régulières, et nous allons le laisser à ce ; même pas besoin de considérer toutes ces choses, à l'exception de l'Union, que je pense encore pourrait être nécessaire de faire mon original (modifié, grâce à l'entrée de Gilles) correcte. Donc, ma dernière réponse est la suivante:. Ce que je dis dans la version originale, ainsi que la fermeture des ensembles de longueur de la langue par rapport à l'union ensemble

Licencié sous: CC-BY-SA avec attribution
Non affilié à cs.stackexchange
scroll top