Inteligencia artificial II (1998-99)
El curso está estructurado en cuatro partes. En la primera, se aborda el estudio e implementación en Lisp de la sintaxis y semántica de la lógica proposicional, así como los algoritmos para transformar expresiones en formas normales y cláusulas, junto con los procedimientos de resolución. En la segunda parte, se desarrolla en Lisp un sistema de programación lógica. La tercera parte se centra en la construcción de metaintérpretes utilizando Prolog. Por último, en la cuarta parte, se explora el funcionamiento de los sistemas de producción progresivos mediante CLIPS, analizando su aplicación a problemas de planificación y juegos.
Temas
- Tema 1: Lógica proposicional (Sintaxis y semántica).
- Tema 2: Lógica proposicional (Formas normales y cláusulas).
- Tema 3: Lógica proposicional (Resolución proposicional).
- Tema 4: Lógica proposicional (Refinamientos de resolución).
- Tema 5: Programación lógica proposicional.
- Tema 6: Programación lógica y Prolog.
- Tema 7: Metaprogramación con Prolog.
- Tema 8: Sistemas de producción progresivos.
- Tema 9: Sistema de producción para planificación y juego.
Códigos de los programas explicados en clase
Prácticas de laboratorio
- Práctica 0 (1ª parte): Introducción a Emacs y a Lisp.
- Práctica 0 (2ª parte): Emacs y Lisp.
- Práctica 1: Descripcion en logica proposicional del problema de las N reinas y su solución.
- Práctica 2: El método de los tableros para el cálculo proposicional.
- Práctica 3: Refinamientos de resolución.
- Práctica 4: Métodos de búsqueda en espacios de estados con Prolog y soluciones:
- Práctica 5: Métodos de búsqueda en anchura en espacios de estados con Prolog y su solución.
- Práctica 6: Metaintérprete simple con Prolog, auxiliar (coches.pl) y su solución.
- Práctica 7: Sistemas de producción progresivos y soluciones:
- Práctica 8: Árboles de decisión, aprendizaje y hechos de control y auxiliar (animal.dat).
Bibliografía
- Bartak, R. On-line guide to Prolog programming.
- Genesereth , M.R. Computational logic (Stanford University, 1998-99).
- Giarratano, J.G. CLIPS 6.0 User's Guide.
- Gordon, G.J. Common LISP hints.
- Massicotte, P. Logic programming course.
- Merrit Adventure in Prolog.
- Paulson, L.C. Logic and proof (University of Cambridge, 1998).
- Pazzani , M. An introduction to artificial intelligence (University of California, Irvine, 1995).
- Steele, G.L. Common Lisp the language, (2nd edition).