[TOC]
- Title: Detecting Ai Planning Modelling Mistakes Potential Errors and Benchmark Domains
- Author: Pascal Bercher et. al.
- Publish Year: 2023
- Review Date: Mon, Nov 13, 2023
- url: https://bercher.net/publications/2023/Sleath2023PossibleModelingErrors.pdf
Summary of paper
Contribution
- the author provided a compilation of potential modelling errors
- the author supply a public repository of 56 (flawed) benchmark domains
- conducted an evaluation of well-known AI planning tools for their ability to diagnose those errors, showing that not a single tool is able to spot all errors, with no tool being strictly stronger than another.
Some key terms
list of errors
- syntax errors: these are actual errors, but often not spotted by parsers and
- semantic errors: these would be warnings as they indicate a potential modelling error, to be checked by the domain modeller.
Syntax Errors
- inconsistent parameter use
- the modeller attempts to use a predicate with either a parameter of an incompatible type or a different number of parameters than it was defined with.
- undefined entities
- the modeller attempts to use an undefined predicate or type
- General Syntax error
- typo, forgets to write “:parameters”, add extra parenthesis, forget question mark in front of a variable name to differentiate it from a constant.
- duplicated definition
- the modeller repeats some definitions
- cyclic type declaration
- when two types are directly or indirectly declared to be subtypes of each other, forming a cycle
- undeclared parameters
- the modeller tries to use a variable in the definition of a task that wasn’t declared as a parameter
Semantic Errors
- complementary effect
- there is an intersection between the ground negated and positive effects of a task
- Unsatisfied preconditions
- some action’s preconditions can never be fulfilled. This may be due to syntactically complementary preconditions (with identical predicates), or simply since in the given planning problem the preconditions cannot be made true. this require complex reasoning, which is as hard as planning
- Unused elements
- The modeller defines a type or predicate or a parameter in a task that is not used
- Redundant effects
- Some effect will never change the state to which the respective action is applied. There are two possibilities how this can happen: The simplest case is if some effect also occurs as a precondition (with identical parameters). The redundancy can however also be problem-dependent
- immutable predicate
- A predicate is defined which never occurs in task effects. This means the state of that predicate is constant.
Good things about the paper (one paragraph)
The semantic error part is not what I expected.