Usted está aquí: Inicio web asignaturas

Fichas de asignaturas 2007-08


  CÓDIGO NOMBRE
Asignatura 1711009 ANÁLISIS Y DISEÑO DE ALGORITMOS II
Titulación 1711 INGENIERÍA TÉCNICA EN INFORMÁTICA DE SISTEMAS
Departamento C137 LENGUAJES Y SISTEMAS INFORMATICOS
Curso 2  
Duración (A: Anual, 1Q/2Q) 2Q  
Créditos ECTS 3,5  

Créditos Teóricos 3 Créditos Prácticos 1,5 Tipo Troncal

 

Profesorado
José Fidel Argudo Argudo
Francisco Palomo Lozano (coordinador)
Objetivos
Los objetivos que pretende cubrir la asignatura pueden resumirse en los
siguientes puntos:

1. Partiendo del análisis de algoritmos clásicos el alumno aprenderá a
continuación una serie de técnicas que le han de permitir diseñar sus
propios algoritmos. Se insistirá especialmente en el concepto de eficiencia
computacional.

2. Mostrar los detalles de realización de los algoritmos explicados en clase
aplicándolos a la resolución de problemas reales.
Programa
Teoría: Diseño de algoritmos. (30h)

1. Algoritmos de divide y vencerás. (8h)
1.1. Esquema general.
1.2. Reducción: búsqueda binaria y potencia rápida.
1.3. Equilibrado: ordenación por fusión.
1.4. Partición: ordenación rápida.

2. Algoritmos devoradores. (8h)
2.1. Esquema general.
2.2. El problema del cambio de moneda.
2.3. El problema de la mochila.
2.4. El problema del árbol de expansión mínimo.
2.5. Caminos mínimos desde un vértice a todos los demás.

3. Programación dinámica. (8h)
3.1. Diseño descendente: funciones con memoria.
3.2. Diseño ascendente: tabla de subproblemas resueltos.
3.3. Ejemplos numéricos.
3.4. El principio de optimalidad.
3.5. El problema del cambio de moneda.
3.6. El problema de la mochila.
3.7. Caminos mínimos entre todas las parejas de vértices.
3.8. Clausura reflexiva y transitiva.

4. Exploración en grafos. (6h)
4.1. Ordenación topológica.
4.2. Búsqueda con retroceso.
4.3. Ramificación y acotación.

Prácticas: Programación y análisis híbrido de algoritmos. (15h)

1. Algoritmos de divide y vencerás. (3h)
1.1. Potencia rápida de una matriz.
1.2. Ordenación por fusión frente a ordenación rápida.
1.3. Influencia del umbral.

2. Algoritmos devoradores. (4h)
2.1. Simulación del reintegro en un cajero automático.
2.2. Trazado de líneas de comunicación de coste mínimo.

3. Programación dinámica. (4h)
3.1. El problema de la mochila discreta.
3.2. Planificación de rutas por carretera de coste mínimo.

4. Exploración en grafos. (4h)
4.1. El problema de las n damas.
4.2. El problema de asignación.
Metodología
Las clases teóricas constarán fundamentalmente de las explicaciones del
profesor y, ocasionalmente, de resúmenes escritos o ampliaciones de temas
específicos. Los contenidos teóricos se completarán con problemas que serán
propuestos convenientemente a los alumnos. Los más importantes se resolverán
en clase.

Las clases prácticas complementan los contenidos de la parte teórica.  Se
proporcionarán enunciados de las prácticas y ejercicios que se desarrollarán
en el laboratorio a lo largo del curso.

Tanto las  clases teóricas como las  prácticas se servirán  del campus virtual
como apoyo para la  docencia. Estarán disponibles herramientas de comunicación
como foros  especializados y correo electrónico, así  como diversos contenidos
en formato electrónico.
Criterios y Sistemas de Evaluación
ELECCIÓN DEL SISTEMA DE EVALUACIÓN

Para la primera convocatoria se dispone de dos sistemas de evaluación
diferentes: evaluación continua y evaluación final. Para el resto de
convocatorias, dado que ya no hay docencia, se utilizará exclusivamente la
evaluación final. No se guardará ningún tipo de calificación parcial entre
convocatorias.

