-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Returned plans should be parsed and returned in a well structured way; plan cost including #36
Comments
As mentioned elsewhere, this comes down to package-specific setup. We could insist that packages adhere to a particular format (their plans go to a file and not stdout, etc) before they are officially included as part of the main PaaS deploy, but in general, a package is free to define the manifest (and thus endpoints) however they'd like. Would this be an issue to perhaps have the manifest flag if they follow the "planner output standard X", in which case we could/should parse & package up things? |
The planners should have the flexibility to output to stdout or to files. I agree. But either way, they should standardize to one of the supported plan formats. The plan parser may be rather flexible, but it needs to be able to unambiguously discover, where plan starts and where it ends. The VS Code PDDL extension is already doing fair bit of that. https://github.com/jan-dolejsi/pddl-workspace/blob/master/src/parser/PddlPlannerOutputParser.ts
https://github.com/jan-dolejsi/pddl-workspace/blob/master/test/parser/PddlPlannerOutputParserTest.ts |
Well single+multiple plans is standard enough to enforce for inclusion in PaaS. The planner/package manifest can point to the file location, and perhaps indicate the style of plan output (just action sequence with https://github.com/AI-Planning/cloud-solver/blob/master/process_solution.py For those packages that are just dumping plans to stdout, we can lean back on the authors and give them the ultimatum to fix it, or be removed from the remote service ;). |
Some planners return their entire diarrheas output into the
result.output.plan
field. Some return a properly formatted plan as text. The original/solve
interface returned the plan in a rich Json structure. The planutils should be able to parse and standardize the plan structure between temporal and strips planners.The plan cost is also included in different formats in the planner output. With bit of luck, one can get the plan from
result.output.plan
field and find the cost from theresult.stdout
. But as soon as you have multiple plans, you cannot figure out what belongs to what.Ideally,
result.output.plan
should be a structured element withsteps
oractions
if you want as well ascost
and/ormakespan
and possibly the search stats such asstatesEvaluated
.The text was updated successfully, but these errors were encountered: