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

replace goal with an action to achieve an artificial goal #18

Merged
merged 12 commits into from
Nov 9, 2023

Conversation

roeger
Copy link
Collaborator

@roeger roeger commented Oct 26, 2023

Hi @Framba-Luca. This is the kind of transformation I had in mind for reducing the introduction of axioms. Can you have a look?

@@ -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
Copy link
Member

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.

Copy link
Collaborator Author

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.

roeger and others added 8 commits November 6, 2023 19:03
---------

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.
@roeger roeger changed the base branch from main to version-0.3.3 November 7, 2023 14:11
@roeger roeger marked this pull request as ready for review November 7, 2023 15:16
@roeger
Copy link
Collaborator Author

roeger commented Nov 7, 2023

This branch passes all tests from the main repo. The Changelog is still missing.

@roeger roeger merged commit 85b5ffc into version-0.3.3 Nov 9, 2023
3 checks passed
@roeger roeger deleted the different-goal-handling branch November 9, 2023 09: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.

3 participants