Diseño de Sistemas Multiagentes

Usted está aquí

Créditos
4
Tipos
Optativa
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
CS
El objetivo principal del curso es el proveer a los estudiantes de guías metodológicas para el análisis, diseño y impelmentació de sistemas de software distribuido. El curso presenta diversos métodos, técnicas y tecnologías que ya se aplican en la construcción de sistemas distribuidos para hacerlos más flexibles, adaptables y reconfigurables.

La primera mitad del curso presenta un nuevo paradigma de diseño, la Ingeniería del Software Orientada a Agentes (AOSE), dónde el análisis y diseño delssistemes distribuidos utiliza conceptos de las sociedades y organizaciones humanas (actor, rol, responsabilidad, delegación de tareas) para modelar, de una forma flexible, las interacciones entre los componentes distribuidos del sistema y las formas de recuperarse de quiebras.

La segunda mitad del curs presentará diversos mecanismos sociales (Confianza & Reputación, Estructuras Sociales, Teoría de Organizaciones, Sistemas Normativos), inspirados en las sociedades humanas y animales, que se pueden impelmentar computacionalmente para gestionar el equilibrio entre la flexibilidad de cada componente y el control del sistema en su conjunto.

Profesorado

Responsable

  • Javier Vazquez Salceda ( )

Horas semanales

Teoría
2
Problemas
0.4
Laboratorio
0
Aprendizaje dirigido
0.6
Aprendizaje autónomo
4.33

Competencias

Competencias Técnicas Genéricas

Genéricas

  • CG3 - Capacidad para la modelización, cálculo, simulación, desarrollo e implantación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Inteligencia Artificial.

Competencias Técnicas de cada especialidad

Profesionales

  • CEP3 - Capacidad de aplicación de las técnicas de Inteligencia Artificial en entornos tecnológicos e industriales para la mejora de la calidad y la productividad.
  • CEP7 - Capacidad de respetar la normativa legal y la deontología en el ejercicio profesional.

Competencias Transversales

Trabajo en equipo

  • CT3 - Ser capaz de trabajar como miembro de un equipo interdisciplinar ya sea como un miembro mas, o realizando tareas de direccion con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.

Uso solvente de los recursos de información

  • CT4 - Gestionar la adquisicion, la estructuracion, el analisis y la visualizacion de datos e informacion en el ambito de la especialidad y valorar de forma critica los resultados de esta gestion.

Analisis y sintesis

  • CT7 - Capacidad de analisis y resolucion de problemas tecnicos complejos.

Básicas

  • CB6 - Que los estudiantes sepan aplicar los conocimientos adquiridos y su capacidad de resolución de problemas en entornos nuevos o poco conocidos dentro de contextos más amplios (o multidisciplinares) relacionados con su área de estudio.
  • CB8 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.
  • CB9 - Que los estudiantes posean las habilidades de aprendizaje que les permitan continuar estudiando de un modo que habrá de ser en gran medida autodirigido o autónomo.

Objetivos

  1. Conocer los orígenes y las bases de la computación distribuida en Internet
    Competencias relacionadas: CG3, CEP3,
  2. Conocer posibles aplicaciones de la Inteligencia Artificial para los sistemas distribuidos en Internet
    Competencias relacionadas: CG3, CEP3, CB6, CB9,
  3. Entender los conceptos básicos de Orientación a Agentes
    Competencias relacionadas: CT4, CT7, CB6,
  4. Analizar un problema de naturaleza distribuida e identificar los diferentes actores y sus funcionalidades
    Competencias relacionadas: CG3, CT4, CT7, CB6,
  5. Diseñar sistemas distribuidos aplicando una metodologia orientada a agentes
    Competencias relacionadas: CG3, CEP3, CT3, CT7, CB6, CB8,
  6. Extraer y representar el conocimiento necesario sobre el contexto para construir una aplicación distribuida en Internet que sea flexible y robusta.
    Competencias relacionadas: CG3, CEP7, CT3, CT4, CT7, CB6,
  7. Diseñar ontologias sobre un contexto aplicando adecuadamente una metodologia
    Competencias relacionadas: CG3, CT3, CT4, CT7, CB6, CB8,

Contenidos

  1. Introducció a la Orientación a Agentes
    Trends in modern (distributed) computing. Origins of Multiagent design. Agent Design and Society Design. Approaches to Agent-Oriented Design. Agent properties. Environment properties. Agent types and architectures.
  2. Diseño de agentes: razonamiento en los agentes
    Definition of Reasoning. Automated Reasoning. Reasoning Paradigms. Symbolic Reasoning Agents. Deductive Reasoning Agents. Agent-Oriented Programming. MetateM. Practical Reasoning. BDI Agents. BDI Agent Control Loop
  3. Metodologias Orientadas a Agentes
    Current trends in Software engineering. Agent-Oriented Software Engineering. Agent-Oriented Methodologies. The GAIA Methodology. The Prometheus Methodology
  4. Diseño social: coordinación y modelos sociales
    Coordination in MAS. Coordination Structures. Social Models for Coordination. Trust and Reputation Models. Organizational Models. Institutional Models.
  5. Aplicaciones del diseño orientado a agentes
    Agent-Oriented Design for 1) Electronic Negotiation Support, 2) Flexible Dynamic Web services, 3) Multi-robotic environments. Case studies for the practical assignments.

Actividades

Actividad Acto evaluativo


Introducción a la Orientación a Agentes.

El alumno conocerá los orígenes y las bases de la Orientación a Agentes así como algunas de las áreas de aplicación. Para reforzar el aprendizaje del alumno deberá leer el capítulo 1 del libro de Russel y Norvig (disponible on-line) y el libro "Agent Technology: Computing as interaction. A Roadmap to Agent Based Computing" (también disponible on-line).
Objetivos: 1 3
Contenidos:
Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
7h

