**IAIC 2026-27** Inteligencia Artificial - Ing. de Computadores $\mathbf{26/27}$ Dpto. Ciencias de la Computación e Inteligencia Artificial - Universidad de Sevilla [Enlace a la página del Curso $\mathbf{25/26}$](https://www.cs.us.es/cursos/iaic-2025/)
!!!ejemplo: 🄋 Introducción 0. [Presentación](.\Temas\Introduccion_a_la_IA\) 1. [Historia de la IA](.\Temas\Historia_de_la_IA\) !!!ejemplo: ➀ Representación, Búsqueda y Optimización 1. [Lógica](.\Temas\Logica\) 3. [Satisfacción de Restricciones](.\Temas\Satisfaccion_de_Restricciones\) 4. [Espacios de Estados](.\Temas\Espacios_de_Estados\) 6. [Búsqueda por Optimización](.\Temas\Optimizacion\) $\quad$ !!!ejemplo: ➁ Machine Learning 1. [Fundamentos Teóricos](.\Temas\Fundamentos_de_ML\) 1. [Modelos Básicos](.\Temas\Modelos_Basicos\) 1. [Árboles de Decisión](.\Temas\Arboles_de_Decision\) 8. Redes Neuronales Artificiales 1. [RN Feed-Forward](.\Temas\Redes_Neuronales\) 1. [RN Convolucionales](.\Temas\Redes_Neuronales/redes2.html) 2. [RN Generativas](.\Temas\Redes_Neuronales/redes3.html) !!!ejemplo: ⌨ Recursos * [Ejercicios Propuestos](.\Compl\Ejercicios) * [Códigos y Ejemplos](.\Practicas\)
!!!alg: ♾ Lecturas complementarias 1. [IA: Una Ciencia empírica](https://www.cs.us.es/~fsancho/Blog/posts/IA_una_ciencia_empirica.md.html) 1. [Introducción a la Lógica Difusa](https://www.cs.us.es/~fsancho/Blog/posts/Introduccion_logica_Difusa.md.html) 1. [Planificación](https://www.cs.us.es/~fsancho/Blog/posts/Planificacion/) 1. [Adversarios e Incertidumbre](.\Temas\Incertidumbre\) 1. [Algoritmos Genéticos](https://www.cs.us.es/~fsancho/Blog/posts/Algoritmos_Geneticos.md.html) 1. [Flujo de Trabajo en ML](./Compl/Flujo_ML/) 1. [Mapas Auto-organizados](https://www.cs.us.es/~fsancho/Blog/posts/SOM.md.html) 1. [Videos de Redes Neuronales](https://www.youtube.com/playlist?list=PLIb_io8a5NB0CP5ktJE9qaLd6GOfh1Z9m) 1. [Modelos Fundacionales](https://www.cs.us.es/~fsancho/Blog/posts/Modelos_Fundacionales/) 1. [Diferenciación Automática](https://www.cs.us.es/~fsancho/Blog/posts/Diferenciacion_Automatica/)
El objetivo principal del curso es **introducir al estudiante en técnicas avanzadas de Inteligencia Artificial** (**IA**). Se hará un recorrido por diversas técnicas con el fin de que el alumno sea capaz de explicarlas, analizarlas e implementarlas en sus proyectos futuros (profesionales o académicos). Por encima de estas técnicas individuales, se espera que el alumno adquiera una visión en conjunto de qué es la IA, cuáles son sus principales características, y porqué es de facto una de las áreas fundamentales de la Computación y, en general, de la Ciencia e Ingeniería del S. XXI. Tras haber realizado este curso con aprovechamiento, se espera que el estudiante sea capaz de: * **Describir y reconocer** un buen número de las principales técnicas de IA, tanto en términos generales como en detalle. * **Representar formalmente** un problema para aplicar técnicas de IA. * **Conocer los fundamentos matemáticos** que están detrás de las técnicas de IA. * **Aplicar técnicas** concretas de IA a problemas concretos. * **Combinar** diferentes técnicas de IA. * **Comparar y evaluar** la idoneidad de diversas técnicas de IA. * **Reconocer las dificultades** generales y los errores más habituales en el uso de la IA. * **Explorar la literatura** relevante de proyectos específicos de IA de manera independiente. * **Implementar** técnicas no triviales de IA. * **Definir y ejecutar experimentos** con distintas implementaciones. * **Escribir informes científico-técnicos** sobre sistemas de IA, reflejando tanto sus implementaciones como las teorías subyacentes.
| | $\textbf{Grupo }\mathbf{1}$ | $\textbf{Grupo }\mathbf{2}$ | |---------------|:---------------------------------------------------------:|:-----------------------------------------------------:| |**Profesor** | [Fernando Sancho Caparrini](http://www.cs.us.es/~fsancho) | [Pedro Almagro Blanco](http://www.cs.us.es/~palmagro) | |**Contacto** | fsancho@us.es ($\text{H}1.48$) | palmagro@us.es ($\text{H}1.44$) | |**Aula** | $\text{H}1.10$ | $\text{H}1.10$ | |**Horario** | (Lunes)$\ \,\quad$ $12\text{:}40$ - $14\text{:}30$
(Miércoles) $08\text{:}30$ - $10\text{:}20$ | (Lunes)$\ \,\quad$ $08\text{:}30$ - $10\text{:}20$
(Miércoles) $10\text{:}40$ - $12\text{:}30$ | |**Calendario** | $7$ sep a $18$ dic ($2026$) | $7$ sep a $18$ dic ($2026$) | !!!warn:Importante Los alumnos de cada grupo podrán asistir **exclusivamente** a las clases de su grupo asignado, tanto en las clases teóricas como en las prácticas y en los exámenes. Los conflictos de horario deben resolverse con la secretaría de la [E.T.S. de Ingeniería Informática](https://www.informatica.us.es/index.php/secretaria).
La asignatura combina una aproximación teórica con un marcado carácter práctico, intentando motivar el descubrimiento. Para ello, a pesar de las limitaciones del sistema educativo español (como el tamaño de los grupos, o la mala distribución de la carga de trabajo de las asignaturas), nuestros objetivos imponen algunos condicionantes que deben ser reconocidos, y asumidos, por parte de todos: 1. Todo el **contenido está disponible de forma abierta** para que el alumno lo pueda revisar antes de las sesiones presenciales (pero puede sufrir ligeras modificaciones durante la ejecución del curso). 1. El alumno ha de **prever y planificar** adecuadamente el esfuerzo a realizar en el curso para llevar un ritmo constante pero sin sobresaltos (es un área que lleva muy mal los esfuerzos puntuales y recompensa el trabajo continuo). 2. El contenido se articula alrededor de una serie de sesiones (teórico-prácticas) que marcan un ritmo continuo y común al conjunto de la clase: * **Breve resumen del contenido teórico** (los detalles están disponibles). * **Planteamiento y resolución de problemas** que ayuden a aclarar los conceptos fundamentales. * **Análisis de ejemplos resueltos** en código y/o en la pizarra. 4. Siguiendo el sistema de créditos ECTS, las sesiones tendrán un desarrollo combinado de trabajo dentro del aula (explicaciones y trabajo grupal) y fuera de ella (trabajo personal).
El curso está programado para el **Primer Cuatrimestre del curso 3º del Grado de Ingeniería Informática - Ingeniería de Computadores** y, por tanto, hace uso de los conocimientos que los alumnos han debido adquirir en asignaturas de cursos anteriores, entre las que se incluyen: Álgebra Lineal y Numérica, Cálculo Infinitesimal y Numérico, Estadística, Matemática Discreta, Análisis y Diseño de Datos y Algoritmos, y Fundamentos de Programación (es importante destacar el amplio contenido matemático en el que se basa). Aunque muchos de los conceptos necesarios de estas otras asignaturas pueden ser superficialmente recordados durante las clases, el objetivo no es explicarlos de nuevo, sino destacar su importancia para la IA y contextualizarlos para su correcta aplicación. En consecuencia, es responsabilidad del alumno realizar un repaso previo de estos contenidos. Muy especialmente, **no es responsabilidad de esta asignatura enseñar a programar en ningún lenguaje de programación** (aunque se hará énfasis en las particularidades del sistema que usamos), las habilidades necesarias se han debido adquirir en cursos anteriores, independientemente de si el lenguaje de programación coincide o no con el usado aquí.
Junto al contenido teórico, veremos implementaciones completas e independientes de las estructuras y métodos analizados. Se ha buscado un lenguaje de alto nivel, de orientación científica y con una sintaxis clara: **Julia**. !!!ejemplo: Julia y la Programación Científica [**Julia**](https://julialang.org/) es un lenguaje de programación **homoicónico** (sus programas son datos en un tipo primitivo del lenguaje), **multiplataforma**, **multiparadigma** (funcional, imperativo, declarativo, etc.), de **tipado dinámico** (aunque admite tipado estático), de **alto nivel** y alto desempeño para la **computación genérica, técnica y científica**, con una sintaxis estándar. !!!ejemplo Dispone de un excelente compilador en modo **JIT** (Just in Time), mecanismos para la ejecución paralela y distribuida, una extensa biblioteca de funciones matemáticas (desarrollada fundamentalmente en Julia, pero también contiene código desarrollado en C o Fortran), una comunidad abierta de desarrolladores, y un magnífico [gestor de paquetes](https://juliapackages.com/) integrado. Además, hay muchos entornos de programación ([VSCode](https://code.visualstudio.com/), [Atom](https://atom.io/), etc.) con extensiones específicas para facilitar el trabajo con Julia, así como sistemas de notebooks que permiten usar Julia como lenguaje de desarrollo ([Jupyter/JupyterLab](https://jupyter.org/), y [Pluto](https://www.juliapackages.com/p/pluto)) o entornos interactivos como [IJulia](https://juliapackages.com/p/ijulia).
!!!alg: Algunos recursos para Julia ![](img/logo.svg align="right" width="250px") * [Instalación y Ecosistema de Julia: `juliaup`](Practicas\installJulia.md.html) * [Paquetes y Entornos de Julia](Practicas\PkgEnv.md.html) * [Manual Rápido de Programación](Practicas\Julia.md.html) * [Manual de Julia Plots](Practicas\Plots.md.html) * [Colección: Beautiful Algorithms](https://github.com/mossr/BeautifulAlgorithms.jl)
Hay dos vías para superar la asignatura:
!!!ejemplo:Evaluación Continua La **Evaluación Continua** del curso está regida por las siguientes condiciones: 1. El contenido se divide en dos bloques evaluables: $0\leq E_1, E_2\leq 10$. 1. La calificación de la Evaluación Continua será: $E=\frac{1}{2}(E_1+ E_2)$ si cada $E_i\geq 3$. La pruebas de ambos bloques se harán en horario lectivo, la primera tras haber completado su contenido (en fecha que será comunicada con suficiente antelación), y la segunda en la última sesión lectiva del cuatrimestre. $\quad$ !!!ejemplo:Convocatorias Oficiales Las **Convocatorias Oficiales** (noviembre, enero y julio) son independientes, y la prueba se realizará en la [fecha oficial publicada](https://www.informatica.us.es/index.php/calendario-de-examenes) por la E.T.S. Ingeniería Informática. A las convocatorias oficiales solo podrán presentarse los alumnos que no hayan superado la Evaluación Continua del curso correspondiente. Excepcionalmente, a la convocatoria de enero podrán presentarse alumnos que, habiendo superado la Evaluación Continua, quieran subir nota (previo visto bueno del profesor).
!!!warn:Importante En la **Evaluación Continua**, cualquier alumno que realice el examen en un grupo que no es el suyo será considerado como **no presentado**.