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 2024)
I - Oferta Académica
Materia Carrera Plan Año Periodo
INTELIGENCIA ARTIFICIAL LIC.CS.COMP. 32/12 2024 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
ERRECALDE, MARCELO LUIS Prof. Responsable P.Asoc Exc 40 Hs
CAGNINA, LETICIA CECILIA Prof. Co-Responsable P.Adj Exc 40 Hs
FERRETTI, EDGARDO Responsable de Práctico P.Adj 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. 2 Hs. 2 Hs. 2 Hs. 8 Hs. 1º Cuatrimestre 11/03/2024 21/06/2024 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 fuere 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 difíciles o poco prácticos para resolver con otros métodos. En este sentido, un estudiante debería ser capaz, una vez finalizado el curso, de determinar en qué casos es apropiado un enfoque de IA para un determinado problema, y de seleccionar e implementar el método más adecuado en cada caso.

Los contenidos generales del curso se ajustan a los recomendados por la ACM/IEEE Computer Society Joint Task Force on Computing, para el área de Sistemas Inteligentes en carreras de grado en Ciencias de la Computación, publicados en Diciembre de 2013 (https://www.acm.org/education/CS2013-final-report.pdf). De acuerdo a esas pautas curriculares, este programa cubre todos los tópicos de conocimiento fundamentales/obligatorios ("Tier-2 Core") incluidos en los "Aspectos Fundamentales" y en los principios básicos de "Algoritmos de Búsqueda", "Representación de Conocimiento y Razonamiento" y "Aprendizaje Automático". Asimismo, se cubren varios tópicos electivos propuestos en las áreas de "Búsqueda Avanzada", "Representación y Razonamiento avanzado", "Razonamiento bajo Incertidumbre" y "Agentes".

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, 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
Objetivos generales

El principal objetivo del curso es introducir al alumno en los conceptos básicos fundamentales de la Inteligencia Artificial, 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 de IA es apropiado para un determinado problema, identificar las representaciones y mecanismos más apropiados 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 la IA, 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: ¿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). Arquitecturas de agentes. Agentes reactivos. Agentes basados en objetivos. Agentes basados en utilidades. Ambientes: propiedades. Completo 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
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 y de optimización. Principales algoritmos. Enfoques con formulación incremental y con estado completo. Algoritmos de mejora iterativa. Descenso del gradiente. Enfoques Poblacionales (algoritmos genéticos, PSO, etc).

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 tiempo, acciones y cambio. Resolución de problemas y planning. Planning. Representación y razonamiento con incertidumbre. Interpretación de las probabilidades. Sintaxis. Inferencia probabilística. Regla de Bayes. Redes Bayesianas.

UNIDAD 5
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.

UNIDAD 6
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. Aprendizaje por Refuerzo. Diseño de un agente de teoría de decisión. Búsqueda en presencia de adversarios: algoritmos para juegos de dos personas. Introducción a los Sistemas Multiagentes. Sistemas colaborativos. Protocolos de Interacción para sistemas cooperativos. Planning multiagente. Protocolo de red de contratos. Sistemas de pizarra. Coordinación sin comunicación. Coordinación en sistemas reactivos.”

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.

Práctico 1: 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. Se resuelven distintos ejercicios vinculados a los principales métodos de búsqueda heurística.

Práctico 2: Problemas de satisfacción de restricciones y optimizació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: Representación de conocimiento y razonamiento.
Se realizan ejercicios de representación de conocimiento y razonamiento para agentes lógicos y representación y razonamiento con incertidumbre.


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áctico de Laboratorio 1: PSRs y Optimización.
Se experimenta con un software libre en un PSRs y/o problema de optimización usando un enfoque poblacional (tipo algoritmos genéticos o PSO) y/o búsqueda local en espacios continuos (tipo descenso del gradiente).

Práctico de Laboratorio 2: Aprendizaje Automático.
Se experimenta con un software libre para aprendizaje automático (por ejemplo Scikit-learn) 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
Los contenidos de la materia serán impartidos en modalidad presencial y el material estará disponible en un repositorio digital (tipo Google Classroom).

No se admite rendir la materia en condición de libre. El alumno puede optar por alguna de las dos alternativas del régimen de aprobación cumpliendo las condiciones que se detallan más abajo: A. Regularizar la materia y luego rendir un examen final; B. Promocionar la materia.

A. Para regularizar la materia, los alumnos deberán:

A1. Aprobar los ejercicios, informes y programas que se requieran en las distintas unidades, los cuales serán provistos en el repositorio digital de la materia. Se requerirá un mínimo de asistencia a las teorías y prácticos del 80%

A2. Aprobar 1 (un) examen parcial escrito o alguna de las 2 recuperaciones previstas por la reglamentación vigente, con al menos el 70% correcto. En la evaluación se incluirán los temas desarrollados en todos los prácticos.

A3. El examen final puede ser oral y/o escrito.

B. Para promocionar la materia, los alumnos deberán:

B1. Cumplir con los requerimientos A1 y A2 enunciados anteriormente.

B2. Aprobar con un mínimo de 7 (siete) un examen integrador oral y/o escrito al final del cuatrimestre.

B3. La nota final de la materia se computará promediando las notas obtenidas en cada uno de los puntos mencionados previamente.
IX - Bibliografía Básica
[1] “Artificial Intelligence: A Modern Approach”. S. Russell y P. Norvig. Pearson; 4ta. edición, 2020.
[2] “Artificial Intelligence: Foundations of Computational Agents”. D. Poole y A. Mackworth. Cambridge University Press, 2da. edición. 2017.
[3] “Machine Learning”, Tom Mitchell, McGraw Hill, 1997.
X - Bibliografia Complementaria
[1] “An Introduction to MultiAgent Systems”. Michael Wooldridge. Second Edition. John Wiley & Sons, 2009.
[2] "Introduction to Machine Learning with Python". Andreas C. Müller y Sarah Guido. O’Reilly Media, Inc., 2017.
[3] "Hands-on Machine Learning with Scikit-Learn, Keras, and TensorFlow". Aurélien Géron. 2da. Edición. O’Reilly Media, Inc., 2019.
XI - Resumen de Objetivos
El principal objetivo del curso es introducir al alumno en los conceptos básicos fundamentales de la Inteligencia Artificial, 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
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. Aprendizaje Automático. Agentes basados en conocimiento. Representación y razonamiento. Sistemas de razonamiento lógico. Planning. Incertidumbre. Razonamiento probabilístico. Agentes basados en utilidades. Introducción a los Sistemas Multiagentes.
XIII - Imprevistos
 
XIV - Otros