ID2209 Distributed Artificial Intelligence and Intelligent Agents 7.5 credits

Distribuerad AI och Intelligenta Agenter

Please note

The information on this page is based on a course syllabus that is not yet valid.

This course introduces fundamental principles and techniques of Distributed Artificial Intelligence (DAI), as well as the usage of such techniques for creating applications in distributed computing environments. Central to the course are the concepts of "intelligent agents", as a paradigm for creating autonomous software components, and “multi-agent systems” as a way of providing coordination and communication between individual autonomous software components.

  • Education cycle

    Second cycle
  • Main field of study

  • Grading scale

    A, B, C, D, E, FX, F

Course offerings

Intended learning outcomes

The main goal of the course is to give students knowledge about basic methods and techniques of Distributed AI and agent technology which, in particular, can be applied to:

  • solving problems with decentralized control.
  • providing solutions to inherently distributed problems.
  • providing solutions to problems where expertise is distributed.

Students should learn from the course:

  1. What an agent and multi-agent system are. This means that students should get a good understanding of intelligent agent properties and how agents are distinct from other software paradigms.
  2. Have a good overview of important agent subjects:
    - Agent Coordination, Agent Negotiation, and Agent Communication. This means that students should learn basic principles, protocols and languages related to these agent issues.
    - Agent-Oriented Software Engineering. This means that students shoul learn methodologies related to developing agent-based systems and be able to apply them in biulding agent-based systems.
    - Micro (intra-Agent) and Macro (agent systems) agent architectures. This means that students should learn princilples of building architesctures for agents and multi-agent systems.
    - Agent Intelligence Mechanisms. This means that students should learn foundations of agent theory and get understanding of BDI-architecture.
  3. Get valuable hands-on experience in developing agent systems. This means that students should be apble to apply knowledge obtained during the course to design and implementation of an agent-based system.
  4. Understand ethical aspects and importance of sustainability in developing autonomous systems.
  5. Get experience in reporting and discussing results of the course homework and project both in oral and written forms.

The course also includes a seminar as a part of the Software Engineering of Distributed Systems master program. The intention of the seminar is to put the course into the context of the autonomous systems research in general and into the context of the master program in particular.

Course main content

Introduction and basic concepts of DAI. Coordination methods: general models, common coordination techniques, organizational structures, meta-level information exchange, multi-agent planning, explicit analysis and synchronization. Negotiation methods: principles, protocols, production sequencing as negotiation, conventions for automated negotiation. Interoperability: approaches to software interoperation, speech acts, KQML, FIPA. Multi-agent architectures: low-level architecture support, DAI testbeds, agent-oriented software engineering. Agent theory: basics of modal logic, BDI-architecture. Agent architectures: deliberative, reactive and hybrid architectures. Mobile agents: requirements, implementation, security for mobile agents, environments for mobile agents. Agent typology and technology issues. Applications.

Practical part of the course includes exercises and a project involving implementation of a multi-agent system.

Eligibility

  • Computer Science courses 30 hp
  • Operating Systems courses 7,5 hp
  • Computer Programming courses 7,5 hp
  • English "level B" (from Swedish Gymnasium) or similar

Recommended prerequisites

Knowledge of Java is desirable.

Literature

Textbook for the course:

M. J. Wooldridge.  An Introduction to Multi-Agent Systems, John Wiley & Sons, 2009, Second Edition.

Lecture notes

Recommended Reading (not in curriculum):

The following articles are recommended to obtain a deeper understanding of the subject. We have provided links to the articles wherever possible.

Introduction, Overview and Terminology

  • B. Moulin, B. Chaib-draa. An Overview of Distributed Artificial Intelligence. In: G. M. P. O'Hare, N. R. Jennings (eds). Foundations of Distributed Artificial Intelligence, John Wiley & Sons, 1996, pp. 3-56.
  • S. Franklin and A. Graesser. Is it an Agent, or just a Program?: A Taxonomy for Autonomous Agents. Proceedings of the Third International Workshop on Agent Theories, Architectures and Languages, Springer-Verlag, 1996, pp. 21-35.

Negotiation

  • J. Rosenschein and G. Zlotkin, Rules of Encounter, MIT Press, 1994, ISBN 9 780262 181594. (Chapters 1, 2 and 3).
  • R. Davis and R. G. Smith, Negotiation as a Metaphor for Distributed Problem Solving, (A. H. Bond and L. Gasser eds.) Readings in Distributed Artificial Intelligence, Morgan Kaufmann Publishers, 1988, p. 333-356.
  • H. J. Muller. Negotiation Principles. In: G. M. P. O'Hare, N. R. Jennings (eds). Foundations of Distributed Artificial Intelligence, John Wiley & Sons, 1996, pp. 211-230.

