Análisis y Diseño de Algoritmos

Documentos relacionados
Análisis de Algoritmos

Notación Asintótica 2

Para las ecuaciones diferenciales ordinarias no lineales no existen métodos generales.

Se desea estudiar el comportamiento de una función a medida independiente x se aproxima a un valor específico.

INSTITUCIÓN EDUCATIVA GABRIEL TRUJILLO CORREGIMIENTO DE CAIMALITO, PEREIRA

Taller: Introducción a las Relaciones de Recurrencia.

4.1. Polinomios y teoría de ecuaciones

Contenido Objetivos Ceros de Polinomios. Ceros de Polinomios. Carlos A. Rivera-Morales. Precálculo 2

NOTACIÓN O GRANDE. El análisis de algoritmos estima el consumo de recursos de un algoritmo.

Carlos A. Rivera-Morales. Precálculo 2

Sucesiones Introducción

La eficiencia de los programas

RELACIONES DE RECURRENCIA

ÍNDICE. Prefacio... xi

Universidad de Santiago de Chile Facultad de Ciencia Departamento de Matemática y Ciencias de la Computación

COMPLEJIDAD Y EFICIENCIA DE ALGORITMOS

Tema 3 Álgebra Matemáticas I 1º Bachillerato. 1

TEMA 6: DIVISIÓN DE POLINOMIOS RAÍCES MATEMÁTICAS 3º ESO

PRECALCULO INSTITUTO TECNOLÒGICO DE LAS AMÈRICAS CARRERA DE TECNÓLOGO EN MECATRONICA. Precálculo. Nombre de la asignatura: MAT-001

Capítulo 1: Fundamentos: Lógica y Demostraciones Clase 3: Relaciones, Funciones, y Notación Asintótica

CONCRECIÓN DE LOS CRITERIOS DE EVALUACIÓN Curso: PRIMERO de BACHILLERATO CIENCIAS Asignatura: MATEMÁTICAS I Profesor: ALFONSO BdV

MATEMATICA GRADO 9 II PERIODO PROF. LIC. ESP. BLANCA NIEVES CASTILLO R. CORREO: cel

Unidad 2: Ecuaciones, inecuaciones y sistemas.

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos

PRECALCULO. Nomenclatura del Curso : MAT-001. Nombre del Curso : Precalculo. Prerrequisitos : Ninguno. Número de Créditos : 5. Horas Teóricas : 45

PENDIENTES DE MATEMÁTICAS DE 3º ESO (CURSO )

INSTITUTO TECNOLOGICO DE LAS AMERICAS CARRERA DE TECNOLOGO EN DESARROLLO DE SOFTWARE PRECALCULO

Complejidad de los Algoritmos

UNIDAD 2: ECUACIONES E INECUACIONES. SISTEMAS DE ECUACIONES

MATEMÁTICA DE CUARTO 207

Ruta más Corta con una sóla Fuente de Inicio (Single-Source Shortest Paths) DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Intersección de semiplanos

Tarea 3 Matemáticas Discretas Soluciones

Teoría de Números. 22 de julio de 2012

1 Método de la bisección. 1.1 Teorema de Bolzano Teorema 1.1 (Bolzano) Contenido

ES.N.1.1, ES.A.9.1, (+)ES.A.11.1 Enfoque de contenido Polinomios. ES.N.1.1, (+)ES.A.11.1 Destreza Sumar, restar, multiplicar expresiones polinómicas.

FACTORIZACIÓN GUÍA CIU NRO:

Algoritmos glotones. mat-151

Tema 1: Otros tipos de ecuaciones. En este tema trataremos otras ecuaciones distintas a las de primer y segundo grado.

EL CUERPO ORDENADO REALES

I. Determinar los siguientes límites, aplicando las propiedades. lim =

3. POLINOMIOS, ECUACIONES E INECUACIONES

TEMARIOS PRUEBAS SEMESTRALES 2015 PRIMER SEMESTRE DEPARTAMENTO DE MATEMÁTICA

Unidad II. 2.1 Concepto de variable, función, dominio, condominio y recorrido de una función.

Inecuaciones con valor absoluto

LA FORMA TRIGONOMETRICA DE LOS NUMEROS COMPLEJOS Y EL TEOREMA DE MOIVRE. Capítulo 7 Sec. 7.5 y 7.6