Durante el primer mes del curso los alumnos que lo deseen deberán solicitar
explícitamente acogerse al sistema de evaluación continua, a través de una
consulta electrónica que se habilitará en el campus virtual. En caso de no
hacerlo, se entenderá que optan por evaluación final. No obstante, los
profesores recomiendan, siempre que sea posible, acogerse al sistema de
evaluación continúa.

Transcurrido este periodo, el alumno que haya optado por el sistema de
evaluación continua no podrá cambiar al sistema de evaluación final salvo por
causas sobrevenidas, justificadas documentalmente, que le imposibiliten la
asistencia a las clases y que sean comunicadas por correo electrónico al
profesor coordinador en un plazo de quince días naturales desde que surja tal
imposibilidad. A continuación se establecen las causas reconocidas y la
justificación documental exigible:

1. Problemas de salud: documento expedido por un facultativo médico
2. Contrato de trabajo: alta en la seguridad social y documento acreditativo
donde figure el periodo y el horario
3. Contrato de becario: documento acreditativo donde figure el periodo y el
horario

CÓDIGOS DE LAS DISTINTAS CALIFICACIONES

1. NEC: nota de evaluación continua
2. NET: nota del examen de teoría
3. NPR: nota de prácticas
4. NFT: nota final de teoría
5. NFA: nota final de la asignatura

SISTEMA DE EVALUACIÓN FINAL

El sistema de evaluación final consta de dos componentes:

1. Examen final de teoría
2. Memoria de prácticas y defensa

El examen final de teoría será un examen escrito que se realizará de acuerdo
con las convocatorias oficiales de exámenes finales que establecen los
Estatutos de la Universidad de Cádiz y que el centro publica con la debida
antelación. La calificación del examen final de teoría (NET) se realizará en
una escala de 0 a 10.

Los alumnos deberán presentar una memoria final de prácticas a través del
campus virtual en las fechas indicadas por el profesor.

La calificación final de la asignatura se obtiene de la siguiente forma:

NFT = NET
si NPR = APTO o NFT < 5
NFA = NFT
si no
NFA = 4

SISTEMA DE EVALUACIÓN CONTINUA

El sistema de evaluación continua consta de dos componentes:

1. Evaluación continúa
2. Memorias de prácticas y defensa

La calificación final de la asignatura se obtiene de la siguiente forma:

NFT = NEC
si NPR = APTO o NFT < 5
NFA = NFT
si no
NFA = 4

A lo largo del curso se realizarán varios controles. A cada control se
dedicará una sesión de control seguida de su correspondiente sesión de
coevaluación. Estas sesiones tendrán lugar durante las propias clases de
teoría, en fechas publicadas con suficiente antelación. En cada sesión de
coevaluación los alumnos deberán calificar, bajo la supervisión del profesor,
los ejercicios de dos compañeros elegidos al azar correspondientes al control
previo. Para ello, el profesor presentará una solución canónica y los
criterios de corrección a emplear.

La asistencia a las sesiones de control y coevaluación es obligatoria.

- Si un alumno no asiste a una sesión de control o de coevaluación, su control
se calificará con 0.

- Si tras revisar el resultado de una coevaluación los profesores detectan
negligencia o fraude, el control del alumno corrector se calificará con 0.

La calificación de la evaluación continua (NEC) será la correspondiente, en
una escala de 0 a 10, a la media aritmética de las calificaciones de los
controles que la integran, siempre que se cumplan los requisitos de asistencia
y de presentación de memorias de prácticas indicados.

La asistencia a prácticas y la presentación de memorias parciales por cada
práctica a través del campus virtual en las fechas indicadas por el profesor
es obligatoria.

- Si un alumno no asiste, al menos, al 75% de las clases prácticas,
contabilizadas tras el primer mes del curso, obtendrá un NO APTO en su NPR.

- Si un alumno no presenta alguna de las memorias, obtendrá un NO APTO en su
NPR.

NORMAS COMUNES PARA AMBOS SISTEMAS

