From 9b72454987433bba2507aac4b30a51dcee3a0032 Mon Sep 17 00:00:00 2001 From: Claudio Scheer Date: Mon, 25 May 2020 20:01:53 -0300 Subject: [PATCH] Make actions respect dependencies --- implementation/program-1/compiler.pddl | 13 +++++++++---- implementation/program-1/program1.pddl | 9 +++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/implementation/program-1/compiler.pddl b/implementation/program-1/compiler.pddl index 9fc6ef5..dac6e97 100644 --- a/implementation/program-1/compiler.pddl +++ b/implementation/program-1/compiler.pddl @@ -10,17 +10,22 @@ ) (:predicates - (variable_value ?variable - variable_name ?value - variable_value ?id - id) + (variable_value ?variable - variable_name ?value - variable_value ?id - id ?dependency_id - id) (operation_executed ?operation_id - operation ?id - id) + (dependencies ?id - id) ) (:action assignment - :parameters (?var - variable_name ?value - variable_value ?operation_id - operation ?id_variable_value - id ?id_assignment - id) + :parameters (?var - variable_name ?value - variable_value ?operation_id - operation ?id_variable_value - id ?id_assignment - id ?dependency_id - id) :precondition (and (not (operation_executed ?operation_id ?id_assignment)) - (variable_value ?var ?value ?id_variable_value) + (variable_value ?var ?value ?id_variable_value ?dependency_id) + (dependencies ?dependency_id) (= ?id_variable_value ?id_assignment) ) - :effect (and (operation_executed ?operation_id ?id_assignment)) + :effect (and + (operation_executed ?operation_id ?id_assignment) + (dependencies ?id_variable_value) + ) ) ) \ No newline at end of file diff --git a/implementation/program-1/program1.pddl b/implementation/program-1/program1.pddl index 76d2cc1..ff0514a 100644 --- a/implementation/program-1/program1.pddl +++ b/implementation/program-1/program1.pddl @@ -3,13 +3,14 @@ sumAB assignmentA assignmentB assignmentC - operation varA varB varC - variable_name valueA valueB valueC - variable_value - id1 id2 id3 - id + id0 id1 id2 id3 - id ) (:init - (variable_value varA valueA id1) - (variable_value varB valueB id2) - (variable_value varC valueC id3) + (dependencies id0) + (variable_value varA valueA id1 id0) + (variable_value varB valueB id2 id1) + (variable_value varC valueC id3 id2) ) (:goal (and -- GitLab