From 4de4e2dca671e0e35e14b0a46dfe6aa42e0efe58 Mon Sep 17 00:00:00 2001 From: Chipe1 Date: Fri, 31 Mar 2017 03:34:15 +0530 Subject: [PATCH 1/3] Removed redundant condition --- planning.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/planning.py b/planning.py index b92cb6eaa..3037e179a 100644 --- a/planning.py +++ b/planning.py @@ -150,7 +150,7 @@ def spare_tire(): expr('At(Spare, Trunk)')] def goal_test(kb): - required = [expr('At(Spare, Axle)'), expr('At(Flat, Ground)')] + required = [expr('At(Spare, Axle)')] for q in required: if kb.ask(q) is False: return False From 74ee6f664eeab7b36b981b2b40ce5a9762874b1e Mon Sep 17 00:00:00 2001 From: Chipe1 Date: Fri, 31 Mar 2017 03:48:08 +0530 Subject: [PATCH 2/3] moved gola_test inside function --- planning.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/planning.py b/planning.py index 3037e179a..ecad20dd5 100644 --- a/planning.py +++ b/planning.py @@ -516,18 +516,17 @@ def extract_solution(self, goals_pos, goals_neg, index): return solution -def goal_test(kb, goals): - for q in goals: - if kb.ask(q) is False: - return False - return True - - def spare_tire_graphplan(): pdll = spare_tire() negkb = FolKB([expr('At(Flat, Trunk)')]) graphplan = GraphPlan(pdll, negkb) + def goal_test(kb, goals): + for q in goals: + if kb.ask(q) is False: + return False + return True + # Not sure goals_pos = [expr('At(Spare, Axle)'), expr('At(Flat, Ground)')] goals_neg = [] From c500770cda7d2d2ae3a198de5cf1c2e04d5470bf Mon Sep 17 00:00:00 2001 From: Chipe1 Date: Fri, 31 Mar 2017 04:04:27 +0530 Subject: [PATCH 3/3] refactor goal_test() --- planning.py | 30 ++++++------------------------ 1 file changed, 6 insertions(+), 24 deletions(-) diff --git a/planning.py b/planning.py index ecad20dd5..f80a576af 100644 --- a/planning.py +++ b/planning.py @@ -109,10 +109,7 @@ def air_cargo(): def goal_test(kb): required = [expr('At(C1 , JFK)'), expr('At(C2 ,SFO)')] - for q in required: - if kb.ask(q) is False: - return False - return True + return all([kb.ask(q) is not False for q in required]) # Actions @@ -151,10 +148,7 @@ def spare_tire(): def goal_test(kb): required = [expr('At(Spare, Axle)')] - for q in required: - if kb.ask(q) is False: - return False - return True + return all(kb.ask(q) is not False for q in required) # Actions @@ -196,10 +190,7 @@ def three_block_tower(): def goal_test(kb): required = [expr('On(A, B)'), expr('On(B, C)')] - for q in required: - if kb.ask(q) is False: - return False - return True + return all(kb.ask(q) is not False for q in required) # Actions @@ -227,10 +218,7 @@ def have_cake_and_eat_cake_too(): def goal_test(kb): required = [expr('Have(Cake)'), expr('Eaten(Cake)')] - for q in required: - if kb.ask(q) is False: - return False - return True + return all(kb.ask(q) is not False for q in required) # Actions @@ -522,10 +510,7 @@ def spare_tire_graphplan(): graphplan = GraphPlan(pdll, negkb) def goal_test(kb, goals): - for q in goals: - if kb.ask(q) is False: - return False - return True + return all(kb.ask(q) is not False for q in goals) # Not sure goals_pos = [expr('At(Spare, Axle)'), expr('At(Flat, Ground)')] @@ -551,10 +536,7 @@ def double_tennis_problem(): def goal_test(kb): required = [expr('Goal(Returned(Ball))'), expr('At(a, RightNet)'), expr('At(a, LeftNet)')] - for q in required: - if kb.ask(q) is False: - return False - return True + return all(kb.ask(q) is not False for q in required) # Actions