← 返回
未分类 中文

pddl-skills

Automated Planning utilities for loading PDDL domains and problems, generating plans using classical planners, validating plans, and saving plan outputs. Sup...
Automated Planning utilities for loading PDDL domains and problems, generating plans using classical planners, validating plans, and saving plan outputs. Sup...
lnj22 lnj22 来源
未分类 clawhub v0.1.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 339
下载
💾 0
安装
1
版本
#latest

概述

Requirements for Outputs

General Guidelines

PDDL Files

  • Domain files must follow PDDL standard syntax.
  • Problem files must reference the correct domain.
  • Plans must be sequential classical plans.

Planner Behavior

  • Planning must terminate within timeout.
  • If no plan exists, return an empty plan or explicit failure flag.
  • Validation must confirm goal satisfaction.

PDDL Skills

1. Load Domain and Problem

load-problem(domain_path, problem_path)

Description:

Loads a PDDL domain file and problem file into a unified planning problem object.

Parameters:

  • domain_path (str): Path to PDDL domain file.
  • problem_path (str): Path to PDDL problem file.

Returns:

  • problem_object: A unified_planning.model.Problem instance.

Example:

problem = load_problem("domain.pddl", "task01.pddl")

Notes:

  • Uses unified_planning.io.PDDLReader.
  • Raises an error if parsing fails.

2. Plan Generation

generate-plan(problem_object)

Description:

Generates a plan for the given planning problem using a classical planner.

Parameters:

  • problem_object: A unified planning problem instance.

Returns:

  • plan_object: A sequential plan.

Example:

plan = generate_plan(problem)

Notes:

  • Uses unified_planning.shortcuts.OneshotPlanner.
  • Default planner: pyperplan.
  • If no plan exists, returns None.

3. Plan Saving

save-plan(plan_object, output_path)

Description:

Writes a plan object to disk in standard PDDL plan format.

Parameters:

  • plan_object: A unified planning plan.
  • output_path (str): Output file path.

Example:

save_plan(plan, "solution.plan")

Notes:

  • Uses unified_planning.io.PDDLWriter.
  • Output is a text plan file.

4. Plan Validation

validate(problem_object, plan_object)

Description:

Validates that a plan correctly solves the given PDDL problem.

Parameters:

  • problem_object: The planning problem.
  • plan_object: The generated plan.

Returns:

  • bool: True if the plan is valid, False otherwise.

Example:

ok = validate(problem, plan)

Notes:

  • Uses unified_planning.shortcuts.SequentialPlanValidator.
  • Ensures goal satisfaction and action correctness.

Example Workflow

# Load
problem = load_problem("domain.pddl", "task01.pddl")

# Generate plan
plan = generate_plan(problem)

# Validate plan
if not validate(problem, plan):
    raise ValueError("Generated plan is invalid")

# Save plan
save_plan(plan, "task01.plan")

Notes

  • This skill set enables reproducible planning pipelines.
  • Designed for PDDL benchmarks and automated plan synthesis tasks.
  • Ensures oracle solutions are fully verifiable.

版本历史

共 1 个版本

  • v0.1.0 当前
    2026-05-07 22:54 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 687 📥 331,501
office-efficiency

pdf

lnj22
全面PDF工具,支持文本/表格提取、新PDF创建、合并/拆分文档、表单处理。当Claude需要...
★ 0 📥 589
dev-programming

YouTube

byungkyu
使用托管OAuth集成YouTube Data API,支持搜索视频、管理播放列表、获取频道数据及评论互动,适用于用户需要时使用此技能。
★ 142 📥 42,184