Técnicas avanzadas de análisis y diseño

Documentos relacionados
3. Notación asintótica TEMA 1: EFICIENCIA DE LOS ALGORITMOS. 3. Notación asintótica. 3. Notación asintótica. 3. Notación asintótica

Matemáticas Discretas Inducción y Recursión

Algoritmos y Estructuras de Datos II, Segundo del Grado de Ingeniería Informática, Test de Análisis de Algoritmos, marzo Test jueves.

6. SUCESIONES Y SERIES NUMÉRICAS 6.1. SUCESIONES NUMÉRICAS

Análisis de algoritmos

UNIVERSIDAD CATÓLICA DE TEMUCO FACULTAD DE INGENIERÍA DEPTO. DE CIENCIAS MATEMÁTICAS Y FÍSICAS SERIES DE POTENCIAS

4. Sucesiones de números reales

Ejercicios Resueltos de Clasificación de Funciones

TEORÍA DE CÁLCULO I. Para Grados en Ingeniería. Capítulo 3: Sucesiones y series. Domingo Pestana Galván José Manuel Rodríguez García

Sucesiones. Límite de una

6. Sucesiones y Series numéricas Sucesiones numéricas DEFINICIONES

IES IGNACIO ALDECOA 1 AMPLIACIÓN DE MATEMÁTICAS 4º ESO CURSO 10/11

Sucesiones. f : {1,2,...,r} S. Por ejemplo, la sucesión finita, (de longitud 4) de números primos menores que 10: 2,3,5,7

Capítulo 2. Series de números reales. 2.1 Convergencia de una serie de números reales.

Series alternadas Introducción

Sucesiones de números reales

Una sucesión es un conjunto infinito de números ordenados de tal forma que se puede decir cuál es el primero, cuál el segundo, el tercero, etc.

Alguas fucioes y sumatorias G M Lua: \Aalisis y dise~o de algoritmos" 3 Poliomios E ua variable: p() = m i=0 a i i m es el grado del a 0

Sucesiones I Introducción

Series de números reales

Sucesiones de números reales

Análisis de algoritmos

una sucesión de funciones de A. Formemos una nueva sucesión de funciones {S n } n=1 de A de la forma siguiente:

Estimadores Puntuales: Propiedades de estimadores Sebastián Court

LOS NUMEROS REALES. Conjunto no vacío designado como R y denominado conjunto de los números reales. En

Sucesiones y series de números reales

R. Urbán Introducción a los métodos cuantitativos. Notas de clase Sucesiones y series.

1.-SUAVIZADORES DE RANGO DE ORDEN INTRODUCCIÓN

Semana 10 [1/24] Sucesiones (II) 2 de mayo de Sucesiones (II)

AMPLIACIÓN DE MATEMÁTICAS 4º ESO CURSO 1 /1

1. INTRODUCCIÓN AL CONCEPTO DE LÍMITE

SUCESIÓN. La colección de números que definen a una sucesión permite clasificar a éstas en:

ÍNDICE. Prólogo Capítulo 1. Ecuaciones diferenciales ordinarias. Generalidades.. 11 Introducción teórica Ejercicios resueltos...

1. Serie de Potencias

Álgebra I Práctica 2 - Números naturales e inducción

Preguntas de examen. Apéndice A. A.1 Abril de 2008 (Examen parcial) Preguntas de test (30%) Teoría (10 %)

(a n a n+1 ) n(n + 1) = Comprobar que las siguientes series no son convergentes. ( 1) n. 2 n+2 3 n 2,

bc (b) a b + c d = ad+bc a b = b a

Curso: 3 E.M. ALGEBRA 8

RESUMEN DE RESULTADOS IMPORTANTES ACERCA DE SUCESIONES Y SERIES

) = Ln(1 + 1 n ) 1 n. Ln( n ) n tiene términos positivos y si 0 < lím n n bn. < entonces ambas series divergen o bien ambas series convergen

Prueba Integral Lapso / Área de Matemática Fecha: MODELO DE RESPUESTA (Objetivos del 01 al 11)

ALGORITMOS 3 DIGITALES II. Ing. Hugo Fdo. Velasco Peña Universidad Nacional 2006

SERIES NUMÉRICAS. SECCIONES A. Series de términos no negativos. B. Ejercicios propuestos.

UNIDAD 1 Ecuaciones Diferenciales de Primer Orden

