Issue138

Title simplify certain DTGs
Priority wish Status resolved
Superseder Nosy List malte
Assigned To Keywords
Optional summary

Created on 2010-10-29.20:28:42 by malte, last changed by malte.

Messages
msg3646 (view) Author: malte Date: 2014-10-04.20:08:17
OK, let's say this one is not worth bothering with. It would be useful to
implement some more general reformulations, but this doesn't look like it would
rock the world.
msg627 (view) Author: malte Date: 2010-10-29.20:28:42
Suggested by Jörg.

Let op be an operator with effect "var := val" where var is an FDR variable
which has a "none of those" value (different from val) and which doesn't have a
precondition on var. Consider the edge(s) induced by this effect in the DTG for var.

Currently, we introduce edges from anywhere to val, which is of course correct.

However, due to the way the FDR is currently generated, we know that the
operator actually can only be applied in a state where var = none-of-those (or
possibly var = val already), or else we would have an invariant violation in the
original STRIPS operator where this comes from. (If var = other-val for some
other value were possible when the operator is applied, then we would not have
been able to find the invariant.) Hence, only having an edge from none-of-those
would also be correct and of course more informative.

This is a bit tricky since a correct argument really relies on the fact that we
use a particular algorithm for the translation, so this is probably best
captured by keeping some information about the original STRIPS operator around
or by storing implied preconditions (like var=<none-of-those>) somewhere.

This affects all places that use DTGs (CG heuristic, cea heuristic, LM
construction), and similar issues affect the atomic abstractions used for
merge-and-shrink. Jörg stumbled over this in Gripper.

For more details, see email exchange with Jörg and Silvia on Oct 27/28, 2010 in
the "Fast Downward" email folder.
History
Date User Action Args
2014-10-04 20:08:17maltesetstatus: chatting -> resolved
messages: + msg3646
2010-10-29 20:28:42maltecreate