Search
Your first task is to model a problem called Grid-Mario in PDDL. The modeled problem is supposed to be a representation of a game Grid-Mario that we want to solve in the means of classical planning. Detailed description of the game's mechanics is given below.
Everyone has to model the world representation including the agent’s movement on the grid with all known obstacles. Additionally, everyone gets a random selection of 2 other features from the problem domain they have to model as well. For every combination of features you get 4 problem instances to model. One for each individual mechanic and then a complex one to test all modeled mechanics at once.
We recommend using online editor for modelling the PDDLs but the choice is yours.
To find your features, check out this table of assigned features.
Download images of the assigned problem instances
To better understand the image representation of the problem instances, check out legend.
This task is mandatory and you can recieve maximum of 5 points.
Model the domain and 4 given problem instances in PDDL and submit all PDDL files in a .zip file to BRUTE. In total, you should submit one archive with 5 PDDL files.
Filenames
There is no automatic evaluation for this task.
This task will be assigned during the 2. week of tutorials. You have one week to submit it.
Deadline for Monday tutorials: 6.3.2023 - 23:59
Deadline for Wednesday tutorials: 8.3.2023 - 23:59
Map
Agent
Items
Push box
Teleport
Levers
Keys
Springs
For the purpose of this homework, please use only PDDL requirements provided in the template, no extra ones are necessary to model grid-Mario. Using types is optional (predicates can be used instead). Please use only conjunctions of predicates for defining actions.
For simpler writing here are templates for both domain definition (also provided in the online editor ) and problem definition.
Domain definition in PDDL
(define (domain domainName) (:requirements :negative-preconditions :typing ) (:types ) (:predicates ) (:action actionName :parameters (?x - foo) :precondition (and (foo) (fuu) ) :effect (and (fii) (not (fee)) ) ) )
Problem definition in PDDL
(define (problem problemName) (:domain domainName) (:objects x - type ) (:init (fee) ) (:goal (and (foo) ) ) )