The goals of this course are two-fold: first, to provide students with a sufficient mathematical and computational background to analyze distributed intelligent systems through appropriate models, and second, to illustrate several coordination strategies and show how to concretely implement and optimize them. The course is a well-balanced mixture of theory and laboratory exercises using simulation and real hardware platforms. It involves the following topics: 1) introduction to key concepts such as self-organization and software and hardware tools used in the course, 2) examples of natural, artificial, and hybrid distributed intelligent systems, 3) machine-learning methods: single- and multi-agent techniques, and 4) coordination strategies and distributed control.
Teachers
Person in charge
Sergio Álvarez Napagao (
)
Others
Javier Vazquez Salceda (
)
Ramon Sangüesa Sole (
)
Ulises Cortés García (
)
Weekly hours
Theory
2
Problems
0
Laboratory
2
Guided learning
0
Autonomous learning
6
Competences
Transversal Competences
Teamwork
G5 [Avaluable] - To be capable to work as a team member, being just one more member or performing management tasks, with the finality of contributing to develop projects in a pragmatic way and with responsibility sense; to assume compromises taking into account the available resources.
G5.3
- To identify the roles, skills and weaknesses of the different members of the group. To propose improvements in the group structure. To interact with efficacy and professionalism. To negotiate and manage conflicts in the group. To recognize and give support or assume the leader role in the working group. To evaluate and present the results of the tasks of the group. To represent the group in negotiation involving other people. Capacity to collaborate in a multidisciplinary environment. To know and apply the techniques for promoting the creativity.
Technical Competences of each Specialization
Computer science specialization
CCO2 - To develop effectively and efficiently the adequate algorithms and software to solve complex computation problems.
CCO2.1
- To demonstrate knowledge about the fundamentals, paradigms and the own techniques of intelligent systems, and analyse, design and build computer systems, services and applications which use these techniques in any applicable field.
CCO2.2
- Capacity to acquire, obtain, formalize and represent human knowledge in a computable way to solve problems through a computer system in any applicable field, in particular in the fields related to computation, perception and operation in intelligent environments.
Objectives
To master the basic concepst of Artificial Intelligence
Related competences:
G7.1,
G9.1,
CCO2.1,
To master the concept of intelligent agent and its role in the development of Multi Agent Systems
Related competences:
CCO2.1,
To Master the specific logics for Artificial Intelligence and Multiagent systems
Related competences:
G9.1,
CCO2.1,
CCO2.2,
Subcompetences:
To master the BDI formalism
To master the temporal logics formalism
To manage the basic of concepts of Ontologies and their application to real-world problems
Related competences:
G7.1,
G9.1,
G5.3,
CCO2.1,
CCO2.2,
Subcompetences:
To master the description logics formalism
Understand and apply methods for developing ontologies
To master the ontology languages proposed by the W3C
To manage and apply development methologies of Multiagent systems
Related competences:
G7.1,
G9.1,
G5.3,
CCO2.1,
CCO2.2,
To manage interaction protocols for agents' communication
Related competences:
G7.1,
CCO2.1,
CCO2.2,
Be able to analyze communication needs for a Multiagent system and be able to implement a pertinent communication protocol
Related competences:
G7.1,
G9.1,
CCO2.1,
CCO2.2,
To understand the foundations of game theory and decision theory and their relation with Multiagent systems
Related competences:
G7.1,
G9.1,
CCO2.2,
To understand negotation mechanisms for Multiagent Systems
Related competences:
G7.1,
G9.1,
CCO2.1,
CCO2.2,
Be able to understand applications of MAS to robotics
Related competences:
G7.1,
CCO2.1,
Contents
Artificial Intelligence perspectives
Introduction to those real fields in which AI is or can be successfully applied.
An introduction to intelligent agents
What is an agent?
Agents as basic building blocks.
Agent types.
Agent-building architectures and methodologies.
Ontologies
What is an Ontology?
Methods for constructing Ontologies.
Description logics.
Ontological languages.
Logic systems for Artificial Intelligence
Reasoning for AI applications.
Modal logics.
Temporal logics.
Reasoning under uncertainty.
Communication
The need for communication between agents.
Speech Act Theory.
Languages for establishing communication between agents.
Coordination
Need for co-ordination in multi-agent systems.
Cooperation
Negotiation between intelligent agents.
Introduction to Physical Agents
Agents for the real world: robotics, domotics, machine vision, control
Activities
ActivityEvaluation act
Artficial Intelligence Perspectives
The student will learn about the origins and foundations of Artificial Intelligence as well as some of the areas of application. To enhance student's learning he should read and understand the material assigned by the teacher.
Theory: What is an agent?
The agent as a basic element of building systems.
Types of agents.
Architectures and methodologies for building agents
Laboratory: Introduction to the Laboratory. Theory session explaining how trends in software development lead to multi-agent systems. Contrast between the concept of object and the concept of agent. Introduction to agents and multi-agent systems (including, views, and small influences definitions).
Autonomous learning: Organization of course materials
Theory: What is an agent?
Agents as basic building blocks.
Agent types.
Agent-building architectures and methodologies.
Problems: Problems to consolidate the concepts of agent and type of environment. Identification of the type of environment and their properties and try to find the best agent for this type of environment.
Laboratory: Analysis of software design methodologies. Identification of problems presented and how these methodologies can be addressed. Introduction to design methodologies of agents, in contrast to traditional software design methodologies (object oriented).
Students not only should attend the lectures, but also do exercises on the use of Ontologies
techniques and discuss with the teacher and other students on when is best to use each technique. In the laboratory students will apply what they learned in a moderate problem.
Theory: What is an Ontology?
Methods for constructing Ontologies.
Description logics.
Ontological languages.
Problems: Session which resolves an issue robot explorers on Mars.
Laboratory: Introduction to ontologies. Explains the model of OWL ontology. It uses a sample ontology (PizzaOntology) to explain the basics: classes, object properties and property data.
Advanced concepts of ontologies. Explains how a reasoner working on an OWL ontology and how to infer classes specifying the properties that must be met by members belonging to the class. Explains the different options for data and object properties (functional, transitive, inverse ...) .
Ontology design methodologies. Introduction to Protégé tool for developing ontologies. Introduced the statement of the practice.
Theory: Reasoning for AI applications.
Modal logics.
BDI
Temporal logics.
Reasoning under uncertainty
Problems: Problems consolidate concepts of reasoning. It is used to demonstrate the problem box world performance of each type of reasoning, and planning is better than a random behavior, and re-consider how it can be counterproductive. We introduce the concepts and OverCommitment UnderCommitment.
Laboratory: Introduction to the Jade agent platform. Explanation of basic concepts about the platform, the services provided and how they develop players for the platform. Students develop their first JADE agent. The encoding and inject the agent platform.
The partial exam will be done during standard class hours. People who do not pass the partial will be evaluated again on the final exam. Objectives:23451 Week:
8 Type:
theory exam
Theory
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Communication
Students not only attend lectures, but also do exercises on the use of mechanisms for communication between autonomous agents and discuss with the teacher and other students when it is best to use each technique. In the laboratory the students apply what they learned in a problem.
Problems: Session where students presented a first sketch of the design of their ontologies. In this way, the teacher and classmates can make recommendations and constructive criticism to the design.
Laboratory: JADE.
Refreshed JADE concepts. Introduced in depth the use of platform services and methods to boot it and inject agents. Students do exercises on the concepts introduced under the supervision of the teacher. Introduction of the latest concepts on JADE. Passing parameters, behavior, protocols and message passing between agents. Students do exercises on the concepts introduced under the supervision of Professor
Theory: Need for co-ordination in multi-agent systems.
Cooperation
Negotiation between intelligent agents.
Laboratory: Introduction to the use of Jena to manipulate the knowledge base of ontological concepts. The teacher introduces an example using a JENA ontology example (PizzaOntology) and proposed minor changes to the students. The teacher supervises the execution of the amendment.
Delivery of the report on the practical works (3 or 4 four) made along the laboratory sessions. Objectives:567 Week:
15 (Outside class hours) Type:
assigment
Theory
0h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Final Exam
Final exam for all the course contents. Objectives:23456789101 Week:
15 (Outside class hours) Type:
theory exam
Theory
3h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
0h
Teaching methodology
The teaching methodology consists exposure theory classes in theory and application of concepts in classes and laboratory problems.
The examination will the same for all groups.
Evaluation methodology
Evaluation is based on a final exam and a part exam, grading of course assignments, and a grade for lab work. The final and part exams will test the theoretical knowledge and the methodology acquired by students during the course. The grade for course assignments will be based on submissions of small problems set during the course. Lab grades will be based on students" reports and lab practical work carried out throughout the course.
At about half of the 4-moth term there will be an exemptive exam, testing the first half of the course (exemptive only if the grade is 5 or more). The final exam will test both the first and the second part of the course. The first half is compulsory for those students who did not pass the part exam, and optional for the rest. The maximum of both grades (or only the one for the midterm exam) will stand as the grade for the first part.
The final grade will be calculated as follows:
GPar = part exam grade
GEx1 = 1st half of the final exam grade
GEx2 = 2nd half of the final exam grade
Total Exams grade = [max(Gpar, GEx1) + GEx2]/2
Final grade= Total Exams grade * 0.5 + Exercises grade * 0.2 + lab grade * 0.3 (code + inform)
Competences' Assessment
The assessment of the competence on teamwork is based on work done during the laboratory assignments.
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/
Previous capacities
Students must have taken the Artificial Intelligence course (or some similar course)