Ministerio de Cultura y Educación
Universidad Nacional de San Luis
Facultad de Ingeniería y Ciencias Agropecuarias
Departamento: Ingeniería
Área: Automatización
(Programa del año 2023)
(Programa en trámite de aprobación)
(Programa presentado el 15/03/2024 09:41:00)
I - Oferta Académica
Materia Carrera Plan Año Periodo
(Ciclo Optativo - Ingeniería Electrónica - OCD Nº 23/22) Optativa: Sistemas Inteligentes INGENIERÍA ELECTRÓNICA OCD Nº 23/22 2023 1° cuatrimestre
() Optativa:Sistemas Inteligentes ING. MECATRÓNICA Ord 22/12-10/22 2023 1° cuatrimestre
II - Equipo Docente
Docente Función Cargo Dedicación
AVILA, LUIS OMAR Prof. Responsable P.Adj Exc 40 Hs
TRIMBOLI, MAXIMILIANO DANIEL Responsable 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. 2 Hs. 2 Hs. 2 Hs. 6 Hs. 1º Cuatrimestre 13/03/2023 24/06/2023 15 90
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, proactividad y sociabilidad), autonomía, adaptabilidad y aprendizaje. Para lograr estas capacidades el diseño de un SI debe 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 SI 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, sistemas bio-inspirados, agentes inteligentes, procesamiento de lenguaje natural, aprendizaje automático, minería de datos, robótica adaptativa inteligente, etc.
V - Objetivos / Resultados de Aprendizaje
Comprender los conceptos fundamentales de la Inteligencia Artificial para determinar cómo los agentes perciben su entorno y actúan de manera racional en pos de sus objetivos de diseño considerando diferentes ámbitos de aplicación y actuando con pensamiento crítico y creativo.

Utilizar y adoptar las técnicas y herramientas necesarias para el análisis, diseño y construcción de agentes autónomos para la resolución de problemas mediante búsqueda, representación de conocimiento y razonamiento considerando su aplicación en problemas de ingeniería utilizando lenguaje de alto nivel de programación y efectuando un análisis crítico de las distintas técnicas estudiadas.

Aplicar e Integrar algoritmos de aprendizaje basados en agentes inteligentes para la toma de decisiones en sistemas complejos considerando su aplicación en problemas de ingeniería utilizando lenguaje de alto nivel de programación.
VI - Contenidos
Unidad Temática Nº 1. Introducción a la Inteligencia Artificial
Qué es la Inteligencia Artificial. Comportamiento humano vs. racional. Test de Turing. El agente racional. Historia de la IA. Aprendizaje Automático.

Unidad Temática Nº 2. Agentes Inteligentes
Agentes y entornos. Racionalidad. Aprendizaje y autonomía. Entorno de tareas. Propiedades de los entornos. Arquitecturas de agentes. Tipos de Agentes. Representaciones.

Unidad Temática Nº 3. Resolución de problemas y búsqueda
Agentes de resolución de problemas. Arboles de búsqueda. Métodos de búsqueda no informada. Búsqueda Informada. Búsqueda local y optimización.

Unidad Temática Nº 4. Toma de decisiones
Agentes basados en utilidad. Funciones de utilidad. Problemas de decisión secuencial. El enfoque MDP. Algoritmos para resolución de MDPs. Programación Dinámica.

VII - Plan de Trabajos Prácticos
Resolución de problemas: Se entregarán guías de trabajos prácticos con ejercicios correspondientes a los temas desarrollados en las clases teóricas.

Los temas a desarrollar serán:

1- Agentes racionales. Desarrollo de ejercicios vinculados a aspectos básicos de la IA, agentes racionales, características de los ambientes y arquitecturas de agentes.
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 presentan problemas de satisfacción de restricciones y se analizan y utilizan los métodos más conocidos para su resolución.
3- Toma de decisiones. Se definen formalmente problemas de ingeniería en términos de “Procesos de Markov” (MDP). Se analiza y experimenta con distintas estrategias para hallar una política óptima en el contexto de los MDP.

Trabajo de laboratorio: Se realizarán trabajos de laboratorio relacionado a desarrollar algoritmos computacionales para la búsqueda de políticas en problemas complejos. Se deberá presentar un informe por cada laboratorio.

Los temas a desarrollar serán:

1- Algoritmos para resolución de problemas de búsqueda. Se desarrollarán y se evaluarán algoritmos en lenguaje Python para resolver un problema mediante estrategias de búsqueda.
2- Algoritmos para hallar políticas óptimas en MDPs. Se desarrollarán y se evaluarán algoritmos en lenguaje Python para encontrar la solución óptima a un problema mediante estrategias de Programación Dinámica.
VIII - Regimen de Aprobación
A - METODOLOGÍA DE DICTADO DEL CURSO:

Metodología de dictado y aprobación de la asignatura: Clases teóricas, prácticas y de laboratorio. Los contenidos teóricos y prácticos serán puestos a disposición de los estudiantes a través de la plataforma Google Classroom provista por la universidad.

