Nombre de mots d'une longueur donnée dans une langue régulière

15

Existe-t-il une caractérisation algébrique du nombre de mots d'une longueur donnée dans une langue régulière?

Wikipédia énonce un résultat quelque peu imprécis:

Pour tout langage régulier il existe des constantes et des polynômes tels que pour tout le nombre de les mots de longueur dans satisfont à l'équation .λ 1 ,Lp 1 ( x ) ,λ1,,λkn s L ( n ) n L s L ( n ) = p 1 ( n ) λ n 1 + + p k ( n ) λ n kp1(x),,pk(x)nsL(n)nLsL(n)=p1(n)λ1n++pk(n)λkn

Il n'est pas indiqué dans quel espace les vivent ( , je suppose) et si la fonction doit avoir des valeurs entières non négatives sur l'ensemble de . Je voudrais une déclaration précise et un croquis ou une référence pour la preuve.C NλCN

Question bonus: l'inverse est-il vrai, c'est-à-dire étant donné une fonction de cette forme, y a-t-il toujours une langue régulière dont le nombre de mots par longueur est égal à cette fonction?

Cette question généralise Nombre de mots dans la langue régulière(00)

Gilles 'SO- arrête d'être méchant'
la source
3
un croquis d'une preuve est ici
Artem Kaznatcheev
3
@ArtemKaznatcheev Intéressant, merci. Envisageriez-vous de déplacer votre réponse à cette question, à laquelle elle correspond mieux?
Gilles 'SO- arrête d'être méchant'
1
Je pense que cette question est un peu redondante (bien que plus générale). Généraliser mon approche de la preuve est un peu poilu, mais je vais jeter un œil après le dîner.
Artem Kaznatcheev
@ArtemKaznatcheev Merci. J'ai rencontré des difficultés avec la deuxième partie de votre réponse, qui s'étend aux DFA réductibles.
Gilles 'SO- arrête d'être méchant'
1
@vzn C'est un fait classique que la fonction génératrice du nombre de mots dans une langue régulière est rationnelle, ce qui implique immédiatement la formule de l'OP (dans sa forme correcte). La partie difficile est d'extraire les asymptotiques. Pour plus de détails, vous pouvez consulter (par exemple) le livre Analytic Combinatorics mentionné dans ma réponse.
Yuval Filmus

Réponses:

10

Étant donné un langage régulier , considérons certains DFA acceptant L , soit A sa matrice de transfert ( A i j est le nombre d'arêtes menant de l'état i à l'état j ), soit x le vecteur caractéristique de l'état initial, et soit y être le vecteur caractéristique des états accepteurs. Alors s L ( n ) = x T A n y .LLAAijijxy

sL(n)=xTAny.

Le théorème de Jordan indique que sur les nombres complexes, est similaire à une matrice avec des blocs de l'une des formes ( λ ) , ( λ 1 0 λ ) , ( λ 1 0 0 λ 1 0 0 λ ) , ( λ 1 0 0 0 λ 1 0 0 0 λ 1 0 0 0 λ ) , Si λ 0 , alors le nA

(λ),(λ10λ),(λ100λ100λ),(λ1000λ1000λ1000λ),
λ0nLes puissances de ces blocs sont Voici comment nous sommes arrivés à ces formules: écrire le bloc comme . Les puissances successives de sont des diagonales secondaires successives de la matrice.
(λn),(λnnλn-10λn),(λnnλn-1(n2)λn-20λnnλn-100λn),(λnnλn-1(n2)λn-2(n3)λn-30λnnλn-1(n2)λn-200λnnλn-1000λn),
B=λ+NNλcommute avec ), Lorsque , le bloc est nilpotent, et nous obtenons les matrices suivantes (la notation est si et sinon): N
Bn=(λ+n)N=λn+nλn-1N+(n2)λn-2N2+.
λ=0[n=k]1n=k0
([n=0]),([n=0][n=1]0[n=0]),([n=0][n=1][n=2]0[n=0][n=1]00[n=0]),([n=0][n=1][n=2][n=3]0[n=0][n=1][n=2]00[n=0][n=1]000[n=0])

En résumé, chaque entrée dans est soit de la forme ou de la forme , et nous en déduisons que pour certains polynômes complexes et complexes . En particulier, pour assez grand , C'est l'énoncé précis du résultat.UNEn(nk)λn-k[n=k]

sL(n)=jepje(n)λjen+jcj[n=j],
λje,cjpjen
sL(n)=jepje(n)λjen.

Nous pouvons continuer et obtenir des informations asymptotiques sur , mais cela est étonnamment non trivial. S'il existe un unique de plus grande ampleur, disons , alors Les choses se compliquent quand il y a plusieurs de plus grande ampleur. Il se trouve que leur angle doit être rationnel (c'est-à-dire que jusqu'à la grandeur, ils sont les racines de l'unité). Si le LCM des dénominateurs est , alors l'asymptotique de sera très fonction du reste de modulo . Pour certains de ces restes, tousλ i λ 1 s L ( n ) = p 1 ( n ) λ n 1 ( 1 + o ( 1 ) ) . λ d s L nsL(n)λjeλ1

sL(n)=p1(n)λ1n(1+o(1)).
λsLnλs de plus grande amplitude s'annulent, puis les asymptotiques "chutent", et nous devons répéter cette procédure. Le lecteur intéressé peut vérifier les détails dans Flajolet et Sedgewick's Analytic Combinatorics , Theorem V.3. Ils prouvent que pour certains , les entiers et les réels , p0,,p-1λ0,,λ-1
sL(n)=npn(mod)λn(mod)n(1+o(1)).
Yuval Filmus
la source
8

Soit une langue régulière etLΣ

L(z)=n0|Ln|zn

sa fonction génératrice , où et donc .Ln=LΣn|Ln|=sL(n)

On sait que est rationnel , c'est-à-direL(z)

P(z)Q(z)

avec les polynômes ; ceci est plus facile à voir en traduisant une grammaire linéaire droite pour en un système d'équations (linéaire!) dont la solution est .L L ( z )P,QLL(z)

Les racines de sont essentiellement responsables de la, conduisant au formulaire indiqué sur Wikipédia. Ceci est immédiatement lié à la méthode des polynômes caractéristiques pour résoudre les récurrences (via la récurrence qui décrit ).| L n | ( | L n | ) n NQ|Ln|(|Ln|)nN

Raphael
la source
Ln
1
@Gilles Analytic Combinatorics , les livres d'Eilenberg, le livre de Berstel, Reutenauer
uli
1
Q(z)=1kn0
1
@Raphael Oui, ma pensée était similaire ... cela semble être une lacune assez sérieuse dans la présentation du théorème, si elle ne s'applique pas aux langues finies, car (a) les langues finies sont régulières, (b) le théorème implique que les langues finies ne sont pas régulières, et (c) déterminer si une langue est finie est (en général) indécidable ... Je veux dire, Myhill-Nerode et le lemme de pompage n'ont pas ce problème; ils travaillent pour des langues finies.
Patrick87