Curso 2013-14

Lógica Computacional

Titulación: Código: Tipo:
Grado en Ingeniería Informática 21422 Obligatoria 2º curso
Grado en Ingeniería Telemática 22606 Optativa
Grado en Ingeniería en Sistemas Audiovisuales 22672 Optativa

 

Créditos ECTS: 4 Dedicación: 100 horas Trimestre:

 

Departamento: Dpto. de Tecnologías de la Información y las Comunicaciones
Coordinador: Héctor Palacios
Profesorado:

Teoría: Héctor Palacios

Prácticas: Héctor Palacios

Seminarios: Héctor Palacios, Filippos Kominis

Idioma:

Material: Inglés, Castellano

Teoría: Héctor Palacios (castellano)

Prácticas: Héctor Palacios (castellano)

Seminarios: Héctor Palacios (castellano), Filippos Kominis (castellano/inglés)

Horario:
Campus: Campus de la Comunicación - Poblenou

 

Presentación de la assignatura

La asignatura Lógica Computacional es una asignatura obligatoria que se ofrece en el grado en ingeniería informática, formando parte del
segundo curso. En la asignatura se estudian los aspectos deductivos y algorítmicos tanto de la lógica proposicional como de la lógica de predicados, y así como sus problemas computacionales computacionales. La asignatura tiene un componente teórico y otro práctico. Dentro del componente teórico el énfasis está en la comprensión de los conceptos a nivel intuitivo y de la utilización de lenguaje matemático.

La asignatura está compuesta de tres actividades principales: clases de teoría, seminarios y laboratorios. En las clases de teoría se introducen los conceptos formales y se muestran ejemplos de su aplicación. En los seminarios los alumnos resuelven pequeños problemas. Cada problema corresponde a los conceptos introducidos en clase de teoría. En los laboratorios se presentan problemas de mayor complejidad y de carácter más computacional para los alumnos tengan la oportunidad de poner en práctica los conceptos
aprendidos.

Objetivos de aprendizaje

El objetivo de la asignatura es entender aspectos deductivos y algorítmicos de la lógica proposicional y de predicados, y así como sus problemas computacionales computacionales. Asimismo, los estudiantes deberían desarrollar
competencias para entender las diferencias entre los diversos tipos de lógica e identificar el mejor formalismo para especificar diferentes problemas y poder solucionarlos de forma computacional.

 

Prerequisitos

Los conocimientos previos para el seguimiento de la asignatura son ciertas nociones
de matemáticas básicas adquiridas en la enseñanza secundaria
obligatoria y durante los primeros tres cursos de los estudios. En particular, los
conocimientos previos requeridos para la asignatura son:

• Nociones algebraicas básicas: funciones, conjuntos y operaciones
elementales sobre conjuntos, relaciones de equivalencia.
• Nociones básicas de lógica matemática: relaciones, conectivas lógicas.
• Aritmética básica.
• Capacidad básica para comprender y escribir expresiones matemáticas a nivel elemental.

 

Competencias

El objetivo fundamental de la asignatura es que los alumnos adquieran los
ideas fundamentales relacionados con los aspectos deductivos y algorítmicos
de la lógica proposicional y de predicados.

Competencias transversalesCompetencias específicas

Instrumentales

1. Capacidad de razonar a nivel abstracto

2. Habilidades cognitivas

3. Sentido común

Interpersonales

4. Competencia de comunicación

Sistémicas.

5. Capacidad de identificar la mejor
metodología para resolver un
problema.

6. Capacidad de solucionar
problemas combinando de manera
nueva y no trivial elementos ya conocidos

7. Capacidad de generar otras ideas

  

 

1. Capacidad de entender a nivel intuitivo y formal
los diferentes aspectos de la lógica
proposicional y de predicados: sintaxis,
semántica y su aplicación a diferentes
problemas en informática.

2. Capacidad de aplicar los conocimientos
adquiridos en contextos prácticos.

 

Evaluación

En la evaluación continuada se tiene en cuenta cada una de las tres actividades que constituyen la asignatura: clases de teoría, laboratorios y seminarios:

T: la evaluación de la teoría mediante un examen final
L: la evaluación de los laboratorios mediante las prácticas de programación.
S: la evaluación de los seminarios

En la evaluación contínua, hay que aprobar el laboratorio y también aprobarse la suma de la evaluación de los seminarios mas el examen final. Es decir,

L tiene que estar aprobado.
T + S tiene que estar aprobado.


Nota Final = 0,6 * T + 0,2 * L + 0,2 * S

