Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ciencias Físico Matemáticas y Naturales
Departamento: Informatica
Área: Area V: Automatas y Lenguajes
(Programa del año 2012)
(Programa en trámite de aprobación)
(Programa presentado el 02/08/2012 20:50:13)
I - Oferta Académica
Materia Carrera Plan Año Periodo
INTELIGENCIA ARTIFICIAL LIC.CS.COMP. 32/12 2012 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
ERRECALDE, MARCELO LUIS Prof. Responsable P.Adj Exc 40 Hs
CAGNINA, LETICIA CECILIA Responsable de Práctico JTP Exc 40 Hs
FERRETTI, EDGARDO Responsable de Práctico JTP Exc 40 Hs
III - Características del Curso
Credito Horario Semanal Tipificación Duración
Teórico/Práctico Teóricas Prácticas de Aula Práct. de lab/ camp/ Resid/ PIP, etc. Total B - Teoria con prácticas de aula y laboratorio Desde Hasta Cantidad de Semanas Cantidad en Horas
Periodo
2 Hs. 3 Hs. 2 Hs. 1 Hs. 8 Hs. 1º Cuatrimestre 14/03/2012 22/06/2012 15 120
IV - Fundamentación
Este curso trata sobre los aspectos principales de la Inteligencia Artificial (IA). El enfoque adoptado en nuestro caso se basa en el concepto de agente inteligente. Desde esta perspectiva, el problema de la IA se centra en el análisis, diseño y construcción de agentes autónomos. Un agente es un sistema de software y/o máquina física provisto de sensores y efectores que le permiten interactuar directamente con un ambiente (virtual o físico). Un agente inteligente debería ser capaz de percibir su ambiente, y actuar racionalmente en pos de sus objetivos de diseño, interactuando cuando fuera necesario con otros agentes artificiales y/o humanos.

Para lograr estas capacidades el diseño de un agente puede involucrar aspectos tales como percepción, planificación y acción, representación de conocimiento y razonamiento, resolución de problemas y búsqueda, incertidumbre, utilidades y aprendizaje automático.

Un aspecto interesante de la IA es que provee un conjunto de herramientas para resolver problemas que son dificultosos o imprácticos para resolver con otros métodos. En este sentido, un estudiante debería ser capaz, una vez finalizado el curso, de determinar en que casos es apropiado un enfoque de IA para un determinado problema, y de selecionar e implementar el método más adecuado en cada caso.

Los contenidos generales del curso, cubren las unidades de conocimiento mínimas (core) recomendadas por la ACM/IEEE Computer Society Joint Curriculum Task Force, para el área de Sistemas Inteligentes y cuatro unidades sugeridas como electivas. Si bien el curso es autocontenido se sugiere conocimiento previo en lógica, probabilidad y estructuras de datos. La amplitud temática de la IA sólo permite un tratamiento general de los principales aspectos involucrados. No obstante ésto, el curso sirve como base para otros cursos optativos de la licenciatura, relacionados a tópicos avanzados de la IA como "Agentes y Sistemas Multiagente" y "Aprendizaje Automático y Minería de Datos".
V - Objetivos / Resultados de Aprendizaje
Al finalizar el curso los alumnos serán capaces de:

Reconocer cuales son las principales ventajas, limitaciones y aplicabilidad de las distintas herramientas utilizadas por la IA.

Diferenciar los principales aspectos involucrados en el comportamiento inteligente y la Inteligencia Artificial.

Determinar en que casos es apropiado utilizar un enfoque de IA para un problema dado.

Seleccionar e implementar un método de IA que sea adecuado para resolver el problema de acuerdo a sus características generales.

Realizar cursos sobre tópicos avanzados de la IA, como por ejemplo: Procesamiento de Lenguaje Natural, Scheduling, Robótica, Explotación de datos (Data Mining).

Extender sus conocimientos de los contenidos abordados en el curso con bibliografía adecuada y mínima supervisión.
VI - Contenidos
UNIDAD 1
Introducción: ¿Qué es la Inteligencia Artificial (IA)?. Comportamiento humano vs racional. Pensamiento humano vs racional. Historia de la IA. Estado del arte.

