Issue276

Title code ugliness in abstraction.cc (inconsistent access to transition cost)
Priority wish Status resolved
Superseder Nosy List malte
Assigned To malte Keywords
Optional summary

Created on 2011-09-05.18:23:22 by malte, last changed by malte.

Files
File name Uploaded Type Edit Remove
exp-issue276-eval-abs-d.html.bz2 malte, 2011-10-31.10:37:29 application/x-bzip
Messages
msg1850 (view) Author: malte Date: 2011-10-31.10:37:29
I deleted the HTML files from the web, so I'm attaching the per-domain results
to this issue for posterity. (I don't think the very large per-problem results
are interesting enough to keep.)
msg1758 (view) Author: malte Date: 2011-09-11.20:38:44
OK, I removed the transition cost field and did a before/after comparison:

per-domain results:
http://www.informatik.uni-freiburg.de/~helmert/exp-issue276-eval-abs-d.html
per-problem results (warning, very large!):
http://www.informatik.uni-freiburg.de/~helmert/exp-issue276-eval-abs-p.html

Summary: In three of the six tested merge-and-shrink configurations (HHH 10K,
HHH 50K and DFP 200K), removing the transition costs increased coverage. In the
other three tested configurations (HHH 1K, HHH 100K, greedy bisim) it didn't
affect coverage. In the configuration I checked most thoroughly (HHH 10K), the
coverage difference was due improvements in four domains, with all other domains
unchanged. The impact on runtime seems to be small but positive. So I'm merging
this change and marking this as resolved.
msg1752 (view) Author: malte Date: 2011-09-09.11:23:32
I looked into this. There's no good reason for AbstractTransition to store a
cost at all, since it's not used for anything and increases the memory usage of
AbstractTransition by 50% (or more depending on alignment). The memory usage for
AbstractTransition is quite important for the overall merge-and-shrink memory usage.

So I'm testing now what happens to M&S performance if we remove the transition
cost field from AbstractTransition.
msg1745 (view) Author: malte Date: 2011-09-05.18:23:22
Alvaro reports:

"In abstraction.cc, Abstraction::compute_init_distances_general_cost() and
compute_goal_distances_general_cost(), to get the cost of a transition
get_adjusted_action_cost(g_operators[i], cost_type) is used instead of just
access to the attribute of AbstractTransition: trans.cost. I don't know if there
is a reason for this, but I think it is more consistent use the stored cost of
the transition."
History
Date User Action Args
2011-10-31 10:37:38maltesetstatus: chatting -> resolved
2011-10-31 10:37:29maltesetfiles: + exp-issue276-eval-abs-d.html.bz2
status: resolved -> chatting
messages: + msg1850
2011-09-11 20:38:45maltesetstatus: testing -> resolved
messages: + msg1758
2011-09-09 11:23:32maltesetstatus: chatting -> testing
messages: + msg1752
2011-09-05 18:23:22maltecreate