From d1e0cb891acc9a51db92261c18c31b18aa6b7542 Mon Sep 17 00:00:00 2001 From: Naveen Sundar Govindarajulu Date: Wed, 18 Jan 2017 22:58:41 -0500 Subject: [PATCH] Some more tweaks --- snark-20120808r02/snark-interface.lisp | 18 ++---- src/main/java/edu/rpi/rair/utils/RunDemo.java | 21 ++++-- ...acking_tests.clj => goal_management_1.clj} | 7 ++ .../edu/rpi/rair/goal_management_2.clj | 61 ++++++++---------- .../java/edu/rpi/rair/GoalTrackerTest.java | 2 +- .../classes/edu/rpi/rair/utils/RunDemo.class | Bin 6385 -> 0 bytes .../edu/rpi/rair/GoalTrackerTest.class | Bin 2775 -> 0 bytes 7 files changed, 55 insertions(+), 54 deletions(-) rename src/main/resources/edu/rpi/rair/{goal_tracking_tests.clj => goal_management_1.clj} (92%) rename target/classes/edu/rpi/rair/goal_tracking_tests.clj => src/main/resources/edu/rpi/rair/goal_management_2.clj (55%) delete mode 100644 target/classes/edu/rpi/rair/utils/RunDemo.class delete mode 100644 target/test-classes/edu/rpi/rair/GoalTrackerTest.class diff --git a/snark-20120808r02/snark-interface.lisp b/snark-20120808r02/snark-interface.lisp index 6149fb0..d505964 100644 --- a/snark-20120808r02/snark-interface.lisp +++ b/snark-20120808r02/snark-interface.lisp @@ -66,14 +66,14 @@ (setup-snark :time-limit time-limit :verbose verbose) (if sortal-setup-fn (funcall sortal-setup-fn)) (let* ((n-a (make-hash-table :test #'equalp)) - (a-n (make-hash-table :test #'equalp))) + (a-n (make-hash-table :test #'equalp)) + ) (mapcar (lambda (axiom) (let ((name (gensym))) (setf (gethash (princ-to-string axiom) a-n) name) (setf (gethash (princ-to-string name) n-a) axiom))) axioms) (mapcar (lambda (axiom) - (snark::assert axiom :name (gethash (princ-to-string axiom) a-n) - )) + (snark::assert axiom)) (mapcar #'!@ axioms)) (if (equalp :PROOF-FOUND (snark:prove (!@ f))) (list t (remove nil @@ -101,8 +101,7 @@ (setf (gethash (princ-to-string axiom) a-n) name) (setf (gethash (princ-to-string name) n-a) axiom))) axioms) (mapcar (lambda (axiom) - (snark::assert axiom :name (gethash (princ-to-string axiom) a-n) - )) + (snark::assert axiom)) (mapcar #'!@ axioms)) (if (equalp :PROOF-FOUND (snark:prove (!@ f))) "YES" @@ -126,8 +125,7 @@ (setf (gethash (princ-to-string axiom) a-n) name) (setf (gethash (princ-to-string name) n-a) axiom))) axioms) (mapcar (lambda (axiom) - (snark::assert axiom :name (gethash (princ-to-string axiom) a-n) - )) + (snark::assert axiom)) (mapcar #'!@ axioms)) (let ((proof (snark:prove (!@ f) :answer (!@ (list 'ans var)) ))) @@ -154,8 +152,7 @@ (setf (gethash (princ-to-string axiom) a-n) name) (setf (gethash (princ-to-string name) n-a) axiom))) axioms) (mapcar (lambda (axiom) - (snark::assert axiom :name (gethash (princ-to-string axiom) a-n) - )) + (snark::assert axiom)) (mapcar #'!@ axioms)) (let ((proof (snark:prove (!@ f) :answer (!@ (cons 'ans vars)) ))) @@ -179,8 +176,7 @@ (setf (gethash (princ-to-string axiom) a-n) name) (setf (gethash (princ-to-string name) n-a) axiom))) axioms) (mapcar (lambda (axiom) - (snark::assert axiom :name (gethash (princ-to-string axiom) a-n) - )) + (snark::assert axiom)) (mapcar #'!@ axioms)) (let ((proof (snark:prove (!@ f) :answer (!@ (cons 'ans vars)) ))) diff --git a/src/main/java/edu/rpi/rair/utils/RunDemo.java b/src/main/java/edu/rpi/rair/utils/RunDemo.java index 777dcdd..eb4cced 100644 --- a/src/main/java/edu/rpi/rair/utils/RunDemo.java +++ b/src/main/java/edu/rpi/rair/utils/RunDemo.java @@ -22,7 +22,7 @@ public class RunDemo { public static void main(String[] args) throws Reader.ParsingException { - List goalTrackingProblemList = (GoalTrackingProblem.readFromFile(Planner.class.getResourceAsStream("goal_tracking_tests.clj"))); + List goalTrackingProblemList = (GoalTrackingProblem.readFromFile(Planner.class.getResourceAsStream("goal_management_2.clj"))); GoalTrackingProblem goalTrackingProblem = goalTrackingProblemList.get(0); @@ -31,18 +31,25 @@ public class RunDemo { goalTrackingProblem.getPlanningProblem().getStart(), goalTrackingProblem.getPlanningProblem().getActions()); + long start = System.currentTimeMillis(); Goal g1 = goalTrackingProblem.getGoalNamed("G1"); Goal g2 = goalTrackingProblem.getGoalNamed("G2"); - Goal g3 = goalTrackingProblem.getGoalNamed("G3"); - Goal g4 = goalTrackingProblem.getGoalNamed("G4"); - Goal g5 = goalTrackingProblem.getGoalNamed("G5"); tryAndAddGoal(g1, goalTracker); tryAndAddGoal(g2, goalTracker); - tryAndAddGoal(g3, goalTracker); - tryAndAddGoal(g4, goalTracker); - tryAndAddGoal(g5, goalTracker); + + long end = System.currentTimeMillis(); + + cp.println("--------------------------"); + cp.setForegroundColor(Ansi.FColor.CYAN); + + cp.print("Time Taken:"); + cp.clear(); + cp.print(" "); + cp.setAttribute(Ansi.Attribute.BOLD); + cp.print((end-start)/1000 + "s"); + } diff --git a/src/main/resources/edu/rpi/rair/goal_tracking_tests.clj b/src/main/resources/edu/rpi/rair/goal_management_1.clj similarity index 92% rename from src/main/resources/edu/rpi/rair/goal_tracking_tests.clj rename to src/main/resources/edu/rpi/rair/goal_management_1.clj index d7443cc..d6a8f03 100644 --- a/src/main/resources/edu/rpi/rair/goal_tracking_tests.clj +++ b/src/main/resources/edu/rpi/rair/goal_management_1.clj @@ -57,6 +57,13 @@ :additions [(interrogates commander prisoner)] :deletions []}) + + (define-action stay-put [?x ?y] + {:preconditions [(sameroom ?x ?y)] + + :additions [(sameroom ?x ?y)] + + :deletions []}) ] } diff --git a/target/classes/edu/rpi/rair/goal_tracking_tests.clj b/src/main/resources/edu/rpi/rair/goal_management_2.clj similarity index 55% rename from target/classes/edu/rpi/rair/goal_tracking_tests.clj rename to src/main/resources/edu/rpi/rair/goal_management_2.clj index d7443cc..bbdc345 100644 --- a/target/classes/edu/rpi/rair/goal_tracking_tests.clj +++ b/src/main/resources/edu/rpi/rair/goal_management_2.clj @@ -1,21 +1,23 @@ {:definitions - {:name "demo 1" - :background [ - (forall [?x ?room1 ?room2] - (if (not (= ?room1 ?room2)) - (if (in ?x ?room1) (not (in ?x ?room2))) )) - (not (= room1 room2)) - (not (= prisoner commander)) - (not (= self prisoner)) - (not (= self commander)) - (person prisoner) - (person commander) - ] - :start [(in self room1) + {:name "test" + :background [] + :start [ + (forall [?x ?room1 ?room2] (implies (and (not (= ?room1 ?room2)) (in ?x ?room1)) (not (in ?x ?room2)))) + (not (= room1 room2)) + (not (= prisoner commander)) + (not (= self prisoner)) + (not (= self commander)) + (person prisoner) + (person commander) + (in self room1) (in commander room2) (in prisoner room1) (open (door room2)) - (not (open (door room1)))] + (not (open (door room1))) + + (forall [?x ?y ?room] (implies (and (and (in ?x ?room) (in ?y ?room)) (not (= ?x ?y))) (sameroom ?x ?y))) + (forall [?x ?y] (exists ?room (implies (sameroom ?x ?y) (and (in ?x ?room) (in ?y ?room)) )) ) + ] :goal [] @@ -28,8 +30,7 @@ (define-action accompany [?person ?room1 ?room2] - {:preconditions [(not (= ?room1 ?room2)) - (in ?person ?room1) + {:preconditions [(in ?person ?room1) (in self ?room1) (open (door ?room1)) (open (door ?room2))] @@ -41,8 +42,7 @@ (in self ?room1)]}) (define-action move [?person ?room2 ?room1] - {:preconditions [(not (= ?room1 ?room2)) - (in ?person ?room2) + {:preconditions [(in ?person ?room2) (open (door ?room1)) (open (door ?room2))] @@ -57,24 +57,15 @@ :additions [(interrogates commander prisoner)] :deletions []}) + + ] } - :goals {G1 {:priority 6.0 - :state [(not (open (door room1)))]} + :goals {G1 {:priority 1.0 + :state [(sameroom self prisoner)]} - G2 {:priority 6.0 - :state [(in prisoner room1)]} - - G3 {:priority 6.0 - :state [(forall [?room] - (if (in prisoner ?room) - (in self ?room)))]} - G4 {:priority 3.0 - :state [(in prisoner room2) - (in self room2)]} - G5 {:priority 2.0 - - :state [(interrogates commander prisoner)]}} - - } \ No newline at end of file + G2 {:priority 2.0 + :state [(in prisoner room2)]} + } + } diff --git a/src/test/java/edu/rpi/rair/GoalTrackerTest.java b/src/test/java/edu/rpi/rair/GoalTrackerTest.java index 9b7dd60..281e566 100644 --- a/src/test/java/edu/rpi/rair/GoalTrackerTest.java +++ b/src/test/java/edu/rpi/rair/GoalTrackerTest.java @@ -17,7 +17,7 @@ public class GoalTrackerTest { public static void main(String[] args) throws Reader.ParsingException { - List goalTrackingProblemList = (GoalTrackingProblem.readFromFile(Planner.class.getResourceAsStream("goal_tracking_tests.clj"))); + List goalTrackingProblemList = (GoalTrackingProblem.readFromFile(Planner.class.getResourceAsStream("goal_management_1.clj"))); GoalTrackingProblem goalTrackingProblem = goalTrackingProblemList.get(0); diff --git a/target/classes/edu/rpi/rair/utils/RunDemo.class b/target/classes/edu/rpi/rair/utils/RunDemo.class deleted file mode 100644 index 688e49ea267168d5258620cf18a099401b1bdea0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6385 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

2$%w-D3wiRlFE^i`k2Kn@q(jm?tx zqU21O&xF2(b5)f5Bla7ZkGuI}{12(uz|ZkZ_795l#Il_Yc$obv_K&cS>}(L-qF3|~ S*N3=IBKa_7eFPuHUH=Dp)4Q+$ diff --git a/target/test-classes/edu/rpi/rair/GoalTrackerTest.class b/target/test-classes/edu/rpi/rair/GoalTrackerTest.class deleted file mode 100644 index 18ce583107cc80f6eb9d3bf07fe66530ed1a0ff3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2775 zcmb7G+jkR19R8+F*)&~R2(%DDELb5erOREVfK4kc(a@H*l$!|KWDHx9-MG6c)cXbR z=#$46U-VgD^dYF6Ltn{BUrq>E6%+US>8~#u&5!cBL}JDb>ubN z(P3dx;6Q_vbyXGE*#KOnmyWwAXejEi;piyg4IQpp^@0{L&__1v>{-ur6%r_7G>7g@KE5avf4J6q_n-V zonws{-W@aN+%rn9vm{+3^!1E1X>s4Q>3Y<8B^N05-&>RV5WC(^enL+PuP)GJWnE7-ldwyN131TR~VCOenT ztN&lZJ*oVFR zaijiPAk<^SaX-Hd&VqB>z$1vCgX3p7ZVEQL(8skN0`M#j@T(mMk)#lk#cj0lANVQW z5^t>_@+;ahhgyHbrWX7O?c!rZuMJkvUO_CJI>JeRgw2zW(RnS>`UqVWY&jiCM1H~6 z3gT+sR>Af}B;H*?Pa;ymjy2A9*3J$O#uF9ns$ln(HDG&I!JewZl#Q)WHqN7)<92jl z2YQg8MZ3_C-8fEHrRbnEcPt0nC&65(S2%NWE14B;Ui_zjNWI~>LLIEEi_ zD)8Bf&@V&}@Qx1rfJ0=kLE&2*Ca;CJER%bLx}^Bn9wj%zz0lhs{si$Sxf9`hij3#D kZo%`&aNf_|PHOlH<8cbNvA}r>_wnXPg1