Title M&S refactoring part 2: get rid of two-stage lookup in the final "heuristic representation" (which should also be renamed)
Priority feature Status resolved
Superseder Nosy List jendrik, malte, silvan
Assigned To silvan Keywords
Optional summary

Created on 2016-10-21.12:22:08 by silvan, last changed by silvan.

msg5800 (view) Author: silvan Date: 2016-10-30.17:51:03
Thanks for the review, Jendrik! I just merged the code.
msg5797 (view) Author: malte Date: 2016-10-28.19:08:46
I'm fine with the basic idea. From what you described about the experiments and
considering that this doesn't change code in the core, I'm fine with seeing this
merged without having looked at the code.
msg5796 (view) Author: jendrik Date: 2016-10-28.18:58:46
I had another look. I have no objections to merging this.
msg5795 (view) Author: silvan Date: 2016-10-28.14:58:12
If anyone of you want to have another look or comment on the experiments, please
let me know. Otherwise I'll merge this issue next week.
msg5794 (view) Author: silvan Date: 2016-10-28.12:07:35
Thanks for your input! I'm done with my changes now.
msg5793 (view) Author: jendrik Date: 2016-10-28.00:28:05
I left some comments on bitbucket.
msg5792 (view) Author: silvan Date: 2016-10-27.23:11:43
Malte, would you like to look at the diff (i.e. should we keep this for the
queue) or can I go ahead if you agree that the experiments look good?
msg5773 (view) Author: silvan Date: 2016-10-25.11:35:51
The merge-and-shrink heuristic now extracts the final merge-and-shrink
representation and the corresponding distances from the factored transition
system when the computation is done, and then updates the representation to
directly store the distances. This way, the factored transition system only has
to offer a method to transfer ownership over the final entry, but does not
impose users to store distances in the representation.

I ran an experiment, and the results are ok, but not overwhelming:

Memory (slightly) decreases as expected, runtime is not affected significantly,
and coverage is within +0/+1.

I created a pull request here:

The diff consists of renaming the representation class and the change to FTS and
the heuristic described above, plus some small refactoring and polishing.
msg5761 (view) Author: silvan Date: 2016-10-21.16:00:17
As discussed in today's Fast Downward meeting, we want to keep
FactoredTransitionSystem general and not enforce that distances are
automatically stored int the root representation in the end. We may offer this
optionally, as a postprocessing step of the merge-and-shrink heuristic which
would not affect the FatoredTransitionSystem class.
msg5758 (view) Author: silvan Date: 2016-10-21.12:22:08
This is part of meta issue567.

This issue will address item 

M. heuristic representation:
  - The class that is currently called HeuristicRepresentation doesn't
  represent the heuristic. It represents the abstraction. Suggestion:
  rename it to MergeAndShrinkRepresentation, which is the name we use
  in our ICAPS 2015 paper.
  - We currently have a two-stage heuristic lookup process: map the
  concrete state to an abstract state, then map the abstract state to
  a cost value. The second step is unnecessary since we might as well
  write the cost value directly into the table of the MSR's root node
  (both costs and abstract states are represented by the same type).

of issue567. Furthermore, I'd like to simplify the way in which the
merge-and-shrink main loop in the end "finalizes" its computation depending on
whether the abstraction is already unsolvable in the initial state or not. In
particular, writing costs directly into the MergeAndShrinkRepresentation, we do
not need to keep the FactoredTransitionSystenm in the end, but only the
representation (because we do not need to keep the representation and distances
Date User Action Args
2016-10-30 17:51:03silvansetstatus: reviewing -> resolved
messages: + msg5800
2016-10-28 19:08:47maltesetmessages: + msg5797
2016-10-28 18:58:47jendriksetstatus: in-progress -> reviewing
messages: + msg5796
2016-10-28 14:58:12silvansetmessages: + msg5795
2016-10-28 12:07:35silvansetmessages: + msg5794
2016-10-28 00:28:05jendriksetnosy: + jendrik
messages: + msg5793
2016-10-27 23:11:43silvansetmessages: + msg5792
2016-10-25 11:35:51silvansetstatus: chatting -> in-progress
messages: + msg5773
2016-10-21 16:00:17silvansetmessages: + msg5761
2016-10-21 12:22:08silvancreate