Cuando se enumeran todos los elementos que componen el conjunto. A = { 1, 2, 3, 4, 5 }

SERIE INTRODUCTORIA. REPASO DE ALGEBRA.

1. dejar a una lado de la igualdad la expresión que contenga una raíz.

Factorización de polinomios FACTORIZACIÓN DE POLINOMIOS

Descripciones de los niveles de logro modificados (ALD, siglas en inglés) de la prueba de evaluación MCA en matemáticas Grados 5 a 8

Fabio Prieto Ingreso 2003

Métodos Numéricos (SC 854) Solución de ecuaciones no lineales. 1. Definición del problema: raíces de ecuaciones no lineales

ESCRITURA Y GRAFICACIÓN DE ECUACIONES LINEALES EN UNA SUPERFICIE PLANA

ALGEBRA I, ALGEBRA Y TRIGONOMETRIA , Segundo Semestre CAPITULO 6: POLINOMIOS.

Los números complejos

ÁLGEBRA LINEAL I Algunas soluciones a la Práctica 3

Preparación para Álgebra universitaria con trigonometría

Ángulos complementarios Un par de ángulos son complementarios si la suma resultante de sus medidas es.

Números. 1. Definir e identificar números primos y números compuestos.

Contenidos Mínimos MATEMÁTICAS 3º ESO ENSEÑANZAS ACADÉMICAS. U 1 Fracciones y decimales. CRITERIOS DE EVALUACIÓN. ESTÁNDARES DE APRENDIZAJE EVALUABLES

RADICACIÓN EN LOS REALES

RESUMEN DEL MÓDULO. Aprendizajes Esperados

Identificación de inecuaciones lineales en los números reales

CONTENIDOS MÍNIMOS 1ºESO. -Realización de las cuatro operaciones (suma, resta, multiplicación y división) mediante los algoritmos tradicionales.

Números. Índice del libro. 1. Los números reales. 2. Operaciones con números enteros y racionales. 3. Números decimales

TEMA 1.- POLINOMIOS Y FRACCIONES ALGEBRAICAS

FUNCIONES EXPONENCIAL Y LOGARÍTMICA

CONTENIDO PRÓLOGO LAS FUNCIONES... 5

CASO I: FACTORIZACION DE BINOMIOS

Instituto Tecnológico Autónomo de México. Departamento de Matemáticas Cálculo Diferencial e Integral I (MAT14100) Lista de Ejercicios.

CURSO 2013/2014 RESUMEN LÍMITES Y CONTINUIDAD 2, ,61 2,01 4,0401 1,99 3,9601 2,001 4, ,999 3,

Capitulo IV - Inecuaciones

UNIDAD DIDÁCTICA V POLINOMIOS Y ECUACIONES ALGEBRAICAS RACIONALES

ECUACIONES EN DIFERENCIAS LINEALES CON COEFICIENTES CONSTANTES

Llamamos potencia a todo producto de factores iguales. Por ejemplo: 3 4 =

En este caso, el coeficiente de es 4, el coeficiente de es 2, el coeficiente de es -3 y la constante es 1.

ALGORITMICA III Capitulo I ANALISIS DE ALGORITMOS

Factorización de polinomios

Sucesiones y Suma Finita

Créditos institucionales de la UA: 6 Material visual: Diapositivas. Unidad de competencia I Conceptos preliminares

El Teorema Fundamental del Álgebra

EJERCICIOS RESUELTOS PROGRAMACIÓN III

I.E.S. Adeje II Curso CONTENIDOS MÍNIMOS MATEMÁTICAS 1º E.S.O.

Algoritmos: Diseño de algoritmos por inducción

TEMARIO PRESENTACIÓN 7 MÓDULO I 17 EXPRESIONES ALGEBRAICAS 19

Fracciones y fractales

Multiplicación de enteros Algoritmo clásico 1234*5678 = 1234* (5* *100+7*10+8) = 1234*5* *6* *7* *8 Operaciones bási

CONTENIDOS MÍNIMOS SEPTIEMBRE. DEPARTAMENTO DE MATEMÁTICAS

1. NUMEROS REALES a. Los Números Reales

1. Hallar el número de operaciones en la evaluación de un polinomio p n (x) = a 0 + a 1 x + + a n x n por el método estándar y el de Horner.

Materia: Matemáticas de 4to año. Tema: Logaritmos naturales y base 10. Marco Teórico

