Both sides previous revision
Previous revision
Next revision
|
Previous revision
Next revision
Both sides next revision
|
en:dydaktyka:planning:intro [2017/07/17 10:08] 127.0.0.1 external edit |
en:dydaktyka:planning:intro [2020/04/14 10:53] msl [Solutions] |
== Assignments == | == Assignments == |
| |
- Please define admissible heuristics for the blocks world | - Please define an [[https://en.wikipedia.org/wiki/Admissible_heuristic|admissible heuristics]] for the blocks world |
| |
=== Encoding as a Discrete Optimization Problem === | === Encoding as a Discrete Optimization Problem === |
{{ :en:dydaktyka:planning:dont-panic.jpg?nolink&200|}} | {{ :en:dydaktyka:planning:dont-panic.jpg?nolink&200|}} |
| |
- Download {{ :en:dydaktyka:planning:blocks_world_strips.pl |a simple STRIPS planner for the blocks worlds}} and edit it in an [[http://swish.swi-prolog.org/|on-line prolog IDE]]. If you know Prolog, read the last lines of the file to understand how the planner works. If you haven't seen Prolog before, don't panic, keep calm and go to the next assignments. | - Check [[ https://swish.swi-prolog.org/p/block_strips_player_v2.pl |a simple STRIPS planner for the blocks worlds]]. If you know Prolog, read the last lines of the file to understand how the planner works. If you haven't seen Prolog before, don't panic, keep calm and go to the next assignments. |
| |
- Fill ''%TODO:'' sections: | - Fill ''%TODO:'' sections: |
- ''holding/1'' --- block is currentle held by the robotic arm, e.g.. ''holding(a)'' | - ''holding/1'' --- block is currentle held by the robotic arm, e.g.. ''holding(a)'' |
- ''handempty/0'' --- the robotic arm doesn't hold anything, e.g. ''handempty'' | - ''handempty/0'' --- the robotic arm doesn't hold anything, e.g. ''handempty'' |
- we need four action (one of them is already implemented) | - we need four actions (one of them is already implemented) |
- put block ''X'' on block ''Y'': | - put block ''X'' on block ''Y'': |
- requires that the ''X'' is actually held in the robotic arm and ''Y'' is clear. After performing the action ''X'' lies on the ''Y'' and ''Y'' is no clear anymore. Also the robotic arm doesn't hold anything. | - requires that the ''X'' is actually held in the robotic arm and ''Y'' is clear. After performing the action ''X'' lies on the ''Y'' and ''Y'' is no clear anymore. Also the robotic arm doesn't hold anything. |
- take ''X'' of the table: | - take ''X'' of the table: |
- simpler version of the seciond action | - simpler version of the seciond action |
- Run planning on the three already specified problems. | - Run planning on the three already specified problems (just write ''problem1.'' or ''problem2.''... in the query window on the right and hit ''run''. |
- Specify fourth custom problem. | - Specify fourth custom problem. |
- Remove ''clear'' conditions from every action and repeat the planning: | - Remove ''clear'' conditions from every action and repeat the planning: |