Descripción
En la primera parte del curso se estudian los fundamentos teóricos de la lógica matemática haciendo énfasis en las técnicas de demostración de teoremas. En la segunda parte del curso se estudian las principales características de la programación lógica en contraposición a la programación imperativa, estudiando paralelamente el lenguaje Prolog.
Tipo asignatura
Optativa
Semestre
Primero
Créditos
5.00
Objetivos

La lógica y la informática están íntimamente relacionadas. La lógica se utiliza para expresar el comportamiento de los programas, de manera que sea posible probar sus propiedades mediante técnicas de demostración. Se utiliza también para describir e implementar sistemas que razonan sobre un dominio particular (Teoría de la especificación, Sistemas basados en reglas, ...). Los métodos derivados de la lógica son válidos en muchas áreas de la inteligencia artificial tales como la generación de planes, la representación del conocimiento y la comprensión del lenguaje natural.

Los alumnos que cursan la asignatura adquieren los conocimientos y desarrollan las habilidades que se indican a continuación:

1. Conocimientos generales básicos de la lógica matemática especialmente en el Cálculo Proposicional y la Lògica de Primer Orden. Conocimientos específicos de programación lógica.
2. Capacidad de análisis y síntesis
3. Capacidad de organización y planificación del trabajo a realizar.
4. Mejora de la comunicación escrita en la lengua utilizada por los alumnos en los diferentes exámenes presentados al profesor.
5. Conocimientos de herramientas informáticas.
6. Capacidad de resolución de problemas.
7. Habilidad para trabajar en equipo.
8. Desarrollo de habilidades interpersonales a la hora de defender argumentos propios delante de los compañeros de grupo.
9. Capacidad de aplicación de los conocimientos de la programación lógica en la realización de las prácticas en Prolog.
10. Capacidad para generar nuevas ideas a partir de los conceptos teóricos estudiados en clase.
11. Habilidad de trabajo en entornos telemáticos.
12. Utilización de textos en inglés en la bibliografía básica.
13. Capacidad de autoaprendizaje.

Contenidos

1 Introducción
1.1 ¿Qué es una lógica?
1.2 Un poco de historia
1.3 Clasificación de las lógicas

2. Cálculo proposicional
2.1 El lenguaje CP0
2.2 Formas normales y cláusulas
2.3 Teoría de la demostración
2.4 Resolución
2.5 Representación del conocimiento
2.6 Propiedades

3 Cálculo de predicados
3.1 El lenguaje CP1
3.2 Formas normales y cláusulas
3.3 Teoría de la demostración
3.4 Representación del conocimiento
3.5 Propiedades

4 Programación lógica/Prolog
4.1 Introducción
4.2 De la lógica a la programación lógica
4.3 La ejecución de un programa
4.4 Dominios
4.5 Lectura y escritura
4.6 Bases de datos internas
4.7 Otras características

El lenguaje PROLOG se estudia en paralelo durante el capítulo de programación lógica.

Metodología

Esta asignatura puede cursarse en dos formatos, según la preferencia del alumno, presencial y semipresencial. La principal diferencia entre las dos modalidades se basa en la diferente asistencia física de los alumnos a las aulas.

A lo largo del curso se combinan diferentes maneras de impartir la asignatura:

1. Clases magistrales.

En la modalidad presencial, el profesor imparte al largo del curso los conceptos teóricos de la asignatura mediante clases magistrales. En estas clases el profesor también resuelve ejercicios de aplicación directa de los conceptos explicados. En la modalidad semipresencial, el alumno asume un papel más activo en su aprendizaje. Dispone de los contenidos del curso en el campus virtual donde hay una guía de estudio que: explica los conceptos de la asignatura, da referencias a la bibliografía para poder ampliar estos conceptos, contiene enunciados de problemas y contiene preguntas autoevaluativas donde el alumno puede tener una indicación de su grado de aprendizaje. En este formato, se realizan al menos dos encuentros presenciales en al año donde los alumnos y los profesores se reúnen para realizar clases magistrales, problemas, prácticas o debates.

2. Horas de clase dedicadas a resolver ejercicios teóricos, individualmente o en grupos.

Durante algunas horas de clase el profesor plantea ejercicios teóricos para que sean resueltos por los alumnos en aquel momento. Estos ejercicios puede ser resueltos individualmente o en grupos de 2.

3. Ejercicios a resolver en casa.

A parte de los ejercicios resueltos en clase, el alumno ha de resolver otros en casa. La finalidad de estos ejercicios es afianzar las ideas teóricas. Los alumnos disponen de un problemario con ejercicios. Algunos de los ejercicios están resueltos.

4. Trabajo en grupo en horas de clase.

Durante el curso se dedica 1 hora cada 2 semanas a la realización de ejercicios. Los estudiantes resuelven en grupos de 2 los ejercicios propuestos por el profesor. Al final de la clase el profesor recoge los ejercicios hechos y los devuelve corregidos posteriormente.

5. Prácticas

Durante el curso se hacen 4 sesiones prácticas de Prolog de 2 horas en horario de clase.

Cada práctica se realiza en grupos de 2 y consiste en un conjunto de ejercicios que deben ser implementados en Prolog. Los alumnos disponen de un documento con ejercicios prácticos pudiendo por lo tanto preparar previamente algunos de los ejercicios propuestos. Durante la práctica el profesor supervisa el trabajo de los estudiantes y los ayuda a alcanzar los objetivos. Estas prácticas se hacen en un aula de PC´s.

