Presented by Jordi Sabater-Mir
Research on optimization in multi-agent systems (MASs) has contributed with a wealth of techniques to solve many of the challenges arising in a wide range of multi-agent application domains. Multi-agent optimization focuses on casting MAS problems into optimization problems. The solving of those problems could possibly involve the active participation of the agents in a MAS. Research on multi-agent optimization has rapidly become a very technical, specialized field. Moreover, the contributions to the field in the literature are largely scattered. These two factors dramatically hinder access to a basic, general view of the foundations of the field. This tutorial is intended to ease such access by providing a gentle introduction to fundamental concepts and techniques on multi-agent optimization.
The tutorial will provide a general introduction to logics that support reasoning about some fundamental concepts for modelling autonomous agents and multi-agent systems. The first part of the tutorial is devoted to logics of action and time, while the second part is devoted to logics for reasoning about mental attitudes of agents including beliefs, knowledge, desires and preferences. If time permits, we will show how to combine the two families of logics to get a dynamic view of mental attitudes of agents.
- modal logic
- propositional dynamic logic
- epistemic logic
- BDI logics
- dynamic epistemic logic
Agent-based models are a promising area to deal with adaptive complex systems, which are characterized for a collective behavior that leads to emergent phenomena. Networks constitute a mathematical framework to study complex, emergent and self-organized environments, in which the relation among the participant entities plays a central role in the functioning of the community. The aim of this tutorial is to introduce the students in the area of complex networks. The tutorial will be divided in two parts. The first one will tackle the theoretical concepts regarding with the structure and the dynamics of the most known network models, scale-free and small-world phenomena. The second part is a practical one in which these models will be implemented using Netlogo.
- network models (random, growing network, preferential attachment)
- network characterization (path length, clustering, centrality, assortativity)
- network dynamics (search, diffusion, percolation, avalanches, synchronization)
- applications (cooperative games, markets, networks in biology, social dynamics)
NOTE: If you have no previous experience programming in Netlogo and want to do this tutorial, although it is not mandatory, it is recommended to do also the “MAS Prototyping Tool: First Steps with Netlogo” tutorial Wednesday morning.
The course will be comprised of two major parts. The first part will begin with game theory fundamentals and will proceed with some definitions of games, of equilibria and of solution concepts. A few specific solution concepts will be discussed in more detail (e.g., the core, Shapley values, the Kernel), and some corresponding algorithms that implement these solutions will be presented. In the second part of the course, focus will shift to mechanisms and in particular to auctions. The basic concepts of mechanisms will be presented. Then, several auction types will be discussed, including English and Dutch auctions, sealed bid and open cry auctions, first price and n-th price auctions, and others too. Auctioneer and bidder strategies will be examined. Some case studies from real auctions which discussed as well.
PART 1: Background and Solution Concepts
- Introduction and background concepts
- Cooperative games
- Revisit non-cooperative games (following T4)
- Solution concepts and coalitions:
- Protocols and strategies
- Stability and equilibria
- Solution concepts: Core, Shapley, others
PART 2: Auctions
- Action types, strategies and properties:
- English, Dutch
- First-price, n-th price
- Case studies and field results
- Concluding remarks
Formal argumentation theory has developed into a popular paradigm for shaping multi-agent systems, both for supporting an agent’s individual reasoning capabilities and for enabling various forms of inter-agent communication. In the current tutorial, we provide an overview of some of the key concepts in formal argumentation theory. On the highest level of abstraction, we describe the notion of an argumentation framework and show how it can be evaluated using argumentation semantics, both in its extensions and labellings form. Subsequently, we zoom in on the structure of the arguments: a defeasible derivation consisting of different types of inference rules. We then examine some of the properties that concrete argumentation formalisms aim to satisfy, as well as some of the techniques to bring this about. Two concrete argumentation formalisms (ASPIC+ and ABA) are examined in detail, with emphasis on both their strengths and weaknesses. We then turn our attention to algorithms and proof procedures, the perspective being global (determine all acceptable arguments and conclusions) and local (determine the acceptance status of an individual argument or conclusion). It is then examined how the dialectical proof procedures of the local perspective can be used as the basis for agent communication protocols, in which one agent aims to convince another agent of what to do or what to believe, using interactive discussion. Apart from the theory, we also show demonstrations of some of the current implementations of argument-based discussion protocols, and provide links to the source code, enabling participants to apply these in their own software developments.
- abstract argumentation
- argumentation semantics (extensions + labellings)
- rule-based argumentation
- rationality postulates
- ASPIC+ and ABA (assumption-based argumentation) algorithms and proof procedures
- argument-based agent communication protocols implementations
The tutorial will introduce Netlogo, a free and open source programmable modelling environment for simulating natural and social phenomena. This multi-agent extension of the LOGO language has proved to be useful in a wide range of educational and research domains, as an entry-level tool for modelling a variety of MAS, and it also has a wide extent into the current “social simulation” community. The session will focus on a hands-on approach to Netlogo environment so that each participant, at the end of the day, will be able to build, execute, validate and experiment with a small-scale virtual society of “intelligent” agents. Netlogo is not suitable for deploy and run large scale high-cognitive multi-agent systems, but seems efficient enough as a quick prototyping tool for experimenting with your own conceptual or formal models and get insightful ideas about the modelling and simulation process. The tutorial keeps a basic level -mostly, cellular automata, and reactive agents- just to provide an idea of the possibilities, and will offer references for further development.
- Introduction to social systems modeling with Netlogo:
- Agent-based modeling (ABM).
- Netlogo: download, install and first steps.
- Netlogo resources: Library of models, Dictionary, On-line resources.
- Design and structure of Netlogo models:
- Procedures, variables, blocks.
- End-user view of Netlogo simulation models.
- Basic coding with Netlogo:
- Graphic interface and GUI objects.
- Agents, Procedures, Variables and the basic command “ask”. ◦ Monitors and Reports.
- Advanced coding with Netlogo.
- Agentsets and Breeds.
- Conditional blocks and loops.
- Plots and other output tools.
- Expert coding with Netlogo.
- Working with Lists and Links.
- Input/Output data.
- Experimentation module: BehaviorSpace.
- Batch run of experiments.
- Exploring the space of parameters.
Multiagent Simulation forms an important application area of agent technology with a set of particular issues to be solved. Multiagent Simulation is not just studying systems consisting of autonomous actors in rich environments, but can also be used as a step in agent-based software engineering for testing agent-based software designs. This course will approach Multiagent Simulation from a computer science point of view. It introduces the basic concepts, categories of multi-agent models, respectively specialties in contrast to multiagent systems, as well as in relation to other forms of modeling and simulation. We will deal with principles and recurring pattern for model design and discuss methodologies for developing models of complex systems. More or less well-known example models will accompany the tutorial.
- What is multiagent simulation?
- Generative simulation and other basic concepts
- Related modeling and simulation paradigms: Cellular Automata, Object-oriented Simulation…
- Differences and shared features to multi agent systems
- A little bit of history
Principles and Pattern for Model Development
- Swarms, Flocks, Schools, Formations
- From random walk processes to food web models
- From agent interaction to emergent organization
- More on feedback loops
- Networks as environmental models
- Robustness and Heterogeneity
- What is done in standard simulation?
- Methodologies inspired by AOSE and beyond
- Modeling individual agents
- Qualitative Guidance
- Technicalities from simulation platforms to update regimes
Examples from different domains Current Developments and Trends
- Multilevel Simulation
- Learning Agents for Simulation
- Augmenting virtual reality
When designing Multi-Agent Systems (MAS), agent interaction constitute one of the angular stones in the system. It has to be defined in such a way that agent behaviour is restricted enough so that the system meets the design requirements and yet it should be flexible enough to guarantee agents’ autonomy. Norms (together with related concepts such as laws, social conventions and rules) have proven to be an agent coordination mechanism that meets these design requirements.
The research area of Normative Multi-Agent Systems studies how to endow MAS with norms. It encompasses a wide range of research approaches that go from theoretical formalisations to operational specifications down to domain specific implementations. Nevertheless, inherent MAS dynamics can become rather complex, and thus, defining norms may not be a straightforward task. Typically, the norm synthesis problem has been tackled both off-line and on-line (i.e., along system’s execution). In this tutorial we will briefly introduce Normative Multi-Agent systems. We will then present different on-line norm mechanisms from the literature such as norm emergence, norm agreement, norm detection or norm signalling. And then we will focus in norm synthesis. Students will be able to see in detail an on-line automatic norm synthesis process and its application to two different domain scenarios. This work follows an agent based simulation approach and its code is publicly available. Thus, those students that preinstall it will be able to follow a hands-on activity.
The tutorial will be divided in four main modules:
- Module 1: Introduction and Motivation. MAS Design considerations. Norms, laws, social conventions and rules as agent coordination mechanisms.
- Module 2: State of the art. Formal off-line approaches to norm synthesis. On-line approaches: norm emergence, norm agreement, norm detection or norm signaling.
- Module 3: On-line automatic norm synthesis. Description of some cutting edge research works and their comparison.
- Module 4: Demo and hands-on activity. Agent Based Simulation. Guided demo of the presented on-line automatic norm synthesis process. Optional code execution on the Repast platform.
Multi-agent technologies are being used in many real-world applications and their number is steadily increasing; examples of such domains are smart grids, transportation systems, as well as search and rescue tasks. On one hand, this requires to develop appropriate formal foundations of multi-agent systems, and on the other hand, to tailor existing theories to become (computationally) applicable and understandable to non-experts that are primarily interested in using multi-agent technologies and to a lesser extent in the underlying theories. In particular, this holds for theories concerned with key characteristics of agents: decision making and cooperation. That is, agents’ ability to take decisions in an autonomous (and often intelligent) manner and to possibly cooperate with others. Agents need to decide which action to execute, which plans to follow, with whom to cooperate, and which goals to pursue. Often, in order to take good decisions the behaviour of other agents has to be taken into account.
Multi-agent decision making (MADM) is complex and has many facets. Game theory is among the -if not the most- prominent tool to model and to analyse decision making in multi-agent systems. It is a mathematical tool to analyse the interactions between rational players, as such it is an idealised abstraction of how decision making in many existing multi-agent applications takes place. In many applications agents need to communicate and coordinate with others and with humans. Therefore, concrete methods are needed which allow agents to work together, to reason strategically, and to make agreements.
In this tutorial we discuss multi-agent decision making from a theoretical and from a more practical perspective. First, we briefly introduce game theory as a basic tool to analyse multi-agent decision making and to predict agents’ behaviour. We discuss cooperative as well as competitive settings and touch upon formal tools to reason about abilities of agents. Then, we emphasize on the need to coordinate decisions and behaviours, in particular, in the setting of human agent teamwork. In many real world problems decision making is not a one-shot process, as is the case in normal form games, but an interactive process; therefore, we discuss a selection of mechanisms that allow agents to reach agreements interactively and which can be used in applications. Finally, we also explain how decisions of autonomous agents can be controlled and influenced.
- classical decision making and multi agent decision making
- brief introduction to game theory
- reasoning about cooperation (strategic logics)
- human-agent teamwork
- communication and coordination
- reaching agreements interactively: negotiation mechanisms
- controlling and influencing decisions (e.g. normative systems)
With the significant advances in the area of autonomous agents and multi-agent systems in the last few years, promising technologies have emerged as a sensible alternative for the development and engineering of multi-agent systems. The result is a variety of programming languages, execution platforms, and tools that facilitate the development and engineering of multi-agent systems. This course aims at introducing novices, researchers, and developers, who already have a basic understanding of multi-agent systems, an overview of the programming languages, techniques, and tools that are currently available to support the effective implementation of multi-agent systems. In this course participants will also learn and practice some basic skills in developing multi-agent systems. Compared to our previous tutorials at previous editions of EASSS, we have updated content and included several recent enhancements, and new lab exercises.
This tutorial will present and discuss various issues in building multi-agent systems focusing on the aim and characteristics of various agent-oriented programming languages and how multi-agent applications can be implemented using these programming languages.
The programme of this tutorial will include the following topics:
- a brief presentation of agent-oriented software engineering
- an overview of the research agenda in programming languages for multi-agent systems
- description and discussion of some well-known agent languages such as 2APL, 2OPL, Jason, Goal, Jadex, Jade, and Jack
- multi-agent environments
- some typical agent-based applications
- development tools for agents
- testing agents and MAS
In addition, a hands-on approach will be used to allow participants exercise basic skills to implement a multi-agent system by means of a well-structured exercise. For this purpose, we will present and explain one agent-oriented programming language in sufficient detail to complete a programming exercise.