Inteligencia artificial II (1999-00)
El curso se divide en dos grandes bloques temáticos.
En la primera parte, se introduce la programación lógica con Prolog. Este bloque aborda aplicaciones como la representación y el razonamiento en agentes inteligentes, el manejo de conocimiento estructurado, la creación de metaintérpretes, el procesamiento del lenguaje natural y el razonamiento con información incompleta.
La segunda parte se centra en la programación basada en reglas mediante el uso de CLIPS. Aquí se exploran temas prácticos como la búsqueda en espacios de estados, la monitorización de sistemas de control, el aprendizaje basado en árboles de decisión y la construcción de metaintérpretes adaptados a este paradigma.
Temas
- Tema 1: Agentes inteligentes: Representación y razonamiento.
- Tema 2: Ampliación de Prolog.
- Tema 3: Razonamiento con conocimiento estructurado.
- Tema 4: Ingeniería del conocimiento y metaintérpretes.
- Tema 5: Procesamiento de lenguaje natural.
- Tema 6: Introducción a la programación basada en reglas.
- Tema 7: Equiparación de patrones
- Tema 8: Diseño modular y control de la ejecución.
- Tema 9: Estilo y eficiencia en programación basada en reglas.
- Tema 10: Aplicaciones de SBC: Problemas de búsqueda.
- Tema 11: Aplicaciones de SBC: Sistemas de control.
- Tema 12: Aplicaciones de SBC: Decisión y metaintérpretes.
- Tema 13: Razonamiento con información incompleta.
Códigos
- Tema 6: Introducción a la programación basada en reglas
- animales.clp: Base de conocimiento de animales.
- busca-personas.clp: Búsqueda de personas en una base de conocimiento.
- union.clp: Unión de dos conjuntos.
- busca-triangulos-rect.clp: Búsqueda de los triángulos rectángulo.
- suma-areas-1.clp: Suma de las áreas de rectángulos.
- suma-areas-2.clp: Suma de las áreas de rectángulos.
- ordenacion.clp: Algoritmo de ordenación de la burbuja
- maximo.clp: Máximo de un vector.
- cuadrado-magico.clp: Cuadrado mágico.
- Tema 7: Equiparación de patrones
- bloques.clp: El mundo de los bloques.
- numero-1.clp: Juego de adivinar el número.
- numero-2.clp: Juego de adivinar el número.
- numero-3.clp: Juego de adivinar el número.
- nim-1.clp: Juego del Nim.
- nim-2.clp: Juego del Nim.
- nim-3.clp: Juego del Nim.
- nim-4.clp: Juego del Nim.
- nim-5.clp: Juego del Nim.
- Tema 8: Diseño modular y control de la ejecución
- nim-fases.clp: El juego del Nim con fases.
- nim-modulos.clp: El juego del Nim con módulos.
- Tema 10: Aplicaciones de SBC: Problemas de búsqueda
- romanos.clp: Transformación de numeración decimal a romana.
- fichas-1.clp: El problema de las fichas para N igual a 3.
- fichas-2.clp: El problema de las fichas para N igual a 3 y heurística.
- fichas-3.clp: El problema de las fichas para N igual a 3, con heurística y coste.
- Tema 11: Aplicaciones de SBC: Sistemas de control
- monitor.clp: Monitorización de un sistema simple.
- Tema 12: Aplicaciones de SBC: Decisión y metaintérpretes
- decision.clp: Árbol de decisión con aprendizaje.
- animales.dat: Base de conocimiento para el árbol de decisión.
- regresivo.clp: Simulación del proceso de inferencia regresivo con atributos preguntables.
- teatro.dat: Base de conocimiento para el sistema regresivo.
Sistemas
Exámenes
- Primera convocatoria:
- Convocatoria de diciembre:
Bibliografía
- Bratko, I. PROLOG Programming for Artificial Intelligence (3 ed.) (Addison Wesley, 2001)
- Clocksin, W.F. y Mellish, C.S. Programación en Prolog (Gustavo Gili, 1987)
- Flach, P. Simply Logical (Intelligent Reasoning by Example) (John Wiley, 1994)
- Giarratano, J. C. CLIPS User's Guide
- Poole, D.; Mackworth, A. y Goebel, R. Computational Intelligence (a Logical Approach) (Oxford University Press, 1998)
- Sterling,, L. y Shapiro, E. L'art de Prolog (Masson, 1990)