Razonamiento en Agentes

El alumno no sólo deberá atender a las exposiciones del profesor, sino también participar en las discusiones con el profesor y sus compañeros sobre cuándo y como utilizar cada uno de los algoritmos. En el primer trabajo del curso tendrán que indentificar las características del tipo de razonamiento que soporta el entorno/lenguaje de programación de agentes escogido. Los alumnos presentarán en el aula las conclusiones de su trabajo de análisis delande de sus compañeros durante la entrega del primer trabajo del curso.
Objetivos: 3 5
Contenidos:
Teoría
6h
Problemas
0.8h
Laboratorio
0h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
14h

Metodologias Orientadas a Agentes

Students not only should attend the teacher lectures, but also participate in discussions with the teacher and other students on how to model distributed systems using the proposed methodologies. During the second assignment students should apply one of the methodologies to a real-like scenario to make an agent oriented design. During the presentation of the second assignment students will describe at the classroom their proposed design to the rest of the class.
Objetivos: 5 4
Contenidos:
Teoría
5h
Problemas
2h
Laboratorio
0h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
10h

Presentación del primer trabajo del curso. Análisis de un Entorno/Lenguaje orientado a agentes

This work will have two parts * A 30-45 min presentation (if possible with slides) in which students present their analysis on the agent-oriented framework they have chosen. The presentation should be understandable and didactic, and students should answer the questions made by others about their analysis. * a short written document which summarizes the important parts of the analysis made.
Objetivos: 1 3
Semana: 4
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
1h
Aprendizaje autónomo
0h

Coordinación i modelos sociales

Students not only should attend the teacher lectures, but also participate in discussions with the teacher and other students on the different social structures and abstractions presented and how to model more flexible distributed systems. During the second assignment students should apply one or some of the social structures to their design. During the presentation of the second assignment students will describe at the classroom the social abstrations they included into thier design to the rest of the class.
Objetivos: 5 4 6
Contenidos:
Teoría
6h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
8h

Aplicaciones del diseño orientado a agentes

Students not only should attend the teacher lectures, but also participate in discussions with the teacher and other students on the discussion bout the different application examples. Furthermore, during the second assignment students should propose a real-like scenario where agent-oriented solutions are appropriate and apply the abstractions, mechanisms and social structures seen in the course. During the presentation of the second assignment students will describe at the classroom the chosen real-like scenario and motivate the suitability of an agent-oriented solution for it.
Objetivos: 2 5 4 6 7
Contenidos:
Teoría
4h
Problemas
1h
Laboratorio
0h
Aprendizaje dirigido
0.7h
Aprendizaje autónomo
7h

Presentación del segundo trabajo del curso: Diseño de un sistema orientado a agentes

This work has two parts: * A 30-45 min presentation (if possible with slides) in which students explain the results of the programming exercise in a concise and dydactic way. At the end of the presentations the students should also properly answer the questions made by others about their work. * A demo of the prototype that has been built. * A written document which properly describes A) Description of the problem to solve; B) Design of a multiagent system using an Agent-oriented methodology seen during the course; C) Description of the prototype finally built; D) Analysis of the chosen agent language/platform
Objetivos: 2 5 4 6 7
Semana: 13
Tipo: entrega
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
2h
Aprendizaje autónomo
0h

Examen Final

Examen final sobre todos los contenidos del curso.
Objetivos: 1 3 5 4
Semana: 15 (Fuera de horario lectivo)
Tipo: examen final
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Metodología docente

Las clases están divididas en sesiones de teoría y problemas.

En las sesiones de teoría se desarrollarán los conocimientos de la asignatura, intercalando la exposición de nuevo material teórico con ejemplos y la interacción con los alumnos para discutir los conceptos.

Las clases de problemas permitirán profundizar en los conceptos, las técnicas y metodologías explicados en las sesiones de teoría. Se estimulará la participación del alumno a fin de comentar las alternativas possibles.

Aparte de las clases de teoria, se desarrollarán pequeñas prácticas utilizando herramientas y lenguajes propios de la Ingeniería del Software Orientada a Agentes que permitirán practicar y reforzar los conocimientos de las clases de teoría. Los alumnos presentarán los resultados de su trabajo a sus compañeros en sesiones dedicadas en el aula.

Método de evaluación

La evaluación constará de un examen final y las notas de los trabajos prácticos realizados.

El cálculo de la nota final se hará de la siguiente manera:

NPT = nota del primer trabajo
NST = nota del segundo trabajo
NF = nota del examen final

NOTA = NPT*0.3 + NST*0.5 + NF*0.2

Las competencias del curso se valorarán como parte de las notas de las actividades avaluatorias.

Bibliografía

Básica:

Complementaria:

Capacidades previas

Prior skills on Logics:
- Knowledge of the basic concepts: logical propositions and predicates
- Ability to formulate a problem in logical terms.
- Knowledge of logical inference and decision. Understanding resolution strategies.

Prior skills on Algorithmics and Programming:
- Knowledge on tree and graph structures,
- Knowledge pn tree and graph search algorithms.
- Basic notions in algorithmic complexity.

Prior Skills on Agent Programming adquired in the previous course "Introduction to Multi-Agent Systems"*:
- Knowledge of the basic concepts: agent, multiagent system, environment, perception, actuation.
- Knowledge of the basic coordination mechanisms.
- Knowledge of the agent communication mechanisms
- Basic notions on programming multiagent suystems composed by reactive agents.

*Those students which have not passed the previous course ("Introduction to Multi-Agent Systems") will receive some extra material in order to get the basic level needed for the proper understanding of this course.