Synthetic program: Aims and learning outcomes
Computer systems are increasingly distributed and interconnected. This trend naturally leads to the development of systems composed of autonomous decision-making entities, called autonomous agents, that interact with each other in complex environments. Agent-based systems are an abstraction of specific computing systems deployed in several applications, including electronic commerce, control of industrial processes, logistics, ambient intelligence, web services, robotics, space systems, and modeling of complex systems.
This course aims at presenting general techniques for developing multiagent systems, independently of the applicative domains. In particular, the course will present methods for developing single agents, able to make rational decisions in situations affected by uncertainty, and for developing systems composed of multiple agents, with special emphasis on the interaction mechanisms between the agents. Moreover, some real-world applications of agent systems will be discussed. At the end of the course, students will acquire the ability to design and develop distributed systems based on the agent paradigm.
Syllabus
1. Introduction to the concepts of autonomous agents and of multiagent systems.
2. Autonomous agents as rational decision makers: architecture for intelligent agents, Markov decision processes.
3. Interactions between self-interested agents: short introduction to game theory, negotiations, voting mechanisms, auctions, coalition formation.
4. Interactions between cooperative agents: decision-theoretic multiagent planning, distributed constraint optimization.
5. Multiagent learning: multiagent Markov decision processes and stochastic games, evolutionary game theory.
6. Examples of real-world applications of agent-based systems.