Skip to content

[issue1228] alternative precondition choice functions for LM-Cut - #301

Open
PLauerRocks wants to merge 3 commits into
aibasel:mainfrom
PLauerRocks:main
Open

[issue1228] alternative precondition choice functions for LM-Cut#301
PLauerRocks wants to merge 3 commits into
aibasel:mainfrom
PLauerRocks:main

Conversation

@PLauerRocks

@PLauerRocks PLauerRocks commented Jul 28, 2026

Copy link
Copy Markdown

This is a pull request for issue1228.

Open questions:

  • Did we reproduce the increase in coverage from Max and my paper?
  • Should we implement the TODO to introduce a flag for operator counting constraints based on LM-Cut.
  • In the comments I refer to "goal zone" as in Malte and Carmel's paper. But the functions in the code actually say "goal plateau". Should this be adjusted? If yes, in what way?
  • Should the options be enabled by default?

const std::shared_ptr<AbstractTask> &task, bool cache_estimates,
const std::string &description, utils::Verbosity verbosity);
const std::string &description, utils::Verbosity verbosity,
bool use_goal_zone_detection, bool use_border_detection);

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

minor inconsistency with the rest of the code base

parameter order for components should be
1st task,
2nd parameters specific for this component
3rd parameters for this component type

In you case this should be

        const std::shared_ptr<AbstractTask> &task, 
        bool use_goal_zone_detection, bool use_border_detection,
        bool cache_estimates, const std::string &description, utils::Verbosity verbosity);

A proposition is on the border of the goal zone if it can not be achieved by
operators with zero cost.
*/
static bool is_border(const RelaxedProposition *prop) {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is_border sounds like you answer whether or not the proposition is a/the border.
But the comment says it is answering whether it is on the border. So i'd suggest to call the function is_on_border.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm going one step further and have a question about the comment itself. What's the connection to the goal zone? In the implementation, I see none... It just checks whether all operators achieving prop have a non-zero cost or not.
Also, regarding the comment itself: it's not clear to me how prop being an effect of only non-zero cost operators prevents it from being in the goal zone. Doesn't the goal zone contain all propositions which may reach goal propositions through only zero-cost operators? So why does it matter how prop is reached when the goal zone definition cares about what can be reached from prop at zero cost.

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