Matemáticas para Ciencias de la Computación MCC3182 Profesor: Claudio Gutiérrez Soto Página Web:

Slides:



Advertisements
Presentaciones similares
NAP Cuadernos para el aula
Advertisements

Complejidad Computacional
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
ESTRUCTURA DE DATOS Unidad 01 RECURSIVIDAD.
Pippy (Python para niños)‏ 1.
Clase 2 Tipos de datos Asignación de valores Estructura IF Ejercicios
Estructuras de Repetición Algoritmos
Introducción a los Algoritmos
UNIDAD II: ALGORITMOS Y LENGUAJES
¿ Que es la complejidad de un algoritmo ?
Concepto de programa. Directorio Concepto de programa. Analisis del problema. Resolucion del problema. Desarroollo de un programa. Partes constitutivas.
UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Estructuras de Control
3. INTRODUCCIÓN A LA PROGRAMACIÓN
ALGORITMOS 2 DIGITALES II
PARADIGMA Es un esquema de pensamiento que nos lleva a concebir las cosas de una manera determinada. el término paradigma puede indicar el concepto de esquema.
Representación de los algoritmos
METODOLOGIA DE LA PROGRAMACION
Recurrencias Fundamentos de análisis y diseño de algoritmos.
2.1 Recursividad El hecho de que una función pueda llamarse a sí misma.
Análisis y Diseño de Algoritmos
Taller de Base de Datos Profesor: Claudio Gutiérrez Soto página: Fono: Minería.
ALGORITMOS es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos.
ESTRUCTURAS DE CONTROL
Notas de Matemáticas Discretas
INTRODUCCIÓN A LA COMPUTACIÓN 12va Semana – 19va Sesión Miércoles 18 de Mayo del 2005 Juan José Montero Román
Fundamentos de Programación
Programación de Computadores
Material de apoyo Unidad 1 Estructura de datos
Academia de Informática
Recursión en programación
Análisis y Diseño de Algoritmos. Propiedades : f ( n )  O ( f ( n ) ) a ) O ( f ( n ) )  O ( g ( n ) )  f ( n )  g ( n )

Análisis de Algoritmos
TEMA Nº 1 Conjuntos numéricos.
Introducción al análisis de algoritmos
ESTRUCTURA DE DATOS ESD-243
Material de apoyo Unidad 4 Estructura de datos
Matemáticas para Ciencias de la Computación MCC3182
Figure: Algoritmos Conceptos básicos. Programación: 1.Establecer una secuencia de acciones que: puedan ser ejecutadas por el procesador realicen una.
UNIDAD 2. ALGORITMOS Y ESTRUCTURAS DE DATOS.
INVESTIGACION DE OPERACIONES
PENSAMIENTO ANALÍTICO SISTÉMICO DAISY KATERINE RODRÍGUEZ DURÁN
1  Una Ecuaci ó n de Recurrencia Lineal de Orden n a Coeficientes Constantes se define seg ú n la ecuaci ó n: ∑ d K a K = g(n) donde d K son constantes.
Parte I. Estructuras de Datos.
Análisis de Algoritmos
Estructuras de control Resolución de problemas y algoritmos.
Parte I. Estructuras de Datos.
Introducción a la Programación “Conceptos Básicos” Semestre de Otoño 2006 Claudio Gutiérrez Soto.
SUBSECRETARÍA DE EDUCACIÓN BÁSICA
¿Qué son Los Lenguajes de Programación?
Objetivo Mostrar los fundamentos de la programación a través de ejemplos y prácticas utilizadas cotidianamente en el desarrollo de aplicaciones.
Términos algoritmo diseñar algoritmo implementar algoritmo
ELEMENTOS DE COMPUTACIÓN Profesor: Guillermo Figueroa
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ
Presente un cuestionario con los aspectos mas importantes sobre los
M.S.C. Ivette Hernández Dávila
Introducción a los TADs
Prueba de escritorio Computación y Sistemas de Información.
* Cuando nos permite desarrollar un programa que necesitamos para tomar un conjunto de buenas prácticas para hacer eso. Esto se debe a que podemos ahorrar.
TIPOS DE DATOS ABSTRACTOS
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
PARADIGMA Es un marco de referencia que impone reglas sobre cómo se deben hacer las cosas. CONCEPTO DE PARADIGMA DE PROGRAMACION colección de modelos conceptuales.
Conceptos Generales PROGRAMACIÓN I DOCENTE: ING. MARLENY SORIA M. 1.
Este material ha sido desarrollado para alumnos que cursan la asignatura de Programación Básica impartida en el primer semestre en la Facultad de Ingeniería.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) IV. IMPLANTACION DE ALGORITMOS.
ALGORITMOS Asignatura: Informática. Algoritmos Conjunto de instrucciones ordenadas de forma lógica y precisa, con un inicio y fin que permite resolver.
Ing. Barros Rodriguez D. Ronald Introducción a la Programacón.
Transcripción de la presentación:

Matemáticas para Ciencias de la Computación MCC3182 Profesor: Claudio Gutiérrez Soto Página Web: Fono:

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

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

Propiedades : f ( n )  O ( f ( n ) ) 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

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

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)+c 2 n 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)+c 2 n 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

Árboles de Recursión, visualizando la Iteración

Matemáticas para Ciencias de la Computación MCC3182