Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
en:dydaktyka:planning:pddl2 [2017/04/23 15:58] msl |
en:dydaktyka:planning:pddl2 [2020/04/14 11:32] msl |
====== - Extending Planning Domains with Fluents ====== | ====== - Extending Planning Domains with Fluents ====== |
| |
This class covers usage of the PDDL 2.1 main feature --- so called ''fluents''. Student is expected to understand it's notion and use it to solve some popular logical puzzles. | This class covers usage of the PDDL 2.1 main feature --- so called ''fluents''. Student is expected to understand the new construct and use it to solve some popular logical puzzles. |
| |
| <WRAP center round important 60%> |
| Due to the COVID-19 outbreak, all files related to this class are stored in the [[https://gitlab.com/agh-krr/2019-2020/labs-planning|Gitlab repository]]. This class uses files stored in the ''02_fluents'' folder. Please refer to the ''Readme.md'' on how to submit the solutions. |
| </WRAP> |
| |
===== - Preliminaries ===== | ===== - Preliminaries ===== |
| |
===== - Tools ===== | ===== - Tools ===== |
Please download {{:en:dydaktyka:planning:metric-ff-lab.zip|source code of PDDL 2.1 solver}}. The package includes also some examples we will refer to during the class. Please run to terminal and switch to the root folder of the package and then try: | Please clone [[https://gitlab.com/agh-krr/2019-2020/labs-planning |repository with the PDDL 2.1 solver]]. The package includes also ''pddl'' files in the ''02_fluents'' directory, related to this class. Please run to terminal and switch to the root folder of the package and then try: |
| |
<code bash> | <code bash> |
./ff -o ./examples/hanoi/problem.pddl -f ./examples/hanoi/instance.pddl | ./ff -o ./02_fluents/01_hanoi/domain.pddl -f ./02_fluents/01_hanoi/problem.pddl |
</code> | </code> |
If command fails, try to recompile the solver (you can refer to [[pddl#automated_solving_of_problems_written_in_pddl|the analogical section of the previous class]]). | |
| Replace ''ff'' with appropriate one, e.g. ''ff-macos'' on macOS. In case, none of the binaries works for you, you can build the planner according to the instruction in the repo's ''README.md''. |
| |
===== - Example: Hanoi ===== | ===== - Example: Hanoi ===== |
| |
The new solver supports some new statements. Please check the files: ''./examples/hanoi/problem.pddl'' i ''./examples/hanoi/instance.pddl''. The new things include: | The new solver supports some new statements. Please check the files: ''./lab2/hanoi/domain.pddl'' i ''./lab2/hanoi/problem.pddl''. The new things include: |
| |
* ''(:requirements :fluents)'' --- informs solver that we want to use fluents | * ''(:requirements :fluents)'' --- informs solver that we want to use fluents |
| |
<code bash> | <code bash> |
./ff -o ./examples/hanoi/problem.pddl -f ./examples/hanoi/instance.pddl -s 0 | ./ff -o ./02_fluents/01_hanoi/domain.pddl -f ./02_fluents/01_hanoi/problem.pddl -s 0 |
</code> | </code> |
| |
===== - First Puzzle: Bruce Willis Has a Problem ===== | ===== - First Puzzle: Bruce Willis Has a Problem ===== |
| |
{{ :en:dydaktyka:planning:die-hard-3.jpg?200|}} | {{ youtube>BVtQNK_ZUJg }} |
Please watch [[https://www.youtube.com/watch?v=BVtQNK_ZUJg|fragment of the Die Hard 3 movie]]. The puzzle depicted there belongs to a quite popular family of "water pouring'" puzzles. The ''./examples/jugs'' folder contains a model of a [[http://www.riddleministry.com/riddles/water-puzzle-19-13-7/1246/|very similar problem]]. | |
| \\ |
| Please watch fragment of the Die Hard 3 movie above. The puzzle depicted there belongs to a quite popular family of "water pouring'" puzzles. The ''./02_fluents/02_jugs'' folder contains a model of a [[http://www.riddleministry.com/riddles/water-puzzle-19-13-7/1246/|very similar problem]]. |
| |
==== Assignments ==== | ==== Assignments ==== |
| |
- Fill missing lines of the ''problem.pddl'', so you can solve ''instance.pddl'' in 16 steps. | - Fill missing lines of the ''domain.pddl'', so you can solve ''problem.pddl'' in 16 steps. |
- Remodel the problem so it would us only one action | - Remodel the problem so it would use only one action |
- Modify the problem to include the fountain and help Bruce Willis! | - Modify the problem to include the fountain and help Bruce Willis! |
| |
===== - Second Puzzle: Zombies on the Loose! ===== | ===== - Second Puzzle: Zombies on the Loose! ===== |
| |
Watch two first minutes [[http://interestingengineering.com/can-solve-impossible-bridge-riddle/|of this video]]. ''./examples/zombie-escape'' folder contains file related to the puzlle. | {{ youtube>7yDmGnA8Hw0 }} |
| |
| \\ |
| Watch two first minutes of the movie above. ''./02_fluents/03_zombie-escape'' folder contains files related to this puzzle. Then check the assignments and save yourself! |
| |
| |
==== Assignments ==== | ==== Assignments ==== |
| |
- Fill missing lines of the ''problem.pddl'', so you can solve ''instance.pddl'' | - Fill missing lines of the ''domain.pddl'', so you can solve ''problem.pddl'' |
- Remodel the problem so it would us only one action | - Remodel the problem so it would use only one action |
- Solve the similar [[http://www.learn4good.com/games/puzzle/boat.htm|problem of missionaries and cannibals]] | - Solve the similar [[http://www.learn4good.com/games/puzzle/boat.htm|problem of missionaries and cannibals]] |