Logo UAB
2023/2024

Inteligencia Artificial

Código: 104398 Créditos ECTS: 6
Titulación Tipo Curso Semestre
2503740 Matemática Computacional y Analítica de Datos OB 2 2

Contacto

Nombre:
Maria Isabel Vanrell Martorell
Correo electrónico:
maria.vanrell@uab.cat

Idiomas de los grupos

Puede consutarlo a través de este enlace. Para consultar el idioma necesitará introducir el CÓDIGO de la asignatura. Tenga en cuenta que la información es provisional hasta el 30 de noviembre del 2023.

Equipo docente

Pau Folch Codera

Prerrequisitos

Dada la naturaleza introductoria de esta asignatura, se asume que el alumando no tiene ningún conocimiento previo sobre el tema. Es por tanto responsabilidad de la asignatura dar al alumnado los medios para la adquisición de los conocimientos descritos en el apartado de contenidos de esta guía.

Sobre otros conocimientos que se esperan del alumnado son: 

  • Haber cursado un bachillerato científico o tecnológico.
  • Haber cursado la asignatura de de programación de 1º y 2º de esta carrera
  • Tener nociones básicas de programación en Python
  • Tener competencias a nivel de usuario de alguna de las siguientes plataformas: Windows, Mac o Linux.

 


Objetivos y contextualización

Esta asignatura tiene un carácter general e introductorio al campo de la inteligencia artificial (IA). Los objetivos principales que se persiguen son dos:

a)    familiarizar el alumnado en la resolución de problemas de IA con sus particularidades en la representación, la evaluación y la metodología especifica de resolución, y

b)    hacer que el alumnado conozca un amplio espectro de técnicas y algoritmos básicos que permitan solucionar los problemas planteados y mejorar sus habilidades de programación.

Más concretamente estos objetivos perseguirán:

  • Proporcionar una introducción histórica y de los objetivos del campo de la IA.
  • Introducir a los estudiantes al problema de la selección de una buena representación de conocimiento como eje principal para la resolución de los problemas de IA.  
  • Familiarizar a los estudiantes con 4 representaciones de conocimiento básicas y sus algoritmos correspondientes.
  • Dotar a los estudiantes con la capacidad de diseñar soluciones a problemas contextualizados.
  • Dotar a los estudiantes con la capacidad de representar y argumentar la adecuación de las soluciones diseñadas.

Competencias

  • Evaluar de manera crítica y con criterios de calidad el trabajo realizado.
  • Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
  • Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
  • Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  • Resolver problemas relacionados con el análisis de grandes volúmenes de datos a través del diseño de sistemas inteligentes y de aprendizaje computacional.
  • Trabajar cooperativamente en un contexto multidisciplinar asumiendo y respetando el rol de los diferentes miembros del equipo.
  • Utilizar eficazmente bibliografía y recursos electrónicos para obtener información.

Resultados de aprendizaje

  1. Conocer y entender las técnicas de representación del conocimiento humano.
  2. Definir y desarrollar esquemas de búsqueda óptimos para diferentes problemas a partir de la representación y clasificación del conocimiento.
  3. Evaluar de manera crítica y con criterios de calidad el trabajo realizado.
  4. Identificar y definir soluciones computacionales en múltiples dominios para la toma de decisiones basada en la exploración de alternativas, el razonamiento incierto y la planificación de tareas.
  5. Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
  6. Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
  7. Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
  8. Trabajar cooperativamente en un contexto multidisciplinar asumiendo y respetando el rol de los diferentes miembros del equipo.
  9. Utilizar eficazmente bibliografía y recursos electrónicos para obtener información.

Contenido

1. Introducción a la IA. Objetivos y breve historia del campo. Definición de agentes racionales, metodología de resolución de problemas y representación de conocimiento.

2. Resolución de problemas por exploración de alternativas

