Issue686

Title handle task transformations in path-dependent heuristics
Priority meta Status chatting
Superseder Nosy List florian, jendrik, malte
Assigned To Keywords
Optional summary
See design comments at

http://www.fast-downward.org/ForDevelopers/LongTermPlans#Task_Transformations

Created on 2016-10-26.19:17:19 by jendrik, last changed by florian.

Summary
See design comments at

http://www.fast-downward.org/ForDevelopers/LongTermPlans#Task_Transformations
Messages
msg7743 (view) Author: florian Date: 2018-09-21.14:02:32
since this will require several steps, we are turning this into a meta issue.
msg7723 (view) Author: malte Date: 2018-09-21.12:39:58
This is related to the general component coordination problem. One question is
whether transformations should be parameters of evaluators in the first place.
See issue559 for more information, specifically the comments from September 2018.
msg7624 (view) Author: malte Date: 2018-09-20.11:15:45
I like the current iteration of the wiki text, and from my perspective the
accompanying task on the task board can be marked as done.
msg7611 (view) Author: jendrik Date: 2018-09-19.20:39:12
Yes, I think these are all heuristics. (The constructor of the PotentialOptimizer 
class accepts an Options object, but it would be better to pass the options 
individually since it is not a plugin.)
msg7606 (view) Author: malte Date: 2018-09-19.19:46:36
I'm not sure if this the right issue for this, but I don't know where else to
put this right now, so:

I tried to find out if there are other places than heuristic.cc where task
transformations provided by the user are used. I don't know if the following
grep is the best way to do this, but here is what I got:

grep "get<shared_ptr<AbstractTask>>" **/*.{h,cc}
cegar/additive_cartesian_heuristic.cc:       
opts.get<shared_ptr<AbstractTask>>("transform"));
heuristic.cc:      task(opts.get<shared_ptr<AbstractTask>>("transform")),
pdbs/pattern_collection_generator_hillclimbing.cc:        "transform",
opts.get<shared_ptr<AbstractTask>>("transform"));
potentials/potential_optimizer.cc:    :
task(opts.get<shared_ptr<AbstractTask>>("transform")),
potentials/single_potential_heuristics.cc:    const AbstractTask &task =
*opts.get<shared_ptr<AbstractTask>>("transform");

I assume all of these are just heuristics, but it would be good if someone more
familiar with the relevant bits of the code could verify this.
msg7592 (view) Author: florian Date: 2018-09-19.17:09:08
We discussed this issue today and added notes about it to the wiki:
http://www.fast-downward.org/ForDevelopers/LongTermPlans#Task_Transformations
msg5786 (view) Author: jendrik Date: 2016-10-26.19:17:19
We need to think about how to deal with task transformations in general path-
dependent heuristics such as the landmark heuristic.
History
Date User Action Args
2018-09-21 14:02:32floriansetpriority: feature -> meta
messages: + msg7743
2018-09-21 12:39:58maltesetmessages: + msg7723
2018-09-20 11:15:45maltesetmessages: + msg7624
summary: See design comments at http://www.fast-downward.org/ForDevelopers/LongTermPlans#Task_Transformations
2018-09-19 20:39:12jendriksetmessages: + msg7611
2018-09-19 19:46:36maltesetmessages: + msg7606
2018-09-19 17:09:08floriansetstatus: unread -> chatting
nosy: + florian
messages: + msg7592
2016-10-26 19:17:19jendrikcreate