Hay dos objetivos principales en este curso: en primer lugar, proveer a los estudiantes los conocimientos matemáticos y computacionales suficientes para analizar sistemas distribuidos inteligentes mediante modelos adecuados, y en segundo lugar, ilustrar diversas estrategias de coordinación y mostrar cómo implementarlas y optimizar -las. El curso se estructura en una combinación de clases teóricas y ejercicios de laboratorio utilizando plataformas reales de hardware y de simulación.
Se tratan los siguientes temas:
1) introducción a los concepts claves como por ejemplo el concepto de auto-organización y las herramientas de software y hardware utilizados durante el curso,
2) ejemplos de sistemas inteligentes distribuidos naturales, artificiales e híbridos,
3 ) conceptos de aprendizaje automático: técnicas mono-y multi-agentes, y
4) estrategias de coordinación y control distribuido.
Profesorado
Responsable
Sergio Álvarez Napagao (
)
Otros
Javier Vazquez Salceda (
)
Ramon Sangüesa Sole (
)
Ulises Cortés García (
)
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
6
Competencias
Competencias Transversales
Trabajo en equipo
G5 [Avaluable] - Ser capaz de trabajar como miembro de un equipo, ya sea como un miembro más, o realizando tareas de dirección con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.
G5.3
- Identificar los papeles, habilitados y carencias de los diferentes miembros del grupo. Proponer mejoras en la estructura del grupo. Interactuar con eficacia y de forma profesional. Negociar y gestionar conflictos en el grupo. Reconocer y dar soporte o asumir el papel de líder en el grupo de trabajo. Evaluar y presentar los resultados del trabajo de grupo. Representar al grupo en negociaciones con terceros. Capacidad de colaborar en un entorno multidisciplinar. Conocer y saber aplicar las técnicas para promover la creatividad.
Competencias Técnicas de cada especialidad
Especialidad de computación
CCO2 - Desarrollar de forma efectiva y eficiente los algoritmos y el software apropiados para resolver problemas complejos de computación.
CCO2.1
- Demostrar conocimiento de los fundamentos, los paradigmas y las técnicas propias de los sistemas inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas que utilicen estas técnicas en cualquier ámbito de aplicación.
CCO2.2
- Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano de una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes.
Objetivos
Conocer los conceptos básicos de Inteligencia Artificial distribuida
Competencias relacionadas:
G7.1,
G9.1,
CCO2.1,
Conocer el concepto de agente inteligente y su papel en el desarrollo de sistemas inteligentes distribuidos
Competencias relacionadas:
CCO2.1,
Conocer las lógicas específicas para la inteligencia artificial y los sistemas multiagente
Competencias relacionadas:
G9.1,
CCO2.1,
CCO2.2,
Subcompetences:
Conocer el formalismo de lógica de creencias
Conocer el formalismo de las lógicas temporales
Conocer metodologías de desarrollo de ontologías y saber aplicarlas a un problema real
Competencias relacionadas:
G7.1,
G9.1,
G5.3,
CCO2.1,
CCO2.2,
Subcompetences:
Conocer el formalismo de las lógicas de descripción
Conocer y aplicar las metodologías de desarrollo de ontologías
Conocer los lenguajes de ontologias propuestos por el W3C
Conocer y aplicar metodologias de desarrollo de sistemas multiagente
Competencias relacionadas:
G7.1,
G9.1,
G5.3,
CCO2.1,
CCO2.2,
Conocer los protocolos de interacción entre agentes
Competencias relacionadas:
G7.1,
CCO2.1,
CCO2.2,
Saber analizar las necesidades de comunicación de un sistema multiagente y saber desarrollar un protocolo de comunicación
Competencias relacionadas:
G7.1,
G9.1,
CCO2.1,
CCO2.2,
Entender los elementos básicos de la teoría de juegos y teoría de la decisión y su relación con los sistemas multiagente
Competencias relacionadas:
G7.1,
G9.1,
CCO2.2,
Conocer los mecanismos de negociación y su papel en los sistemas multiagente
Competencias relacionadas:
G7.1,
G9.1,
CCO2.1,
CCO2.2,
Conocer las aplicaciones de los sistemas inteligentes en la robótica
Competencias relacionadas:
G7.1,
CCO2.1,
Contenidos
Perspectivas de la Intel.ligència Artifical
Introducción a aquellas áreas donde la Inteligencia Artificial es o puede ser aplicada con garantías de éxito.
Introducción a los agentes inteligentes
¿Qué es un agente?
El agente como elemento básico de construcción.
Tipologías de agentes.
Arquitecturas y metodologíasde construcción de agentes.
Ontologías
¿Qué es una Ontología?
Metodologías de construcción de ontologías.
Lógicas de descripción.
Lenguajes de Ontologías.
Lógicas para la Inteligencia Artificial
Razonamiento para aplicaciones de Inteligencia Artificial.
Lógicas modales.
Lógicas temporales.
Razonamiento con incertidumbre.
Comunicación
Necesidades de comunicación entre agentes.
Speech Act Theory.
Lenguajes de comunicación entre agentes.
Coordinación
Necesidad de coordinación en sistemas multiagentes.
Cooperación
Negociación entre agentes.
Introducción a los Agentes Físicos
Agentes para el mundo real: robótia, domotica , visión artificial, control
Actividades
ActividadActo evaluativo
Perspectivas de la Inteligencia Artficial
El alumno conocerá los orígenes y las bases de la Inteligencia Artificial así como algunas de las áreas de aplicación. Para reforzar el aprendizaje del alumno deberá leer y comprender el material asignado por el profesor.
Teoría: ¿Qué es un agente?
El agente como elemento básico de construcción de sistemas.
Tipologías de agentes.
Arquitecturas y metodologías de construcción de agentes
Laboratorio: Introducción al Laboratorio. Sesión teórica explicando cómo las tendencias en desarrollo de software llevan a sistemas multi-agente. Contraste entre el concepto de objeto y el concepto de agente. Introducción a los agentes y sistemas multi-agente (incluyendo, puntos de vista, influencias y pequeñas definiciones).
Aprendizaje autónomo: Organización de los materiales del curso
Teoría: ¿Qué es un agente?
El agente como elemento básico de construcción.
Tipologías de agentes.
Arquitecturas y metodologíasde construcción de agentes.
Problemas: Problemas para consolidar los conceptos de tipo de agente y de entorno. Identificación de los tipos de entorno y sus propiedades e intentar encontrar el mejor tipo de agente para este entorno.
Laboratorio: Análisis de metodologías de diseño de software. Identificación de los problemas que presentan estas metodologías y cómo se pueden abordar. Introducción a metodologías de diseño de agentes, y contraste con las metodologías de diseño de software tradicionales (orientadas a objetos).
Los estudiantes no sólo deben asistir a las lecciones , sino también hacer ejercicios sobre la utilización de las ontologías y discutir con el profesor y otros estudiantes cuando es mejor usar cada técnica. En el laboratorio los estudiantes aplicarán lo aprendido en un problema.
Teoría: ¿Qué es una Ontología?
Metodologías de construcción de ontologías.
Lógicas de descripción.
Lenguajes de Ontologías.
Problemas: Sesión donde se resuelve un problema sobre robots exploradores del planeta marte.
Laboratorio: Introducción a ontologías. Se explica el modelo de ontología OWL. Se utiliza una ontología de ejemplo (PizzaOntology) para explicar los conceptos básicos: Clases, propiedades de objeto y propiedades de datos.
Conceptos avanzados de ontologías. Explica cómo trabaja un razonador sobre una ontología OWL y cómo se pueden inferir clases especificando las propiedades que deben cumplir los miembros que pertenezcan a la clase. Se explican las diferentes opciones de las propiedades de objeto y de datos (funcional, transitiva, inversa ...).
Metodologías de diseño de ontologías. Introducción a la herramienta Protégé para desarrollo de ontologías. Introduce el enunciado de la práctica.
Teoría: Razonamiento para aplicaciones de Inteligencia Artificial.
Lógicas modales.
BDI
Lógicas temporales.
Razonamiento con incertidumbre.
Problemas: Protegè
Laboratorio: Introducción a la plataforma de agentes Jade. Explicación de conceptos básicos sobre la plataforma, los servicios que proporciona y la forma en que se desarrollan agentes para la plataforma. Los estudiantes desarrollan su primer agente JADE. El codifican y la inyectan en la plataforma de agentes.
El examen parcial se llevará a cabo durante las horas de clase estándar. Las personas que no aprueben el parcial será evaluada de nuevo en el examen final. Objetivos:23451 Semana:
8 Tipo:
examen de teoría
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Comunicación
Los estudiantes no sólo deben asistir a las lecciones, sino también hacer ejercicios sobre la utilización de los mecanismos de comunicación entre agentes y discutir con el profesor y otros estudiantes cuando es mejor utilizar cada técnica. En el laboratorio los estudiantes aplicarán lo aprendido en un problema.
Problemas: Sesión donde los estudiantes presentan un primer sketch del diseño de sus ontologías. De esta manera, el profesor y los compañeros de clase pueden aportar recomendaciones y criticas constructivas al diseño.
Laboratorio: JADE.
Se refrescan conceptos de JADE. Se introduce en profundidad el uso de servicios de la plataforma y métodos para arrancarla y inyectar agentes. Los alumnos realizan ejercicios sobre los conceptos introducidos con la supervisión del profesor. Introducción de los últimos conceptos sobre JADE. Paso de parámetros, Behaviour, protocolos y paso de mensajes entre los agentes. Los alumnos realizan ejercicios sobre los conceptos introducidos con la supervisión del profesor
Teoría: Necesidad de coordinación en sistemas multiagentes.
Cooperación
Negociación entre agentes.
Laboratorio: Introducción al uso de JENA para manipular la base de conocimiento de conceptos ontológicos. El profesor introduce un ejemplo sobre el uso de JENA en una ontología de ejemplo (PizzaOntology) y propone pequeñas modificaciones a los alumnos. El profesor supervisa la ejecución de la modificación
El lliurament de l'informe sobre els treballs pràctics (3 o 4 quatre) va fer al llarg de les sessions de laboratori. Objetivos:567 Semana:
15 (Fuera de horario lectivo) Tipo:
entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Examen Final
Examen final para todos los contenidos del curso. Objetivos:23456789101 Semana:
15 (Fuera de horario lectivo) Tipo:
examen de teoría
Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
0h
Metodología docente
La metodología docente consistirá en la exposición de la teoría en clases de teoría y la aplicación de los conceptos en las clases de problemas y laboratorio.
El examen será único para todos los grupos de la asignatura.
Método de evaluación
La evaluación consta de un examen final, un examen parcial, problemas hechos durante el curso y una nota de laboratorio. Los exámenes final y parcial estarán enfocados a evaluar los conocimientos teóricos y metodológicos de la asignatura. La nota de problemas se obtendrá mediante la entrega de pequeños problemas propuestos durante el curso. La nota de laboratorio se obtendrá de la evaluación de los informes realizados sobre un conjunto de prácticas de laboratorio que se desarrollarán a lo largo del curso.
A mediados del cuatrimestre habrá un examen parcial que liberará la primera parte del temario (en caso de obtener una nota mínima de 5). El examen final evaluará tanto la primera como la segunda parte del curso. La primera es obligatoria para los estudiantes que no superaron el examen parcial y optativa para los demás. Como nota de la primera parte se cogerá el máximo de las dos notas obtenidas o la única obtenida en el parcial, según sea el caso.
La nota final se calculará de la siguiente manera:
Npar = nota del examen parcial
NEx1 = Nota de la primera parte del examen final
NEx2 = Nota de la segunda parte del examen final
Nota de teoría = [max(Npar, NEx1) + NEx2]/2
Nota final= Nota de teoría * 0.5 + nota de los ejercicios prácticos * 0.2 + nota de laboratorio * 0.3 (código e informe)
Evaluación de competencias
L'avaluació de la competència en el treball en equip es basa en el treball realitzat durant els treballs de pràctiques.
Introduction to AI robotics -
Murphy, R.R, MIT Press ,
2019.
ISBN: 9780262348157
Web links
(Third edition) by Stuart Russell and Peter Norvig
The leading textbook in Artificial Intelligence.
Used in over 1200 universities in over 100 countries.
The 25th most cited publication on Citeseer (and 2nd most cited publication of this century). http://aima.cs.berkeley.edu/
Capacidades previas
Los alumnos deben haber cursado previamente la asignatura Inteligencia Artificial (o uno similiar)