Práctica 3 Sucesiones y series

Matemáticas Discretas

1. SUCESIONES Y SERIES

Examen de Febrero de 2005 de Cálculo I. Soluciones.

Tarea 1 y 2. Problema 1. Calcula el supremo y el ínfimo de los siguientes conjuntos.

CAPITULO 0 CONCEPTOS BASICOS DE ALGEBRA Y PROGRAMACION LINEAL Algebra lineal Notación básica.

SOLUCIONES DE LAS ACTIVIDADES Págs. 23 a 43

Límite y Continuidad de Funciones.

Sesión No. 6. Contextualización. Nombre: Funciones exponenciales y logarítmicas y el uso de las MATEMÁTICAS. progresiones aritméticas y geométricas.

Series de potencias. Desarrollos en serie de Taylor

Álgebra I Práctica 4 - Números enteros (Parte 1)

Límites en el infinito y límites infinitos de funciones.

Álgebra I Práctica 3 - Números enteros (Parte 1)

Funciones Exponencial y Logaritmo


TALLER DEL CENTRO DE APRENDIZAJE DE MATEMÁTICAS

Teoría de Sistemas y Señales

Cálculo de ceros de funciones

Teoría de Sistemas y Señales

SOLUCIONES DE LAS ACTIVIDADES Págs. 23 a 43

Ejercicios de preparación para olimpiadas. Funciones

TEMA 4. Series de números reales. Series de Potencias.

Combinatoria. Tema Principios básicos de recuento

Sistema de ecuaciones lineales

S7: Series numéricas II

Álgebra I Práctica 3 - Números Naturales e Inducción

Series de potencias Introducción. Temas Series de potencias. Intervalo y radio de convergencia de una serie de potencias.

Desigualdad entre las medias Aritmética y Geométrica

Capítulo III Teoría de grupos

CAPÍTULO XIV. SERIES NUMÉRICAS ARBITRARIAS

Matemáticas Especiales. Sucesiones y Series. R. Rossignoli Universidad Nacional de La Plata

3.8. Ejercicios resueltos

Álgebra I Práctica 2 - Números Naturales e Inducción

Departamento de Matemáticas

6. Sucesiones y Series numéricas Series numéricas DEFINICIONES Y PROPIEDADES

ECUACIONES DIFERENCIALES (0256)

Álgebra I Práctica 3 - Números enteros (Parte 1)

Convergencia de variables aleatorias

Series infinitas de números reales. Series convergentes

[e j N 2 e j N 2 ]...} (22)

Hoja de Problemas Tema 3. (Sucesiones y series)

EJERCICIOS DE CÁLCULO I. Para Grados en Ingeniería. Capítulo 3: Sucesiones y series. Domingo Pestana Galván José Manuel Rodríguez García

8. SUCESIONES Y SERIES NUMÉRICAS DEFINICIÓN Y EJEMPLOS SUCESIÓN CONVERGENTE TEOREMAS Y EJEMPLOS

Marco Teórico n = i = 2. Deducción: Si la serie se suma dos veces de la siguiente forma:

TRABAJO DE GRUPO Series de potencias

El método de Monte Carlo

LAS SUCESIONES Y SU TENDENCIA AL INFINITO

Conjunto de números dispuestos uno a continuación de otro: a 1, a 2, a 3,..., a n. Sucesión inversible o invertible. a n 1 a n.

Departamento de Matemáticas

Evaluación NOMBRE APELLIDOS CURSO Y GRUPO FECHA CALIFICACIÓN. 9. Límite y continuidad

Unidad 1: Las Ecuaciones Diferenciales y Sus Soluciones

Coeficientes binomiales

R. Urbán Ruiz (notas de clase)

Transcripción:

Técicas avazadas de aálisis y diseño Aálisis de algoritmos Notacioes Aálisis de algoritmos Aálisis probabilístico Aálisis amortizado Operacioes características y complejidad de cálculo. Fucioes, sumatorias y recurrecias. Algoritmos recursivos e iterativos. Evaluació de la eficiecia y otació O.

Aálisis de algoritmos La eficiecia de u programa tiee dos igredietes fudametales: espacio y tiempo. La eficiecia e espacio es ua medida de la catidad de memoria requerida por u programa. La eficiecia e tiempo se mide e térmios de la catidad de tiempo de ejecució del programa.

