La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introducción Unidad 5: Matemáticas necesarias.

Presentaciones similares


Presentación del tema: "Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introducción Unidad 5: Matemáticas necesarias."— Transcripción de la presentación:

1 Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introducción Unidad 5: Matemáticas necesarias

2 MTP: Metodología y Tecnología de la Programación 2 Introducción Necesitamos ciertos conceptos matemáticos para determinar, en general, la complejidad algoritmica. Funciones finalmente no decrecientes Funciones b-armónicas Ecuaciones de recurrencia

3 MTP: Metodología y Tecnología de la Programación 3 Funciones b-armónicas En determinadas ocasiones, las funciones de complejidad contienen términos (redondeos, por ejemplo) que no admiten un tratamiento algebraico En dichos casos, restringiendo el análisis ciertos valores de n, se pueden eliminar las dificultades y realizar un análisis ordinario de la función Considerar, por ejemplo, la ecuación de recurrencia de un algoritmo de búsqueda binaria: t n = 1 + t n/2 El análisis es sencillo si n = 2 k ¿Qué ocurre con los restantes valores de n?

4 MTP: Metodología y Tecnología de la Programación 4 Funciones b-armónicas: Definiciones Una función f: 0 es finalmente no decreciente si n 0 / n n 0, f(n) f(n + 1) Una función es b-armónica si Es finalmente no decreciente Sea b, b 2, sea c 0 una constante (la cual depende de b) entonces n 0 / n n 0, f(bn) cf(n) Una función es armónica si es b-armónica para todo b 2 Ello implica que el ratio está acotado superiormente por una constante o, lo que es lo mismo, la función f crece suavemente (smoothness)

5 MTP: Metodología y Tecnología de la Programación 5 Funciones b-armónicas: Definiciones Un resultado interesante es que toda función b- armónica, para un b 2, es efectivamente armónica Ello permite derivar el resultado siguiente: sea f: 0 una función armónica sea t: 0 una función finalmente no decreciente sea b 2 entonces [ (n = b k ) t(n) (f(n)) ] t(n) (f(n))

6 MTP: Metodología y Tecnología de la Programación 6 Ecuaciones de recurrencia Hemos visto varios ejemplos de ecuaciones de recurrencia en las secciones anteriores Una ecuación de recurrencia es cualquier ecuación en la que sus términos se definen recursivamente, esto es, el valor de la función en n depende de los valores anteriores (menores que n) de la función Típicamente, las ecuaciones de recurrencia surgen en el análisis de bucles e invocaciones recursivas Distinguiremos los siguientes tipos de ecuaciones de recurrencia: Lineales Homogéneas No homogéneas No lineales

7 MTP: Metodología y Tecnología de la Programación 7 Ecuaciones Lineales Homogéneas Las ELH poseen la forma general: a 0 t n + a 1 t n-1 +... + a k t n-k = 0; a i constante Se puede demostrar que las soluciones de las ELH poseen la forma t n =x n Para solucionar una ELH, se utiliza la técnica de la ecuación característica, o lo que es similar, obtener las raíces del polinomio característico p(x) = a 0 x k + a 1 x k-1 +... + a k x 0 La solución de la ELH será, siendo r i raíces del polinomio p(x)

8 MTP: Metodología y Tecnología de la Programación 8 Ecuaciones Lineales Homogéneas La solución general no determina los valores de las constantes c i Se pueden obtener resolviendo un sistema de ecuaciones obtenido a partir de los valores de la función t n en los casos base Ejemplos: t n = 3t n-1 + 4t n-2 t 0 = 0 t 1 = 5 t n = t n-1 + t n-2 t 0 = 0 t 1 = 1

9 MTP: Metodología y Tecnología de la Programación 9 Ecuaciones Lineales Homogéneas Cuando el polinomio característico posee raíces múltiples, la solución de la ecuación de recurrencia posee términos de la forma t n =x n, t n =nx n, t n =n 2 x n, etc. En líneas generales, si r 1, r 2,..., r l son raíces del polinomio característico, con multiplicidades m 1, m 2,..., m l, la solución de la ecuación de recurrencia será: Ejemplo: t n = 5t n-1 - 8t n-2 + 4t n-3 t 0 = 0 t 1 = 1 t 2 = 2

10 MTP: Metodología y Tecnología de la Programación 10 Ecuaciones Lineales no Homogéneas Las ELNH poseen la forma general: a 0 t n + a 1 t n-1 +... + a k t n-k = f(n) Obtener una solución a una ELNH es más difícil, en general, que en el caso de una ELH Es posible resolver sistemáticamente ELNH de la forma a 0 t n + a 1 t n-1 +... + a k t n-k = b n p(n), siendo b una constante y p(n) un polinomio en n En este caso, el polinomio característico es: a 0 x k + a 1 x k-1 +... + a k x 0 (x-b) d+1 siendo d = grado(p(n)) Ejemplo: t n - 2t n-1 = (n + 5) 3 n, n 1

11 MTP: Metodología y Tecnología de la Programación 11 Ecuaciones Lineales no Homogéneas En general, una ELNH de la forma: a 0 t n + a 1 t n-1 +... + a k t n-k = b 1 n p 1 (n) + b 2 n p 2 (n) +...+ b j n p j (n) siendo b i constantes distintas y p i (n) polinomios en n tiene como solución: a 0 x k + a 1 x k-1 +... + a k x 0 (x-b 1 ) d1+1 (x-b 2 ) d2+1... (x-b j ) dj+1 siendo d i = grado(p i (n)) Ejemplo: t n = 2t n-1 + n + 3 n t 0 = 0

12 MTP: Metodología y Tecnología de la Programación 12 Ecuaciones no lineales Son de una forma más general; por ejemplo: t n = a·t n/4 + b·t n/8 +.... No existe un procedimiento estándar para su solución En determinadas ocasiones, puede intentarse Transformación de dominio Transformación de rango Ejemplo TD: t n = 3t n/2 + n t 1 = 1 Ejemplo TR: t n = nt 2 n/2 t 1 = 1/3 Nótese que las suposiciones realizadas en la TD hacen que tengamos que acudir a los teoremas de funciones b-armónicas para asegurar la corrección de la función obtenida

13 MTP: Metodología y Tecnología de la Programación 13 Notas finales Si todo falla, siempre se puede intentar una expansión de recurrencias Aplicar varias veces la fórmula recurrente hasta encontrar alguna regularidad Ejemplo t n = 2 t n-1 + 1 t 0 = 1

14 MTP: Metodología y Tecnología de la Programación 14 Notas finales Si se desea no determinar la función t n, sino, por ejemplo, el orden correspondiente, puede obviarse (en ocasiones) resolver el sistema de ecuaciones En su lugar, puede realizarse una sustitución de términos en las ecuaciones de recurrencia Ejemplo: t n - 2t n-1 = 3 n t 0 = 0 Lamentablemente, ello no siempre funciona Ejemplo: t n = 4t n-1 - 2 n t 0 = 1


Descargar ppt "Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introducción Unidad 5: Matemáticas necesarias."

Presentaciones similares


Anuncios Google