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

Slides:



Advertisements
Presentaciones similares
Relaciones de recurrencia
Advertisements

INTELIGENCIA ARTIFICIAL
Algoritmos y Programas
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
ESTRUCTURA DE DATOS Unidad 01 RECURSIVIDAD.
ESTRUCTURA DE DATOS Unidad 04 Árboles BINARIOS DE BUSQUEDA.
Recursión y Relaciones de Recurrencia
Búsqueda con retroceso
¿ Que es la complejidad de un algoritmo ?
SUCESIONES NUMÉRICAS. PROGRESIONES ARITMÉTICAS Y GEOMÉTRICAS.
MÉTODOS NUMÉRICOS. Explicación del método de L U. Realizado por:
Curso de Programación I Parte I
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introducción Unidad 5: Matemáticas necesarias.
Unidad 4: Análisis de algoritmos (parte II)
Tema 3 Revisión de diversos métodos robustos aplicados en algunos problemas fotogramétricos.
Método de Ford-Fulkerson
ALGORITMOS 2 DIGITALES II
Investigación Operativa
Eficiencia de los algoritmos
DEFINICIONES Y TERMINOLOGÍA
2.1 Recursividad El hecho de que una función pueda llamarse a sí misma.
JOCELYN DÁVILA HERNÁNDEZ JORGE QUECHOLAC ZAMBRANO.
Inteligencia Artificial Resolver problemas mediante búsqueda

Análisis y Diseño de Algoritmos
Programación de Computadores
Ecuaciones de recurrencia
Universidad de los Andes-CODENSA
Matemáticas para Ciencias de la Computación MCC3182 Profesor: Claudio Gutiérrez Soto Página Web:
Algoritmos numéricos. Método de “aproximación sucesiva”: se genera una hipótesis sobre la respuesta y en cada iteración se utiliza dicha hipóte- sis para.
Sucesiones..
Análisis y Diseño de Algoritmos. Propiedades : f ( n )  O ( f ( n ) ) a ) O ( f ( n ) )  O ( g ( n ) )  f ( n )  g ( n )

M.S.C. Ivette Hernández Dávila
PROPUESTA DE INTERVENCIÓN EN EL AULA PARA RESOLVER PROBLEMAS DE OPTIMIZACIÓN RELACIONADOS CON LA MINIMIZACIÓN DE COSTOS, IMPLEMENTANDO COMO APOYO EL SOFTWARE.
Diseño y análisis de algoritmos
Fundamentos de programación Organización de una computadora.
Análisis de algoritmos
UNIVERSIDAD POPULAR DEL CESAR
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
4.  Métodos matemáticos.
TEMAS PRINCIPALES. ALGORITMOS. CONCEPTOS El algoritmo es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.
Unidad 2: ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR
ELO3201 Análisis de Algoritmos (Cont.) Agustín J. González ELO320 1º sem 2004.
Unidad 1. PROGRAMACION ALGORITMICA
Análisis y Diseño de Algoritmos
Razón entre dos números
SIG. LAURA VELAZQUEZ MORELOS. Hace referencia a un refrán que implica resolver un problema difícil, dividiéndolo en partes más simples tantas veces como.
1  Una Ecuaci ó n de Recurrencia Lineal de Orden n a Coeficientes Constantes se define seg ú n la ecuaci ó n: ∑ d K a K = g(n) donde d K son constantes.
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 2: Orden de algoritmos.
Bisección. Newton-Raphson Secante UNIVERSIDAD NACIONAL EXPERIMENTAL DEL TÁCHIRA DECANATO DE POSTGRADO Maestría en Matemática Mención Educación Matemática.
M.C. Meliza Contreras González 1.  Es normal que un algoritmo se base en procedimientos auxiliares, haga llamadas recursivas para tamaños menores o reduzca.
Análisis de Algoritmos
ELO3201 Análisis de Algoritmos (cont.) Agustín J. González ELO320 1º sem 2002.
1 Flujo Máximo Agustín J. González ELO320: Estructura de Datos y Algoritmos.
Ecuación cuadrática o de segundo grado
Lógica Computacional.
RESOLVER EL SIGUIENTE SISTEMA DE ECUACIONES El método que vamos a utilizar es el método de igualación: El primer paso para resolver este sistema es expresarlo.
Sesión 5 Tema: Operaciones en la recta real
1.2 CONSTAQNTES, VARIABLES TIPOS DE DATOS. SON REPETICIONES DE UNA MISMA ACCIÓN O DE UN GRUPO DE ACCIONES. A LAS ITERACIONES TAMBIÉS SE LES CONOCE COMO.
1 Análisis Matemático II Presentaciones en el Aula TEMA 3 Otras herramientas para la resolución de EDO Autor: Gustavo Lores 2015 Facultad de Ingeniería.
FUNCIONES EXPONENCIALES Y LOGARÍTMICAS
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
Tema 4 : Cálculo de raíces de ecuaciones no lineales
Solución a Ecuaciones de Recurrencia Dr. Rogelio Dávila Pérez División de Posgrado Universidad Autónoma de Guadalajara
FUNCIONES EXPONENCIALES Y LOGARÍTMICAS. 1. Funciones exponenciales. Una función exponencial es una función cuya expresión es siendo la base a un número.
ACTIVIDADES DE APRENDIZAJE. ABCFHOEPRIAUDTCDAFDAHOELBADTAQTU PERYUIAETNEDNECSEDAUFHVCMNXAOSOS RSZXVGSDACAAERYFNIAEFGFGSAROPARA OQANALSISZAPATERASECUENCIATRTAXZ.
Transcripción de la presentación:

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

