Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 2: Orden de algoritmos.

Slides:



Advertisements
Presentaciones similares
Técnicas de Registro Observacionales
Advertisements

Introducción a Límites de Funciones
Continuidad Definición de Continuidad
Microeconomía Superior I: Tema 2 Rafael Salas octubre de 2005
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
CONCEPTOS Y PROPIEDADES
Propiedades de las Funciones Continuas
La Función Exponencial
FUNCIÓN EXPONENCIAL FUNCIÓN LOGARÍTMICA EJERCICIOS (Ir) - Definición
El tiempo de vida Todos los seguros de vida dependen fundamentalmente del tiempo de vida del asegurado. Por ello, la medición del riesgo debe comenzar.
Maestría en Bioinformática Bases de Datos y Sistemas de Información Fundamentos de Lógica Ing. Alfonso Vicente, PMP
Bloque 2: Divide y Vencerás
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 1: Consideraciones acerca de la eficiencia.
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)
Representación en espacio de estado
CÁLCULO DIFERENCIAL.
Intervalos e Inecuaciones de primer grado
Recurrencias Fundamentos de análisis y diseño de algoritmos.
DERIVADAS PARCIALES Gráficas.
1. FUNCIONES. LÍMITES. Depto. Matemáticas – IES Elaios
Álgebra elemental.
Juan José Cortés Orozco. Antonio Muñoz Torres.
Universidad de los Andes-CODENSA
Análisis de Algoritmos
EL PODER DE SOLVER.
Derivación Numérica Ultima actualización: 12/04/2017
Análisis de Algoritmos
Análisis y Diseño de Algoritmos. Propiedades : f ( n )  O ( f ( n ) ) a ) O ( f ( n ) )  O ( g ( n ) )  f ( n )  g ( n )
Análisis de Algoritmos
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
Introducción a Funciones de una variable
UNIDAD No. 5 Series Sucesiones.
“LIMITES” MATEMATICAS II
Teoría de Probabilidad
Guías Modulares de Estudio Matemáticas IV – Parte B
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 3: Análisis de algoritmos (parte I)
A.E.D. 1 Tema 1. Análisis de algoritmos. Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones y especificaciones. 2. Conjuntos y diccionarios.
PREPARATORIA FEDERAL POR COOPERACION “LUZAC”
4.  Métodos matemáticos.
Ecuaciones diferenciales de orden superior
Prof: Dr. Francisco Cubillos M Depto Ingeniería Quimica - USACH
Análisis y Diseño de Algoritmos
Límite de una función en un punto.
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.
1 Análisis de algoritmos Generalidades Agustín J. González 1er. Sem
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
Tema 7: NOTACIONES ASINTÓTICAS
Dualidad Multiplicadores Dualidad Aplicación práctica:
Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 2: Divide y Vencerás Unidad 1: Nociones básicas.
Análisis de algoritmos Generalidades
Ecuaciones Algebraicas
Seguridad Informática y Criptografía Material Docente de Libre Distribución Ultima actualización: 03/03/03 Archivo con 28 diapositivas Jorge Ramió Aguirre.
UNIVERSIDAD ESTATAL DEL VALLE DE ECATEPEC
Matemática Básica(Ing.)1  Continuidad,  Funciones crecientes y decrecientes,  Función acotada,  Extremos locales y absolutos,  Simetrías,  Asíntotas,
Análisis de Fourier.
Tema 3: Complejidad Estructura de Datos
Propiedades de las Desigualdades y los Intervalos
JOHNY QUINTERO Tema 2. Límites 1 Límites 1.Índice 2.¿Qué es el Cálculo? 3.El problema del área 4.Introducción a los límites 5.Límites que no existen 6.Definición.
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
LÍMITES Y SUS PROPIEDADES
Introducción al Cálculo Infinitesimal Tema 1: Conceptos básicos José R. Narro Introducción al Cálculo Infinitesimal Tema 1: Conceptos básicos José R. Narro.
Mini-video 2 de 5 Materia: Límites de funciones Continuidad de funciones Prácticas con Introducción a Funciones de una variable.
Análisis de Algoritmos Tiempo de ejecución de un algoritmo Prof.: Ricardo Botero Tabares Ingeniería en Software Facultad de Ingeniería 2014.
LOGO Medidas de posición Pedro Godoy G. Media Aritmética Valor representativo de un conjunto de datos Para datos no agrupados 1, x2, x3, x4,…………………………,
TEMA 3 SUCESIONES Y SERIES.
Relaciones de equivalencia y de orden Definición (p. 46) Una relación  se llama relación de equivalencia sii es reflexiva, simétrica y transitiva.
1 Técnicas de Optimización en Modelos Organizacionales (PS-3161) Tema N° 4: Solución Gráfica:Casos Especiales Prof. Orestes G. Manzanilla Salazar Correo:
Transcripción de la presentación:

Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid Bloque 1: Introduccion Unidad 2: Orden de algoritmos

MTP: Metodología y Tecnología de la Programación 2 Introducción al orden  Hemos indicado en la unidad anterior que:  Una función t n es predice la eficiencia con una precisión limitada por un multiplicador constante  Por el principio de indiferencia, el análisis empírico de un algoritmo está limitado en precisión por constantes arbitrarias  Ambos hechos implican que tanto el análisis teórico como empírico de la eficiencia de algoritmos sólo predice aproximadamente el comportamiento real n t c2tnc2tn c3tnc3tn c1tnc1tn

