Matemáticas para Ciencias de la Computación MCC3182 Profesor: Claudio Gutiérrez Soto Página Web:...
-
Upload
narciso-arredondo -
Category
Documents
-
view
216 -
download
0
Transcript of Matemáticas para Ciencias de la Computación MCC3182 Profesor: Claudio Gutiérrez Soto Página Web:...
Matemáticas para Ciencias de la Computación MCC3182
Profesor: Claudio Gutiérrez SotoPágina Web: http://www.dcc.uchile.cl/~clgutier
e-mail: [email protected]
Fono: 207 122
Matemá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.
Matemáticas para Ciencias de la Computación MCC3182
Contenido:Inducción matemática. Relaciones y FuncionesDigrafosTeorema de DilworthRelaciones y GrafosÁrbolesSumatoriasSeries especiales (harmónicas, stirling) Notación AsintóticaRepaso análisis algoritmosEcuaciones de recurrenciaPermutaciones y factorialesProbabilidad DiscretaAlgoritmos sobre grafosAlgoritmos probabilísticos
Matemá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.
Matemá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)
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
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 )
Matemáticas para Ciencias de la Computación
MCC3182
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 )
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
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.
Matemáticas para Ciencias de la Computación
MCC3182
Análisis de Algoritmos Iterativos
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Análisis de Algoritmos Recursivos
Matemáticas para Ciencias de la Computación
MCC3182
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
Matemáticas para Ciencias de la Computación
MCC3182
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
Matemáticas para Ciencias de la Computación
MCC3182
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
Matemáticas para Ciencias de la Computación
MCC3182
Ecuaciones de Recurrencia
Matemáticas para Ciencias de la Computación
MCC3182
Método de Sustitución
Método de Iteración
Teorema Maestro
Método de la Ecuación Característica
Matemáticas para Ciencias de la Computación
MCC3182
Método de Sustitución
Método de Iteración
Teorema Maestro
Método de la Ecuación Característica
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Árboles de Recursión, visualizando la Iteración
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182
Matemáticas para Ciencias de la Computación
MCC3182