matemáticas para ciencias de la computación mcc3182

Post on 03-Jan-2016

48 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

Matemáticas para Ciencias de la Computación MCC3182

Profesor: Claudio Gutiérrez SotoPá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

     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

top related