UNIDAD 2
Agentes. Definición. Agente Racional. Descripción PAES. Arquitecturas de agentes. Agentes reactivos. Agentes basados en objetivos. Agentes basados en utilidades. Ambientes: propiedades.

UNIDAD 3
Resolución de Problemas y búsqueda. Agentes de resolución de problemas. Formulación de problemas. Ejemplos de problemas. Estrategias de búsqueda. Métodos de búsqueda ciega. Principales algoritmos. Métodos de búsqueda heurística. Principales algoritmos. Problemas de satisfacción de restricciones. Principales algoritmos.

UNIDAD 4
Agentes lógicos. Agentes basados en conocimiento. Representación y razonamiento (R y R). R y R en Lógica Proposicional. R y R en Lógica de Primer Orden. Representando información incompleta y contradictoria.

UNIDAD 5
Representando tiempo, acciones y cambio. Representación Strips. Situation Calculus. Event Calculus. Resolución de problemas y planning. Planning de orden parcial. Combinando planning y ejecución.

UNIDAD 6
Incertidumbre. Teoría de probabilidad. Interpretación de las probabilidades. Sintaxis. Inferencia probabilística. Regla de Bayes. Redes Bayesianas.

UNIDAD 7
Agentes basados en utilidad. Funciones de utilidad. Problemas de decisión secuencial. Incertidumbre en las acciones. Planning de lazo cerrado. El enfoque MDP. Algoritmos para resolver MDP's. Diseño de un agente de teoría de decisión. Búsqueda en presencia de adversarios: algoritmos para juegos de dos personas.

VII - Plan de Trabajos Prácticos
Las clases prácticas consistirán en la resolución de ejercicios que involucren la aplicación y ejemplificación de los principales conceptos presentados en teoría.
Los prácticos de laboratorio por su parte, buscarán reafirmar estos conceptos mediante la implementación y uso de software específico a cada una de las temáticas abordadas en el curso.

Prácticas de Aula:

Práctico 1: Repaso, lenguaje Prolog.
Se repasan las principales construcciones del lenguaje Prolog que serán necesarias en el resto de la materia. La resolución de ejercicios se realiza en lápiz y papel.

Práctico 2: Inteligencia, Racionalidad y Agentes
Desarrollo de ejercicios vinculados a aspectos básicos de la IA, agentes racionales, características de los ambientes y arquitecturas de agentes.

Práctico 3: Resolución de problemas y búsqueda.
Se definen formalmente distintos problemas como problemas de estado único. Se analiza y experimenta con distintas estrategias de búsqueda no informada.

Práctico 4: Búsqueda heurística.
Se resuelven distintos ejercicios vinculados a los principales métodos de búsqueda heurística.

Práctico 5: Problemas de satisfacción de restricciones
Se definen distintos problemas de la vida real como problemas de satisfacción de restricciones y se analizan y utilizan los métodos más conocidos para su resolución.

Práctico 6: Agentes basados en conocimiento (Parte A)
Se realizan ejercicios de representación de conocimiento y razonamiento utilizando la Lógica Proposicional.

Práctico 7: Agentes basados en conocimiento (Parte B)
Se realizan ejercicios de representación de conocimiento utilizando la Lógica de Primer Orden.

Práctico 8: Agentes basados en conocimiento (Parte C)
Se realizan ejercicios vinculados al razonamiento utilizando la Lógica de Primer Orden.

Práctico 9: Incertidumbre y Agentes basados en utilidades.
Se realizan ejercicios relacionados a los principales conceptos del razonamiento probabilístico y de los enfoques basados en utilidades como, por ejemplo, el algoritmo mini-max y distintos métodos de resolución de los proceso de decisión Markov.

Prácticos de Laboratorio:

Práctico de Máquina 1: Prolog (repaso)
Se prueban los ejercicios realizados en el práctico de Aula 1 utilizando un intérprete Prolog (por ejemplo SWI-Prolog).

