Requirements for Outputs
General Guidelines
- PDDL files should be syntactically correct and adhere to general PDDL standards.
- Outputs must be in a usable format, but specifics can vary.
- Validation processes should ensure that outputs meet the specified goals.
PDDL Planning Tools
1. Load PDDL Files
load-pddl-files(domain_path, problem_path)
Description:
Loads any PDDL domain and problem files, making them accessible for further processing and planning activities.
Parameters:
domain_path(str): Path to the PDDL domain file.problem_path(str): Path to the PDDL problem file.
Returns:
files_loaded: A boolean indicating whether the files were successfully loaded.
Example:
files_loaded = load_pddl_files("domain.pddl", "task01.pddl")
Notes:
- Basic loading functionality that should accommodate different PDDL versions.
2. Generate Plans
generate-plans(problem)
Description: Generates plans based on the loaded problem, utilizing various planning strategies.
Parameters:
problem: The PDDL problem instance.
Returns:
plans: A list of possible plans generated.
Example:
plans = generate_plans(problem)
Notes:
- Supports multiple planning algorithms without specifying which ones are used.
3. Save Plans and Outputs
save-plans(plans, output_path)
Description: Saves generated plans to a specified file format, allowing for flexible output options.
Parameters:
plans: A list of generated plans.output_path(str): Path where plans should be saved.
Example:
save_plans(plans, "output.plans")
Notes:
- Output format details are not strictly defined; it could vary widely.
4. Validate Plans
validate-plans(problem, plans)
Description: Validates the generated plans against the specified problems to ensure that they are feasible.
Parameters:
problem: The original PDDL problem instance.plans: The generated plans.
Returns:
- bool: True if plans are valid, False otherwise.
Example:
valid = validate_plans(problem, plans)
Notes:
- General validation method; specifics of what constitutes a valid plan may vary.
Example Workflow
# Load PDDL files
files_loaded = load_pddl_files("domain.pddl", "task01.pddl")
# Generate plans
if files_loaded:
plans = generate_plans(problem)
# Validate plans
if not validate_plans(problem, plans):
raise ValueError("One or more plans are invalid")
# Save plans
save_plans(plans, "output.plans")
Notes
- This skill set provides foundational tools but lacks specificity for particular planning scenarios.
- Suitable for users looking for a broad overview of PDDL planning capabilities.