Skip to content
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

Add HDDL output for ESS SHOP. #152

Merged
merged 33 commits into from
Aug 6, 2024
Merged

Add HDDL output for ESS SHOP. #152

merged 33 commits into from
Aug 6, 2024

Conversation

rpgoldman
Copy link
Contributor

Add the ability to translate an ESS enhanced plan tree into an HDDL format plan. To date, it has been too difficult to add this capability to the classic SHOP planning tree.

@rpgoldman rpgoldman force-pushed the hddl-ess-only branch 2 times, most recently from 8820856 to 52c2852 Compare October 26, 2023 23:14
@rpgoldman rpgoldman force-pushed the hddl-ess-only branch 2 times, most recently from 819105c to d430207 Compare November 4, 2023 16:04
@rpgoldman
Copy link
Contributor Author

This is still imperfect: the Classic SHOP trees still have issues. But ESS-SHOP output to HDDL plans works properly.

@rpgoldman rpgoldman force-pushed the hddl-ess-only branch 2 times, most recently from 675ce06 to 9c94439 Compare November 6, 2023 22:02
@rpgoldman rpgoldman requested a review from ukuter November 7, 2023 15:17
@rpgoldman
Copy link
Contributor Author

@ukuter Please have a look at this. I'm not happy with the way the classic SHOP plan trees are (not) working, but the ESS ones are, and the HDDL output seems pretty solid now.

The problem with classic SHOP plan trees is that it seems that somehow primitive actions that were tried, but rejected and backtracked over, can appear in the plan tree. I have not been able to figure out what causes this problem, or even in what cases it happens.

But I would like to get this merged for our experiments. I suppose we could simply keep using this branch until we can clean up the SHOP plan trees.

@rpgoldman rpgoldman force-pushed the hddl-ess-only branch 2 times, most recently from a5c5f30 to 87000ff Compare November 28, 2023 22:43
@rpgoldman rpgoldman force-pushed the hddl-ess-only branch 2 times, most recently from 1baac7a to 1346ede Compare August 2, 2024 20:49
In order to support exporting plans as HDDL, we need to have
information in the plan trees to specify what methods are used to
perform what decompositions.  This patch makes that change.
Translate SHOP plans into HDDL plans in IPC format.  Translate HDDL
problems into SHOP problems.
SHOP3-PDDL-HELPERS was getting conflicts for the symbol PROBLEM.
Also fix bug that came from two different meanings for `t` as a stream
argument: `*standard-output*` versus `*terminal-io*`.
- Better print-object method for `complex-tree-node`

- Add `all-primitive-nodes`
Replace `*reduction-labels*` alist with more efficient hash-table
implementation.

Update the tests.
These are still messed up, and not critical.
There was an over-complicated method that hid an off-by-one error.
This version uses Shirakumo's (Nicholas Hafner's) random-state library
to give repeatable random sequences that are implementation
independent.

Add a test for repeatability of random sequences.
This makes it available for use in type declarations.
This allows us to have orphaned action nodes in plan repair trees.
Otherwise it will error if there are orphans, which are prohibited in
standard HDDL plans.
As far as I can tell, this could never have worked, because it puts
objects of the wrong type into the plan tree. Also AFACIT, no one has
ever used it.  Removing.
I was using `check-type` because it was a handy shorthand, but it
turns out to mess up SBCL's type checking, because it's got a restart
where the user can reset the checked place.

Instead, replace with a macro that just checks the type and raises a
type error if the object is not correctly typed.
Make it possible to do TEST-SYSTEM more quietly.
@rpgoldman rpgoldman merged commit f5e60c5 into master Aug 6, 2024
4 checks passed
@rpgoldman rpgoldman deleted the hddl-ess-only branch August 6, 2024 00:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant