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 |
I - Oferta Académica | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
|
II - Equipo Docente | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
III - Características del Curso | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
IV - Fundamentación |
---|
Este curso trata sobre los aspectos principales de la Inteligencia Artificial (IA) y los Sistemas Inteligentes (SI). Un SI es un sistema que provee soluciones para problemas que son difíciles o poco práctico para resolver con los métodos tradicionales. Para ello, un SI utilizará en su diseño técnicas y arquitecturas adecuadas para lograr distintos grados de flexibilidad (reactividad, pro-actividad y sociabilidad), autonomía, adaptatividad y aprendizaje.
Para lograr estas capacidades el diseño de un SI 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. El enfoque adoptado en nuestro caso se basa en el concepto de agente inteligente. Desde esta perspectiva, el desarrollo de SIs 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. El énfasis en este curso estará puesto en las aplicaciones de las técnicas de la IA y en los aspectos de ingeniería involucrados en el desarrollo de los SIs. En este contexto, los casos de estudio incluirán diversas áreas tales como los sistemas basados en conocimiento, optimización con meta-heurísticas, sistemas bio-inspirados, agentes de software inteligentes, procesamiento de lenguaje natural, aprendizaje automático, minería de datos, robótica adaptativa inteligente, procesamiento intensivo de conocimiento en la Web, etc. |
V - Objetivos / Resultados de Aprendizaje |
---|
Objetivos generales
El principal objetivo del curso es introducir al alumno en los conceptos básicos fundamentales de la Inteligencia Artificial y los Sistemas Inteligentes, poniendo el énfasis en aquellos aspectos directamente involucrados con la generación del comportamiento inteligente, como la resolución de problemas mediante búsqueda, representación de conocimiento y razonamiento, la toma de decisiones bajo incertidumbre y el aprendizaje automático. Al finalizar el curso, se espera que el alumno pueda determinar cuándo un enfoque o arquitectura de sistema inteligente es apropiado para un determinado problema, identificar las representaciones y mecanismos más adecuados para su abordaje, ponerlos en práctica y evaluarlos. Por último, los conocimientos adquiridos deberían servir de base para aquellos alumnos que deseen extender sus conocimientos de los contenidos abordados, y profundizar en aspectos más avanzados de los sistemas inteligentes, como por ejemplo: Procesamiento de Lenguaje Natural, Scheduling, Robótica, Explotación de datos (Data Mining), Sistemas Multiagente, etc. |
VI - Contenidos |
---|
UNIDAD 1
Introducción a la Inteligencia Artificial. ¿Qué es la Inteligencia Artificial (IA)? Comportamiento humano vs. racional. Pensamiento humano vs. racional. El Test de Turing. La modelización cognitiva. Las "leyes del pensamiento" lógico. El agente racional. Historia de la IA. Estado del arte. Problemas abordados por la IA. Aplicaciones exitosas. UNIDAD 2 Introducción a los Agentes Inteligentes. Definición. Aspectos esenciales de un agente. Agentes como funciones. Agente Racional. Descripción PAES (Performance, Ambiente, Efectores, Sensores). Tipos de Agentes. Agentes reactivos. Agentes basados en objetivos. Agentes basados en utilidades. Agentes que aprenden. Ambientes: propiedades. Completa vs. parcialmente observable. Determinístico vs. estocástico. Episódico vs. secuencial. Estático vs. dinámico. Discreto vs. continuo. Único agente vs. multiagente. Conocido vs. desconocido UNIDAD 3 Arquitecturas de agentes. Arquitecturas reactivas versus deliberativas. Arquitecturas híbridas. Arquitecturas basadas en comportamientos. Arquitecturas de razonamiento práctico. UNIDAD 4 Resolución de Problemas y búsqueda. Agentes de resolución de problemas. Formulación de problemas. Ejemplos de problemas. Estrategias de búsqueda. Evaluación: completitud, optimalidad y complejidad. Métodos de búsqueda no informada. Principales algoritmos: búsqueda a lo ancho, en profundidad, con profundidad iterada, de costo uniforme. Métodos de búsqueda heurística. Principales algoritmos: primero el mejor (voraz), A*. Funciones heurísticas. Problemas de satisfacción de restricciones. Principales algoritmos. Enfoques con formulación incremental y con estado completo. Algoritmos de mejora iterativa. Enfoques Poblacionales (algoritmos genéticos, PSO, etc). UNIDAD 5 Agentes lógicos. Agentes basados en conocimiento. Representación y razonamiento (R y R). R y R en Lógica Proposicional y de Primer Orden. Ontologías. Razonando en la Web. La Web semántica. Razonamiento lógico vs probabilístico. Redes Bayesianas. UNIDAD 6 Agentes basados en utilidad. Funciones de utilidad. Problemas de decisión secuencial. Incertidumbre en las acciones. El enfoque MDP. Algoritmos para resolver MDP's. Aprendizaje por Refuerzo. UNIDAD 7 Introducción al Aprendizaje Automático. Aprendizaje como búsqueda. Aprendizaje supervisado, no supervisado y por refuerzo. Ejemplos. Aplicación de un método de aprendizaje simple a un problema de clasificación. El problema del sobre-ajuste. Evaluación de un clasificador. Clustering. Unidad 8 Aplicaciones. Herramientas para la Web Inteligente. Minería de datos y de la Web. Optimización en la industria. |
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: Agentes racionales. Ambientes. Tipos de 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 2: 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 e informada (heurística). También 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 3: Agentes basados en conocimiento Se realizan ejercicios de representación de conocimiento y razonamiento utilizando un lenguaje de programación lógica. Prácticos de Laboratorio: Práctico de Máquina 1: 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 GRAPH-SEARCH implementado en Prolog y provisto por la cátedra. Práctico de Máquina 2: Satisfacción de restricciones. Se selecciona alguno de los algoritmos vistos en teoría para resolver problemas de satisfacción de restricciones (SA, AG, PSO), y se lo utiliza para resolver un PSR representativo (por ejemplo el problema de las 8 reinas). Práctico de Máquina 3: Aprendizaje Automático. Se experimenta con un software libre para aprendizaje automático (por ejemplo Weka) y, utilizando un conjunto de datos de libre acceso (ej., los disponibles en el UCI Machine Learning Repository) se entrena y testea un clasificador simple. |
VIII - Regimen de Aprobación |
---|
Para aprobar la materia, los alumnos podrán:
a) regularizarla, de acuerdo a las condiciones establecidas en el régimen para alumnos regulares, y luego aprobar el examen final correspondiente. b) promocionarla, de acuerdo a las condiciones establecidas en el régimen para alumnos promocionales. Las condiciones para ambas modalidades, se detallan a continuación. A. Régimen para Alumnos Regulares 1. Tener un mínimo de 60% de asistencia a las clases prácticas. 2. Entrega del 70% de los ejercicios de prácticos de aula solicitados. 3. Aprobación de los prácticos de laboratorio propuestos. 4. Aprobar 1 (UN) exámen parcial práctico o alguna de las 2 recuperaciones previstas por la reglamenctación vigente. Nota: Setenta por ciento (70%) es el porcentaje mínimo, de los ejercicios a resolver, necesario para aprobar cada parcial. Además, al menos el 50% de cada uno de los ejercicios involucrados en el parcial deberán ser completados para considerar su aprobación. B. Régimen para Alumnos Promocionales 1. Idem a lo requerido para alumnos regulares, con las siguientes diferencias: a. El alumno deberá asistir a un 80% de las clases teóricas y prácticas. b. Aprobar, con un mínimo de 7 (siete), un coloquio integrador oral y/o escrito al final del cuatrimestre. La nota final se computará promediando las notas obtenidas en cada uno de los puntos mencionados previamente. C. El curso no admite rendir el examen final en condición de libre. D. El examen final puede ser oral y/o escrito. |
IX - Bibliografía Básica |
---|
[1] “Artificial Intelligence: A Modern Approach”. S. Russell y P. Norvig. Prentice Hall; 3ra. edición, 2009.
[2] “An Introduction to MultiAgent Systems”. Michael Wooldridge. Second Edition. John Wiley & Sons, 2009. [3] “Artificial Intelligence: Foundations of Computational Agents”. D. Poole y A. Mackworth. Cambridge University Press, 2010. [4] “Computational Intelligence: A Logical Approach”. D. Poole, A. Mackworth y R. Goebel. Oxford University Press, 1998. [5] “Machine Learning”, Tom Mitchell, McGraw Hill, 1997. |
X - Bibliografia Complementaria |
---|
[1] “Prolog-programming for artificial intelligence”. I. Bratko. Tercera Edición. Pearson Education, 2001.
[2] “Introduction to Data Mining”. P. Tan, M. Steinbch y V. Kumar. Pearson, 2005. [3] “Artificial Intelligence”. E. Rich y K. Knight. Segunda edición. McGraw-Hill, 1991. [4] “Artificial Intelligence”. G. Luger y W. Stubblefield. Cuarta edición. The Benjamín/Cummings Publishing Company, 2001. [5] “Inteligencia Artificial. Una nueva síntesis”. Nils J. Nilsson. McGraw-Hill, 2001. [6] “Constructing Intelligent Agents Using Java”. J. P. Bigus y B. Jennifer. J. Wiley, 2001. |
XI - Resumen de Objetivos |
---|
El principal objetivo del curso es introducir al alumno en los conceptos básicos fundamentales de la Inteligencia Artificial y los Sistemas Inteligentes, poniendo el énfasis en aquellos aspectos directamente involucrados con la generación del comportamiento inteligente, como la resolución de problemas mediante búsqueda, representación de conocimiento y razonamiento, la toma de decisiones bajo incertidumbre y el aprendizaje automático.
|
XII - Resumen del Programa |
---|
Introducción a la Inteligencia Artificial y los Sistemas Inteligentes, conceptos básicos e historia. Agentes. Tipos de ambientes y arquitecturas 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. Razonamiento probabilístico. Agentes basados en utilidades. Aprendizaje Automático. Aplicaciones.
|
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 |
---|
|