Aálisis de algoritmos Ambas depede del tipo de computador y compilador, por lo que o se estudiará aqui la eficiecia de los programas, sio la eficiecia de los algoritmos. Asimismo, este aálisis depederá de si trabajamos co máquias de u solo procesador o de varios de ellos. Cetraremos uestra ateció e los algoritmos para máquias de u solo procesador que ejecuta ua istrucció luego de otra.

Operacioes características y complejidad de cálculo La eficiecia de los algoritmos está basada e ua operació característica que el algoritmo repite y que defie su complejidad e Tiempo (T()). T() es el úmero de operacioes características que el algoritmo desarrolla para ua etrada N dada. El máximo tiempo de ejecució de u algoritmo para todas las istacias de tamaño N, se deomia la complejidad e tiempo para el peor caso W(). Asimismo, la complejidad promedio e tiempo es A(), dode p j es la probabilidad de que esta istacia ocurra. W() = max 1 j k T j () A() = p j Tj( ) Normalmete se tedrá muchos algoritmos diferetes para resolver u mismo problema, por lo que debe existir u criterio para seleccioar el mejor. k j=1

Notacioes El iterés pricipal del aálisis de algoritmos radica e saber cómo crece el tiempo de ejecució, cuado el tamaño de la etrada crece. Esto es la eficiecia asitótica del algoritmo. La otació asitótica se describe por medio de ua fució cuyo domiio es los úmeros aturales (N). Se cosidera las fucioes asitóticamete o egativas. 1.- Notació Θ, límite asitóticamete estrecho Para ua fució dada g(), Θ(g()) = { f() / las costates positivas c 1, c 2 y o / 0 c 1 g() f() c 2 g() o } Ejm: 2 /2-3 = Θ( 2 )

Notacioes o c 2 g() f() c 1 g() Se deota f() = Θ(g()) f() Θ(g()), y se dice que g() es el límite asitóticamete estrecho de f(). 2.- Notació O, límite asitótico superior O(g()) = { f() / las costates positivas c y o / 0 f() c g() o } Ejm: a 2 + b + c co a > 0 tiee O( 2 )

Notacioes o cg() f() El hecho que f() = Θ(g()) implica f() = Ο(g()), por lo que Θ(g()) Ο(g()). Se dice que g() es el límite asitótico superior de f(). 3.- Notació Ω, límite asitótico iferior Ω(g()) = { f() / las costates positivas c y o / 0 c g() f() o } f() cg() Ejm: a 2 + b + c co a > 0 tiee O( 2 ) = Ω ( 2 ) = Θ( 2 ) o

Notacioes Teorema: Para cualquier fució f() y g(), f() = Θ(g()) si y solo si f() = O(g()) y f() = Ω(g()) 4.- Notació o, límite superior o asitóticamete estrecho o(g()) = { f() / para cualquier costate c > 0, ua costate o > 0 / 0 f() < c g() o } Ejm: 2 = o( 2 ) pero 2 2 o( 2 ) 5.- Notació ω, límite iferior o asitóticamete estrecho ω(g()) = { f() / para cualquier costate c > 0, ua costate o > 0 / 0 c g() < f() o } Ejm: 2 /2 = ω() pero 2 /2 ω( 2 )

Notacioes Comparació de las fucioes: f() y g() so asitóticamete + 1.- Trasitividad Si f() = Θ(g()) y g() = Θ(h()) etoces f() = Θ(h()) Si f() = O(g()) y g() = O(h()) etoces f() = O(h()) Si f() = Ω(g()) y g() = Ω(h()) etoces f() = Ω(h()) Si f() = o(g()) y g() = o(h()) etoces f() = o(h()) Si f() = ω(g()) y g() = ω(h()) etoces f() = ω(h()) 2.- Reflexibidad f() = Θ(f()), f() = O(g()), f() = Ω(g()) 3.- Simetría f() = Θ(g()) si y solo si g() = Θ(f()) 4.- Simetría traspuesta f() = O(g()) si y solo si g() = Θ(g()) f() = o (g()) si y solo si g() = ω(g())

Notacioes Aalogía etre la comparació asitótica de dos fucioes f y g y la comparació etre dos úmeros reales a y b: f() = O(g()) a b f() = Ω(g()) a b f() = Θ(g()) a = b f() = o(g()) a < b f() = ω(g()) a > b Para dos úmeros reales cualesquiera ua de las siguietes comparacioes es cierta: a < b, a = b o a > b. No todas las fucioes so comparables asitóticamete. Ejemplo: f() = y g() = 1+se(), o puede ser comparadas usado la otació sitótica pues el valor del expoete 1+se() oscila etre 0 y 2 tomado todos los valores e ese rago.

