1 / 44

Matemáticas para Ciencias de la Computación MCC3182

Matemáticas para Ciencias de la Computación MCC3182. Profesor: Claudio Gutiérrez Soto Página Web: http://www.dcc.uchile.cl/~clgutier e-mail: cjoelg@ona.fi.umag.cl Fono: 207 122. Matemáticas para Ciencias de la Computación MCC3182. General

Download Presentation

Matemáticas para Ciencias de la Computación MCC3182

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Matemáticas para Ciencias de la ComputaciónMCC3182 Profesor: Claudio Gutiérrez Soto Página Web: http://www.dcc.uchile.cl/~clgutier e-mail: cjoelg@ona.fi.umag.cl Fono: 207 122

  2. Matemáticas para Ciencias de la ComputaciónMCC3182 General Esencialmente la asignatura está orientada al análisis de algoritmos. Se le dará énfasis en el desarrollo de ejercicios y tareas por parte del alumno, esto en la resolución de análisis de algoritmos clásicos y avanzados. Teoría Clases expositivas orales y escritas. Desarrollo de ejercicios durante y al final de cada unidad, por parte del profesor y alumnos.

  3. Matemáticas para Ciencias de la ComputaciónMCC3182 Contenido: Inducción matemática. Relaciones y Funciones Digrafos Teorema de Dilworth Relaciones y Grafos Árboles Sumatorias Series especiales (harmónicas, stirling) Notación Asintótica Repaso análisis algoritmos Ecuaciones de recurrencia Permutaciones y factoriales Probabilidad Discreta Algoritmos sobre grafos Algoritmos probabilísticos

  4. Matemáticas para Ciencias de la ComputaciónMCC3182 ¿Cuál es la diferencia entre las matemáticas discretas y las matemáticas continuas? En realidad no existe diferencia, las matemáticas discretas se utilizan para el análisis de colecciones finitas de objetos, en contraste con las matemáticas continuas, que estudian procesos continuos. En las ciencias de la computación los elementos con los cuales se trabajan son elementos finitos, tale como: memoria, los programas, las sentencias que se ejecutan en dichos programas etc.

  5. Matemáticas para Ciencias de la ComputaciónMCC3182 Valores y Datos Problemas (Pre-condición /Post-Condición) Definición de Algoritmo Definición Intuitiva ( Finitud, definibilidad, generalidad,efectividad) Observaciones (procesador, problemas) Métodos de Calculo (MT) Tesis de Charch Análisis de Algoritmo (tiempo y espacio) Estrategias de Análisis (Empírica, teórica e híbrida) Principio de Invarianza (Mejor,Peor y Medio)

  6. Matemáticas para Ciencias de la ComputaciónMCC3182

  7. Matemáticas para Ciencias de la ComputaciónMCC3182

  8. Matemáticas para Ciencias de la ComputaciónMCC3182

  9. Matemáticas para Ciencias de la ComputaciónMCC3182

  10. Matemáticas para Ciencias de la ComputaciónMCC3182

  11. Matemáticas para Ciencias de la ComputaciónMCC3182

  12. Matemáticas para Ciencias de la ComputaciónMCC3182

  13. Matemáticas para Ciencias de la ComputaciónMCC3182 Propiedades : 1.1.-    f ( n )  O ( f ( n ) ) 2.   2.-   a ) O ( f ( n ) )  O ( g ( n ) )  f ( n )  g ( n ) b ) O ( f ( n ) ) = O ( g ( n ) )  f ( n )  g ( n ) y g ( n )  f ( n ) 3.-     Si t ( n )  O ( f ( n ) ) y t’ ( n )  O ( g ( n ) ) a ) c * t ( n )  O ( f ( n ) ) b ) t ( n ) + t ‘ ( n )  O ( f ( n ) + g ( n ) ) = O [ max ( f ( n ) , g ( n ) ) ] si f ( n ) es comparable asintóticamente con g ( n ) c ) t ( n ) * t’ ( n )  O ( f ( n ) g (n ) ) Ej. : t ( n ) = 3n² + 6n  = ( 3n² + 6n ) = { 1º prioridad } = O [ max ( 3n² , 6n ) ] = { 3º } = O ( 3n² ) ; ; 3n²  O ( n² ) = { 3º a } Ej. : t ( n ) = 4 log n + 6n = O ( log n + n ) = O [ max ( log n , n ) ] = O ( n ) 4 log n  O ( log n ) 6n  O ( n )

  14. Matemáticas para Ciencias de la ComputaciónMCC3182 Operaciones Conjuntísticas : 1.      O ( f ( n ) ) + O ( g ( n ) ) = O ( f ( n ) + g ( n ) ) = 0 [ max ( f ( n ) , g ( n ) ) ] si f y g son comparables El conjunto suma esta formada por funciones se la forma t ( n ) + t’ ( n ) que pertenece respectivamente al 1º y 2º sumando. 2.      O ( f ( n ) ) * O ( g ( n ) ) = O ( f ( n ) g ( n ) ) Producto conjustístico esta formado por funciones del tipo t ( n ) * t‘ ( n ) que pertenecen respectivamente al primer factor y al segundo factor. Ej. : t ( n ) = ( n² + n ) + log n  (1ª) O [ ( n² + n ) log n ] = O [ ( n² + n ) O ( log n )] = max ( n² , n ) = O ( n² ) O ( log n ) = O ( n² log n )

  15. Matemáticas para Ciencias de la ComputaciónMCC3182

  16. Matemáticas para Ciencias de la ComputaciónMCC3182

  17. Matemáticas para Ciencias de la ComputaciónMCC3182 1.1.   Análisis de Algoritmos Iterativos     1  La complejidad de toda asignación , lectura o escritura de variables simples es constante es decir O ( 1 ).   2  El tiempo de ejecución de una secuencia de proposiciones se determina por la regla de la suma.   3. El tiempo de ejecución de una proposición if, es el costo de las proposiciones que se ejecutan condicionalmente, Proposiciones verdaderas+ proposiciones falsas, más el tiempo para evaluar la condición   4. El tiempo para ejecutar un ciclo, corresponde a la suma de las proposiciones que contiene dicho ciclo.  5. Si existen ciclos anidados, el tiempo de ejecución del ciclo mas externo corresponde a la multiplicación de todos los ciclos.

  18. Matemáticas para Ciencias de la ComputaciónMCC3182 Análisis de Algoritmos Iterativos

  19. Matemáticas para Ciencias de la ComputaciónMCC3182

  20. Matemáticas para Ciencias de la ComputaciónMCC3182

  21. Matemáticas para Ciencias de la ComputaciónMCC3182

  22. Matemáticas para Ciencias de la ComputaciónMCC3182

  23. Matemáticas para Ciencias de la ComputaciónMCC3182

  24. Matemáticas para Ciencias de la ComputaciónMCC3182 Análisis de Algoritmos Recursivos

  25. Matemáticas para Ciencias de la ComputaciónMCC3182 Function Factorial : Begin if n<= 1 then fact:=1 else fact:=n* fact(n-1) End T(n)= c+T(n-1) si n>1 d si n<=1

  26. Matemáticas para Ciencias de la ComputaciónMCC3182 Ordenación por Mezcla : MezclaOrd ( L [ 1 .. n ] ) : array [ 1.. n ] Inicio Si n = = 1 entonces devolver ( L ) Sino DividirEnDos ( L , L1 , L2 ) Devolver ( mezcla ( MezclaOrd ( L1 [ 1 .. n/2 ] ) , MezclaOrd ( L2 [ 1 .. n/2 ] ) Finsi Fin T(n)= c si n=1 2T(n/2)+c2n si n>1

  27. Matemáticas para Ciencias de la ComputaciónMCC3182 Ordenación por Mezcla : MezclaOrd ( L [ 1 .. n ] ) : array [ 1.. n ] Inicio Si n = = 1 entonces devolver ( L ) Sino DividirEnDos ( L , L1 , L2 ) Devolver ( mezcla ( MezclaOrd ( L1 [ 1 .. n/2 ] ) , MezclaOrd ( L2 [ 1 .. n/2 ] ) Finsi Fin T(n)= c si n=1 2T(n/2)+c2n si n>1

  28. Matemáticas para Ciencias de la ComputaciónMCC3182 Ecuaciones de Recurrencia

  29. Matemáticas para Ciencias de la ComputaciónMCC3182 Método de Sustitución Método de Iteración Teorema Maestro Método de la Ecuación Característica

  30. Matemáticas para Ciencias de la ComputaciónMCC3182 Método de Sustitución Método de Iteración Teorema Maestro Método de la Ecuación Característica

  31. Matemáticas para Ciencias de la ComputaciónMCC3182

  32. Matemáticas para Ciencias de la ComputaciónMCC3182

  33. Matemáticas para Ciencias de la ComputaciónMCC3182

  34. Matemáticas para Ciencias de la ComputaciónMCC3182

  35. Matemáticas para Ciencias de la ComputaciónMCC3182

  36. Matemáticas para Ciencias de la ComputaciónMCC3182

  37. Matemáticas para Ciencias de la ComputaciónMCC3182 Árboles de Recursión, visualizando la Iteración

  38. Matemáticas para Ciencias de la ComputaciónMCC3182

  39. Matemáticas para Ciencias de la ComputaciónMCC3182

  40. Matemáticas para Ciencias de la ComputaciónMCC3182

  41. Matemáticas para Ciencias de la ComputaciónMCC3182

  42. Matemáticas para Ciencias de la ComputaciónMCC3182

  43. Matemáticas para Ciencias de la ComputaciónMCC3182

  44. Matemáticas para Ciencias de la ComputaciónMCC3182

More Related