Práctico de Máquina 2: Resolución de Problemas de estado único
Se definen formalmente las cuatro componentes que representan un problema, para un problema particular elegido por el alumno, utilizando para ello el formato Prolog explicado en teoría. Luego, se resuelve este problema utilizando el algoritmo TREE-SEARCH implementado en Prolog y provisto por la cátedra.

Práctico de Máquina 3: Satisfacción de restricciones.
Se selecciona e implementa alguno de los algoritmos vistos en teoría para resolver problemas de satisfacción de restricciones, y se lo utiliza para resolver un PSR representativo (por ejemplo el problema de las 8 reinas).

Práctico de Máquina 4: Representación de tiempo, acciones y cambio
Se experimenta con el software provisto por la cátedra, en la visualización del efecto de acciones y eventos, cuando se utilizan los enfoques de Situation Calculus y Event Calculus.
VIII - Regimen de Aprobación
Para regularizar la materia, los alumnos deberán:

1. Tener un mínimo de 60% de asistencia a las clases teóricas, prácticas de aula y de laboratorio.

2. Aprobar 1 (un) parcial que incluye todos los prácticos, con al menos el 70% correcto. Este parcial tendrá 1 (una) recuperación y 1 (una) recuperación adicional por trabajo si correspondiere.

3. Entrega de los informes y programas que se requieran en las distintas unidades.

El curso no admite la modalidad de aprobación basada en régimen de promoción sin exámen final.

El curso no admite la aprobación del exámen final en condición de libre.
IX - Bibliografía Básica
[1] “Artificial Intelligence: A Modern Approach”. S. Russell y P. Norvig. Prentice Hall; 3ra. edición, 2009.
[2] “Artificial Intelligence: Foundations of Computational Agents”. D. Poole y A. Mackworth. Cambridge University Press, 2010.
[3] “Computational Intelligence: A Logical Approach”. D. Poole, A. Mackworth y R. Goebel. Oxford University Press, 1998.
[4] “Artificial Intelligence”. E. Rich y K. Knight. Segunda edición. McGraw-Hill, 1991.
[5] “Artificial Intelligence”. G. Luger y W. Stubblefield. Cuarta edición. The Benjamín/Cummings Publishing Company, 2001.
[6] “Inteligencia Artificial. Una nueva síntesis”. Nils J. Nilsson. McGraw-Hill, 2001.
X - Bibliografia Complementaria
[1] “Constructing Intelligent Agents Using Java”. J. P. Bigus y B. Jennifer. J. Wiley, 2001.
[2] “Multi-Agent Systems – An Introduction to Distributed Artificial Intelligence”. J. Ferber. Addison-Wesley, 1999.
[3] “Multiagent Systems: A modern Approach to Distributed Artificial Intelligence”. G. Weiss. The MIT Press, 1999.
[4] “An Introduction to Multi-Agent Systems”. Michael Wooldridge. J. Wiley, 2002.
[5] “Prolog-programming for artificial intelligence”. I. Bratko. Tercera Edición. Pearson Education, 2001.
XI - Resumen de Objetivos
El curso tiene como objetivo introducir al alumno en la problemática del análisis, diseño e implementación de sistemas inteligentes. El enfoque utilizado en este caso, se basa en el concepto de agentes, estudiándose los principales paradigmas utilizados hasta el momento en la construcción de agentes inteligentes.
XII - Resumen del Programa
Inteligencia Artificial, conceptos básicos e historia. Agentes. Tipos de Agentes. Agentes de resolución de problemas. Búsqueda ciega y heurística. Problemas de satisfacción de restricciones. Agentes basados en conocimiento. Representación y razonamiento. Sistemas de razonamiento lógico. Planning. Incertidumbre. Razonamiento probabilístico. Agentes basados en utilidades.
XIII - Imprevistos
Eventualmente, si por motivos de fuerza mayor, no se cuenta con la totalidad de las semanas de clase previstas, el profesor responsable determinará cuales serán los temas que serán propuestos para que los alumnos estudien por su cuenta.
XIV - Otros