-
Notifications
You must be signed in to change notification settings - Fork 2
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
replace goal with an action to achieve an artificial goal #18
Conversation
@@ -257,3 +259,82 @@ def supports(problem_kind: "ProblemKind") -> bool: | |||
@staticmethod | |||
def satisfies(optimality_guarantee: OptimalityGuarantee) -> bool: | |||
return True | |||
|
|||
# To avoid the introduction of axioms with complicated goals, we introduce |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@roeger Does this add any overhead?
If yes, maybe you can avoid the introduction of this extra action when complicated goals are not present.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The overhead is negligible. I will still consider to only apply it only when necessary for the grounder because there I don't know what will happen to the task afterwards.
--------- Co-authored-by: Gabriele Roeger <gabriele.roeger@unibas.ch>
* fix bug in Fast Downward reachability grounder * fix simplifier creation in Fast Downward grounder * silence internal Fast Downward output in grounders --------- Co-authored-by: Luca Framba <framba@fbk.eu>
If the goal is not a conjunction of literals, Fast Downward introduces axioms to handle it. To avoid this, we instead introduce an artificial goal action (removed when mapping back). There can be several ground representatives of the artificial goal action in the compiled task (e.g. from disjunctive preconditions). We now give each instance an individual name.
This branch passes all tests from the main repo. The Changelog is still missing. |
Hi @Framba-Luca. This is the kind of transformation I had in mind for reducing the introduction of axioms. Can you have a look?