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.
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.
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=⌊log2n⌋∑k=0dk2k sea la representación binaria de n. Desenrollamos la recursión para obtener un exacto fórmula para n≥1 T(n)=⌊log2n⌋∑j=0[zj]11−z−z2(⌊log2n⌋∑k=jdk2k−j)2.
Reconocemos la función generadora de los números de Fibonacci, por lo que el fórmula se convierte en T(n)=⌊log2n⌋∑j=0Fj+1(⌊log2n⌋∑k=jdk2k−j)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)≥⌊log2n⌋∑j=0Fj+14⌊log2n⌋−j=4⌊log2n⌋⌊log2n⌋∑j=0Fj+14−j.
Ahora que |1+√52|<4 el término de la suma converge a un número, tenemos 1≤⌊log2n⌋−1∑j=0Fj+14−j<∞∑j=0Fj+14−j=1611
y así obtenemos para la asintótica 16114⌊log2n⌋.
Para un límite superior considere una cadena de un dígito para obtener
T(n)≤⌊log2n⌋∑j=0Fj+1(⌊log2n⌋∑k=j2k−j)2=⌊log2n⌋∑j=0Fj+1(2⌊log2n⌋+1−j−1)2=4×4⌊log2n⌋⌊log2n⌋∑j=0Fj+14−j−4×2⌊log2n⌋⌊log2n⌋∑j=0Fj+12−j+⌊log2n⌋∑j=0Fj+1=4×4⌊log2n⌋⌊log2n⌋∑j=0Fj+14−j−4×2⌊log2n⌋⌊log2n⌋∑j=0Fj+12−j+F⌊log2n⌋+3−1.
Aparece la misma constante que en el límite inferior, así como una constante adicional. Calculándolas obtenemos 6411×4⌊log2n⌋−16×2⌊log2n⌋+F⌊log2n⌋+3−1.
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)∈Θ(4⌊log2n⌋)=Θ(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+14−jis11−z/4−z2/16 que en z=1 se evalúa como 11−1/4−1/16=1611.
Del mismo modo tenemos la función generadora de Fj+12−jis11−z/2−z2/4 que en z=1 se evalúa como 11−1/2−1/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 .
Consideremos en primer lugar la ecuación homogénea
T(n)=T(n2)+T(n4).
Dejar n=2k ,
T(2k)=T(2k−1)+T(2k−2) o S(k)=S(k−1)+S(k−2).
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 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.