Productos notables. Se les llama productos notables (también productos especiales) precisamente porque son muy utilizados en los ejercicios.

Álgebra y Trigonometría Clase 7 Sistemas de ecuaciones, Matrices y Determinantes

Introducción al Cálculo Simbólico a través de Maple

Ecuaciones de 2º grado

' ~ Lógica y conjuntos 1

ALGEBRA y ALGEBRA LINEAL. Primer Semestre CAPITULO 6. POLINOMIOS DE UNA VARIABLE.

ALGEBRA 1- GRUPO CIENCIAS- TURNO TARDE- Enteros

Algebra lineal y conjuntos convexos

Transcripción:

Análisis y Diseño de Algoritmos Recurrencias DR. JESÚS A. GONZÁLEZ BERNAL CIENCIAS COMPUTACIONALES INAOE

Introducción 2 Cuando un algoritmo se llama a sí mismo Su tiempo de ejecución se puede describir con una recurrencia Recurrencia Ecuación o desigualdad que describe una función en términos de su valor para entradas más pequeñas Ejemplo de MergeSort Θ(1) T( n) = 2T ( n / 2) + Θ( n) Cuya solución se dijo que es: T( n) = Θ( nlgn) if if n = 1, n > 1,

Introducción Métodos para resolver recurrencias Substitución Adivinar una cota, prueba con inducción matemática Método de Iteración 3 Expande, itera sobre la recurrencia y la expresa como sumatoria en términos dependientes de n y las condiciones iniciales Árboles de recursión Convierte la recurrencia en un árbol cuyos nodos representan los costos de los dif. niveles de la recursión Método maestro Provee fronteras (bounds) para recurrencias de la forma T( n) = at ( n / b) + f ( n), donde a 1, b 1, f ( n) es una función dada Requiere memorizar tres casos

Consta de 2 pasos Método de Substitución 4 Adivinar la forma de la solución Utilizar inducción matemática para encontrar las constantes y mostrar que la solución funciona Método poderoso Solo se aplica a casos en que es fácil adivinar la forma de la respuesta Para establecer fronteras superiores o inferiores en una recurrencia

Ejemplo: Adivinamos: Método de Substitución Probamos que: para una constante c >0 Entonces: Substituimos en la recurrencia: 5 Asumimos que la cota es cierta para n/2 El último paso es cierto si c 1