B - CONDICIONES PARA REGULARIZAR EL CURSO

Asistencia al 80% de las clases teóricas.
Asistencia al 70% de las clases prácticas.
Asistencia al 80% de las clases de laboratorio.
Aprobación del 100% de los trabajos prácticos de aula.

C – RÉGIMEN DE APROBACIÓN CON EXÁMEN FINAL

El alumno será evaluado en un examen final oral sobre los temas teóricos que solicite el tribunal.

D – RÉGIMEN DE PROMOCIÓN SIN EXAMEN FINAL

Asistencia al 80% de las clases teóricas.
Asistencia al 70% de las clases prácticas.
Asistencia al 80% de las clases de laboratorio.
Aprobación del 100% de los trabajos prácticos de aula.
Aprobación de los informes de laboratorio con nota mayor a 7.

E – RÉGIMEN DE APROBACIÓN PARA ESTUDIANTES
IX - Bibliografía Básica
[1] “Artificial Intelligence: A Modern Approach”. S. Russell y P. Norvig. Prentice Hall, 3 ed., 2010. Tipo: libro. Formato: digital. Disponibilidad: disponible en el área.
[2] “Artificial Intelligence: Foundations of Computational Agents”. D. Poole y A. Mackworth. Cambridge University Press, 2
[3] ed.,2017. Tipo: libro. Formato: digital. Disponibilidad: disponible en el área.
X - Bibliografia Complementaria
[1] “Machine Learning”, Tom Mitchell, McGraw Hill, 1997. Tipo: libro. Formato: digital. Disponibilidad: disponible en el área.
[2] Alpaydin, E. Introduction to Machine Learning. MIT Press, 3 ed., 2014. Tipo: libro. Formato: digital. Disponibilidad: disponible en el área.
[3] “Reinforcement Learning: An Introduction”. Sutton R. S. and A. G. Barto, MIT Press, Cambridge MA, 2 ed.,2018. Tipo: libro. Formato: digital. Disponibilidad: disponible en el área.
XI - Resumen de Objetivos
Comprender los conceptos fundamentales de la Inteligencia Artificial.
Utilizar y adoptar las técnicas y herramientas necesarias para el análisis, diseño y construcción de agentes autónomos.
Aplicar e Integrar algoritmos de aprendizaje basados en agentes inteligentes.
XII - Resumen del Programa
Unidad Temática Nº 1. Introducción a la Inteligencia Artificial
Unidad Temática Nº 2. Agentes Inteligentes
Unidad Temática Nº 3. Resolución de problemas y búsqueda
Unidad Temática Nº 4. Toma de decisiones
XIII - Imprevistos
Para el caso de medidas de fuerza que alteren sustancialmente el dictado de la asignatura, se implementarán sistemas de autoestudio y consultas mediante la utilización de plataformas on-line.
XIV - Otros
Aprendizajes Previos:

Diseñar soluciones algorítmicas a problemas de complejidad media y alta para su aplicación en la resolución de métodos numéricos y en problemas que requieran desarrollo de software, cumpliendo con las buenas prácticas de programación.

Aplicar sentencias y bloques de programación para la codificación de algoritmos necesarios en los cursos posteriores y en su vida profesional, conociendo las reglas semánticas y sintácticas de lenguajes de programación determinados.

Detalles de horas de la Intensidad de la formación práctica.
Se deberán discriminar las horas totales con mayor detalle al explicitado en el cuadro inicial (Punto 3). La sumatoria de las horas deberá coincidir con el crédito horario total del curso explicitado en el campo “Cantidad de horas” del punto III.

Cantidad de horas de Teoría: 30hs
Cantidad de horas de Práctico Aula: 20hs
Cantidad de horas de Práctico de Aula con software específico: 10hs
Cantidad de horas de Formación Experimental: 30hs
Cantidad de horas de Resolución Problemas Ingeniería con utilización de software específico: 0hs
Cantidad de horas de Resolución Problemas Ingeniería sin utilización de software específico: 0hs
Cantidad de horas de Diseño o Proyecto de Ingeniería con utilización de software específico: 0hs
Cantidad de horas de Diseño o Proyecto de Ingeniería sin utilización de software específico: 0hs

Aportes del curso al perfil de egreso:

1.1. Identificar, formular y resolver problemas. (Nivel 3)
2.1. Utilizar y adoptar de manera efectiva las técnicas, instrumentos y herramientas de aplicación. (Nivel 2)
2.2. Contribuir a la generación de desarrollos tecnológicos y/o innovaciones tecnológicas. (Nivel 2)
2.4. Aplicar conocimientos de las ciencias básicas de la ingeniería y de las tecnologías básicas. (Nivel 3)
2.5. Planificar y realizar ensayos y/o experimentos y analizar e interpretar resultados. (Nivel 2)
3.3. Manejar el idioma inglés con suficiencia para la comunicación técnica. (Nivel 3)
3.5. Aprender en forma continua y autónoma. (Nivel 3)