Combining Agents, Answer Sets and Planning

Lecture course at
(July/August 2003, Sydney, Australia)



Lecturer: J. Dix


Overview      Lecture Notes s


  • Precise dates will be announced soon: please check back this homepage.
    Tentative Dates: 2 lectures each week on Thursday and Friday, 14-16 (starting the first week of July). No meetings the third week. Lectures start again the fourth week and conclude in the second week of August (10 lectures in total).
    First meeting: Thursday, 3rd July at 14pm.
Multi Agent Systems, Answer Set Programming and Planning
"Multi-Agent Sytems" is a still growing area which adresses the need to move from the development of massive programs containing millions of lines of code, to smaller, modular, pieces of code, where each module performs a well defined, focused task (rather than thousands of them). "Software agents" constitute the latest innovation in this trend towards splitting complex software systems into components.

Although there have been developed in the last years a huge variety of techniques and methods related to agents, a well-defined theoretical foundation unifying the different facets under one umbrella is still missing.

After giving a general introduction to agent systems (first two weeks), we introduce the paradigm of Answer Set Programming, which evolved out of deductive databases in the last 10 years and constitutes an important branch of knowledge representation and reasoning. It is independent of agent systems, but we try to show in the last week of the course how it can be used in the agent area. We then describe a particular agent system: IMPACT (Interactive Maryland Platform of Agents Collaborating Together). It is based on logic programming concepts, but does not rely on a Prolog implementation. Our main notion is that of an agent program (which resembles logic programs) under various semantics that are related to answer sets. In particular, we will give detailed and precise answers to the following important questions:
Q1: What is an agent?
Q2: If program P is not considered to be an agent, how can it be "agentised"?
Q3: What kind of software infrastructure is required for multiple agents to interact with one another?
  • In the first 4 lectures we are giving a general introduction to Multi-Agent Systems, mostly based on material in the book Multiagent Systems by Gerhard Weiss (MIT Press, 1999). We have 4 talks split in 3 chapters.
  • In the next 2 lectures we are giving a general introduction to Answer Set Programming, mainly based on the book Knowledge representation, reasoning and declarative problem solving with Answer sets by Chitta Baral (Cambridge University Press, 2003).
    We also show how planning with hierarchical task networks can be nicely captured in this framework and efficiently implemented using an underlying ASP engine. This is ongoing research (more updated information can be obtained from HTN Planning via ASP).
  • In the final 4 lectures we focus on the IMPACT approach, based on the book Heterogeneous Agent Systems by Subrahmanian/Bonatti/Dix/Eiter/Kraus/Ozcan/Ross, MIT Press, 2000. We are giving theoretical foundations as well as a demo of an implemented application (realising a planner in IMPACT).
    Finally, we use ASP planning as a debugging tool in agent systems: we monitor agents by comparing the message flow with an associated planning problem and detecting any deviations from the original plan.
    Here are some interesting links:
  • General Agent Systems: Agentlink Net
      • Answer Set Programming: ASP, Working Group on ASP
          Here is the current version of the slides.
                 Juergen Dix