2.1. Búsqueda informada. Definiciones básicas de búsqueda y revisión de algoritmos de búsqueda no informada. Análisis de algoritmos de búsqueda: Completitud, Optimalidad y Complejidad. Concepto de heurística y ejemplos. Búsqueda Informada: básica y óptima. A* y sus propiedades. Concepto de factor de ramificación efectivo. Propiedades interesantes de las heurísticas.

2.2. Búsqueda con adversarios. (a) Búsqueda basada en Minimax. Definiciones básicas. Algoritmo del Minimax. Ejemplos. Poda alfa-beta. Análisis de complejidad. Modificaciones del Minimax: profundización progresiva, heurística de extensión singular (efecto Horizonte). Ejemplos de funciones heurísticas. (b)  Búsqueda basada en simulaciones aleatorias. Algoritmo Monte-Carlo Tree Search. Ejemplos. 

2.3. Búsqueda local. Definiciones básicas, pros y contras. Interpretación de la búsqueda local como la exploración de la función heurística. Búsqueda local con objetivo conocido: Algoritmo Hill-climbing. Problemas de la búsqueda local: máximos locales, mesetas y crestas. Búsqueda local con objetivo desconocido: Steepest Ascent, Steepest Ascent con control de máximos locales, Simulated Annealing

3. Resolución de problemas de reconocimiento de patrones.

3.1. Técnicas estadísticas. Espacios de características como representaciones para el razonamiento basado en casos. Definiciones básicas sobre espacios de características. Selección de características y reducción de la dimensión. Clasificación basada en aprendizaje supervisado: funciones de decisión, asunciones sobre la distribución de los datos, búsqueda local para encontrar las funciones de decisión. Clasificación basada en aprendizaje no supervisado: algoritmo k-means, búsqueda de la mejor k con el discriminante de Fisher. Análisis de los algoritmos.

3.2. Técnicas estructurales. Grafos y redes semánticas. Definiciones básicas y representación con matrices de adyacencia. El problema de la correspondencia de grafos, algoritmos básicos, mejoras y complejidad. Correspondencia de grafos inexacta: medidas de similitud, distancia de edición. Caso de estudio: String-matching.

4. Resolución de problemas de razonamiento

4.1. Lógica y mecanismos de inferencia. Representación del conocimiento: lógica proposicional y lógica de predicados. Revisión general de algoritmos básicos: deducción natural, mecanismo de la resolución, unificación y algoritmo de paso a forma clausal. Definiciones básicas sobre sistemas basados en reglas: base de reglas, memoria de trabajo, encadenamiento de reglas y estrategias de resolución de conflictos.

4.2. Razonamiento con incertidumbre. Representación de incertidumbre con conjuntos difusos. Encadenamiento de reglas con propagación de incertidumbre.  


Metodología

La inteligencia artificial se define por el tipo de problemas que se intentan solucionar. Por tanto será la tipología de problemas quien dirigirá la organización de los contenidos. Se harán tres tipos de sesiones:

Sesiones de teoríaSon sesiones esencialmente de tipo clase magistral en las que el profesorado explica los contenidos teóricos de la asignatura,  fomentando la participación que permita asegurar que el alumnado va entendiendo los conocimientos transmitidos.  

Sesiones de problemas: Son clases en grupos reducidos de alumnado para facilitar la interacción. En estas clases se persigue reforzar la comprensión de los temas planteados en las clases de teoría planteando casos prácticos que requieren el diseño de una solución en la que se usen los métodos vistos en las clases de teoría. Es imposible seguir estas clases de problemas si no se van siguiendo las clases de teoría. En las sesiones de problemas se realizan cuestionarios itneractivos que permiten evaluar la participación y los conocimientos adquiridos por los estudiantes. 

 Sesiones Prácticas: Son sesiones en las que se llevan a término diferentes tipos de actividades relacionadas con la ejecución en grupo de un proyecto contextualizado, se desarrollan 3 tipos de actividades: (a) sesiones de trabajo en equipo tutorizadas por el profesor, (b) sesiones para la resolución de cuestionarios para evaluar el conocimiento individual de los estudiantes sobre el código desarrollado, (c) sesiones de presentación de resultados, en las que todos los miembros del equipo de trabajo explican los resultados de su proyecto.

