Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2012-13


COMPLEJIDAD COMPUTACIONAL

Asignaturas
 

  Código Nombre    
Asignatura 21714024 COMPLEJIDAD COMPUTACIONAL Créditos Teóricos 2,5
Título 21714 GRADO EN INGENIERÍA INFORMÁTICA Créditos Prácticos 5
Curso   3 Tipo Obligatoria
Créd. ECTS   6    
Departamento C137 INGENIERÍA INFORMÁTICA    

 

Requisitos previos

Es muy recomendable que el alumno haya adquirido las competencias
correspondientes a las materias de los dos primeros cursos, así como que sepa
expresarse con fluidez, corrección y precisión en español.

 

Recomendaciones

Haber superado el módulo de formación básica y, al menos, las siguientes
asignaturas adicionales, además de mantener la destreza necesaria en las materias
objeto de su estudio.

- Sistemas Operativos
- Análisis de Algoritmos y Estructuras de Datos
- Estructuras de Datos no Lineales
- Programación Orientada a Objetos
- Diseño de Algoritmos
- Modelos de Computación

En particular, el alumno debe poseer una práctica fluida en el análisis de
algoritmos y estructuras de datos, las técnicas de diseño de algoritmos, la
programación en lenguaje C++ y el manejo de las herramientas básicas de
programación disponibles a través de un intérprete de órdenes en un sistema
operativo GNU/Linux.

Por último, se recomienda poseer los suficientes conocimientos de lengua inglesa
como para, al menos, ser capaz de leer y comprender los materiales y bibliografía
recomendados.

 

Profesores

Nombre Apellido 1 Apellido 2 C.C.E. Coordinador  
MANUEL JESUS COBO MARTIN PROFESOR SUSTITUTO INTERINO N  
FRANCISCO PALOMO LOZANO TEU S

 

Competencias

Se relacionan aquí las competencias de la Materia/módulo o título a que pertenece la asignatura, entre las que el profesor podrá indicar las relacionadas con la asignatura.

Identificador Competencia Tipo
C03 Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos ESPECÍFICA
CG01 Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio GENERAL
CG02 Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio. GENERAL
CG05 Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía GENERAL
G08 Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones ESPECÍFICA
G09 Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática. ESPECÍFICA
T01 Capacidad para la resolución de problemas GENERAL
T04 Capacidad de aplicar los conocimientos en la práctica GENERAL
T05 Capacidad para trabajar en equipo. GENERAL
T17 Capacidad para el razonamiento crítico GENERAL

 

Resultados Aprendizaje

Identificador Resultado
R2 Comprender que existen problemas con una complejidad intrínseca.
R7 Conocer algunos problemas abiertos y su estado actual.
R3 Conocer distintos recursos computacionales y la medida de la complejidad espacio-temporal.
R4 Conocer distintos tipos de problemas y sus aplicaciones en ingeniería.
R6 Conocer las clases de problemas fundamentales y sus relaciones.
R1 Conocer los límites de la potencia de cálculo y sus consecuencias para la programación.
R5 Distinguir la complejidad de los algoritmos de la de los problemas a través del concepto de cota inferior de complejidad de un problema.
R8 Saber aplicar estrategias para la resolución de problemas complejos.
R9 Ser capaz de programar soluciones a problemas complejos clásicos.

 

Actividades formativas

Actividad Detalle Horas Grupo Competencias a desarrollar
01. Teoría
En las clases de teoría se aprenderán los
fundamentos teóricos de la materia y se
ilustrarán sus conceptos mediante ejemplos
paradigmáticos.
20 C03 CG05 G08 T01 T17
02. Prácticas, seminarios y problemas
En las clases de problemas se aplicarán los
conocimientos aprendidos en las clases de teoría
a la resolución de problemas relacionados.
10 C03 CG02 G08 G09 T01 T04 T05 T17
03. Prácticas de informática
Las clases prácticas se desarrollarán en un
laboratorio de informática. Previamente se
proporcionará a los alumnos a través del campus
virtual un guión de las actividades a realizar.
Cada guión podrá abarcar varias sesiones de
laboratorio y contendrá ejercicios en los que
habrá que programar los algoritmos pertinentes
como forma de resolver los problemas planteados.
30 G08 G09 T04 T17
10. Actividades formativas no presenciales
Estas actividades engloban la dedicación personal
al estudio del alumno, que debe incluir tanto el
repaso de los materiales suministrados, como la
resolución de problemas y la realización de
prácticas de programación.
86 G08 T01 T04 T17
12. Actividades de evaluación
Exámenes escritos.
4 C03 CG02 G09 T01 T04 T17

 

Evaluación

Criterios Generales de Evaluación

Los profesores valorarán la corrección y eficiencia de las soluciones
obtenidas, además de aspectos subjetivos como la presentación, claridad y
elegancia de su desarrollo en los que se incidirá durante todo el curso.

Se prestará especial atención a la capacidad del alumno para explicar las
soluciones desarrolladas claramente, con precisión, sin errores gramaticales ni
ortográficos. Una mera solución sin explicación o justificación podrá no ser
tenida en cuenta.

En el caso de programas de ordenador, estos deberán estar escritos conforme al
estándar en uso del lenguaje y poseer un comportamiento inequívocamente definido.

Los alumnos deben comprobar periódicamente el estado del curso en el campus
virtual, donde se publicarán con la debida antelación diversos materiales
docentes, convocatorias, calificaciones y, en definitiva, información vital para
el seguimiento de la asignatura.

En particular, los alumnos tienen la obligación de conocer las noticias
publicadas a través del tablón de anuncios virtual del curso, cuyos mensajes
sustituyen a los que tradicionalmente se colocaban en un tablón físico y que se
consideran la
fuente oficial de comunicación de la asignatura.

