Вы находитесь на странице: 1из 29

Anlisis de algoritmos

Tema 01: Presentacin de la unidad de aprendizaje


Solicitado: Tarea 01: Carta de presentacin
M. en C. Edgardo Adrin Franco Martnez
http://www.eafranco.com
edfrancom@ipn.mx
@edfrancom

edgardoadrianfrancom

Introduccin
Antecedentes
Resolver un problema computable

Objetivo de la unidad de aprendizaje


Temario
Forma de evaluacin y asistencia
Entrega de tareas, ejercicios y practicas
Herramientas computacionales
Bibliografa
Avisos y actividades
Actitudes y valores
Tarea 01 Carta de presentacin

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Contenido

mquina capaz de
informacin digital a gran

Una computadora es una

procesar
velocidad.

Una computadora esta compuesta por un conjunto de


componentes electrnicos, mecnicos e interfaces para
interactuar con el exterior (usuarios u otros dispositivos) y
por un conjunto de programas que determinan que
operaciones llevar a cabo.
Los datos ordenados (informacin) que constituyen una
entrada (input) a la computadora se procesan mediante una
lgica (programa) para producir una salida (output).

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Introduccin

mquina capaz de
informacin digital a gran

procesar
velocidad.

Computadora (hardware)

Entrada

Conjunto de programas
(software)

Salida

Una computadora esta formada por un parte fsica y otra lgica (hardware &
software), la primera de estas esta conformada por los elementos fsicos que la
conforman (dispositivos electrnicos y mecnicos), la parte lgica es aquella que
determina que procesos se van a realizar con la informacin de entrada.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Una computadora es una

La razn de ser de una computadora es poder resolver


problemas capaces de ser modelados y representados en
datos coherentes y ordenados (informacin), apoyndose de
su gran velocidad y capacidad de seguir una serie de pasos
programados con anterioridad y dependientes de la
informacin que se maneja.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

La persona responsable de indicar a la computadora la lgica


de procesamiento recae en el que lleva a cabo la
construccin del software (programador).

Computadora (hardware)

Entrada

Conjunto de programas
(software)

Algoritmo (s)

Salida

P.g. una receta de cocina, las instrucciones para armar una


bicicleta, un mueble, etc.
Los primeros algoritmos registrados datan de Babilonia,
originados en las matemticas como un mtodo para
resolver un problema usando una secuencia de clculos ms
simples. Esta palabra tiene su origen en el nombre de un
famoso matemtico y erudito rabe del siglo IX, AlKhorezmi.

En el contexto de la computacin algoritmo se usa para


denominar a la secuencia de pasos a seguir para resolver un
problema usando una computadora. Por esta razn, la
algoritmia o ciencia de los algoritmos, es uno de los pilares
de la computacin.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Algoritmo, es un conjunto ordenado y finito de operaciones


que permiten encontrar la solucin a un problema.

Los temas de mayor inters son el anlisis terico de


algoritmos lo que permite, calcular su complejidad en un
sentido asinttico, as como el anlisis de problemas
comunes que requieren una cantidad de procesamiento alta
de los datos para poder ser resueltos con exactitud o
aproximacin a la respuesta optima.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

El anlisis de algoritmos es una parte importante de la


Teora de complejidad computacional, que provee
estimaciones tericas para los recursos que necesita
cualquier algoritmo que resuelva un problema
computacional dado. Estas estimaciones resultan ser
bastante tiles en la bsqueda de algoritmos eficientes.

Programacin estructurada y/o orientada a objetos


Estructuras de datos
Conocimiento de teora de conjuntos y lgica
Matemticas discretas y grafos
Conocimiento del sistema binario y hexadecimal
Manejo de sistemas operativos y manejo de su consola o terminal.
Capacidades de diseo e implementacin de solucin a problemas

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Antecedentes

Para resolver un problema computable primeramente este debe


de quedar claro para el programador.
Posteriormente es necesario abstraerlo segn el paradigma de
programacin a una solucin clara.
Para finalmente implementar la solucin en un lenguaje que
soporte el paradigma empleado.
Anlisis de
algoritmos