En el caso de los estudiantes semipresenciales, el profesor propone un conjunto de prácticas que deben hacer por su cuenta. Los estudiantes pueden hacer consultas sobre la resolución de las prácticas en los forums y/o a través del correo electrónico

Evaluación

La asignatura se divide en dos partes claramente diferenciadas: una parte teórica (80%) y una parte práctica (20%). Cada una de estas partes se evalúan por separado y han de aprobarse por separado para poder aprobar la asignatura.

Si se aprueban las dos partes, la nota final de la asignatura es la suma aritmética de la nota de teoría y de la nota de práctica.

Con la finalidad de evaluar si el alumno a alcanzado en un grado adecuado los objetivos de la asignatura se hacen servir diferentes pruebas:

A. Exámenes
Durante el curso se hace 1 examen presencial.

F.Trabajos hechos en grupo
Los alumnos han de resolver en ciertas horas de clase en grupo ejercicios correspondientes a la teoría.

G. Trabajos prácticos con ordenador
La implementación de las prácticas se hace en lenguaje Prolog. Para cada práctica el profesor dispone de un formulario para su evaluación exhaustiva.

J. Participación en clase o en el campus virtual.
El profesor de la modalidad presencial dispone de una lista de observaciones posibles donde anota los diferentes comportamientos y actitudes presentadas por los alumnos durante la clase. En el sistema semipresencial, estas actitudes de reflejan en la actuación y participación de los alumnos en los forums y en las reuniones a través del aula virtual.

Criterios evaluación

Objetivo 1: Conocimientos generales básicos de la lógica matemática
El estudiante ha de demostrar que ha adquirido un conocimiento adecuado de los conceptos estudiados durante el curso. [A,F,G].

Objetivo 2: Capacidad de análisis y síntesis
El estudiante ha de ser capaz de analizar los problemas con los cuales se enfrenta y ha de demostrar capacidad de síntesis en la generación de soluciones. [A,F,G, J].

Objetivo 3: Capacidad de organización y planificación del trabajo a realizar
El estudiante ha de planificar y organizar su trabajo individual así como el trabajo a realizar en grupo. [F,G]

Objetivo 4: Mejora de la comunicación escrita en la lengua utilizada por los alumnos en los diferentes exámenes presentados al profesor
El estudiante ha de presentar los exámenes e informes sin faltas de ortografía y con el estilo y el orden adecuado. [A]

Objetivo 5: Conocimientos de herramientas informáticas
El estudiante ha de demostrar que ha adquirido los conocimientos necesarios de PROLOG. [A,G]

Objetivo 6: Capacidad de resolución de problemas
El estudiante ha de demostrar que sabe proponer soluciones adecuadas tanto para los ejercicios teóricos como para la implementación de las diferentes prácticas. [A,F,G]

Objetivo 7: Habilidad para trabajar en equipo
El estudiante ha de ser capaz de trabajar con los compañeros de grupo y llegar a proponer soluciones a los diferentes problemas presentados. [F, G]

Objetivo 8: Desarrollo de habilidades interpersonales a la hora de defender argumentos propios delante de los compañeros de grupo
El estudiante ha de mantener una comunicación fluida con sus compañeros de grupo de práctica.[F,G]

Objetivo 9: Capacidad de aplicación de los conocimientos de la programación lógica en la realización de las prácticas
El estudiante ha de identificar los formalismos y las técnicas adecuadas de la teoría para implementar las prácticas con la orientación del profesor y la ayuda de sus compañeros de grupo [G]

Objetivo 10: Capacidad para generar nuevas ideas a partir de los conceptos teóricos estudiados en clase.
El estudiante ha de demostrar que es capaz de aplicar la teoría de la demostración en los ejercicios propuestos. [A,F]

Objetivo 11: Habilidad de trabajo en entornos telemáticos
Todos los alumnos semipresenciales basan su estudio en diferentes herramientas dentro de un campus virtual. Estas competencias quedan implícitamente evaluadas. [A,G].

Objetivo 12: Utilización de textos en inglés en la bibliografía básica
Algunos de los conceptos de la asignatura se encuentran referenciados directamente en inglés. Estos conceptos también son evaluados. [A,G]

Objetivo 13: Capacidad de autoaprendizaje
El estudiante ha de demostrar que es capaz de adquirir conocimientos por él mismo. [A ]

Bibliografía básica

- Chin-Liang Chang, Richard C. Lee. Symbolic Logic and Mechanical Theorem Proving
Academic Press,November 1997

- Davis, Ruth E.. Truth, Deduction, and Computation
Computer Science Press, 1989

- Mozota i Coloma, Maria Antònia. Problemes i Solucions CP0
Departament d´informàtica, Escola d´Enginyeria i Arquitectura La Salle. Barcelona, 2007

- Mozota i Coloma, Maria Antònia. Problemes i Solucions CP1
Departament d´informàtica, Escola d´Enginyeria i Arquitectura La Salle. Barcelona, 2007

- Mozota i Coloma, Maria Antònia. Enunciats exercicis de Prolog
Departament d´informàtica, Escola d´Enginyeria i Arquitectura La Salle. Barcelona, 2007

- Prolog Development Center A/S. Language Tutorial. Copenhagen 1986-2001

- Prolog Examples

- Mozota i Coloma, Maria Antònia. Guia d'estudi de l'assignatura

Material complementario

- Visual Prolog. Web oficial