Número de palabras en el idioma normal


17

Según Wikipedia , para cualquier lenguaje regular existen constantes y polinomios modo que para cada el número de palabras de longitud en satisface la ecuaciónLλ1,,λkp1(x),,pk(x)nsL(n)nL

sL(n)=p1(n)λ1n++pk(n)λkn .

El lenguaje es regular ( (00) ^ * coincide). s_L (n) = 1 si n es par, y s_L (n) = 0 en caso contrario.L={02nnN}(00)sL(n)=1sL(n)=0

Sin embargo, no puedo encontrar el y (que tienen que existir por lo anterior). Como tiene que ser diferenciable y no constante, de alguna manera debe comportarse como una onda, y no puedo ver cómo puedes hacerlo con polinomios y funciones exponenciales sin terminar con un número infinito de sumandos como en una expansión de Taylor. ¿Alguien puede iluminarme?λipisL(n)


¿Conoces el nombre de este teorema?
Artem Kaznatcheev

@ArtemKaznatcheev: no, no tengo idea. Lamentablemente, Wikipedia tampoco da una referencia :(
Alex ten Brink

Respuestas:


14

Para su idioma, se puede tomar p0(x)=1/2 , λ0=1 , p1(x)=1/2 , λ1=1 y pi(x)=λi=0 para i>1 ? El artículo de Wikipedia no dice nada acerca de que los coeficientes sean positivos o integrales. La suma de mis elecciones es

1/2+1/2(1)n=1/2(1+(1)n)

que parece ser 1 para par n, y 0 para impar n. De hecho, una prueba por inducción parece sencilla.


Ah sí, por supuesto, me había olvidado de alternar signos negativos. Votará a favor una vez que termine el día: he alcanzado el límite de votos.
Alex ten Brink

No se necesita inducción para ese reclamo.
Raphael

@Raphael True, pero de nuevo, eso solo hace que mi afirmación sea aún más precisa.
Patrick87

11

@ Patrick87 da una gran respuesta para su caso específico, pensé que daría un consejo sobre cómo encontrar en el caso más general de cualquier lenguaje L que pueda ser representado por un DFA irreducible (es decir, si es posible para llegar a cualquier estado desde cualquier estado). Tenga en cuenta que su idioma es de este tipo.sL(n)L


Prueba de teorema para DFA irreductibles

Deje que sea ​​la matriz de transición de su DFA de estado m , ya que es irreducible, la matriz es normal y tiene una base propia completa | λ 1. . . El | λ m . Dejar | Un ser el vector de aceptar: es decir i | A es 1 si i es un estado aceptar, y 0 en caso contrario. WLOG asume que | 1 es el estado inicial, y dado que tenemos una base propia completa, sabemos que | 1 = c 1 |Dm|λ1...|λm|Ai|Ai|1 para algunos coeficientes c 1 . . . c m (nota que c i = lambda i | i ).|1=c1|λ1+...+cm|λmc1...cmci=λi|i

Ahora podemos probar un caso restringido del teorema en la pregunta (restringido a DFA irreductibles; como ejercicio, generalice esta demostración al teorema completo). Como es la matriz de transición D | 1 es el vector de estados alcanzables después de leer cualquier carácter de uno, D 2 | 1 es el mismo para los dos personajes, etc. Dado un vector | x , A | x es simplemente la suma de los componentes de | x que son aceptan estados. Así:DD|1D2|1|xA|x|x

sL(n)=A|Dn|1=A|Dn(c1|λ1...cm|λm)=c1λ1nA|λ1+...+cmλmnA|λm=A|λ1λ1|1λ1n+...+A|λmλm|1λmn=p1λ1n+...+pmλmm

Ahora sabemos que para un DFA de estado m irreducible, serán polinomios de orden cero (es decir, constantes) que dependen del DFA y λ 1 . . . λ m serán valores propios de la matriz de transición.p1...pmλ1...λm

Nota de generalidad

Si desea probar este teorema para DFA arbitrario, deberá observar la descomposición de Schur de y luego aparecerán polinomios de grado distinto de cero debido a los términos nilpotentes. Todavía es esclarecedor hacer esto, ya que te permitirá limitar el grado máximo de los polinomios. También encontrará una relación entre lo complicados que son los polinomios y cuántas λ s tendrá.Dλ


Aplicación a pregunta específica

Para su idioma podemos seleccionar el DFA con matriz de transición:L

D=(0110)

y aceptar vector:

A=(10)

Encuentre los vectores propios y sus valores propios con | λ 1= 1λ1=1yλ2=-1con| λ2=1|λ1=12(11)λ2=1. Podemos usar esto para encontrarp1=1/2yP2=1/2. Para darnos:|λ2=12(11)p1=1/2p2=1/2

sL(n)=12+12(1)n

Tal vez publicar esto aquí ?
Raphael

@Raphael que me preguntaron mientras estaba averiguando la prueba y escribiendo mi respuesta, así que no lo supe cuando pregunté.
Artem Kaznatcheev

6

Continuing Artem's answer, here is a proof of the general representation. As Artem shows, there is an integer matrix A and two vectors x,y such that

sL(n)=xTAny.
(The vector x is the characteristic vector of the start state, the vector y is the characteristic vector of all accepting state, and Aij is equal to the number of transitions from state i to state j in a DFA for the language.)

Jordan's theorem states that over the complex numbers, A is similar to a matrix with blocks of one of the forms

(λ),(λ10λ),(λ100λ100λ),(λ1000λ1000λ1000λ),
If λ0, then the nth powers of these blocks are
(λn),(λnnλn10λn),(λnnλn1(n2)λn20λnnλn100λn),(λnnλn1(n2)λn2(n3)λn30λnnλn1(n2)λn200λnnλn1000λn),
Here's how we got to these formulas: write the block as B=λ+N. Successive powers of N are successive secondary diagonals of the matrix. Using the binomial theorem (using the fact that λ commutes with N),
Bn=(λ+n)N=λn+nλn1N+(n2)λn2N2+.
When λ=0, the block is nilpotent, and we get the following matrices (the notation [n=k] is 1 if n=k and 0 otherwise):
([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])

Summarizing, every entry in An is either of the form (nk)λnk or of the form [n=k], and we deduce that

sL(n)=ipi(n)λi(n)+jcj[n=j],
for some complex λi,cj and complex polynomials pi. In particular, for large enough n,
sL(n)=ipi(n)λi(n).

Thank you for the general treatment! You should consider combining your answer with mine and posting it as a full answer to this question. I think it would be more helpful than the current answer there.
Artem Kaznatcheev
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.