Competition of Distributed and Multiagent Planners (CoDMAP)

The CoDMAP competition (of the DMAP 2015 Workshop) is meant to be a preliminary version of possible future Multiagent Planning (MAP) track at the IPC (International Planning Competition). The competition focuses on deterministic (STRIPS-compatible), domain-independent, offline planners for cooperative agents. For maximal openness to various multiagent planners, CoDMAP consists of two tracks (see Figure 1): centralized (compatibility track) and distributed (track towards IPC MAP). You can choose which track you will be competing in. If your planner is suitable for the distributed track, it can automatically compete in the centralized track as well, so we kindly suggest to submit it to both tracks.

planner architectures for the planning
        competitions
Figure 1. Architecture of planners in various competition tracks, including the centralized and distributed tracks of CoDMAP. P1, ..., Pn represent processes of the planner. In centralized CoDMAP, there can be arbitrary number of planner processes (e.g., only P1 for centralized planners). In distributed CoDMAP, the processes correspond to n agents α1, ..., αn running on machines M1, ..., Mn. Communication among the planner's processes and (shared) memory are denoted as comm and mem respectively. The output plan(s) are ordered lists of k actions a1, ..., ak, where in the distributed CoDMAP, an agent's αi action is denoted as aαi. In the case of centralized CoDMAP, the the planner can arbitrarily use unfactored and/or factored input.

Results

See the regular CoDMAP results.

See the additional (Summer Run – September 2015) CoDMAP results.

Rules & Evaluation

General CoDMAP requirements:

Centralized CoDMAP Track

motivation:
highly compatible “transitional” track for various multiagent planners
planner architecture:
centralized (monolithic, single-core, ...), parallel or distributed
input:
centralized (global description of one planning problem instance per a planner)
alternative input:
distributed (local factored descriptions of one planning problem instance per agents)
output:
has to be a sound linear plan
soundness validation:
IPC (centralized) validator
plan format:
IPC (VAL compatible)
One action per line: (action-name param1 param2 ...)
Comments can be added after ; to the end of the line
running:
30 minutes limit per planner per problem; one planner on one machine (4cores, 8GB RAM - operational system which fits under 1GB)
communication:
any
evaluation:
the planner description paper has to answer:

Distributed CoDMAP Track

motivation:
“experimental” proper track for distributed MA planners
planner architecture:
distributed
input:
distributed (local factored descriptions of one planning problem instance per agents)
output:
has to be a sound set of n parallel linear plans for each agent, each action has a global (integer) timestamp, actions at the same timestamp are considered parallel. All actions are considered to have duration of 1 timestep.
soundness validation:
All plans will be concatenated and the concatenated plan checked with VAL.
Actions at the same time point (parallel) must not be mutually exclusive - that is one action deletes effect or precondition of the other.
plan format:
Timestamp and one action per line per agent
After concatenation VAL compatible:
timestamp: (action-name param1 param2 ...)
Example: 10: (load-truck tru1 pkg1 loc1)
Comments can be added after ; to the end of the line
running:
30 minutes limit per planner per problem; one agent on one machine (4cores, 8GB RAM - operational system which fits under 1GB)
communication:
evaluation:
the planner description paper has to answer:

Language

The language of the competition will be MA-PDDL (:factored-privacy and :unfactored-privacy versions). MA-PDDL is an extension of PDDL 3.1.

Centralized CoDMAP Track

The centralized track will use the :unfactored-privacy version of MA-PDDL. An agent is any object/constant associated with any grounded action by an :agent <agent> field. All predicates are defined in the domain, private predicates are enclosed in a (:private <agent> ...) expression. All actions are defined in the domain, with additional :agent <agent> field (which can be used also as an parameter to the action). All objects are defined in the problem, private objects are enclosed in a (:private ...) expression. In the domain, the agents are represented by a lifted typet expression, such as (in the action def.) :agent ?airplane - airplane, which means that all objects of type airplane are agents. In the problem, the respective objects or constants are used instead.

Distributed CoDMAP Track

The distributed track will use a single-agent variant of the :factored-privacy version of MA-PDDL. Each agent has its own (single-agent) domain and problem. Only predicates known to the agent are defined in the domain, private predicates are enclosed in a (:private ...) expression. Only actions known to the agent are defined in the domain. The agents can exchange public information about their public actions (aka public projections) at runtime. Only objects known to the agent are defined in the problem, private objects are enclosed in a (:private ...) expression.

Domains & Problems

Download:

[last update 22.4.2015] Major update, all domains are now candidates for the final versions.
All domains and problems in single package: [all] [last update 22.5.2015]

The provided domains are still a work-in-progress and may contain bugs. Please let us know if you encounter something unexpected or bug-like. Also, check the website regularily for updates (we will inform registered teams by email). The domain conversion was partially automated by [this] script. You may also use [this] script to convert the unfactored description back to plain pddl + a list of agents (in two formats), or [this] script to convert an unfactored description to factored one. All scripts are based on ppp.py by Matthew Crosby (thank you!). The scripts will be updated as well. [last update 29.4.2015]

Submission

Each planner (in one particular configuration) will be submitted (uploaded) to the testing environment (a specific SSH-accessible directory on our competition server). You can submit one planner in more configurations. To receive the SSH access, please, send us an email with name of your planner+configuration, track your planner will be competing in (centralized, distribued, or both) and optionally a SSH key. In the reply, we will send you a URL and a username for your planner together with a password if the SSH key is not provided.

The testing environment will contain a shell script with unified input parameters which we will use to run your planner, thus you will be responsible to fill in the script to correctly run and parameterize your planner and gather the resulting plan(s). Additionally, you will be able to run another shell script which will emulate running of your planner on selected (or all) domains and problems available (note: two additional domains will be added after submission deadline; for more details, please, refer to the Domains & Problems section). We will not require your source codes till the submission deadline, so you can use only binaries of your planner in the testing environment.

Pre-submission Poll

In order to get details about possibly competing planners, we have asked the DMAP community to fill a CoDMAP poll based on which we have prepared the rules of the competition. The summary of the poll results follows:

Important Dates

Questions

Feel free to ask us any questions reagarding the formalisms, input/output formats, submission process,... send us an email

Organizers

Acknowledgments

This research was supported by the Czech Science Foundation (grant no. 15-20433Y) and by the Air Force Office of Scientific Research, USAF (grant no. FA8655-12-1-2096).