Go to:
Esta página em português Ajuda Autenticar-se
Projecto da Casa da U. Porto
You are here: Start > EIC0033

Site map
Edifício A (Administração) Edifício B (Aulas) - Bloco I Edifício B (Aulas) - Bloco II Edifício B (Aulas) - Bloco III Edifício B (Aulas) - Bloco IV Edifício C (Biblioteca) Edifício D (CICA) Edifício E (Química) Edifício F (Minas e Metalurgia) Edifício F (Minas e Metalurgia) Edifício G (Civil) Edifício H (Civil) Edifício I (Electrotecnia) Edifício J (Electrotecnia) Edifício K (Pavilhão FCNAUP) Edifício L (Mecânica) Edifício M (Mecânica) Edifício N (Garagem) Edifício O (Cafetaria) Edifício P (Cantina) Edifício Q (Central de Gases) Edifício R (Laboratório de Engenharia do Ambiente) Edifício S (INESC) Edifício T (Torre do INEGI) Edifício U (Nave do INEGI) Edifício X (Associação de Estudantes)

Agents and Distributed Artificial Intelligence

Code: EIC0033     Acronym: AIAD

Classification Keyword
OFICIAL Artificial Intelligence

Instance: 2018/2019 - 1S Ícone do Moodle

Active? Yes
Responsible unit: Department of Informatics Engineering
Course/CS Responsible: Master in Informatics and Computing Engineering

Cycles of Study/Courses

Acronym No. of Students Study Plan Curricular Years Credits UCN Credits ECTS Contact hours Total Time
MIEIC 147 Syllabus since 2009/2010 4 - 6 56 162

Teaching Staff - Responsibilities

Teacher Responsibility
Carlos Manuel Milheiro de Oliveira Pinto Soares
Mais informaçõesLast updated on 2018-09-25.

Fields changed: Objectives, Bibliografia Complementar, Pre_requisitos, Métodos de ensino e atividades de aprendizagem, Fórmula de cálculo da classificação final, Provas e trabalhos especiais, Avaliação especial, Melhoria de classificação, Obtenção de frequência, Programa, Software de apoio à Unidade Curricular, Componentes de Avaliação e Ocupação, Palavras Chave, Bibliografia Obrigatória, Resultados de aprendizagem e competências

Teaching language

Suitable for English-speaking students


This course has an engineering bias and proposes a global perspective on the techniques associated with agent-based computing, exploring, on one hand, agent-based complex systems modeling and simulation, and the development of intelligent agents and multi-agent system applications.

Agent Oriented Programming and Software Engineering are presented as a new metaphor to describe and program distributed computational systems.

The ackwired knowledge is consolidated through the use of appropriate software tools, with which students are incentivized to work on the development of small projects. The main goal is that students are able to specify and implement complex, adaptive, distributed and decentralized systems using the multi-agent systems paradigm.

Learning outcomes and competences

At the end of the course, the student is expected to be able to:

  • Model complex systems through computational agents
  • Project distributed and decentralized systems following the multi-agent systems paradigm
  • Develop intelligent software agents, using different architectures
  • Evaluate the execution of an agent-based simulation or a distributed multi-agent system
  • Develop decision support models with data mining approaches, using appropriate methodologies, algorithms and evaluation methods
  • Develop multiagent systems with adaptability mechanisms based on data analysis

Working method


Pre-requirements (prior knowledge) and co-requirements (common knowledge)

Knowledge of Artificial Intelligence techniques and basic statistics concepts.


1. Agent-based computing

  • Motivation and goals
  • Agent-based simulation vs multi-agent systems
  • Tools for MAS development and agent-based simulation: JADE and Repast
2. Inteligent agents
  • Definitions
  • Agents and environments
  • Basic kinds of agent programs
  • Agent architectures. Deductive reasoning agents. Practical reasoning: BDI agents. Reactive agents: the subsumption architecture
  • Learning. Markov decision processes. Reinforcement learning. Q-learning.
3. Multi-agent systems
  • Definitions.
  • Communication. Speech acts. ACL. FIPA standards.
  • Interaction protocols. JADE.
  • Agent-Oriented Software Engineering

4. Multi-agent decision making

  • Game theory. Dominant strategies. Nash equilibria and Pareto-efficiency. Uncertainty. Imperfect information games.
  • Mechanism design. Auctions. Combinatorial auctions.
  • Negotiation. Negotiation protocols. Negotiation tactics. Negotiation for resource allocation. Pareto-optimal and individual rational deals. Monotonic concession protocol. Negotiation for resource allocation
5. Introduction to data mining (DM)
  • Methodologies of DM.
  • Classification: algorithms and evaluation.
  • Regression: algorithms and evaluation.
  • Data preparation
6. Trends in DM
  • Text mining
  • Social network analysis

Mandatory literature

Michael Wooldridge; An introduction to multiagent systems. ISBN: 978-0-470-51946-2
João Moreira, Andre Carvalho, Tomás Horvath; A General Introduction to Data Analytics, Wiley, 2018. ISBN: 978-1-119-29626-3

Complementary Bibliography

Shoham Yoav; Multiagent systems. ISBN: 978-0-521-89943-7
S. Russel and P. Norvig; 'Artificial Intelligence: A Modern Approach', Prentice Hall, 2003
João Gama, André Ponce de Leon Carvalho, Katti Faceii, Ana Carolina Lorena, Márcia Oliveira; Extração de Conhecimento de dados, Edições Sílabo, 2015. ISBN: 978-972-618-811-7
Aggarwal Charu C.; Data mining. ISBN: 978-3-319-14142-8

Teaching methods and learning activities

Oral presentation of the themes of the course in theoretical classes, with interaction with students. Tool experimentation and exploration in the practical classes.
Practical classes will be based on the supervision of assignments. Project-oriented learning.


RapidMiner Studio
Plataforma de Sistemas Multi-Agente JADE
Ambiente de Simulação REPAST


Physical sciences > Computer science > Cybernetics > Artificial intelligence
Physical sciences > Computer science > Computer architecture > Distributed computing
Technological sciences > Engineering > Simulation engineering

Evaluation Type

Distributed evaluation with final exam

Assessment Components

Designation Weight (%)
Exame 50,00
Trabalho laboratorial 50,00
Total: 100,00

Amount of time allocated to each course unit

Designation Time (hours)
Estudo autónomo 44,00
Frequência das aulas 52,00
Trabalho laboratorial 66,00
Total: 162,00

Eligibility for exams

Enrolled students are admitted to exam if they do not exceed the allowed number of non-attendance to lab classes (maximum 25% of non-attendance).

Calculation formula of final grade

Final Grade = 50% * Assignment + 50% * Exam
Assignment = 70% * part1 + 30% * part2

In order to obtain aproval in the course, the following minimum scores apply:
- Assignment: 7,0 values out of 20
- Exame: 7,0 values out of 20

Examinations or Special Assignments

Evaluation in special seasons consists of one practical Assignment and a written Exam, where each of these components weights 50% on the final grade. Aproval in the course demands for a minimum score of 7,0 values out of 20 in each of these components (practical Assignment and written Exam).

Special assessment (TE, DA, ...)

All assessment components are required to all students. Students enrolled using special frequency modes, without obligation to attend to the practical classes, must arrange with the teachers appropriate consultation and evaluation sessions.

Classification improvement

The improvement of classification can only be obtained in the next edition of the course.

Recommend this page Top
Copyright 1996-2019 © Faculdade de Engenharia da Universidade do Porto  I Terms and Conditions  I Accessibility  I Index A-Z  I Guest Book
Page generated on: 2019-03-19 at 18:00:03