Las competencias transversales que se trabajan son:

  • La adquisición de hábitos de pensamiento, y en concreto el desarrollo del pensamiento sistémico.

Esta competencia se adquiere tanto a partir de los conocimientos teóricos, ya que todos los contenidos están basados en la construcción de sistemas inteligentes con módulos que interactúan, como desde el punto de vista de las prácticas en que el alumnado trabaja en equipo y experimenta la dependencia que se genera en su trabajo. Esta competencia es evaluada en los exámenes de teoría, en la evaluación de las entregas de problemas y en la evaluación del proyecto a todos los niveles.

  • La adquisición de hábitos de trabajo personal, y en concreto el trabajar de manera autónoma.  

Esta competencia se adquiere también con la capacidad de estudiar autónomamente todos los contenidos teóricos, con la entrega individual de los problemas y con la participación en la práctica. En los tres ámbitos el trabajo individual es evaluado, en teoría a través de los exámenes, en problemas a través de la corrección de los problemas entregados y en prácticas a partir del cuestionario individual, la participación del estudiante en la presentación conjunta de los resultados y la intra-evaluación que hacen los miembros del equipo entre ellos.

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.

 

Nota: se reservarán 15 minutos de una clase dentro del calendario establecido por el centro o por la titulación para que el alumnado rellene las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura o módulo.


Actividades

Título Horas ECTS Resultados de aprendizaje
Tipo: Dirigidas      
Clases teóricas 28 1,12 1, 2, 4, 5
Tipo: Supervisadas      
Clases de problemas 12 0,48 1, 2, 4, 7
Classes de prácticas 14 0,56 3, 6, 7, 8, 9
Tipo: Autónomas      
Estudio individual 10 0,4 1, 2, 4, 5, 7, 9
Trabajo práctico en proyecto 22 0,88 3, 1, 2, 4, 6, 7, 8, 9

Evaluación

Para evaluar el nivel de aprendizaje del alumnado se establece una fórmula que combina el aprendizaje de conocimientos, la capacidad de resolución de problemas y las capacidades de trabajar en equipo, así como de la presentación de los resultados obtenidos.  

La nota final se calcula ponderadamente de la siguiente manera y de acuerdo con las diferentes actividades que se llevan a término durante el curso:

     Nota final = 0.5 * Nota Teoría + 0.1 * Nota Problemas + 0.4 * Nota Prácticas

Se aplicará esta fórmula siempre que la nota de teoría sea superior o igual a 5, y la nota de prácticas sea superior o igual a 6. No hay ninguna restricción sobre la nota de problemas. Si el cálculo de la fórmula es superior o igual a 5, pero no llega al mínimo exigido en alguna de las actividades de evaluación, entonces la nota que se pondrá en el expediente es de 4,5.

La Nota de Teoría se calcula a partir del promedio de las notas de los dos exámenes parciales: 

    Nota Teoría = 0.5 * Nota Parcial 1 + 0.5 * Nota Parcial 2

para poder calcular esta nota, las notas de los dos Parciales deben ser superiores a 3.5. Cuando se publiquen las notas de los exámenes se anunciará fecha y hora de una sesión de revisión de examen.  

Examen de recuperación. En el caso que la nota de teoría no llegue al nivel adecuado para tener la nota final aprobada, el alumnado puede presentarse a un examen de recuperación.  Para calcular la nota final de un examen se considerará el valor máximo entre la primera nota y la correspondiente del examen de recuperación.

