msg6238 (view) |
Author: silvan |
Date: 2017-04-27.10:25:39 |
|
Thanks for the feedback; merged.
|
msg6231 (view) |
Author: malte |
Date: 2017-04-26.18:52:45 |
|
Thanks! I made some comments directly for the two commits (because I wanted to
see the diff between the previous version and the new commits) and some more for
the pull requests. I hope you get notifications for all of these. After these
small comments are addressed, I think this can be merged.
|
msg6230 (view) |
Author: silvan |
Date: 2017-04-26.18:23:22 |
|
I updated the pull request with the changes to sccs and the changes from the
other comments.
|
msg6213 (view) |
Author: malte |
Date: 2017-04-25.11:28:21 |
|
Code review done. Looks like this is done apart from the changes to the SCC
algorithm we discussed.
|
msg6211 (view) |
Author: silvan |
Date: 2017-04-25.11:09:13 |
|
Great! The pull request is updated.
|
msg6209 (view) |
Author: malte |
Date: 2017-04-25.10:51:55 |
|
Hi Silvan, it's FIFO time! Can you bring the pull request up to date, i.e., make
sure that it is based on the most recent master version? If I look at it right
now, I see some small conflicts (e.g. in the CMake files).
|
msg5971 (view) |
Author: silvan |
Date: 2016-12-22.11:39:02 |
|
I ran experiments for two versions: v1 is the one that matches the paper, but
which uses a hack, and v2 is the "clean" version.
The hack: the previous implementation of DFP (before the refactoring of the
design of merge strategies) did not compute DFP scores for any pair of
transition systems where both were not goal-relevant. With the new
implementation of DFP as a chain of score-based selectors where after each
iteration, only the pairs with the best score remain, we would first "filter
out" all pair that are not goal-relevant, then evaluate the remaining ones with
DFP, before finally using the usual tie-breaking criteria. If there are no
goal-relevant pairs (which is possible when merging an SCC that does not contain
any goal variable), we would compute DFP on *all* pairs, which differs from the
old implementation of DFP. Hence the hack skipped the evaluation with DFP at
this point.
The following tables are a subset of the full reports (linked below), relevant
for Table 4 of the ICAPS16 paper:
http://ai.cs.unibas.ch/_tmp_files/sieverss/issue667-v1-paper.html
http://ai.cs.unibas.ch/_tmp_files/sieverss/issue667-v2-paper.html
http://ai.cs.unibas.ch/_tmp_files/sieverss/issue667-compare-v1-v2-paper.html
abp: atomic before product (prefer atomic transition systems over products)
pba: product before atomic (prefer product transition systems over atomics)
rl/l/rnd: order of atomic transition systems (reverse level/level/random)
nto/otn/rnd: order product transition systems (new to old/old to new/random)
The differences between using the hack and not using it is very small, hence we
can safely not use it. Furthermore, like in issue668, the results match those in
the paper, except for the configurations that use RNG-based tie-breaking. Again,
this is due to the change from using a local to the "global" RNG always, and I
think that this is ok.
Full reports:
http://ai.cs.unibas.ch/_tmp_files/sieverss/issue667-v1-abp.html
http://ai.cs.unibas.ch/_tmp_files/sieverss/issue667-v1-pba.html
http://ai.cs.unibas.ch/_tmp_files/sieverss/issue667-v2-abp.html
http://ai.cs.unibas.ch/_tmp_files/sieverss/issue667-v2-pba.html
http://ai.cs.unibas.ch/_tmp_files/sieverss/issue667-compare-v1-v2-abp.html
http://ai.cs.unibas.ch/_tmp_files/sieverss/issue667-compare-v1-v2-pba.html
|
msg5622 (view) |
Author: silvan |
Date: 2016-09-09.20:30:18 |
|
> I was thinking of a high-level description of what should go where (and perhaps
> why, i.e., the rationale). Something that could help people decide where to put
> things and also help find things and understand the code structure on a high
level.
> Regarding where/how to document it: don't really know. I'll suggest it for the
> next meeting.
issue672 deals with that.
I also pushed the review to the new queue.
|
msg5597 (view) |
Author: malte |
Date: 2016-09-04.19:21:00 |
|
> What exactly did you mean by "master documentation on the directory structure"?
> Something that lists the precise contents of each directory, or rather a
> conceptual description of where to find what? Should this be a document of the
> code repository or a description of the homepage?
I was thinking of a high-level description of what should go where (and perhaps
why, i.e., the rationale). Something that could help people decide where to put
things and also help find things and understand the code structure on a high level.
Regarding where/how to document it: don't really know. I'll suggest it for the
next meeting.
|
msg5592 (view) |
Author: silvan |
Date: 2016-09-04.17:40:00 |
|
I made the change, moving the class SCCs to the subdir algorithms, as the first
representative of such classes. Issue669 will deal with with moving further
algorithms there.
What exactly did you mean by "master documentation on the directory structure"?
Something that lists the precise contents of each directory, or rather a
conceptual description of where to find what? Should this be a document of the
code repository or a description of the homepage?
|
msg5587 (view) |
Author: malte |
Date: 2016-09-02.13:51:54 |
|
I'm in favour of an algorithms directory. I
wouldn't move the RNG there. Do we have a
master documentation on the directory
structure somewhere? If not, I think this
would be good to add.
|
msg5586 (view) |
Author: silvan |
Date: 2016-09-02.13:47:18 |
|
Florian mentioned a few examples* that could end up in a subdirectory
"algorithms", but we don't have concrete plans for this yet. This algorithm
collection could then contain a CMake plugin for each utility that ends up being
there. I'm not sure if there are that many examples of such algorithms that
grouping them into their own directory would be justified, but maybe it is still
worth starting this now. What do you think?
Otherwise, I'd leave the files in the main directory and have a separate CMake
plugin for the class (and a namespace, because CMake plugin also means
namespace, if I remember correctly).
*max clique computation of PDBs, Intpacker, maybe RNG which is now part of
"utils" (although I think this would rather be a system utility than an algorithm)
|
msg5585 (view) |
Author: malte |
Date: 2016-09-02.13:11:38 |
|
I think we discussed a place for "algorithmic utilities" like these. Perhaps
Florian might know?
|
msg5584 (view) |
Author: silvan |
Date: 2016-09-02.12:14:54 |
|
I included the scc files, which I think originally stem from Fast Downward's
preprocessor, as a CMake plugin rather than making it part of the core. I don't
know if there is a better place for this class, as it is rather a utility, but
still does not fit the "systems utils" plugin we have.
The code can be found here:
https://bitbucket.org/SilvanS/fd-dev/pull-requests/19/issue667/diff
I'd like to queue this code review into the famous Downward FIFO :-)
|
msg5582 (view) |
Author: silvan |
Date: 2016-09-02.10:41:48 |
|
We would like to integrate the recent merge strategy based on SCCs of the causal
graph, from the ICAPS 2016 paper An Analysis of Merge Strategies for
Merge-and-Shrink Heuristics.
|
|
Date |
User |
Action |
Args |
2017-04-27 10:25:39 | silvan | set | status: in-progress -> resolved messages:
+ msg6238 |
2017-04-26 18:52:45 | malte | set | messages:
+ msg6231 |
2017-04-26 18:23:22 | silvan | set | messages:
+ msg6230 |
2017-04-25 11:28:21 | malte | set | messages:
+ msg6213 |
2017-04-25 11:09:13 | silvan | set | messages:
+ msg6211 |
2017-04-25 10:51:55 | malte | set | messages:
+ msg6209 |
2016-12-22 11:39:02 | silvan | set | status: chatting -> in-progress messages:
+ msg5971 |
2016-09-09 20:30:18 | silvan | set | messages:
+ msg5622 |
2016-09-04 19:21:01 | malte | set | messages:
+ msg5597 |
2016-09-04 17:40:00 | silvan | set | messages:
+ msg5592 |
2016-09-02 13:51:54 | malte | set | messages:
+ msg5587 |
2016-09-02 13:47:18 | silvan | set | messages:
+ msg5586 |
2016-09-02 13:11:38 | malte | set | messages:
+ msg5585 |
2016-09-02 12:14:54 | silvan | set | messages:
+ msg5584 |
2016-09-02 10:41:48 | silvan | create | |