Languages

You are here

PLRC

Programación Lógica y Representación del Conocimiento

Curso optativo, 3 ECTS, 2º cuatrimestre

Profesores:
Pedro Cabalar Fernández 3 ECTS 30 h (responsable del curso)
Descripción:

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.

Descriptores: semánticas de negación por defecto, ampliaciones, transformación de programas lógicos, estudio de propiedades formales, algoritmos y herramientas, áreas de aplicación práctica.
 
Descripción de las competencias: C1, C2, C3, C6, C7

Bibliografía:
  • C. Baral, Knowledge Representation, Reasoning and Declarative Problem Solving, Cambridge University Press, 2003.
  • J. Lobo, J. Minker and A. Rajasekar, Foundations of Disjunctive Logic Programming, The MIT Press, 1992.
  • K. R. Apt, From Logic Programming to Prolog, Prentice-Hall, 1997.
  • V. Lifschitz, Foundations of logic programming, in Principles of Knowledge Representation, CSLI Publications, 1996, pp. 69-127.
  • K. R. Apt and R. Bol, Logic Programming and negation: a survey, Journal of Logic Programming 19-20, pp. 9-71, 1994.
  • J. Dix, Semantics of Logic Programs: their intuitions and formal properties. An overview, in Logic, Action and Information, A. Fuhrmann and H. Rott eds., de Gruyter, Berlin-New York, 1995.
  • J. Dix, L. M. Pereira, T. Przymusinski, Prolegomena to Logic Programming for Non-Monotonic Reasoning, Proc. of Nonmonotonic Extensions of Logic Programming, 1997.
Enlaces:
Material:
Temario:
  1. Introducción
    • Sintaxis de los programas lógicos. Unificación.
    • Semántica procedural: derivación SLD.
    • Negación por fallo y SLDNF.
    • Semántica Least Herbrand Model.
  2. Semánticas de negación por defecto:
    • Clark's Completion.
    • Stable models.
    • Fitting's model.
    • Well-founded semantics (WFS).
    • Resultados de relación entre ellas.
  3. Transformación de programas y estudio de propiedades.
    • Teorema de partición (splitting), call-consistency, order-consistency, estratificación, tightness.
    • Transformaciones bajo equivalencia fuerte.
    • Complejidad y expresividad.
    • Relación con otros formalismos lógicos:
      circunscripción, Default Logic, lógica intuicionista, lógica tri-valuada, etc.
  4. Algoritmos y herramientas.
    • Completion: cmodels.
    • WFS: cálculo descendente y evaluación tabulada (sistema XSB); cálculo ascendente por reescritura.
    • Stable models: smodels, dlv, assat (loop formulas).
  5. Áreas de aplicación práctica:
    • resolución de restricciones.
    • razonamiento sobre acciones, planificación y robótica cognitiva.
    • diagnosis.
    • jerarquías y herencia.
Sistemas de evaluación

La evaluación se llevará a cabo mediante
 
-    Elaboración y exposición oral (actvidad formativa B) de resúmenes de artículos, incluyendo trabajo comparativo y evaluación crítica por parte del alumno. Alternativamente: redacción de informes técnicos (technical reports) que presenten resultados sobre problemas planteados por el responsable del curso.

-    Prueba escrita (actividad formativa E) como alternativa a la exposición oral B.

-    Uno o varios trabajos prácticos en laboratorio (actividad formativa D).

Planificación de actividades formativas, con la dedicación estimada en horas de trabajo del estudiante:
  Actividad formativa Horas
A. Clases magistrales 20
B. Exposición oral 25
E. Prueba objetiva (alternativa a B)
C. Tutorías 10
D. Trabajo práctico 20
TOTAL 3 ECTS x 25 h 75
Idioma(s) empleado(s) :

-    Inglés: actividades formativas A, B.
-    Castellano: actividades formativas C, D y E.