La nota de problemas tiene como objetivo provocar que el alumnado trabaje con los contenidos de la asignatura de manera continuada y a partir de pequeños problemas que hacen que se vaya familiarizando progresivamente del uso de las técnicas teóricas en situaciones concretas. Como evidencia de este trabajo se pide una entrega semanal de problemas y la participación activa del alumnado en las sesiones de problemas semanales:

     Nota Problemas = 0.7 * Evaluación Entregas + 0.15 * Asistencia Sesiones + 0.15 * Nota Cuestionarios-Sesiones

para poder calcular esta nota el % de entregas debe ser superior al 70%.

La nota de Prácticas tiene un peso esencial en la nota, y pretende que el alumnado implemente y explore las técnicas estudiadas dentro de un proyecto con un objetivo global y contextualizado. Además, el alumnado deberá demostrar sus habilidades para realizar todo este trabajo tanto individualmente como en equipo y presentando convincentemente los resultados. La nota se calcula de la siguiente manera:

     Nota Prácticas = 0.5 * Nota Proyecto 1 + 0.5 * Nota Proyecto 2

Para poder calcular esta nota, cada proyecto deberá tener una nota superior o igual a 6. La nota de cada proyecto se calcula a partir de un compendio de notas:

    Nota Proyecto 1 = 0.6 * Nota Código + 0.4 * Nota Examen

  • Nota Código: se evalúa mediante una serie de pruebas de test quese irán pasando con cada entrega. Estas evalúan la corrección y la eficiencia del código. 
  • Nota Examen: se evalúa en forma de un examen con acceso al propio código.

La nota de Código y de Examen deben ser superiores o iguales a 5.

     Nota Proyecto 2 = 0.4 * Nota Individual + 0.6 * Nota Grupo

  • Nota Individual = 0.7 * Examen + 0.1* Presentación Individual + 0.2 * Participación grupal
  • Nota Grupo = 0.6 * Nota Código + 0.3 * Informe + 0.1 * Presentación Grupal

La Nota de Examen del Proyecto 2, la Nota de Código y la Nota de Grupo deben ser superiores o iguales a 5.

Sesiones de recuperación. En caso de que la Nota de un Proyecto no llegue a una nivel adecuado para obtener la nota final de aprobado, el alumnado tendrá una opción de recuperación. En el caso de tener que recuperar la Nota Individual del Proyecto 2, esta recuperación se hará con un Cuestionario similar al del Proyecto 1. En el caso que alguna nota parcial de un proyecto se haya tenido que recuperar, entonces la nota final de ese proyecto será como máximo de 7.

Evaluación única

La evaluación única de la asignatura constará de les siguientes actividades de evaluación: 

  • Actividades para la evaluación de la Teoría: Se deben realizar 2 Exámenes Parciales que se recuperan por separado (50%, 25% cada uno, 2.5 horas).
  • Actividades para la evaluación de los Problemas: Se realizará la Entrega de 12 Enunciados de Problemas Resueltos (10%)
  • Actividades para la evaluación de las Prácticas: Se deben implementar 2 Proyectos que requerirán diferentes actividades para ser evaluados:
    1. Entrega Código del Proyecto 1 (12%)
    2. Examen del Proyecto 1 (8%)
    3. Entrega Código del Proyecto 2 (10%)
    4. Examen del Proyecto 2 (6%)
    5. Entrega Informe del Proyecto 2 (2%)
    6. Presentación Oral del Proyecto 2 (2%, 20min)

Para poder calcular la nota final se requiere que algunas notas de las actividades anteriores superen los siguientes umbrales: 

  • Exámenes parciales 1 y 2 superiores o iguales a 3.5.
  • Promedio de los exámenes parciales 1 y 2 debe ser superior o igual a 5.
  • Código del Proyecto 1 superior o igual a 6.
  • Examen del Proyecto 1 y Proyecto 2 superior o igual a 5.
  • Código, Informe y Presentación del Proyecto 2 deben ser superiores o iguales a 5. 