La calificación de las prácticas (NPR) será APTO o NO APTO. Sólo se corregirán
las memorias de aquellos alumnos con NFT >= 5. Los alumnos podrán ser
convocados para la defensa de sus prácticas en determinadas fechas indicadas
por el profesor. A dicha defensa deberá acudir con una copia impresa de la
memoria (o memorias parciales, en el caso de evaluación continua) entregada
electrónicamente. El desconocimiento de las cuestiones planteadas implicará
que NPR = NO APTO.

CRITERIOS DE EVALUACIÓN

Entre los criterios de evaluación, cabe destacar que los profesores valorarán
no sólo la corrección y eficiencia de las soluciones presentadas, sino también
la claridad y elegancia de su desarrollo, aspectos éstos en los que se
incidirá durante todo el curso.
Recursos Bibliográficos
Bibliografía básica.

[1] Brassard, Gilles y Bratley, Paul.
Fundamentos de algoritmia.
Prentice-Hall. 1997.

[2] Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L. y
Stein, Clifford.
Introduction to algorithms.
MIT Press. 2ª ed. 2001.

[3] Johnsonbaugh, Richard y Schaefer, Marcus.
Algorithms.
Prentice-Hall. 2004.

[4] Levitin, Anany V.
Introduction to the design and analysis of algorithms.
Addison-Wesley. 2003.

[5] Manber, Udi.
Introduction to algorithms. A creative approach.
Addison-Wesley. 1989.

[6] Martí Oliet, Narciso; Ortega Mallén, Yolanda y Verdejo López, José
Alberto.
Estructuras de datos y métodos algorítmicos. Ejercicios resueltos.
Prentice-Hall. 2004.

[7] Neapolitan, Richard y Naimipour, Kumarss.
Foundations of algorithms using C++ pseudocode.
Jones and Bartlett. 3ª ed. 2004.

[8] Sedgevick, Robert.
Algorithms in C++. Parts 1-4. Fundamentals. Data
Structures. Sorting. Searching.
Addison-Wesley. 3ª ed. 1999.

[9] Sedgevick, Robert.
Algorithms in C++. Part 5. Graph algorithms.
Addison-Wesley. 3ª ed. 2002.

Bibliografía complementaria

[1] Aho, Alfred; Hopcroft, John y Ullman, Jeffrey.
The design and analysis of computer algorithms.
Addison-Wesley. 1974.

[2] Baase, Sara y Van Gelder, Allen.
Computer algorithms. Introduction to design and analysis.
Addison-Wesley. 3ª ed. 2000.

[3] Brassard, Gilles y Bratley, Paul.
Algorítmica. Concepción y análisis.
Masson. 1990.

[4] Horowitz, Ellis y Sahni, Sartaj.
Fundamentals of computer algorithms.
Pitman. 1978.

[5] McHugh, James A.
Algorithmic graph theory.
Prentice-Hall. 1990.

[6] Parberry, Ian.
Problems on algorithms.
Prentice-Hall. 1995.

[7] Skiena, Steven S.
The algorithm design manual.
Telos. 1998.

[8] Stroustrup, Bjarne.
The C++ programming language. Special edition.
Addison-Wesley. 2000.

[9] Wilf, Herbert S.
Algorithms and complexity.
A. K. Peters. 2ª ed. 2002.

Bibliografía especializada de consulta

[1] Garey, Michael R. y Johnson, David S.
Computers and intractability. A guide to the theory of
NP-completeness.
W. H. Freeman. 1979.

[2] Graham, Ronald L.; Knuth, Donald E. y Patashnik, Oren.
Concrete mathematics. A foundation for Computer Science.
Addison-Wesley. 2ª ed. 1994.

[3] Knuth, Donald E.
The art of computer programming.
Volume I. Fundamental algorithms.
Addison-Wesley. 3ª ed. 1997.

[4] Knuth, Donald E.
The art of computer programming.
Volume II. Seminumerical algorithms.
Addison-Wesley. 3ª ed. 1997.

[5] Knuth, Donald E.
The art of computer programming.
Volume III. Sorting and searching.
Addison-Wesley. 2ª ed. 1997.

[6] Sedgevick, Robert y Flajolet, Philippe.
An introduction to the analysis of algorithms.
Addison-Wesley. 1996.

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente.