1 Recurrencias Fundamentos de análisis y diseño de algoritmos
2 Método de iteración Método maestro* Método de sustitución
3 Recurrencias Método de iteración Expandir la recurrencia y expresarla como una suma de términos que dependen de n y de las condiciones iniciales
4 Recurrencias T(n) = n + 3T( n/4 ), T(1)= (1) Expandir la recurrencia 2 veces
5 Recurrencias T(n) = n + 3T( n/4 ) n + 3 ( n/4 + 3T( n/16 )) n + 3 ( n/4 + 3( n/16 + 3T( n/64 ) )) n + 3* n/4 + 3 2 * n/16 + 3 3 T( n/64 )
6 Recurrencias T(n) = n + 3T( n/4 ) n + 3 ( n/4 + 3T( n/16 )) n + 3 ( n/4 + 3( n/16 + 3T( n/64 ) )) n + 3* n/4 + 3 2 * n/16 + 3 3 T( n/64 ) ¿Cuándo se detienen las iteraciones?
7 Recurrencias T(n) = n + 3T( n/4 ) n + 3 ( n/4 + 3T( n/16 )) n + 3 ( n/4 + 3( n/16 + 3T( n/64 ) )) n + 3* n/4 + 3 2 * n/16 + 3 3 T( n/64 ) ¿Cuándo se detienen las iteraciones? Cuando se llega a T(1)
8 Recurrencias T(n) = n + 3T( n/4 ) n + 3 ( n/4 + 3T( n/16 )) n + 3 ( n/4 + 3( n/16 + 3T( n/64 ) )) n + 3* n/4 + 3 2 * n/4 2 + 3 3 T( n/4 3 ) ¿Cuándo se detienen las iteraciones? Cuando se llega a T(1), esto es, cuando (n/4 i )=1
9 Recurrencias T(n) = n + 3T( n/4 ) n + 3 ( n/4 + 3T( n/16 )) n + 3 ( n/4 + 3( n/16 + 3T( n/64 ) )) n + 3* n/4 + 3 2 * n/4 2 + 3 3 n/4 3 + … + 3 log 4 n T(1) ¿Cuándo se detienen las iteraciones? Cuando se llega a T(1), esto es, cuando (n/4 i )=1
10 Recurrencias T(n) = n + 3T( n/4 ) n + 3 ( n/4 + 3T( n/16 )) n + 3 ( n/4 + 3( n/16 + 3T( n/64 ) )) n + 3* n/4 + 3 2 * n/4 2 + 3 3 ( n/4 3 ) + … + 3 log 4 n (1) Después de iterar, se debe tratar de expresar como una sumatoria con forma cerrada conocida
11 Recurrencias T(n) = n + 3T( n/4 ) n + 3 ( n/4 + 3T( n/16 )) n + 3 ( n/4 + 3( n/16 + 3T( n/64 ) )) n + 3* n/4 + 3 2 * n/4 2 + 3 3 ( n/4 3 ) + … + 3 log 4 n (1) n + 3n/4 + 3 2 n/4 2 + 3 3 n/4 3 + … + 3 log4n (1)
12 Recurrencias T(n) = n + 3T( n/4 ) n + 3 ( n/4 + 3T( n/16 )) n + 3 ( n/4 + 3( n/16 + 3T( n/64 ) )) n + 3* n/4 + 3 2 * n/4 2 + 3 3 ( n/4 3 ) + … + 3 log 4 n (1) n + 3n/4 + 3 2 n/4 2 + 3 3 n/4 3 + … + 3 log4n (1) = = = O(n)
13 Recurrencias Resuelva por el método de iteración T(n) = 2T(n/2) + 1, T(1)= (1)
14 Recurrencias Resuelva por el método de iteración T(n) = 2T(n/2) + 1, T(1)= (1) T(n) = 2T(n/2) + n, T(1)= (1)
15 Recurrencias Resuelva por el método de iteración T(n) = 2T(n/2) + 1, T(1)= (1) T(n) = 2T(n/2) + n, T(1)= (1) T(n) = T(n/2) + 1, T(1)= (1)
16 Recurrencias Resuelva por el método de iteración T(n) = 2T(n/2) + 1, T(1)= (1) T(n) = 2T(n/2) + n, T(1)= (1) T(n) = T(n/2) + 1, T(1)= (1) T(n) = T( n/2 ) + n, T(1)= (1)
17 Recurrencias Iteración con árboles de recursión T(n) = 2T(n/2) + n 2
18 Recurrencias n2n2 T(n/2)
19 Recurrencias n2n2 (n/2) 2 T(n/4)...
20 Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8)
21 Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8) ???
22 Recurrencias n2n2 (n/2) 2 T(n/4)... (n/2 2 ) 2 T(n/2 3 ) ???
23 Recurrencias n2n2 (n/2) 2 T(n/4)... (n/2 2 ) 2 T(n/2 3 ) ??? (n/2 i )=1 n=2 i log 2 n=i
24 Recurrencias n2n2 (n/2) 2 T(n/4)... (n/2 2 ) 2 T(n/2 3 ) log 2 n (n/2 i )=1 n=2 i log 2 n=i
25 Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8) log 2 n n2n2
26 Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8) log 2 n n2n2 n 2 /2
27 Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8) log 2 n n2n2 n 2 /2 n 2 /4
28 Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8) log 2 n n2n2 n 2 /2 n 2 /4 Total=
29 Recurrencias
30 Resuelva construyendo el árbol T(n) = 2T(n/2) + 1, T(1)= (1) T(n) = 2T(n/2) + n, T(1)= (1)
31 Recurrencias Resuelva la recurrencia T(n) = T(n/3) + T(2n/3) + n Indique una cota superior y una inferior
32 Recurrencias Resuelva la recurrencia T(n) = T(n/3) + T(2n/3) + 1 Indique una cota superior y una inferior
33 Recurrencias Resuelva la recurrencia T(n) = T(3n/4) + T(n/4) + n Indique una cota superior y una inferior
34 Recurrencias Método maestro Permite resolver recurrencias de la forma: T(n) = aT(n/b) + f(n), donde a 1, b>1
35 Recurrencias Dado T(n) = aT(n/b) + f(n), donde a 1, b>1, se puede acotar asintóticamente como sigue: 1. Si para algún real 2. Si para algún real 3. Si para algún y si af(n/b) cf(n) para algun c
36 Recurrencias Dado T(n) = 9T(n/3) + n Es ? Vs
37 Recurrencias Dado T(n) = 9T(n/3) + n Es ? Si se cumple que, por lo tanto, se cumple que: Vs
38 Recurrencias T(n) = T(2n/3) + 1 Es ? No existe Vs
39 Recurrencias T(n) = T(2n/3) + 1 Es ? Si, por lo tanto, se cumple que: Vs
40 Recurrencias T(n) =3 T(n/4) + nlog 2 n Es ? Si, y además, af(n/b) cf(n) 3(n/4)log 2 (n/4) cnlog 2 n c=3/4 y se concluye que Vs
41 Recurrencias Resuelva T(n) =4T(n/2) + n T(n) =4T(n/2) + n 2 T(n) =4T(n/2) + n 3
42 Recurrencias Método de sustitución Suponer la forma de la solución y probar por inducción matemática