diff --git a/src/final-attempt/README.md b/src/final-attempt/README.md index cea057fefe703d386cb5fcd0027d37bbb00571b4..5b9910a5b289360adff28335b7a0ff034c6acdf9 100644 --- a/src/final-attempt/README.md +++ b/src/final-attempt/README.md @@ -180,8 +180,64 @@ As effect of this action, the trap is disarmed and the hero can move on. (not (trap_armed ?location)) ``` +### Scenarios + +The domain formalization was tested in five scenarios. Four scenarios have one hero trying get out of the dungeon, and only the scenario five has two heroes trying to achieve different goals. In the simulation with two heroes, I assume that two rooms can have an exit. However, scenario five will also work if the two heroes need to leave on a common exit. + +There is not much to explain about each scenario. Therefore, I just show the scenarios with tables. Each cell in the table will have the room number and the object that is there. + +Below is the legend of the symbols used in the tables and, following, the five scenarios. + +| Symbol | Description | +| ------ | ------------------------------------------------------------ | +| G | Goal. G can be followed by a number to indicate the hero who needs to reach that goal. | +| M | Monster. | +| T | Trap. | +| H | Hero's starting position. H can be followed by a number to indicate the hero in that room. | +| S | Sword. | +| E | Empty. | +| | Room inaccessible. | + +#### Scenario 1 +| | | | +| :--: | :--: | :--: | +| 1 - H | 2 - E | 3 - M | +| 4 - M | 5 - E | 6 - G | + +#### Scenario 2 + +| | | | +| :---: | :---: | :---: | +| 1 - M | 2 - H | 3 - E | +| 4 - G | 5 - M | 6 - S | + +#### Scenario 3 + +| | | | | +| :---: | :---: | :---: | :---: | +| 1 - H | 2 - M | 3 - E | | +| 4 - S | 5 - M | 6 - T | 7 - G | + +#### Scenario 4 + +| | | | | | +| ----- | ----- | ----- | ----- | ------ | +| 1 - H | | 3 - S | 4 - M | 5 - T | +| 6 - S | 7 - M | 8 - T | | 10 - G | + +#### Scenario 5 + +| | | | | | +| :-----: | :----: | :----: | :----: | :-----: | +| 1 - H1 | 2 - S | 3 - M | 4 - S | 5 - M | +| 6 - M | | 8 - M | 9 - G1 | 10 - T | +| 11 - G2 | 12 - T | 13 - M | 14 - M | 15 - M | +| 16 - M | 17 - M | 18 - S | 19 - E | 20 - H2 | + ### Performance + + The predicate `goal_at` was used as a precondition in the action `move`. @@ -196,6 +252,12 @@ visited must be for each hero The formalization dont get a sword when not needed + + +limitation + +cost of the rooms, a room can cost more than other, can have stairs to enter the room for example + ### References PDDL book \ No newline at end of file diff --git a/src/final-attempt/pb5.pddl b/src/final-attempt/pb5.pddl index 042fa7a46c64da7380bb42514fa6d970bef650ce..980233ee69abb114dac170b01fd0bd03e8a35d48 100644 --- a/src/final-attempt/pb5.pddl +++ b/src/final-attempt/pb5.pddl @@ -23,7 +23,7 @@ (monster_angry room_13) (monster_angry room_14) (monster_angry room_15) - ; (monster_angry room_16) + (monster_angry room_16) (monster_angry room_17) (sword_at room_2) (sword_at room_4) @@ -63,7 +63,7 @@ (valid_move room_10 room_9) (valid_move room_11 room_6) (valid_move room_11 room_12) - ; (valid_move room_11 room_16) + (valid_move room_11 room_16) ; (valid_move room_12 room_7) (valid_move room_12 room_13) (valid_move room_12 room_17) @@ -79,11 +79,11 @@ (valid_move room_15 room_10) (valid_move room_15 room_20) (valid_move room_15 room_14) - ; (valid_move room_16 room_11) - ; (valid_move room_16 room_17) + (valid_move room_16 room_11) + (valid_move room_16 room_17) (valid_move room_17 room_12) (valid_move room_17 room_18) - ; (valid_move room_17 room_16) + (valid_move room_17 room_16) (valid_move room_18 room_13) (valid_move room_18 room_19) (valid_move room_18 room_17) diff --git a/src/final-attempt/without-goal/pb5.pddl b/src/final-attempt/without-goal/pb5.pddl index a4b1cd9045bc45f66c3936a5531bd8639a23200e..de1366986e99d49e82dc58211f9fa0b1a3d2ed3f 100644 --- a/src/final-attempt/without-goal/pb5.pddl +++ b/src/final-attempt/without-goal/pb5.pddl @@ -61,7 +61,7 @@ (valid_move room_10 room_9) (valid_move room_11 room_6) (valid_move room_11 room_12) - ; (valid_move room_11 room_16) + (valid_move room_11 room_16) ; (valid_move room_12 room_7) (valid_move room_12 room_13) (valid_move room_12 room_17) @@ -77,11 +77,11 @@ (valid_move room_15 room_10) (valid_move room_15 room_20) (valid_move room_15 room_14) - ; (valid_move room_16 room_11) - ; (valid_move room_16 room_17) + (valid_move room_16 room_11) + (valid_move room_16 room_17) (valid_move room_17 room_12) (valid_move room_17 room_18) - ; (valid_move room_17 room_16) + (valid_move room_17 room_16) (valid_move room_18 room_13) (valid_move room_18 room_19) (valid_move room_18 room_17)