La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Recurrencias Fundamentos de análisis y diseño de algoritmos.

Presentaciones similares


Presentación del tema: "Recurrencias Fundamentos de análisis y diseño de algoritmos."— Transcripción de la presentación:

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<1

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


Descargar ppt "Recurrencias Fundamentos de análisis y diseño de algoritmos."

Presentaciones similares


Anuncios Google