Los alumnos son responsables de proteger sus ficheros y datos personales,
incluyendo sus contraseñas de acceso al correo electrónico y al campus virtual.

La copia total o parcial de exámenes o prácticas, así como cualquier otro tipo de
fraude detectado por los profesores, podrá ser motivo de SUSPENSO INMEDIATO EN
TODAS LAS CONVOCATORIAS del curso académico para todos los implicados, sea cual
fuere su papel. En particular, se informa de que las entregas electrónicas podrán
almacenarse durante un plazo de 5 años para ulteriores comprobaciones.

 

Procedimiento de Evaluación

Tarea/Actividades Medios, Técnicas e Instrumentos Evaluador/es Competencias a evaluar
Exámenes escritos
  • Profesor/a
Memorias de prácticas
  • Profesor/a
  • Autoevaluación

 

Procedimiento de calificación

Las calificaciones se otorgarán mediante un sistema de evaluación continua en el
que la nota final de la asignatura se calculará mediante la siguiente fórmula:

NF = 0,75 NT + 0,25 NP

donde:

1. NT es la nota de teoría: la media en una escala de 0 a 10 de las
calificaciones obtenidas en los exámenes parciales durante el curso o, en el caso
de examen final, la nota de dicho examen, con la salvedad de la primera
convocatoria, que se corresponderá con el último examen parcial.
2. NP es la nota de prácticas: la media en una escala de 0 a 10 de las
calificaciones de las prácticas desarrolladas durante el curso.

La presentación de memorias por cada práctica a través del campus virtual en las
fechas indicadas por el profesor es obligatoria. Con carácter general, las
prácticas no serán recuperables, NI SIQUIERA EN LOS EXÁMENES FINALES. Así, la NP
que se obtenga durante el curso será la que se mantenga para todas las
convocatorias de dicho curso académico.

Los alumnos deben asegurarse de realizar correctamente las entregas
electrónicas a través del campus virtual en tiempo y forma. En particular, deben
observarse estrictamente las normas de entrega publicadas en el campus virtual.
Los alumnos que no presenten alguna de las memorias de prácticas, obtendrán una
calificación de 0 en su NP.

Los alumnos podrán ser convocados para la defensa de sus prácticas en
determinadas fechas indicadas por el profesor. En caso de ser convocados a
defensa, los alumnos deberán acudir portando copias impresas de las memorias
entregadas electrónicamente. El desconocimiento de las cuestiones planteadas
implicará una
calificación de 0 en su NP.

 

Descripcion de los Contenidos

Contenido Competencias relacionadas Resultados de aprendizaje relacionados
            Bloque 1. Introducción.

- Recursos computacionales: medidas de complejidad y jerarquía asintótica.
- Complejidad de los problemas: cotas inferiores y ejemplos.
- Tipos de problemas y clases de complejidad.
- Otros modelos (modelos no uniformes): complejidad de circuitos.
        
C03 G08 R2 R3 R4 R1 R5
            Bloque 2. Clases P y NP.

- Problemas de búsqueda frente a problemas de decisión.
- P y NP vistas como clases de problemas de búsqueda.
- P y NP vistas como clases de problemas de decisión.
- Equivalencia de ambas visiones.
- Por qué es probable que P sea distinta de NP.
- Breve bosquejo de otras clases: complementarias, espaciales...
        
C03 CG01 CG05 G08 T01 T04 R7 R4 R6
            Bloque 3. Reducciones polinómicas

- Noción general de reducción.
- Reducción de problemas de optimización a problemas de búsqueda.
- Reducciones polinómicas (en tiempo): ejemplos.
        
C03 CG02 G08 G09 T01 T04 T17 R4 R8 R9
            Bloque 4. Clase NPC.

- Existencia de problemas NPC.
- Ejemplos de problemas NPC.
- Problemas NP que no son P ni NPC (si P es distinta de NP).

        
C03 CG01 CG05 G08 R2 R7 R4 R6
            Bloque 5. Técnicas para la resolución de problemas complejos.

- Fijación de parámetros.
- Aproximación.
- Aleatorización.
- Heurísticas.
        
C03 CG01 G08 G09 T01 T04 T17 R1 R8 R9

 

Bibliografía

Bibliografía Básica

[1] Goldreich, Oded.
P, NP, and NP-completeness. The basics of computational complexity.
Cambridge University Press. 2010.

[2] Hromkovič, Juraj.
Algorithmics for hard problems. Introduction to combinatorial optimization,
randomization, approximation, and heuristics.
Springer-Verlag. 2ª ed. Reimpresión corregida. 2004.

 

Bibliografía Específica

[1] Arora, Sanjeev y Barak, Boaz.
Computational complexity. A modern approach.
Cambridge University Press. 2009.

[2] Goldreich, Oded.
Computational complexity. A conceptual perspective.
Cambridge University Press. 2008.

[3] Wegener, Ingo.
Complexity theory. Exploring the limits of efficient algorithms.
Springer-Verlag. 2005.

 

Bibliografía Ampliación

[1] Du, Ding-Zhu y Ko, Ker-I
Theory of Computational Complexity.
Wiley. 2000.

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

[3] Hemaspaandra, Lane A. y Ogihara, Mitsunori.
The complexity theory companion.
Springer-Verlag. 2002.

[4] Papadimitriou, Christos H.
Computational complexity.
Addison-Wesley. Reimpresión corregida. 1995.

[5] Sipser, Michael
Introduction to the Theory of Computation.
Thomson. 2ª ed. 2006.

 

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