Fucioes y otacioes comues 1.- Mootoía: Ua fució f() es moótoa creciete si m implica f(m) f(). Es moótoa decreciete si m implica f(m) f() Ua fució f() es estrictamete creciete si m < implica f(m) < f() y estrictamete decreciete si m < implica f(m) > f(). 2.- Pisos y techos: Para cualquier úmero real x, el piso de x x, es el úmero etero más grade meor o igual a x, y el techo de x x es el úmero etero más pequeño mayor o igual a x. úmero real x, x-1 < x x x < x+1 Para cualquier etero, /2 + /2 = Para cualquier etero y los eteros a 0 y b 0, /a /b = /ab y /a /b = /ab. Ambas fucioes so moótoas crecietes. 3.- Poliomios: Dado u etero positivo d, u poliomio e de grado d d es ua fució p() = ai i dode a 0, a 1,..., a d so coeficietes i=0 del poliomio y a d 0. U poliomio es asitóticamete positivo si a d >0.

Fucioes y otacioes comues Para u poliomio asitóticamete positivo de grado d p()=θ( d ). La fució d es moótoa creciete si d 0, y moótoa decreciete si d 0. La fució f() es poliomialmete limitada si f() = O(1), que es equivalete a f() = O( k ) para algua costate k. 4.- Expoeciales: Para todo real a 0, m y se tiee las siguietes idetidades: a 0 = 1 a 1 = a a -1 = 1/a (a m ) = a m (a m ) = (a ) m a m a = a m+ para todo y a 1, la fució a es moótoa decreciete e. Para toda costate real a y b tal que a > 1, lim b = 0 a por lo que b = o(a ), asi cualquier fució expoecial positiva crece más rápido que cualquier poliomio. Siedo e = 2.71828..., la base de la fució 2 3 i x x x x logaritmo atural, se tiee que para todo real x, e = 1+ x + + + = 2! 3! i= 0 i! Para todo real x, se tiee que e x 1 + x, cuado x = 0 es igual.

Fucioes y otacioes comues Cuado x 1, se tiee la aproximació 1 + x e x 1 + x + x 2. Cuado x 0, la aproximació de e x por 1 + x es buea, e x = 1 + x + Θ(x 2 ) x x lim Para todo x, ( 1+ ) = e 5.- Logaritmos: Se asume que lg + k = (lg ) + k. lg = log 2 (logaritmo biario) l = log e (logaritmo atural) lg k = (lg ) k (expoeciació) lg lg = lg (lg )) Para > 0 y b > 1, la fució log b es estrictamete creciete. Para todo real a > 0, b > 0, c > 0 y, se tiee que: a = b log ( ab) = log a + log b log logb a c c c b a = log a c b logc a logb a = log b log ( 1/ a) = log a log a b logb a = = c 1 loga b logb a b

Fucioes y otacioes comues Para l(1+x) cuado x <1, 2 3 4 5 x x x x l( 1+ x) = x + + 2 3 4 5 x 1 x x + l( + ) Para x >-1, 1 x cumpliedose la igualdad para x=0. Ua fució es polilogaritmicamete limitada si f()=lg O(1). Para cualquier costate a>0, lg b =o( a ), por lo que cualquier fució poliomial positiva crece más rapidamete que cualquier fució polilogarítmica. 6.- Factoriales: Para 0,!=1x2x3x... U límite superior débil es!, ya que cada térmio es el producto de a lo sumo. Usado la aproximació de Stirlig se prueba:! = o( )! = ω(2 ) lg(!) = Θ( lg ) ( )! π ( ) 2π 2 e e + ( 1/ 12)

Fucioes y otacioes comues 7.- Números de Fiboacci: F 0 =0, F 1 =1, F i = F i-1 + F i+1 para i 2. i i Se prueba por iducció que φ φ dode φ es la secció dorada igual a (1+ 5)/2. Los úmeros de Fiboacci crece expoecialmete. 8.- Iteració de la fució logarítmica: La otació lg* deotará la fució logarítmica iterada, la cual se defie como: lg* = mi{ i 0: lg (i) 1} dode lg (i) deota la fució logaritmo aplicada i veces y defiida si i = 0, como: lg ( i) (i-1) (i-1) = lg(lg ) si i 0 y lg 0, (i-1) (i-1) o defiida si i 0 y lg 0 o lg es idefiida. Esta fució crece muy letamete. lg* 2 = 1, lg* 4 = 2, lg* 16 = 3 lg* 65536 = 4, lg* (2 65536 ) = 5. Fi = 5