Coordination

  • E. H. Durfee, Distributed Problem Solving and Planning, in Multiagent Systems (G. Weiß ed.), MIT Press, Cambridge, MA., 1999, pp. 121-164.
  • N. R. Jennings. Coordination Techniques for Distributed Artificial Intelligence. In: G. M. P. O'Hare, N. R. Jennings (eds). Foundations of Distributed Artificial Intelligence, John Wiley & Sons, 1996, pp. 187-210.
  • H. Nwana, L. Lee, N. R. Jennings. Coordination in Software Agent Systems. The British Telecom Technical Journal, Vol. 14, No. 4, pp. 79-88.
  • K. S. Decker. Distributed Artificial Intelligence Testbeds. In: G. M. P. O'Hare, N. R. Jennings (eds). Foundations of Distributed Artificial Intelligence, John Wiley & Sons, 1996, pp. 119-138.

 Teamwork

  • Cohen, P. R. and Levesque, H. J., Teamwork, Nous, 25, 1991.
  • Tambe, M.,Towards

 Flexible Teamwork,  Journal of Artificial Intelligence Research, Volume 7, 1997, pp. 83-124.

  • G. Tidhar and A. Rao and E. Sonenberg, Guided Team Selection, In Proceedings of the 2nd International Conference on Multi-agent Systems (ICMAS-96). Kyoto, Japan, 1996.

Agent Communication

  • P. O`Brien, R. Nicol. FIPA - Towards a Standard for Software Agents. BT Technology Journal, Vol. 16, No. 3, pp. 51-59, 1998.
  • Y. Labrou, T. Finin and Y. Peng, Agent Communication Languages: The Current Landscape, IEEE Intelligent Systems, 1094-7167, 1999.

Mobile Agents

  • D. M. Chess, C. G. Harrison, A. Kershenbaum. Mobile Agents: Are they a good idea? Research Report, IBM Research Division, T.J.WatsonResearchCenter, 1995, 21 p.
  • White, J. E., Mobile Agents, in Bradshaw, J. (ed.), Software Agents, MIT Press, Cambridge, MA, 1997, p. 437-472.

Agents Overview

  • M. J. Wooldridge, N. R. Jennings. Intelligent Agents: Theory and Practice.Knowledge Engineering Review, 1995, 62 p.

Agent Theory

  • Anand S. Rao, Michael P. Georgeff, Modeling Rational Agents within a BDI-Architecture, Proceedings of the 2nd International Conference on Principles of Knowledge Representation and Reasoning (KR'91), 1991.

Agent-Oriented Software Engineering

  • M. Wooldridge, N. R. Jennings, and D. Kinny. The Gaia Methodology for Agent-Oriented Analysis and Design. In Journal of Autonomous Agents and Multi-Agent Systems. 3(3):285-312. 2000.
  • E. Kendall et al. The Layered Agent Pattern Language. Proceedings of the Conference on Pattern Languages of Programs (PLoP'97), 1997.
  • B. Bauer, J. P. Muller, and J. Odell. Agent UML: A Formalism for Specifying Multiagent Interaction. In Ciancarini and Wooldridge (Eds.) Proceedings of Agent-oriented Software Engineering, Springer Verlag, Berlin, 2001, pp. 91-103.
  • M. J. Wooldridge, N. R. Jennings. Software Engineering with Agents: Pitfalls and Pratfalls. IEEE Internet Computing, May/June, pp. 20-27, 1999.
  • A. Tveit. A Survey of Agent-Oriented Software Engineering. NTNU CSGSC, 2001.

Agent-Mediated Electronic Commerce

  • R. H. Guttman, A. G. Moukas, P. Maes. Agent-mediated Electronic Commerce: A Survey. 10 p.
  • R. H. Guttman, P. Maes. Cooperative vs. Competitive Multi-Agent Negotiation in Retail Electronic Commerce. Proceedings of the Second International Workshop on Cooperative Information Agents (CIA'98), Paris, France, July 3-8, 1998, 9 p.
  • J. Collins, S. Jamison, B. Mobasher, M. Gini. A Market Architecture for Multi-Agent Contracting. Technical Report 97-15, University of Minnesota, May 1997, 12 p

Additional articles in the curriculum may be added during the course

Examination

  • ANN1 - Assignment, 3.0, grading scale: P, F
  • TEN1 - Examination, 4.5, grading scale: A, B, C, D, E, FX, F

Written examination (TEN1 4.5 hp).

Offered by

EECS/Computational Science and Technology

Contact

Matskin, Mihhail

Examiner

Mihhail Matskin <misha@kth.se>

Add-on studies

Written examination (TEN1 3 p.)
Homework and project assignments (ANN1 2 p.)

Version

Course syllabus valid from: Spring 2019.
Examination information valid from: Spring 2019.