Anlisis y
entendimiento
del problema

Diseo de la
solucin
Abstraccin del
problema al paradigma
de programacin a
emplear

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Resolver un problema computable

Implementacin
del la solucin
9

Evaluar e implementar la solucin a problemas algortmicos, con


base en las tcnicas de anlisis y estrategias de diseo.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Objetivo de la unidad de aprendizaje

10

Unidad I. Tcnicas de anlisis


Unidad II. Estrategias de diseo
Unidad III. Completitud NP

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Temario

11

1.
2.
3.
4.

Notacin Theta
Notacin O mayscula
Notacin Omega
Notacin o minscula

3. Ecuaciones de recurrencia

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

1. Tcnicas de anlisis
1. El rol de los algoritmos en la Computacin
2. Notacin asinttica

1. Mtodo de sustitucin
2. Mtodo de iteraciones
3. Mtodo maestro

4. Anlisis probabilstico y algoritmos aleatorizados


12

2. Estrategias de diseo
Divide y vencers
1.
2.
3.

2.

Programacin dinmica
1.
2.
3.
4.

3.

Elementos de programacin dinmica


Multiplicacin de una secuencia de matrices
Clculo de la sub-secuencia comn ms larga
El problema de la mochila entera

Algoritmos vidos
1.
2.
3.
4.

4.

Multiplicacin entera
Ordenamiento por mezcla
La Transformada rpida de Fourier

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

1.

Elementos de la estrategia vida


El problema de seleccin de actividades
Cdigos de Huffman
El problema de la mochila faccionaria

Algoritmos de empate de cadenas


1.
2.
3.

Algoritmo ingenuo
Algoritmo con Autmata Finito
Algoritmo de Knuth-Morris-Pratt

13

3. Completitud NP
Tiempo polinomial
1.
2.
3.

2.

Verificacin de tiempo polinomial


1.
2.
3.

3.

Problemas de decisin y problemas de optimizacin


Reductibilidad
Completitud NP

Pruebas de completitud NP
1.
2.

5.

Ciclos hamiltonianos
Algoritmos de verificacin
La clase de complejidad NP

Completitud NP y reductibilidad
1.
2.
3.

4.

Problemas abstractos
Codificaciones
Definicin a travs de un lenguaje formal

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

1.

Problemas NP completos
Problemas sobre grafos

Algoritmos de aproximacin
1.
2.
3.

Cotas de rendimiento de algoritmos de aproximacin


Algoritmo de aproximacin para el problema de la cubierta de vrtices
Algoritmo de aproximacin

14

15 % Tareas (Mapas mentales, resmenes, investigacin, etc.) *


25 % Ejercicios (Escritos, programas, y simulaciones)*
40 % Practicas **
20 % Exmenes (Escritos y/o prcticos)*

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Forma de evaluacin

*Individuales
**En equipo

Exposiciones 10% Extra Final


Carta de presentacin 2% Extra Final
Digitalizacin de apuntes, ejercicios y documentos de
inters (Grficos en formato PNG) ?% Extra

15

Las inasistencias a clases equivalen a -0.1 de la calificacin final


(escala de 0 a 10).

2 retardos se consideran como una falta.


Tolerancia de 15 minutos
Falta a los 16 minutos
Justificar faltas en la subdireccin acadmica

Participaciones en clase
Cada participacin equivale a +0.05 de la calificacin final.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Asistencias

Extraordinario (Practicas totales)


Para tener derecho a extraordinario, es necesario haber obtenido
una calificacin final mayor a 4.5 durante el curso.
Extraordinario (Presentacin de la totalidad de las practicas de
manera individual)

Cualquier sancin establecida afectar la calificacin final.

16

La entrega de las tareas, ejercicios y practicas se realizar a travs


de la pgina:
http://www.eafranco.com

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Entrega de tareas, ejercicios y prcticas

17

Grupo

Contrasea

3CM5

analisis3cm5

