aig-upf / tarski

Tarski - An AI Planning Modeling Framework
Apache License 2.0
59 stars 20 forks source link

Transformations: Project away non-effect variables #63

Closed gfrances closed 4 years ago

gfrances commented 5 years ago

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.

miquelramirez commented 5 years ago

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 commented 5 years ago

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 commented 5 years ago

Maybe a quick test is in order.

gfrances commented 5 years ago

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.