IIPC Rules

This page summarises the rules for the first intention progression competition (the rules may be amended for later competitions). It covers both participation in the competition and how entries are evaluated.


To participate in the competition, you must first register.

Following successful registration, you will receive access to the entrants' portal which contains all of the relevant competition resources.

You should develop your competition entry on your own computer and provide a Docker container containing your solution which communicates with the container containing the server and the BDI interface. Detailed instructions on the Docker containers can be found in the entrants portal, which you will get access to after completing the registration process.

To improve the state of the art in intention progression, the code of the winning entry (or entries) will be published. By participating in the competition the author(s) of the winning entry consent to making their code available, and warrant that it is covered by a license that does not preclude future use for academic purposes. The authors of all entries may elect to publish their code on the competition website at their discretion.

Evaluation of entries

The objective of the IIPC is to maximise the number of goals achieved by an agent. Each entry will be evaluated using a number of previously unseen instances of intention progression problems. The problems will be of a similar level of difficulty to the example problem instances provided in the competition download area, which you will get access to after completing the registration process. All entries will be evaluated using the same problem instances and starting in the same initial environment. The same exogenous changes to the environment and run-time additions to the set of goals will be applied to all entries.

Evaluation of an entry on a problem instance consists of two phases: initialisation and execution. In the initialisation phase, the agent is given a set of plans in the form of a forest of goal plan trees. Following initialisation, the execution phase begins. The execution phase proceeds in cycles or 'ticks'. At the first tick, the agent is given the initial state of the environment, and an initial set of goals to be achieved. At each subsequent cycle, the agent is given the current state of the environment (updated with the effects of the action executed at the previous cycle and any exogenous changes) and the current set of goals to be achieved. Goals persist until they are achieved, but the agent may be given additional goals while it is achieving its current goals. The same additional goals and spontaneous changes to the environment will occur at the same cycle for all entries. The execution phase continues until all goals have been achieved, none of the agent's intentions can be progressed or a timeout is reached. The score for the problem instance is the number of goals achieved at the end of the execution phase, and the score for an entry is the average number of goals achieved over all problem instances.

In the event of any disruption to the running of the competition, action will be decided by the organisers and may include, but is not limited to, the repeat of interrupted runs, the discarding of faulty problem sets or agent code and the disqualification of any entrant found to be actively disrupting the running of the competition.

The time required to return the next action to execute will be logged, and execution time statistics reported for each entry; this information will not be used in determining the ranking of entries.

The decision of the organisers is final.