Método de iteración Método maestro* Método de sustitución

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

Recurrencias T(n) = n + 3T(  n/4  ), T(1)=  (1) Expandir la recurrencia 2 veces

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  *  n/16  T(  n/64  )

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  *  n/16  T(  n/64  ) ¿Cuándo se detienen las iteraciones?

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  *  n/16  T(  n/64  ) ¿Cuándo se detienen las iteraciones? Cuando se llega a T(1)

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  *  n/4 2  T(  n/4 3  ) ¿Cuándo se detienen las iteraciones? Cuando se llega a T(1), esto es, cuando (n/4 i )=1

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  *  n/4 2   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

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  *  n/4 2  (  n/4 3  ) + … + 3 log 4 n  (1) Después de iterar, se debe tratar de expresar como una sumatoria con forma cerrada conocida

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  *  n/4 2  (  n/4 3  ) + … + 3 log 4 n  (1)  n + 3n/ n/ n/4 3 + … + 3 log4n  (1)

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  *  n/4 2  (  n/4 3  ) + … + 3 log 4 n  (1)  n + 3n/ n/ n/4 3 + … + 3 log4n  (1) = = = O(n)

Recurrencias Resuelva por el método de iteración T(n) = 2T(n/2) + 1, T(1)=  (1)

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)

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)

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)

Recurrencias Iteración con árboles de recursión T(n) = 2T(n/2) + n 2

Recurrencias n2n2 T(n/2)

Recurrencias n2n2 (n/2) 2 T(n/4)...

Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8)

Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8) ???

Recurrencias n2n2 (n/2) 2 T(n/4)... (n/2 2 ) 2 T(n/2 3 ) ???

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

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

Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8) log 2 n n2n2

Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8) log 2 n n2n2 n 2 /2

Recurrencias n2n2 (n/2) 2 T(n/4)... (n/4) 2 T(n/8) log 2 n n2n2 n 2 /2 n 2 /4

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=

Recurrencias

Resuelva construyendo el árbol T(n) = 2T(n/2) + 1, T(1)=  (1) T(n) = 2T(n/2) + n, T(1)=  (1)

Recurrencias Resuelva la recurrencia T(n) = T(n/3) + T(2n/3) + n Indique una cota superior y una inferior

Recurrencias Resuelva la recurrencia T(n) = T(n/3) + T(2n/3) + 1 Indique una cota superior y una inferior

Recurrencias Resuelva la recurrencia T(n) = T(3n/4) + T(n/4) + n Indique una cota superior y una inferior

Recurrencias Método maestro Permite resolver recurrencias de la forma: T(n) = aT(n/b) + f(n), donde a  1, b>1

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

Recurrencias Dado T(n) = 9T(n/3) + n Es ? Vs

Recurrencias Dado T(n) = 9T(n/3) + n Es ? Si se cumple que, por lo tanto, se cumple que: Vs

Recurrencias T(n) = T(2n/3) + 1 Es ? No existe Vs

Recurrencias T(n) = T(2n/3) + 1 Es ? Si, por lo tanto, se cumple que: Vs

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

Recurrencias Resuelva T(n) =4T(n/2) + n T(n) =4T(n/2) + n 2 T(n) =4T(n/2) + n 3

Recurrencias Método de sustitución Suponer la forma de la solución y probar por inducción matemática