Está en la página 1de 22

02/02/2018

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 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

1
02/02/2018

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)

2
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

3
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

4
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

5
02/02/2018

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 )

6
02/02/2018

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

7
02/02/2018

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.

8
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Análisis de Algoritmos Iterativos

Matemáticas para Ciencias de la


Computación
MCC3182

9
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

10
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

11
02/02/2018

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

12
02/02/2018

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

13
02/02/2018

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

14
02/02/2018

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

15
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

16
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

17
02/02/2018

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

18
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

19
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

20
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

Matemáticas para Ciencias de la


Computación
MCC3182

21
02/02/2018

Matemáticas para Ciencias de la


Computación
MCC3182

22

También podría gustarte