Implementation:Open compass VLMEvalKit MEGABench Symbolic Planning
| Field | Value |
|---|---|
| source | VLMEvalKit |
| domain | Vision, Evaluation, Planning, PDDL |
Overview
Implements PDDL (Planning Domain Definition Language) parsing and symbolic planning evaluation for the MEGA-Bench evaluation framework.
Description
This module provides comprehensive PDDL parsing functions including `parse_pddl_param_list` for parameter type extraction, `parse_outer_inner_str` for nested parentheses matching, and `parse_pddl_attr_from_string` for attribute extraction from PDDL strings. These utilities support evaluation of symbolic planning tasks by parsing both predicted and ground-truth PDDL plans and comparing their structures, including action sequences and parameter bindings.
Usage
Called internally by the corresponding dataset class during evaluation.
Code Reference
- Source:
vlmeval/dataset/utils/megabench/scoring/symbolic_planning.py, Lines: L1-266 - Import:
from vlmeval.dataset.utils.megabench.scoring.symbolic_planning import parse_pddl_param_list
Key Functions:
def parse_pddl_param_list(s): ...
def parse_outer_inner_str(s, str_ender, inner_starter, inner_ender): ...
def parse_pddl_attr_from_string(s, ...): ...
I/O Contract
| Direction | Description |
|---|---|
| Inputs | PDDL-formatted strings containing planning domain and problem definitions |
| Outputs | Parsed parameter dictionaries, matched attribute strings, and planning comparison scores |
Usage Examples
from vlmeval.dataset.utils.megabench.scoring.symbolic_planning import parse_pddl_param_list
name, params = parse_pddl_param_list("(?x - type1 ?y - type2)")