Sumatorias Dada ua secuecia a 1, a 2,... de úmeros, la sumatoria fiita a 1 +a 2 +...+a se escribe como: a k k = 1 Si =0, el valor de la sumatoria se defie como 0. Si o es etero, se asume u límite superior de. Asimismo, si la suma comieza co k=x y x o es etero se asume como valor iicial de la suma x. Dada ua secuecia a 1, a 2,... de úmeros, la sumatoria ifiita a k lim ak k = 1 k a 1 +a 2 +... se escribe como: que es iterpretado como: = 1 Si el límite o existe, la serie diverge, de lo cotrario coverge. a k = 1 k Ua serie que coverge absolutamete es ua serie a k = 1 k para la cual tambié coverge. 1.- Liealidad: Para cualquier real c ( y uas secuecias fiitas cak + bk ) = c a b k k + = 1 k = 1 k = 1 k a 1, a 2,... y b 1, b 2,... propiedad que matiee las series covergetes ifiitas.

Sumatorias La propiedad lieal se aplica a la otació asitótica, por ejemplo: Θ( f ( k)) = Θ( f ( k) k= 1 k = 1 ) dode la otació Θ de la parte izquierda se aplica a la variable k y la de la derecha a. 1 2 2.- Series aritméticas: k = 1+ 2+ + = ( + 1) = Θ( ) 2 k= 1 3.- Series geométricas o expoeciales: Para x 1 k= 0 + 1 k 2 x 1 k x = 1+ x + x + + x = cuado x 1 x = x 1 4.- Series harmóicas: Para eteros positivos, el -ésimo harmóico es 1 1 1 1 1 H = 1+ 2 + 3 + 4 + + = k = + O k = l ( 1) 1 Para cualquier secuecia a 1,a 2,...,a 1 1 ( ) a 5.- Productoria: El producto fiito a 1 a 2...a k k= 1 si =0 el valor del producto es 1. Para covertir de sumatoria a productoria se usa la lg ak = lg ak idetidad, k= 1 k= 1 k= 0 1 1 x ( a a ) = a a, asimismo ( a a ) = a a k= 1 k k 1 0 k= 0 k k+ 1 0 Por ejemplo, 1 1 k= 1 k( k+ 1) 1 = = 1 k= 1-1 1 k k+ 1

Sumatorias Los métodos más usados para describir el tiempo de corrida de los algoritmos se basa e ecotrar ua limitació para la suma de ua secuecia mediate: 1.- Iducció matemática: Ejemplo: la serie geométrica dada es + 1 k k + 1 + 1 1 1 + 1 + 1 3 = 3 + 3 c3 + 3 = ( y está limitada co O(3 3 + c ) c3 c3 ) k= 0 k= 0 2.- Limitado los térmios: Normalmete se escoge el térmio más grade para limitar a los otros, e geeral si a max =max 1 k a k etoces ak a k= 0 max. Este método o es muy recomedable si la serie puede ser limitada por ua serie geométrica, e cuyo caso se prefiere el límite de esta última. 3.- Fisió: Se expresa la sumatoria e dos o más series separado el rago del ídice y ecotrado la limitació de cada serie. k0 1 E geeral, ak = a a a k= k = k + k = k k = Θ( 1) + 0 0 k = k k 0 0 k=1 k = 1 k = + 1 k = 1 k = 2 2+ 1 2 2 ( 2) Ω( ) 2 2 Ejemplo: k = k + k 0 + ( ) = 2

Recurrecias Cuado u algoritmo cotiee llamadas a él mismo (recursivo), su tiempo de ejecució se expresa ormalmete co ua recurrecia. Ua recurrecia es ua ecuació o desigualdad que describe ua fució e térmios de sus valores para sus etradas más pequeñas. Para ecotrar los límites asitóticos (Θ, Ο) se preseta tres métodos:» Método por substitució» Método por iteració» Método maestro Método por substitució: Se eucia ua forma de solució y se prueba por iducció que dicha solució asociada a ua costate es buea. Este método se aplica cuado se puede euciar la solució posible de la recurrecia.

