协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
skill-131【开发与工程】Provides utilities for optimizing PDDL planning problems by transforming domain specifications and enhancing state representations.
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
load-and-transform-domain(domain_path)Description:
Loads a PDDL domain file and applies transformations to optimize the state representation.
Parameters:
domain_path (str): Path to the PDDL domain file.Returns:
optimized_domain: A transformed domain for better efficiency.Example:
optimized_domain = load_and_transform_domain("domain.pddl")
Notes:
unified_planning.io.PDDLTransformer.optimize-problem(problem_path, optimized_domain)Description: Optimizes the specified problem based on the optimized domain loaded previously.
Parameters:
problem_path (str): Path to the PDDL problem file.optimized_domain: The transformed domain.Returns:
optimized_problem: An optimized problem object ready for planning.Example:
optimized_problem = optimize_problem("task01.pddl", optimized_domain)
Notes:
unified_planning.shortcuts.ProblemOptimizer.save-optimized-problem(optimized_problem, output_path)Description: Writes the optimized problem to disk in standard PDDL format.
Parameters:
optimized_problem: A PDDL problem that has been optimized.output_path (str): Output file path.Example:
save_optimized_problem(optimized_problem, "optimized_task01.pddl")
Notes:
unified_planning.io.PDDLWriter for output.validate-optimization(optimized_problem)Description: Validates that the optimizations applied to the problem are effective and correct.
Parameters:
optimized_problem: The problem that has undergone optimization.Returns:
Example:
is_valid = validate_optimization(optimized_problem)
Notes:
unified_planning.shortcuts.OptimizationValidator.# Load and transform domain
optimized_domain = load_and_transform_domain("domain.pddl")
# Optimize problem
optimized_problem = optimize_problem("task01.pddl", optimized_domain)
# Validate optimization
if not validate_optimization(optimized_problem):
raise ValueError("Optimized problem is invalid")
# Save optimized problem
save_optimized_problem(optimized_problem, "optimized_task01.pddl")