3CM6

analisis3cm6

Escribir y almacenar las claves de confirmacin, para


aclaraciones a con respecto a la evaluacin.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Grupo y contrasea

18

Personales.
Tareas copiadas de otros sern anuladas y ameritan sancin.
La fecha de entrega se acordar al momento de su asignacin.
Portada
Encabezado en cada pagina con el nombre del alumno, materia,
grupo, nombre del trabajo y nmero de pgina.
Bibliografa en formato IEEE.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Ejercicios y tareas

19

funcionamiento.
En el caso de tareas y ejercicios con varios archivos
comprimirlos en un nico archivo en formato ZIP, RAR,
TAR, JAR o GZIP, sin contrasea.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Tareas y ejercicios en formatos PDF, DOC & DOCX u otro


si as se indica en su asignacin.
Si se incluyen cdigos fuente, incluir las instrucciones de
compilacin y capturas de pantalla de muestra del

Cdigos, scripts, grficos, archivos auxiliares


Documentados (Nombre del alumno, versin, sinopsis del archivo)
En el caso de cdigo el nombre de las variables deber ser
adecuado y entendible (En espaol)
Documentacin de funciones y partes importantes de los cdigos
segn el objetivo del programa y la teora vista en clase.

20

Equipos de 2 a 3 integrantes.
Las prctica se plantean en clases y se entregan una sesin de
laboratorio acordada, la fecha de entrega del reporte va Web
se dar una vez entregada la prctica.
Los programas siempre debern de estar documentados
antes de entregar la prctica.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Practicas

Practicas copiadas de otros equipos o grupos sern anuladas y


ameritan sancin.
La calificacin de la sesin de laboratorio es
la mxima alcanzable con un reporte
correcto, si el reporte no cumple con lo
establecido o es deficiente esta disminuir.

21

Portada (*Fotografa del equipo)


Introduccin
Planteamiento del problema
Diseo y funcionamiento de la solucin

(Descripcin de la abstraccin
del problema y su solucin, apoyndose de diagramas y figuras en un lenguaje
claro)

Implementacin de la solucin

(Segn la solucin diseada como se


implemento en el lenguaje de programacin)

Funcionamiento

(Resumen de verificacin de la solucin, pruebas y resultados


de salida *Pantallazos *Tablas *Graficos)

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Formato de los reportes de practica

Errores detectados

(Si existe algn error detectado, el cul no fue posible


resolver o se desconoce el motivo y solo ocurre con ciertas condiciones es
necesario describirlo)

Posibles mejoras

(Describir posibles disminuciones de cdigo en la


implementacin o otras posibles soluciones)

Conclusiones (Por cada integrante del equipo)


Anexo (Cdigos fuente *con colores e instrucciones de compilacin)
Bibliografa (En formato IEEE)

22

En un solo archivo (ZIP, RAR, TAR, JAR o GZIP)


Archivo de observaciones*
Reporte (DOC, DOCX o PDF)
Cdigos fuente (.C, .H, etc.)
Cdigo documentado: Titulo, descripcin, fecha, versin, autor.
(Funciones y Algoritmos: Qu hace?, Cmo lo hace?, Qu
recibe?, Qu devuelve?, Causa de errores?).

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Qu se enva por la pgina Web en una prctica?

OBSERVACIONES
*NO enviar ejecutables o archivos innecesarios, las instrucciones
de compilacin van en el anexo del reporte. (Enviar los archivos
necesarios para la generacin de ejecutables)
23

Lenguaje C estandarizado (ANSI C)


No depender de la versin del compilador
No depender del sistema operativo

Lenguajes interpretados (Python, Perl)


Utilizar estructuras de datos ya implementadas

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Herramientas computacionales