El examen de teoría se realizará sobre los contenidos desarrollados a clase de teoría y los seminarios. Es un examen escrito e individual que evalúa todas las competencias desarrolladas a lo largo de la asignatura.

En los laboratorios se realizan un serie de prácticas que ponen a prueba la capacidad
de los alumnos de aplicar la teoría en forma de programas de ordenador. Las prácticas se realizan en pareja, de forma que los
alumnos tengan que cooperar y saber comunicarse para resolver los
problemas.

Antes de cada seminario se presentarán problemas a los alumnos para que ellos los resuelvan antes de la sesión, como una preparación previa al seminario. Estos problemas corresponden a conceptos o conocimientos tratados en clase de teoría. Se pedirá a los alumnos que presenten sus soluciones a la pizarra o por escrito. Como parte de la evaluación, se realizarán dos pruebas cortas, y dos tareas para entregar por escrito.

En caso de no aprobar la asignatura, el alumno tiene derecho a una convocatoria en
el mes de julio, pero sólo si había aprobado el laboratorio (L). La nota de esta convocatoria se obtendrá en un examen.

Nota Julio = 1,0*T+0*L +0*S (si había aprobado L)

 

Contenidos

1. Lógica: Qué es, historia, usos en la informática. Concepto de derivación
formal. Ejemplos de las matemáticas.

2. Lógica proposicional.

1. Lenguaje formal, formulas.
2. Modelación.
3. Teoría de pruebas: sistema de deducción natural para la lógica
proposicional. Pruebas, derivabilidad.
4. Semántica: tablas de verdad y valuaciones. Satisfactibilidad y
Consecuencia Lógica. Tautologías.
5. Formas Normales. Resolución. Clausulas de Horn. SAT y SAT solvers.


3. Lógica de predicados.

1. Motivación. Lenguaje formal, formulas.
2. Modelación.
3. Teoría de pruebas para lógica de predicados: sistema de deducción
natural. Pruebas, derivabilidad.
4. Semántica: interpretaciones de formulas de la lógica de predicados.
5. Satisfactibilidad y Consecuencia Lógica. Resolución en lógica de
predicados.

 

Metodología

El proceso habitual de aprendizaje empieza con una sesión de teoría en la que se presentan ciertos fundamentos teórico-prácticos. Esta actividad se realiza con todo el grupo de estudiantes. El estudiante tendrá que complementar esta actividad con una lectura detenida de sus propios apuntes y el material
adicional que el profesor haya proporcionado. Por ejemplo, una sesión de teoría de 2 horas, convenientemente aprovechadas, requerirá un trabajo adicional fuera del aula de 1 hora por parte del estudiante.

Posteriormente se realizarán algunas sesiones de ejercicios, en las cuales el estudiante
pone en práctica los conceptos y técnicas presentadas a la sesión de teoría,
mediante la resolución de pequeños problemas. Para los primeros ejercicios de la sesión
se pueden proporcionar las soluciones, pero por el resto no. El objetivo es que consolide
los fundamentos para que posteriormente pueda resolver problemas de mayor
complejidad. Esta actividad se realiza en
cuatro grupos pequeños de estudiantes.

El siguiente paso en el proceso de aprendizaje es la sesión de prácticas. En ella se proponen unos problemas más grandes que requieren integrar diferentes conceptos y técnicas. Esta actividad se realiza por parejas, en grupos de unos 20 estudiantes, y se presupone que continúa fuera del aula.

Están previstas 18h de teoría, 12h de seminario, y 6h en aula de práctica, aunque esta continúa fuera del aula.

 

Recursos

Fuentes de información para el aprendizaje. Bibliografía básica (apoyo papel y electrónico)

Logic in Computer Science
Michael R.A. Huth, Mark D Ryan

Cambridge University Press. 2nd edition, 2004.
Cubrimos la primera parte, páginas 1-131. Excepto las sección 1.6 que haremos de
manera diferente (usándo el método DPLL).

Fuentes de información para el aprendizaje. Bibliografía complementaria (apoyo papel y electrónico)

Mathematical Logic for Computer Science
Mordechai Ben-Ari
Springer (2003).

Logic and its Applications
Edmund Burke, Eric Foxley
Prentice Hall (1996)

Fuentes de información para el aprendizaje. Bibliografía de refuerzo (apoyo papel y electrónico)

Recursos didácticos. Material docente de la asignatura

Web de la asignatura

Apuntes
Colección de ejercicios (con solución)

Enunciados de las prácticas

Recursos didácticos. Materiales y herramientas de apoyo

http://www.diveintopython.org
http://www.swi-prolog.org/