Message2543

Author salome
Recipients gabi, jendrik, malte, salome, silvan
Date 2013-07-21.14:18:48
Content
After some searching we discovered that the solver wrongly reports dead ends in
certain states because it says a landmark is not reached yet even if it is true
in the current state. The function update_reached_lms in
landmark_status_manager.cc checks for landmarks that are true in the current
state if they are leaves and only if they are they are counted as reached. Leaf
means that all parents of this landmark are reached already.

What we suspect is that with reasonable orderings this doesn't work anymore,
since (at least to my understanding) reasonable orderings do not necessarily
apply. So if a solution needs to go against a reasonable order, it will end up
in a dead end since the landmark with this reasonable order will always have an
unsatisfied parent-landmark. Is this correct?

I tried adding the condition that the edge type needs to be bigger than
reasonable to "if (!reached[parent_p->get_id()])", and then it could solve the
tasks sokoban-opt08-strips/p01.pddl
History
Date User Action Args
2013-07-21 14:18:48salomesetmessageid: <1374409128.68.0.328572501942.issue383@unibas.ch>
2013-07-21 14:18:48salomesetrecipients: + salome, malte, gabi, jendrik, silvan
2013-07-21 14:18:48salomelinkissue383 messages
2013-07-21 14:18:48salomecreate