Processing math: 100%

1 votos

¿Cómo resolver esas recurrencias con funciones generadoras?

enter image description here

Sé que podemos resolver estas recurrencias con funciones generadoras, pero no estoy familiarizado con eso, así que espero que haya una solución detallada para el problema.

2voto

JiminyCricket Puntos 143

Dejemos que q(x)=nQnxn y r(x)=nRnxn . Entonces, sumando la recurrencia de la izquierda de 1 a da

q=2xr+x1x,

y sumando la recurrencia de la derecha de 1 a da

r=q+xq+x1x.

Sustituyendo la segunda ecuación en la primera se obtiene

q=2xq+2x2q+2x21x+x1x,

con solución

q=x(1+2x)(1x)(12x2x2).

Entonces, sustituyendo esto en la segunda ecuación se obtiene

r=x(1+x)(1x)(12x2x2).

Como bien ha señalado wj32, podemos utilizar fracciones parciales para obtener los coeficientes de forma cerrada. Factorización 12x2x2 como (1(13)x)(1(1+3)x) obtenemos

q=x(12/31(13)x+1+2/31(1+3)x11x)

y por lo tanto

Qn=(123)(13)n1+(1+23)(1+3)n11=(1+3)n+1(13)n+1231

para n1 y

Rn=Qn+Qn1+1=(2+3)(1+3)n(23)(13)n231=(1+3)n+2(13)n+2431.

2voto

yehnan Puntos 2011

Este es el problema 1.10 del libro de Knuth "Concrete Mathematics".

Doy una solución para Qn utilizando las notaciones de Knuth.

Primero tenemos Qn={0,n01,n=12Qn1+2Qn2+3,n2 Así que, en general, tenemos Qn=2Qn1+2Qn2+3[n2]+[n=1]

Supongamos que q(z) es la función generadora, reescribiendo la recurrencia, tenemos q(z)=2zq(z)+2z2q(z)+3z2z1+z

Resolver para q(z) obtenemos q(z)=u(z)v(z)=z+2z2(1z)(12z2z2)=z+2z2(1z)[1(1+3)z][1(13)z]

Según el teorema (7.29) de "Matemáticas concretas", si tenemos q(z)=u(z)/v(z) y v(z)=ρ0(1ρ1z)(1ρlz) y ρ1,,ρl son distinto y u(z) es un polunomio de grado inferior a l entonces Qn=[zn]q(z)=a1ρk1++alρkl donde ak=ρku(1/ρk)ddzv(1/ρk)

Aplicando este teorema, obtenemos ρ1=1 , ρ2=1+3 , ρ3=13 y a1=1 , a2=3+36 , a3=336

Así que tenemos Qn=a1ρk1+a2ρk2+a3ρk3=3+36(1+3)n+336(13)n1=(1+3)n+1(13)n+1231

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X