Ron Petrick's Webpages

GIVE — Generating Instructions in Virtual Environments

The GIVE Challenge (Generating Instructions in Virtual Environments) is an instruction giving task, proposed as a challenge for the Natural Language Generation (NLG) community. Participants in GIVE are asked to build an NLG system capable of producing natural language instructions that guide a human user in performing a "treasure hunt" task in a virtual 3D environment.

From an NLG point of view, GIVE offers a complex environment for testing all components of an NLG system, and a common platform for evaluating and comparing such systems.

From a planning point of view, the GIVE task has certain aspects in common with the Grid planning problem which appeared in the 1998 edition of the International Planning Competition. In particular, a simplified version of the GIVE task can be modelled as a classical planning problem in PDDL, where:

  • A GIVE world map is divided into a discretised set of tiles of equal size.
  • A player can explore a GIVE world map by moving forward one tile at a time, or by turning 90° left or right.
  • A GIVE task is successful if the player presses all the buttons in the world, (optionally) with constraints on the order the buttons can be pressed.

We performed a detailed evaluation of our version of GIVE as a planning problem, building on an initial study. We offer the domains we used for these experiments as benchmarks for the planning community.

If you have any questions, or find these domains useful, let us know. Feel free to contact me or Alexander Koller.

GIVE planning problems

Minimal GIVE worlds

Minimal GIVE world

In the minimal GIVE problem, a map of w × h grid cells is used. Buttons are arranged in alternating positions along the top and bottom of the map. The player (Δ) starts in the lower left grid cell and must move through the map, pressing all the buttons to successfully complete the task.

GIVE worlds with extra grid cells

GIVE world with extra grid cells

In a second version of the GIVE problem, we start with a minimal GIVE map which we extend by adding an extra e × h empty grid cells to the right side of the map. These extra cells aren't strictly required to successfully complete the task, however, their inclusion sometimes increases the complexity of the planning problem for certain planners.

Button ordering

For each GIVE map, we consider two different types of goal conditions. In the unordered problem, the player can press the buttons in any order to complete the task. In the ordered problem, buttons are alarmed and can only be pressed if the respective alarms have been shut off. In particular, buttons must be pressed from left to right, alternating between a button on the top of the map and a button on the bottom. Each time a button is pressed, the alarm on the next button is disabled and that button can be safely pressed.


PDDL problem generators

All problem generators require Perl and will generate separate domain and problem files in PDDL. Instructions on use are included in each generator file.


This software is provided as is, without warranty, expressed or implied. Use at your own risk.