Title: Matem
1Matemá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_at_ona.fi.umag.cl
- Fono 207 122
2Matemáticas para Ciencias de la Computación
MCC3182
- 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.
3Matemáticas para Ciencias de la Computación
MCC3182
- 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
4Matemáticas para Ciencias de la Computación
MCC3182
- 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.
5Matemáticas para Ciencias de la Computación
MCC3182
- 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)
6Matemáticas para Ciencias de la
ComputaciónMCC3182
7Matemáticas para Ciencias de la
ComputaciónMCC3182
8Matemáticas para Ciencias de la
ComputaciónMCC3182
9Matemáticas para Ciencias de la
ComputaciónMCC3182
10Matemáticas para Ciencias de la
ComputaciónMCC3182
11Matemáticas para Ciencias de la
ComputaciónMCC3182
12Matemáticas para Ciencias de la
ComputaciónMCC3182
13Matemá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 )
14Matemá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 )
15Matemáticas para Ciencias de la
ComputaciónMCC3182
16Matemáticas para Ciencias de la
ComputaciónMCC3182
17Matemá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.
18Matemáticas para Ciencias de la
ComputaciónMCC3182
Análisis de Algoritmos Iterativos
19Matemáticas para Ciencias de la
ComputaciónMCC3182
20Matemáticas para Ciencias de la
ComputaciónMCC3182
21Matemáticas para Ciencias de la
ComputaciónMCC3182
22Matemáticas para Ciencias de la
ComputaciónMCC3182
23Matemáticas para Ciencias de la
ComputaciónMCC3182
24Matemáticas para Ciencias de la
ComputaciónMCC3182
Análisis de Algoritmos Recursivos
25Matemáticas para Ciencias de la
ComputaciónMCC3182
Function Factorial Begin if nlt 1
then fact1 else factn
fact(n-1) End T(n) cT(n-1) si
ngt1 d si nlt1
26Matemá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 n1
2T(n/2)c2n si ngt1
27Matemá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 n1
2T(n/2)c2n si ngt1
28Matemáticas para Ciencias de la
ComputaciónMCC3182
Ecuaciones de Recurrencia
29Matemá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
30Matemá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
31Matemáticas para Ciencias de la
ComputaciónMCC3182
32Matemáticas para Ciencias de la
ComputaciónMCC3182
33Matemáticas para Ciencias de la
ComputaciónMCC3182
34Matemáticas para Ciencias de la
ComputaciónMCC3182
35Matemáticas para Ciencias de la
ComputaciónMCC3182
36Matemáticas para Ciencias de la
ComputaciónMCC3182
37Matemáticas para Ciencias de la
ComputaciónMCC3182
Árboles de Recursión, visualizando la Iteración
38Matemáticas para Ciencias de la
ComputaciónMCC3182
39Matemáticas para Ciencias de la
ComputaciónMCC3182
40Matemáticas para Ciencias de la
ComputaciónMCC3182
41Matemáticas para Ciencias de la
ComputaciónMCC3182
42Matemáticas para Ciencias de la
ComputaciónMCC3182
43Matemáticas para Ciencias de la
ComputaciónMCC3182
44Matemáticas para Ciencias de la
ComputaciónMCC3182