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

Transformations: Project away non-effect variables #63

Closed
gfrances opened this issue Jun 26, 2019 · 4 comments
Closed

Transformations: Project away non-effect variables #63

gfrances opened this issue Jun 26, 2019 · 4 comments
Labels
enhancement Enhances existing features
Milestone

Comments

@gfrances
Copy link
Member

We'd like to implement a Tarski transformation that takes any STRIPS / Functional STRIPS problem and, for those action schemas that contain parameters (variables) that appear only in the precondition of the schema, but not on the effects, projects this variables into an existentially quantified variable. To illustrate:

action a(x, y, z)
PRE: p(x, y) and q(y, z)
EFF: not p(x, y)

would become:

action a(x, y)
PRE: Exists z [p(x, y) and q(y, z)]
EFF: not p(x, y)

where the action schema has one parameter less.

@gfrances gfrances added the enhancement Enhances existing features label Jun 26, 2019
@gfrances gfrances added this to the 0.3 milestone Jun 26, 2019
@miquelramirez
Copy link
Member

miquelramirez commented Jun 27, 2019

This is an interesting transformation, which is possible to write but seldom supported by most planners action grounders. Does the LP grounder work with existential precs?

@gfrances
Copy link
Member Author

Should work (didn't check though), as long as the existential quantification is in prenex normal form, and not only should it work, it should be significantly more efficient, as e..g will reduce the amount of "ground action" LP atoms that are reachable (if only because the potential number of ground actions decreases). Very good point! An example of a domain with featuring this is the organic-synthesis from the last IPC.

@miquelramirez
Copy link
Member

Maybe a quick test is in order.

@gfrances
Copy link
Member Author

gfrances commented Aug 4, 2019

This is implemented now, but I'll leave this open a few more days to see if I can test how this plays with the LP grounder.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Enhances existing features
Projects
None yet
Development

No branches or pull requests

2 participants