Tanto para la recuperación como para la revisión de la calificación final, se aplicará el mismo sistema que la evaluación continua. 

Notas Importantes:

En caso de que no se supere la asignatura debido a que alguna de las actividades de evaluación no llegue a la nota mínima requerida, la nota numérica del expediente será la mínima entre 4.5 y la media ponderada de las notas, con la excepción que la nota numérica del expediente será la mínima entre 3.0 y la media ponderada de las notas encaso que el alumnado haya cometido alguna irregularidad en un acto de evaluación, tal como las que se listan más abajo (y por tanto no será posible aprobar por compensación).

El alumnado tendrá la cualificación de No Evaluable en el caso que no haya participado en ninguna de las actividades de evaluación.

El alumnado tendrá una nota de Matrícula de Honor” si su número en el ranking global está por debajo del número de máximos de MH permitidas en el curso, y su nota final sea superior a un umbral que establecerá el profesorado en el momento que tenga todas las notas finales.

Las fechas de la evaluación continuada y la entrega de trabajos se publicarán en el Campus Virtual (cv.uab.cat), y pueden estar sometidas a cambios de programación por motivos de adaptación a posibles incidencias. Siempre se informará a través de cv.uab.cat sobre estos cambios, ya que se entiende que ésta es la plataforma habitual de intercambio de comunicaciones entre profesorado y alumnado.

En el caso de alumnado repetidor de la asignatura no se hará ninguna convalidación con una nota obtenida en un curso anterior.

Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las irregularidades cometidas por el alumnado que puedan conducir a una variaciónde las calificaciones, se calificarán con un cero (0). Las actividades calificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquiera de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla dentro del mismo curso. Estas irregularidades incluyen, entre otras: 

  • copia total o parcial de una práctica, informe, o cualquier otra actividad de evaluación;
  • dejar copiar;
  • uso no autorizado y/o no referenciado de la IA (p. ej, Copilot, ChatGPT o equivalentes) para la resolución de ejercicios, prácticas y/o cualquier otra actividad evaluable; 
  • presentar un trabajo en grupo no hecho íntegramente por los miembros del grupo;
  • presentar como propios materiales elaborados por un tercero, aunque sean traducciones o adaptaciones, y e general trabajos con elementos no originales y exclusivos del estudiante;
  • tener dispositivos de comunicación (como teléfonos móviles, Smart watches, etc.) accesibles durante las pruebas de evaluación teórico-prácticas individuales (exámenes).

En resumen: copiar, dejar copiar o plagiar en cualquiera de les actividades de evaluación equivale a un SUSPENSO con nota inferior o igual a 3.0.

 


Actividades de evaluación continuada

Título Peso Horas ECTS Resultados de aprendizaje
Defena del proyecto (Cuestionario+Memoria+Código+Intra_grupal+Presentación) 0.4 60 2,4 3, 2, 6, 7, 8, 9
Entrega de problemas resueltos 0.1 0 0 1, 2, 4, 5, 6, 7
Examen individual 0.5 4 0,16 1, 2, 4, 5, 6, 7

Bibliografía

  • S. Russell i P. Norvig, Artificial Intelligences - A modern approach. Prentice Hall, 2003, http://aima.cs.berkeley.edu/
  • Tveter, Donald R., (1998), The Pattern Recognition basis of Artificial Intelligence. IEEE Computer Society.
  • Stuart Russell. Human Compatible: AI and the Problem of Control Penguin Publishing Group, Octubre 2019
  • Melanie Mitchell. Artificial Intelligence: A Guide for Thinking Humans. Farrar, Straus and Giroux, Octubre 2019.

Vídeos interesantes:

  • Documental CODEBREAKER http://www.turingfilm.com/about/overview
  • Documental Netflix AlphaGo (2017) https://es.wikipedia.org/wiki/AlphaGo_(pel%C3%ADcula)

Software

Entorno de programación en Python con especial atención a la librería Numpy