Método de Substitución El método de inducción requiere probar que la solución es cierta para las condiciones frontera Elegir c suficientemente grande para que condiciones de frontera 6 funcione para las Para notación asintótica requerimos probar que nosotros elegimos n 0 Evitamos condición frontera difícil para T(1) = 1 para la prueba de inducción %! ( Aplicamos en la recurrencia T(1) =1 ; La recurrencia no funciona para T(1) al probar en la notación asintótica ; pero sí para T(2) y T(3) T(2) = 2T(2)+ 2 = 2 *1+ 2 = 4 T(3) = 2T(3)+ 3 = 2 *1+ 3 = 5 T(n) = 2T ' n "! # & 2$ # *+ n ) Ahora, en la prueba de notación Asintótica: T(2) c2 lg2 = 2c, c 2 T(3) c3lg3 = 4.75c, c 2

Método de Substitución Adivinando una buena primera aproximación No hay una buena manera general de adivinar soluciones correctas a recurrencias Requiere experiencia y creatividad Algunas heurísticas 7 Usar árboles de recursión para generar buenos valores iniciales Si la recurrencia es similar a otra, usar una solución similar

Método de Iteración No requiere adivinar la respuesta Puede requerir más álgebra que el de substitución Expande (itera) la recurrencia y la expresa como sumatoria de términos dependientes de n y las condiciones iniciales Después usa técnicas para evaluar sumatorias para dar cotas a la solución Puede ser difícil resolver recurrencias con este método A veces al iterar la recurrencia, adivinamos una solución y seguimos con el método de substitución 8

Método de Iteración Ejemplo, dada la recurrencia: 9

Método de Iteración Qué tanto iteramos para llegar a la condición de frontera? El i ésimo término en la serie es 3 i n/4 i La iteración llega a n = 1 cuando n/4 i =1 ó equivalentemente, cuando i excede log 4 n, que corresponde a los niveles del árbol Llevando la iteración a este punto y usando la frontera: n/4 i n/4 i, descubrimos que la sumatoria contiene una serie geométrica decreciente: 10

Método de Árbol de Recursión Visualizar la iteración de una recurrencia 11 Dibujar un árbol de recursión y obtener una buena solución inicial Utilizamos método de sustitución para comprobar Árbol de recursión Cada nodo representa el costo de un subproblema en el conjunto de llamadas a funciones recursivas Sumamos costos por nivel y determinamos el costo total de todos los niveles de recursión Útiles cuando la recurrencia describe tiempo de ejecución de un algoritmo divide-y-conquista

Método de Árbol de Recursión 12 Para resolver la recurrencia T ( n) = 3T ( Creamos árbol de recursión para Incluímos el coeficiente c > 0 Asumimos que n es una potencia exacta de 4 2 n / 4 ) + Θ( n ) T ( n) = 3T ( n / 4) + cn 2

Método de Árbol de Recursión 13

Método de Árbol de Recursión 14

Método de Árbol de Recursión El tamaño del problema decrece con la profundidad del árbol 15 Eventualmente alcanzamos condición frontera Qué tan lejos de la raíz llegamos? El tamaño del subproblema para un nodo en profundidad i es n/4 i El tamaño llega a n = 1 cuando n/4 i = 1, o i = log 4 n Entonces el árbol tiene log 4 n+1 niveles (0, 1, 2,, log 4 n)

Método de Árbol de Recursión Después determinamos el costo en cada nivel del árbol Cada nivel tiene tres veces más nodos que el nivel anterior 16 El número de nodos a profundidad i es 3 i Cada nodo a profundidad i para i = 0, 1, 2,, log 4 n-1 tiene costo de c(n/4 i ) 2 Multiplicando, vemos que el costo de todos los nodos al nivel i para i = 0, 1, 2,, log 4 n-1 es 3 i c(n/4 i ) 2 = (3/16) i cn 2 El último nivel a profundidad log 4 n tiene 3 log 4n = n log 4 3 nodos, cada uno con costo T(1), con costo total n log 4 3 T(1) con Θ(n log 4 3 )

Método de Árbol de Recursión Sumamos los costos de todos los niveles para obtener el costo de todo el árbol 17

Método de Árbol de Recursión 18 Podemos usar una serie geométrica infinita decreciente como cota superior, ecuación A.6

Método Maestro 19 Receta para recurrencias del tipo: a 1 y b > 1 son constantes y f(n) es una función asintóticamente positiva La recurrencia describe el tiempo de ejecución de un algoritmo que: Divide un problema de tamaño n en a subproblemas Cada subproblema de tamaño n/b a y b son constantes positivas Los a subproblemas se resuelven recursivamente En tiempo T(n/b) Costo de dividir el problema y combinar los resultados esta dado por f(n)

Teorema maestro Método Maestro 20 Sean a 1 y b > 1 constantes Sea f(n) una función Sea T(n) definida por los enteros no-negativos por la recurrencia n/b puede ser n/b ó n/b, entonces T(n) se puede acotar asintóticamente como sigue:

Método Maestro En todos los casos compara f(n) con n log ba La solución a la recurrencia la domina la mayor de las 2 funciones Caso 1: n log ba es la mayor, la solución es T(n) = Θ(n log ba ) 21 Caso 3: f(n) es mayor, la solución es T(n) = Θ(f(n)) Caso 2: las dos funciones son del mismo tamaño, multiplicamos por un factor logarítmico, T(n) = Θ(n log ba lgn) = Θ(f(n)lgn)

Método Maestro 22 Algunos aspectos técnicos En el caso 1: f(n) debe ser polinómicamente más pequeña que n log b a Asintóticamente más pequeña que n log ba por un factor de n para una constante > 0. En el caso 3: f(n) debe ser polinómicamente mayor a n log b a También debe satisfacer la condición de regularidad de af(n/b) cf(n) Esta condición se satisface por la mayoría de las funciones polinómicamente acotadas que podemos encontrar. Esto quiere decir que los 3 casos no cubren todas las posibilidades de f(n).

Polinomios 23

Exponentes 24

Método Maestro Ejemplo 1: 25

Método Maestro Ejemplo 2: 26

Método Maestro 27 Ejemplo 3:

Método Maestro Ejemplo 4: 28

Tarea 29 Ejercicios: 4.2-1 4.2-3 Problemas 4-1: a, b 4-4: a, b, c