571
Comment:
|
3961
|
Deletions are marked like this. | Additions are marked like this. |
Line 9: | Line 9: |
XXX TODO | {{{ translate.py [DOMAIN] PROBLEM }}} |
Line 11: | Line 13: |
* `DOMAIN` (filename): PDDL domain file * `PROBLEM` (filename): PDDL problem file If the domain file is not given, the planner will try to infer a likely name from the problem file name, using the conventions used at the various IPCs. (If in doubt if this will work for you, just try it out.) Note: Creates a file called output.sas (as well as test.groups, all.groups, ...) |
|
Line 13: | Line 21: |
XXX TODO | {{{ preprocess < OUTPUT.SAS }}} * `OUTPUT.SAS` (filename): translator output Note: Creates a file called output |
Line 19: | Line 33: |
search [OPTIONS] --search SEARCH < OUTPUT | downward [OPTIONS] --search SEARCH < OUTPUT |
Line 30: | Line 44: |
=== Examples === A* search: {{{#!highlight bash # landmark-cut heuristic (previously configuration "ou") ./downward --search "astar(lmcut())" < ./output # merge-and-shrink heuristic with default settings (previously configuration "oa50000") ./downward --search "astar(mas())" < ./output # blind heuristic (previously configuarion "ob") ./downward --search "astar(blind())" < ./output }}} Lazy greedy best first search with preferred operators and the queue alternation method: {{{#!highlight bash ## using FF heuristic and context-enhanced additive heuristic (previously: "fFyY") ./downward --heuristic "hff=ff()" --heuristic "hcea=cea()" \ --search "lazy_greedy(hff, hcea, preferred=(hff, hcea))" \ < ./output ## using FF heuristic (previously: "fF") ./downward --heuristic "hff=ff()" \ --search "lazy_greedy(hff, preferred=(hff))" \ < ./output ## using context-enhanced additive heuristic (previously: "yY") ./downward --heuristic "hcea=cea()" \ --search "lazy_greedy(hcea, preferred=(hcea))" \ < ./output }}} The above examples use the new best-first search implementation. For comparison, the old best-first search implementation is still available: {{{ ./downward --heuristic "hff=ff()" --heuristic "hcea=cea()" \ --search "old_greedy(hff, hcea, preferred=(hff, hcea))" \ < ./output }}} If you would like to have another translation from an old-style configuration to the new call-syntax, please add it here as a TODO. TODO: I would like to see an example that uses the Lama-FF Synergy feature. I'd be most interested in a configuration that is as close to LAMA as currently possible (i.e., using the LAMA and FF heuristics with synergy in a lazy alternation search with preferred operators for both heuristics, using iterated search with the appropriate set of options). I don't know what iterated search LAMA is performing, but if you describe it in words, I can probably formulate it as a fast downward call. The following would be the call to the old lazy greedy alternation search with LAMA and FF heuristics with synergy, using both heuristics for preferred operators. {{{ ./downward --heuristic "hlm,hff=lm_ff_syn()" --search "old_greedy(hlm, hff, preferred=(hlm, hff))" < output }}} This is as close to LAMA as we have right now (same search and heuristics, no caching and no +1 to operator cost): {{{ ./downward --heuristic "hlm,hff=lm_ff_syn()" --search "iterated( lazy_wastar(hff,hlm,preferred=(hff,hlm),w=10), lazy_wastar(hff,hlm,preferred=(hff,hlm),w=5), lazy_wastar(hff,hlm,preferred=(hff,hlm),w=3), lazy_wastar(hff,hlm,preferred=(hff,hlm),w=2), lazy_wastar(hff,hlm,preferred=(hff,hlm),w=1), repeat_last=true)" < output }}} |
Back to HomePage.
Usage
Translator
translate.py [DOMAIN] PROBLEM
DOMAIN (filename): PDDL domain file
PROBLEM (filename): PDDL problem file
If the domain file is not given, the planner will try to infer a likely name from the problem file name, using the conventions used at the various IPCs. (If in doubt if this will work for you, just try it out.)
Note: Creates a file called output.sas (as well as test.groups, all.groups, ...)
Preprocessor
preprocess < OUTPUT.SAS
OUTPUT.SAS (filename): translator output
Note: Creates a file called output
Search component
downward [OPTIONS] --search SEARCH < OUTPUT
SEARCH (SearchEngine): configuration of the search algorithm
OUTPUT (filename): preprocessor output
Options:
--heuristic HEURISTIC_PREDEFINITION
- Predefines a heuristic that can afterwards be referenced by the name that is specified in the definition.
--random-seed SEED
- Use random seed SEED
Examples
A* search:
1 # landmark-cut heuristic (previously configuration "ou")
2 ./downward --search "astar(lmcut())" < ./output
3
4 # merge-and-shrink heuristic with default settings (previously configuration "oa50000")
5 ./downward --search "astar(mas())" < ./output
6
7 # blind heuristic (previously configuarion "ob")
8 ./downward --search "astar(blind())" < ./output
Lazy greedy best first search with preferred operators and the queue alternation method:
1 ## using FF heuristic and context-enhanced additive heuristic (previously: "fFyY")
2 ./downward --heuristic "hff=ff()" --heuristic "hcea=cea()" \
3 --search "lazy_greedy(hff, hcea, preferred=(hff, hcea))" \
4 < ./output
5
6 ## using FF heuristic (previously: "fF")
7 ./downward --heuristic "hff=ff()" \
8 --search "lazy_greedy(hff, preferred=(hff))" \
9 < ./output
10
11 ## using context-enhanced additive heuristic (previously: "yY")
12 ./downward --heuristic "hcea=cea()" \
13 --search "lazy_greedy(hcea, preferred=(hcea))" \
14 < ./output
The above examples use the new best-first search implementation. For comparison, the old best-first search implementation is still available:
./downward --heuristic "hff=ff()" --heuristic "hcea=cea()" \ --search "old_greedy(hff, hcea, preferred=(hff, hcea))" \ < ./output
If you would like to have another translation from an old-style configuration to the new call-syntax, please add it here as a TODO.
TODO: I would like to see an example that uses the Lama-FF Synergy feature. I'd be most interested in a configuration that is as close to LAMA as currently possible (i.e., using the LAMA and FF heuristics with synergy in a lazy alternation search with preferred operators for both heuristics, using iterated search with the appropriate set of options).
I don't know what iterated search LAMA is performing, but if you describe it in words, I can probably formulate it as a fast downward call. The following would be the call to the old lazy greedy alternation search with LAMA and FF heuristics with synergy, using both heuristics for preferred operators.
./downward --heuristic "hlm,hff=lm_ff_syn()" --search "old_greedy(hlm, hff, preferred=(hlm, hff))" < output
This is as close to LAMA as we have right now (same search and heuristics, no caching and no +1 to operator cost):
./downward --heuristic "hlm,hff=lm_ff_syn()" --search "iterated( lazy_wastar(hff,hlm,preferred=(hff,hlm),w=10), lazy_wastar(hff,hlm,preferred=(hff,hlm),w=5), lazy_wastar(hff,hlm,preferred=(hff,hlm),w=3), lazy_wastar(hff,hlm,preferred=(hff,hlm),w=2), lazy_wastar(hff,hlm,preferred=(hff,hlm),w=1), repeat_last=true)" < output