MTP: Metodología y Tecnología de la Programación 3 Introducción al orden  Dado el problema inducido por los multiplicadores, cabría preguntarse si es posible caracterizar el comportamiento de la función t n  Nos interesan especialmente los casos para “n” grandes  La solución es buscar funciones que acoten (asintóticamente) inferior y superiormente a t n n t c2tnc2tn c3tnc3tn c1tnc1tn ¿?

MTP: Metodología y Tecnología de la Programación 4 Cota superior Big O  Dada una función f(n), O(f(n)) es el conjunto de funciones de complejidad g(n) para las cuales  Existe una constante real positiva c  Y un entero no negativo N  Tales que para todo n>= N, g(n) <= cf(n) n t g(n) cf(n) 12 1  Condición asintótica 2  Efecto del multiplicador

MTP: Metodología y Tecnología de la Programación 5 Cota inferior   Dada una función f(n),  (f(n)) es el conjunto de funciones de complejidad g(n) para las cuales  Existe una constante real positiva c  Y un entero no negativo N  Tales que para todo n>= N, g(n) >= cf(n) n t g(n) 12 1  Condición asintótica 2  Efecto del multiplicador cf(n)

MTP: Metodología y Tecnología de la Programación 6 Introducción a   O(f(n)) y  (f(n)) son conjuntos de funciones  Por ejemplo, n, n+1, n 2, n 2 +n, etc. pertenecen a O(n 2 ) y  n 2, n 2 +1, n 2 +n+1, etc. pertenecen a  (n 2 )  Una función (o conjunto de funciones) g(n) pertenece simúltáneamente a múltiples O(f(n)) y  (f(n))  Por ejemplo, n 2 pertenece a O(n 2 ), O(n 3 ), O(n 4 ), etc. y  n 2 pertenece a  (n 2 ),  (n) y  (c), c constante real positiva  Por ello, O(f(n)) y  (f(n)) caracterizan de forma gruesa a las funciones g(n)  Si g(n)  O(f(n)), nada se nos dice acerca de   Si g(n)   (f(n)), nada se nos dice acerca de O

MTP: Metodología y Tecnología de la Programación 7 Introducción a   Sería interesante obtener algún tipo de acotación que implicara simultáneamente a O y   Ello permitiría acotar superior e inferiormente las funciones g(n), lo cual permitiría una mejor caracterización t g(n) cf 2 (n) df 1 (n)

MTP: Metodología y Tecnología de la Programación 8 Orden (  )  Para una función f(n)  (f(n)) = O(f(n))   (f(n))   (f(n)) representa, por lo tanto, el conjunto de funciones de complejidad g(n) para las cuales existen constantes reales positivas c y d, y un entero N no negativo, tales que para todo n >= N cf(n) <= g(n) <= df(n)

MTP: Metodología y Tecnología de la Programación 9 Orden (  )   (f(n)), al acotar superior e inferiormente las funciones g(n), permite identificar que g(n) posee una complejidad “en el orden de” f(n)  Asintóticamente, las funciones g(n) tardarán “más o menos lo mismo” que f(n), con la precisión de un multiplicador (u obviando éste, que es precisamente lo que se buscaba) t g(n) cf (n) df (n)

MTP: Metodología y Tecnología de la Programación 10 Propiedades del orden (  ) 1.g(n)  O(f(n))  f(n)   (g(n)) {dualidad} 2.g(n)   (f(n))  f(n)   (g(n)) {clasificación} 3.Si c >= 0, d > 0, g(n)  O(f(n)) y h(n)   (f(n)), entonces cg(n) + dh(n)   (f(n)) {eliminación de términos de menor peso} 4. {límite}

MTP: Metodología y Tecnología de la Programación 11 Notas finales  Existen un conjunto de funciones de complejidad de utilización habitual  (1),  (log n),  (n),  (n log n),  (n 2 ),  (n j ),  (n k ),  (a n ),  (b n ),  (n!)  donde k > j > 2 y b > a > 1  (ver gráficas en doc. anexo)

MTP: Metodología y Tecnología de la Programación 12 Notas finales  En algunas ocasiones, determinar las funciones de complejidad de un algoritmo es complejo  Con cierta frecuencia, si se restringe el análisis a los valores de ‘n’ que cumplen cierta condición p(n), se puede obtener fácilmente una función de complejidad  Se define la complejidad asintótica condicional (O,  y  ) como el conjunto de funciones de complejidad g(n) tales que, dados una función f(n) y un predicado p(n)  Existe una constante real positiva c  Y un entero no negativo N  cumplen que para todo n>= N, p(n)  g(n) <= cf(n)

MTP: Metodología y Tecnología de la Programación 13 Notas finales  Puede suceder que el análisis de la complejidad de un algoritmo no dependa únicamente de un parámetro “n”, sino de varios parámetros simultáneamente  Las definiciones de O,  y  pueden extenderse a múltiples parámetros con la misma formulación de para un único parámetro.