Programacin Visual (Visual C#)


Aumentar la usabilidad

Se usar Windows & LINUX segn se requiera


24

Baase, S. Van Gelder, A. (2001). Algoritmos Computacionales (3


Ed.).Mxico: Editorial Pearson. ISBN-13: 978-0201612448.

Brassard, G. (1997). Fundamentos de Algoritmia. Espaa: Prentice Hall.


ISBN: 848966000X.
Cormen, T. Leiserson, Ch. Rivest R. (2003). Introduction to algorithms
(2nd. Ed.) Estados Unidos de Amrica: MIT press. ISBN-13: 9780072970548.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Bibliografa

Harel, D. (2004). Algorithmics: The spirit of Computing (3rd. Ed). Estados


Unidos de Amrica: Addison Wesley. ISBN-13: 978-0321117847.
Oram A. (2007). Beautiful Code: Leading Programmers Explain How They
Think. Estados Unidos de Amrica: Ed. O'Reilly. ISBN-13: 9780596510046.

25

Cualquier tipo de aviso y actividades planeadas durante el


semestre sern notificadas en la pgina Web del curso, va Twitter.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Avisos y actividades

@efranco_escom

http://www.eafranco.com
Contacto por email: edfrancom@ipn.mx
26

Mis valores ticos fundamentales


Responsabilidad
Habilidad para responder a nuestros actos, ideales, compromisos,
conocimientos, valores ticos, a la familia, al mundo en el que vivimos y a
la sociedad. Como ser responsable? Disciplina, trabajo, esfuerzo,
paciencia.

Respeto
Reconocer que todo tiene un valor (persona, ser vivo, idea, opinin, etc.) y
aunque para mi una cosa no tenga el mismo valor que para el resto, todos
mis actos nunca deben de afectar a lo que los dems valoran. Como ser
respetoso? Tolerancia, Empata, Humildad.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Actitudes y valores

Honestidad
Consiste en comportarse y expresarse con coherencia y sinceridad (decir
la verdad), y de acuerdo con los valores ticos propios. Como ser
honesto? Arraiga valores y principios ticos y morales, concete a ti
mismo.

27

Amable
Amoroso (Con las personas que te rodean y con las actividades que realices)
Optimista
Tener un propsito de vida es
Tolerante
Cortes
importante, este nace del

Que necesito para lograr mis objetivos

Salud
Esfuerzo
Dedicacin
Trabajo
Propsito de vida

interior de la gratitud y la
inconformidad.
Si no eres feliz no encuentras el
propsito en la vida. (Se feliz
bajo cualquier circunstancia)

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Actitudes de una persona feliz

Cuales deberan ser los principales objetivos de un buen profesionista

Siempre anteponer mi tica antes de actuar


No seas aptico a esto elige
mejorar cada da como persona,
Aprender en todo momento
nunca pases por encima de los
Ayudar en todo momento a quien lo necesite
dems para alcanzar tus metas.
Compartir el conocimiento
Desempear mi trabajo con gusto por ello y siempre de la mejor manera posible
sin condicionarlo a una ganancia econmica. (Todo viene por aadidura no seas
ambicioso)
Ser feliz (Es una decisin no es el resultado de un evento)
Gusto y pasin por lo que se desempea y vive Qu te gustaba de nio?

28

Redacta de manera narrativa una autodescripcin que contenga


de manera implcita la respuesta a las siguientes preguntas

Por qu estudias en ESCOM-IPN?.


Qu valores ticos te conducen?
Cules son tus objetivos de vida a corto, mediano y largo plazo?
Qu esperas de ti, tu familia y la sociedad?
Cmo crees que ser tu vida en 10 aos?
Qu sera para ti tener xito en la vida?
Qu sera para ti tener xito profesional?

*Se entregar antes del da Domingo 24 de Agosto de 2014 (23:59:59 hora


limite).
*Valor 0.3 extra de la evaluacin final.
*Se revisar redaccin (coherencia y ortografa).
*Portada (Incluir foto personal en la portada)
*Encabezados de pagina.
*Deber ser de 1000 palabras mnimo.

Anlisis de algoritmos
01 Presentacin de la unidad de aprendizaje
Prof. Edgardo Adrin Franco Martnez

Tarea 01 Carta de presentacin

29

Вам также может понравиться