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 2020)
I - Oferta Académica
Materia Carrera Plan Año Periodo
INTELIGENCIA ARTIFICIAL LIC.CS.COMP. 006/05 2020 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
GARCIARENA UCELAY, MARIA JOSE Auxiliar de Práctico A.1ra Simp 10 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
 Hs. 3 Hs. 2 Hs.  Hs. 5 Hs. 1º Cuatrimestre 09/03/2020 10/07/2020 18 90
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 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 que 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. Representación Strips. Situation Calculus. Event Calculus. Resolución de problemas y planning. Planning clásico. Combinando planning y ejecución.

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

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.

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.

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

Práctico 3: 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 4: Agentes basados en conocimiento.
Se realizan ejercicios de representación de conocimiento y razonamiento para agentes lógicos y ejercicios relacionados con la representación del tiempo, acciones y cambio usando Cálculo de Eventos.


El práctico de laboratorio por su parte, buscará reafirmar los conceptos mediante la implementación y uso de software específico de las temáticas abordadas en el curso.

Práctico de Laboratorio 1: 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 impartidos durante el periodo no presencial (clases virtuales), así como las evaluaciones que se realicen, tendrán validez académica según estipula el Art. 7 de la Resol. CD 018-20. Las clases virtuales se impartirán mediante el uso de tecnologías como Google Meet, Zoom, videos preparados por la cátedra y material escrito que se proveerá a través de Google Classroom. Por tal motivo, no se considera la asistencia en el régimen de aprobación de la materia.

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 la plataforma Classroom de la materia.

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. La modalidad del examen será comunicada a los alumnos y a Secretaría Académica con al menos 5 días hábiles de anticipación (Arts. 10 y 11 de la Resol. CD 018-20).

A3. El examen final puede ser oral y/o escrito y se comunicará la modalidad del mismo según las especificaciones de la Resol. CD 018-20.

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 bajo la modalidad que se comunique oportunamente (Arts. 10 y 11 de la Resol. CD 018-20).

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. 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] “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] “Prolog-programming for artificial intelligence”. I. Bratko. Tercera Edición. Pearson Education, 2001.
[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, 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. Agentes basados en conocimiento. Representación y razonamiento. Sistemas de razonamiento lógico. Planning. Incertidumbre. Razonamiento probabilístico. Agentes basados en utilidades. Aprendizaje Automático.
XIII - Imprevistos
Debido al contexto de aislamiento social preventivo y obligatorio, que derivó en un dictado en MODALIDAD NO PRESENCIAL, se decidió que el dictado de los contenidos en lugar de ser en 15 semanas se extendiera a 18 semanas, y con menos carga presencial para facilitar la asimilación a la nueva modalidad.

Si por problemas de conectividad u otra eventualidad referida a la no presencialidad, los alumnos no pudieran rendir el parcial o algunas de las instancias de recuperación previstas en el régimen académico, los docentes propondrán alternativas para subsanar este inconveniente comunicándolo formalmente a la Secretaría Académica de la Facultad y luego a los estudiantes involucrados (Art. 12 de la Resol. CD 018-20).
XIV - Otros