Recurrecias Ejm: Ecotrar el límite superior de la recurrecia T()=2T( /2 )+ Supoemos que la solució es T()=O( lg ). Se probará que T() c lg para ua costate apropiada c>0. Se iicia asumiedo que el límite se da para /2. Substituyedo, T() 2(c /2 lg ( /2 )) + T() c lg (/2) + T() = c lg - c lg 2 + T() = c lg - c + T() c lg se cumple para c 1 La iducció matemática requiere que se pruebe la solució ecotrada para codicioes límites. Si se asume T(1) = 1, o se puede escoger c grade, ya que T(1) c 1 lg 1 = 0. Esta dificultad se resuelve tomado =2 o = 3. Así, T(2)=4 y T(3)=5 y la prueba iductiva T() c lg para c 2 es suficiete.

Recurrecias Se puede usar cambios de variables para simplificar, ejemplo: T()=2T( ) + lg. Se hace m=lg y T(2 m ) = 2T(2 m/2 )+m se hace S(m) = T(2 m ) y se obtiee S(m) = 2 S(m/2) + m que es parecida a la aterior por lo cual T() = T(2 m ) = S(m) = O(m lg m) = O(lg lg lg ) Método iterativo: Se expade la recurrecia y se expresa como ua sumatoria de térmios que depede solo de y de codicioes iiciales. Ejemplo: T() = 3 T ( /4 ) + T() = + 3 ( /4 + 3 T( /16 ) ) T() = + 3 ( /4 + 3 ( /16 + 3 T( /64 ) ) T() = + 3 /4 + 9 /16 + 27 T( /64 ) T() = + 3 /4 + 9 /16 + 27 /64 +... + 3 log 4 Θ(1) i log T( ) ( 3 4 3 ) + ( ) i= 4 Θ 0 T() = 4 + o() = O()

Recurrecias Método maestro: Se usa para resolver recurrecias del tipo T() = a T(/b) + f(), dode f() es ua fució asitóticamete positiva y las costates a 1, b >1. Ella expresa que el problema se divide e a subproblemas de tamaño /b. Los a subproblemas se resuelve recursivamete e tiempo T(/b). El costo de dividir el problema y combiar sus solucioes es descrito por f(). Normalmete e estos casos o se cosidera los techos y pisos. Teorema maestro: Sea a 1, b >1 costates, f() ua fució y T() ua recurrecia para úmeros eteros o egativos, T() = a T(/b) + f(), dode /b puede ser /b o /b etoces T() está limitado asitóticamete segú: 1.- Si f() = O( log b a - ) para algua costate >0, etoces T() = Θ( log b a ) 2.- Si f() = Θ( log b a ), etoces T() = Θ( log b a lg ) 3.- Si f() = Ω( log b a+ ) para algua costate >0, y si a f(/b) cf() para algua costate c < 1 y suficietemete grade, etoces T() = Θ(f()).

Evaluació de la eficiecia La mejor técica para difereciar la eficiecia de los algoritmos es el estudio de los órdees de complejidad. El orde de complejidad se expresa geeralmete e térmios de la catidad de datos procesados por el programa, deomiada N. Este N puede ser el tamaño dado o estimado. Ejemplo 4: U algoritmo que procese u vector V(N) tedrá u orde de complejidad de N, ya que si N crece, e esa misma proporció crece el orde de complejidad de él. La catidad de tiempo de procesamieto de u algoritmo (T()), por lo geeral viee dado e fució de N, y puede expresarse e base a los casos típicos de ese N, caso promedio A(), o e base a casos extremos o deseables, como el peor de los casos W().

Notació O El orde de complejidad se defie como ua fució que domia la ecuació que expresa e forma exacta el tiempo de ejecució del programa. g(x) domia a f(x), si dada ua costate C cualquiera C*g(x) f(x) x g(x) domia asitóticamete a f(x), si g(x) domia a f(x) para los valores muy grades de x. f(n) = N 2 + 5N + 100 g(n) = N 2 etoces g(n) domia a f(n) El orde de complejidad se deota co ua o mayúscula, O(g(N)) O(N 2 ), O(N) U orde O(N) idica que el tiempo de ejecució decrece suavemete e proporció al decrecimieto de N.

Notació O Auque dos algoritmos tega el mismo orde O(N), ellos puede teer diferetes tiempos de ejecució para iguales valores de N. Reglas para determiar el orde de complejidad: 1.- O(C*g) = O(g) 2.- O(f * g) = O(f) * O(g) O(f/g) = O(f) / O(g) 3.- O(f+g) = fució domiate etre O(f) y O(g) Ejemplos: O(2456 * N) = O(N) O((20 * N) * N) = O(20 * N) * O(N) = O(N 2 ) Alguas fucioes de domiació más comues: N b domia a N! N! domia a b N b N domia a c N si b c b N domia a N a si a 0 N domia a N m si m N domia a log a N si a 1 log a N domia a log b N si b a 1 log a N domia a 1 si a 1

Notació O U algoritmo de O(1) tiee complejidad costate y por ello so los más eficietes y los preferidos. La mayoría de los programas tiee complejidad poliomial O(N a ), dode N es la variable y a es ua costate mayor que 1. O(N), O(N 2 ), O(N 3 ), O(logN) La complejidad o poliomial (NP) es aquella que tiee u orde mayor que la poliomial. Ejm: La complejidad expoecial O(a N ) Nombres de las más usadas: log N complejidad logarítmica (log 2 N lg N) N complejidad lieal N 2 complejidad cuadrática N 3 complejidad cúbica 2 N complejidad expoecial

Notació O Comparació etre diferetes complejidades N logn NlogN N 2 N 3 2 N 3 N 1 0 0 1 1 2 3 2 1 2 4 8 4 9 4 2 8 16 64 16 81 8 3 24 64 512 256 6.561 16 4 64 256 4.096 65.536 43.046.721 32 5 160 1.024 32.768 4.294.967.296?? 64 6 384 4.096 262.144 *?? 128 7 896 16.384 2.097.152 **?? * el úmero de istruccioes que puede ejecutar u supercomputador de 1 GFLOP e 500 años. ** sería 500 billoes de veces la edad del uiverso (20 billoes de años) e aosegudos. Los algoritmos si lazos y si recursió tiee complejidad costate La determiació del orde de complejidad de u algoritmo se iicia por los lazos y las recursioes. Los lazos aidados tedrá complejidad poíómica.

Notació O Correspodecia etre la estructura de programació y el orde de complejidad. Estructura Orde Secuecial (S) O(1) S1 La fució domiate etre S2 O(S1) y O(S2) Si (Codició) etoces S1 La fució domiate etre sio S2 O(S1), O(S2) y O(Codició), fsi e el peor de los casos [S1] i = 1, N O(N * S1) Ejemplo: [[m(i,j) = 0] j = 1, N ] i = 1, N tiee O(N 2 ) [ a = a + b i ] i = 3,8 tiee O(1)

Aálisis probabilístico Paradoja del cumpleaños Cuátas persoas debe haber e ua sala para que exista la posibilidad de que dos de ellas cumpla años el mismo día? k: # de persoas e la sala : # de días de u año = 365 (o se cosidera los bisiestos) Bi: el día del i-ésimo cumpleaños, co 1 Bi Pr{Bi=r}=1/ para i = 1,.., k y r = 1,.., (cumpleaños uiformemete distribuidos) Si los cumpleaños so idepedietes, Pr{Bi = r y Bj = r} = 1/ * 1/=1/ 2 Que el cumpleaños de ambos sea el mismo día, Pr{Bi = Bj} = r=1 Pr{Bi = r y Bj = r} = r=1 (1/ 2 ) = 1/

Aálisis probabilístico Paradoja del cumpleaños: Cuátas persoas debe haber e ua sala para que exista la posibilidad de que dos de ellas cumpla años el mismo día? Pares (i, j) de las K persoas e la sala, se defie la variable aleatoria Xij Xij = 1, si i y j tiee el mismo cumpleaños y 0, si o Pr{Bi=r}=1/ La esperaza E[Xij] = 1 * 1/ + 0 * (1 1/) = 1/ Suma de la esperaza de los pares i=2k j=1 i-1 E[Xij] = ( 2k )1/ = (k(k-1))/2 Cuado k(k-1) 2, el úmero esperado de pares de cumpleaños es al meos 1. Si se tiee al meos 2 persoas e ua sala, se espera teer 2 persoas que cumpla años el mismo día. Si =365, k=28. Θ( )