Processing math: 100%

1 votos

Cómo analizar la complejidad temporal Θ de esta recurrencia

Estoy tratando de entender cómo demostrar que

T(n)=T(n/2)+T(n/4)+n2

es Θ(n2) mediante un árbol de recursión. Al principio probé con la sustitución, pero se complicó enseguida.

Esto es autoestudio. El problema es de este pdf problema 1-12.

1voto

Marko Riedel Puntos 19255

Supongamos que empezamos resolviendo la siguiente recurrencia: T(n)=T(n/2)+T(n/4)+n2 donde T(1)=1 y T(0)=0.

Ahora dejemos que n=log2nk=0dk2k sea la representación binaria de n. Desenrollamos la recursión para obtener un exacto fórmula para n1 T(n)=log2nj=0[zj]11zz2(log2nk=jdk2kj)2.

Reconocemos la función generadora de los números de Fibonacci, por lo que el fórmula se convierte en T(n)=log2nj=0Fj+1(log2nk=jdk2kj)2.

Ahora calculamos los límites inferior y superior que se alcanzan realmente y no pueden mejorarse. Para el límite inferior, consideremos un dígito seguido de una cadena de ceros, para obtener

T(n)log2nj=0Fj+14log2nj=4log2nlog2nj=0Fj+14j.

Ahora que |1+52|<4 el término de la suma converge a un número, tenemos 1log2n1j=0Fj+14j<j=0Fj+14j=1611

y así obtenemos para la asintótica 16114log2n.

Para un límite superior considere una cadena de un dígito para obtener

T(n)log2nj=0Fj+1(log2nk=j2kj)2=log2nj=0Fj+1(2log2n+1j1)2=4×4log2nlog2nj=0Fj+14j4×2log2nlog2nj=0Fj+12j+log2nj=0Fj+1=4×4log2nlog2nj=0Fj+14j4×2log2nlog2nj=0Fj+12j+Flog2n+31.

Aparece la misma constante que en el límite inferior, así como una constante adicional. Calculándolas obtenemos 6411×4log2n16×2log2n+Flog2n+31.

Haciendo la asintótica de estos tres términos obtenemos un término en n2 , un término en n y un término en nlog2φo(n) donde φ es la proporción áurea.

Uniendo el límite superior y el inferior obtenemos para la asíntota de esta recurrencia que es

T(n)Θ(4log2n)=Θ(22log2n)=Θ(n2), que, todo sea dicho, también podría haberse obtenido mediante inspección.

Observación. La evaluación de la constante se realiza observando que la función generadora de Fj+14jis11z/4z2/16 que en z=1 se evalúa como 111/41/16=1611.

Del mismo modo tenemos la función generadora de Fj+12jis11z/2z2/4 que en z=1 se evalúa como 111/21/4=4.

Tenemos cierta flexibilidad en cuanto a la potencia de cuatro a utilizar en el constante, pero esto no afecta a la asintótica.

Una recurrencia estrechamente relacionada que es algo más simple puede encontrarse en este Enlace MSE .

0voto

Yves Daoust Puntos 30126

Consideremos en primer lugar la ecuación homogénea

T(n)=T(n2)+T(n4).

Dejar n=2k ,

T(2k)=T(2k1)+T(2k2) o S(k)=S(k1)+S(k2).

Deberías reconocer la recurrencia de Fibonacci, con la solución asintótica

T(n)=S(k)=O(ϕk)=O(elog(ϕ)log(n)/log(2))=O(n0.6942)

Entonces se intenta una solución particular de la ecuación no homogénea, como por ejemplo T(n)=an2 . Introduciendo la ecuación dada,

an2=an24+an216+n2 y

T(n)=1611n2 funciona.

Como esta solución domina a la otra, se puede concluir Θ(n2) .

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