Datos Identificativos 2012/13
Asignatura (*) Programación Lóxica e Representación do Coñecemento Código 614434012
Titulación
Mestrado Universitario en Computación
Descriptores Ciclo Período Curso Tipo Créditos
Mestrado Oficial 2º cuadrimestre
Primeiro Optativa 3
Idioma
Inglés
Prerrequisitos
Departamento Computación
Coordinación
Cabalar Fernandez, Jose Pedro
Correo electrónico
pedro.cabalar@udc.es
Profesorado
Cabalar Fernandez, Jose Pedro
Correo electrónico
pedro.cabalar@udc.es
Web http://http://www.dc.fi.udc.es/muc/es/courses/PLRC.html
Descrición xeral Aunque en la introducción se parte de la sintaxis y la semántica procedural de Prolog, el curso está orientado hacia una interpretación más declarativa de la programación lógica, haciendo especial hincapié en las distintas semánticas para la negaciónpor defecto. Estas semánticas permiten una mayor independencia respecto a aspectos de control de ejecución típicos de Prolog (tales como el orden de evaluación o el operador de corte). Como resultado, los programas lógicos se pueden utilizar como una herramienta práctica para la representación del conocimiento, proporcionando capacidad para resolución de problemas de razonamiento no monótono y de satisfacción de restricciones. En el curso se describen las principales semánticas de negación por defecto, estudiando dos de ellas con mayor detalle: stable models y well-founded semantics. Además, se describen distintas ampliaciones que permiten un uso más cómodo o incluso aumentar la capacidad expresiva de los programas lógicos, siempre con el objeto de su aplicación para representación del conocimiento. El curso pretende proporcionar simultáneamente un bagaje teórico, incluyendo un tema de estudio de propiedades y de transformación de programas, como una fuerte componente práctica, fomentando la aplicación de herramientas de programación lógica declarativa de última generación en las áreas en que están mostrando mayor éxito, tales como resolución de restricciones, diagnosis, razonamiento sobre acciones, planificación y robótica cognitiva.

Competencias do título
Código Competencias da titulación
A1 Adquirir coñecementos de Lóxicas Computacionais e as súas principais aplicacións a outras áreas específicas de investigación en Computación tales como Raonamento Automático, Representación do Coñemento, Razoamento Temporal e Espacial, Sistemas Multiaxente, Web semántica, Verificación Formal, etc.
B2 Destreza na adquisición do coñecemento, análise do estado da arte e bibliografía relevante nunha área de investigación.
B3 Capacidade para identificar problemas e formular adecuadamente as hipóteses a contrastar seguindo unha metodoloxía científica.
B4 Aplicación do método científico mediante análise empírico das hipóteses formuladas ou mediante demostración formal, no caso de propiedades matemáticas. Destreza no deseño de experimentos e a análise de resultados.
B7 Acostumarse ó uso do inglés como principal idioma de adquisición e transmisión de coñecemento científico e de investigación.
B8 Coñecer resultados recentes en áreas de investigación punteiras e presentados de primeira man polos seus propios autores ou especialistas de recoñecido prestixio.
C6 Valorar criticamente o coñecemento, a tecnoloxía e a información dispoñible para resolver os problemas cos que deben enfrontarse.
C8 Valorar a importancia que ten a investigación, a innovación e o desenvolvemento tecnolóxico no avance socioeconómico e cultural da sociedade.

Resultados de aprendizaxe
Competencias de materia (Resultados de aprendizaxe) Competencias da titulación
BI2 Destreza en la adquisición del conocimiento, análisis del estado del arte y bibliografía relevante en un área de investigación. BI2
BI3 Capacidad para identificar problemas y plantear adecuadamente las hipótesis a contrastar siguiendo una metodología científica. BI3
BI4 Aplicación del método científico mediante análisis empírico de las hipótesis planteadas o mediante demostración formal, en el caso de propiedades matemáticas. Destreza en el diseño de experimentos y el análisis de resultados. BI4
BI7 Acostumbrarse al uso del inglés como principal idioma de adquisición y transmisión de conocimiento científico y de investigación. BI7
Adquirir conocimientos de Lógicas Computacionales y sus principales aplicaciones a otras áreas específicas de investigación en Computación tales como Razonamiento Automático, Representación del Conocimiento, Razonamiento Temporal y Espacial, Sistemas Multiagente, Web semántica, Verificación Formal, etc. AI1
Conocer las principales semánticas de programación lógica declarativa y saber aplicarlas a problemas prácticos de representación de conocimiento y resolución de problemas AI1
BI8
CM6
CM8

Contidos
Temas Subtemas
1- An introduction to Prolog Introduction
Adding Functions: unification, lists, Turing completeness.
Relation to Logic: Least Herbrand Model.
Flow control: cut, negation as failure.
Other features: arithmetic, input/output, assert/retract.
2- Semantics for negation Stable models and answer sets.
Well-founded Semantics. Relation to stable models.
Programs with variables. Answer Set Programming (ASP).
Clark's completion.
Loop formulas.
Extending the syntax: disjunctive ASP.
3- Equilibrium Logic Syntax and semantics.
Strong equivalence.
Normal forms. Minimal logic programs.
Quantified Equilibrium Logic.

Planificación
Metodoloxías / probas Horas presenciais Horas non presenciais / traballo autónomo Horas totais
Sesión maxistral 30 15 45
Solución de problemas 0 18 18
Proba obxectiva 2 0 2
 
Atención personalizada 10 0 10
 
*Os datos que aparecen na táboa de planificación son de carácter orientativo, considerando a heteroxeneidade do alumnado

Metodoloxías
Metodoloxías Descrición
Sesión maxistral Clases en aula
Solución de problemas Resolución de problemas que pode incluir: exercicios de programación en Prolog, solución de problemas teóricos (demostración de propiedades) ou resolución de problemas de representación de coñecemento usando Answer Set Programming.
Proba obxectiva Trátase de un examen optativo, no caso en que non se poidan realizar as prácticas en clase de xeito regular.

Atención personalizada
Metodoloxías
Solución de problemas
Descrición
Tutorías

Avaliación
Metodoloxías Descrición Cualificación
Solución de problemas A calificación final compútase en función das calificacións obtidas nos exercicios. Os 10 puntos da claificación repartiránse en un grupo de exercicios a realizar ao longo do curso (entre 3 e 5). Computa o 100% da calificación (a aplicación da guía docente non permite especificalo así) 99
Proba obxectiva Trátase de un examen optativo, no caso en que non se poidan realizar as prácticas en clase de xeito regular. É unha ALTERNATIVA á entrega de problemas resoltos. Computa o 100% da calificación (a aplicación da guía docente non permite especificalo así) 1
 
Observacións avaliación

Fontes de información
Bibliografía básica C. Baral (2003). Knowledge Representation, Reasoning and Declarative Problem Solving. Cambridge University Press
K. R. Apt and R. Bol (1994). Logic Programming and negation: a survey. Journal of Logic Programming 19-20, pp. 9-71
I. Bratko (2001). Prolog Programming for Artificial Intelligence (3rd ed). Addison-Wesley

Bibliografía complementaria


Recomendacións
Materias que se recomenda ter cursado previamente

Materias que se recomenda cursar simultaneamente

Materias que continúan o temario

Observacións


(*)A Guía docente é o documento onde se visualiza a proposta académica da UDC. Este documento é público e non se pode modificar, salvo casos excepcionais baixo a revisión do órgano competente dacordo coa normativa vixente que establece o proceso de elaboración de guías