def taxid(): env = init_taxi_d(seed=1234) target = list(env.decode(env.s)) print(target) goalspec = 'F P_[PI]['+str(3)+',none,==]' keys = ['L', 'PI', 'DI'] actions = [0, 1, 2, 3, 5] root = goalspec2BT(goalspec, planner=None) behaviour_tree = BehaviourTree(root) child = behaviour_tree.root planner = GenRecPropTaxi( env, keys, child.name, dict(), actions=actions, max_trace=5, seed=123) child.setup(0, planner, True, 5) # 4,3,4,3 # print(child.goalspec, child.planner.goalspec, child.planner.env) for i in range(5): behaviour_tree.tick( pre_tick_handler=reset_env_d(env) ) print(i, behaviour_tree.root.status) child.train = False for i in range(1): behaviour_tree.tick( pre_tick_handler=reset_env_d(env) ) print(i, behaviour_tree.root.status)
def setUp(self): env = init_taxi_s(seed=1234) # target = list(env.decode(env.s)) goalspec = 'F P_[PI]['+str(4)+',none,==]' keys = ['L', 'PI', 'DI'] actions = [0, 1, 2, 3, 4, 5] root = goalspec2BT(goalspec, planner=None) self.behaviour_tree = BehaviourTree(root) child = self.behaviour_tree.root planner = GenRecPropTaxi( env, keys, child.name, dict(), actions=actions, max_trace=5, seed=123) child.setup(0, planner, True, 5) print(child.goalspec, child.planner.goalspec, child.planner.env) for i in range(5): self.behaviour_tree.tick( pre_tick_handler=reset_env_s(env) ) # child.setup(0, planner, True, 40) child.train = False print(child, child.name, child.train) for i in range(1): self.behaviour_tree.tick( pre_tick_handler=reset_env_s(env) ) print('inference', self.behaviour_tree.root.status)
def taxi(): env = init_taxi(seed=1234) target = list(env.decode(env.s)) print(target) goalspec = '((((F(P_[L]['+give_loc(target[2])+',none,==])) U (F(P_[PI]['+str(4)+',none,==]))) U (F(P_[L]['+give_loc(target[3])+',none,==]))) U (F(P_[PI]['+str(target[3])+',none,==])))' # noqa: E501 # goalspec = 'F P_[L]['+give_loc(target[2])+',none,==] U F P_[PI]['+str(4)+',none,==]' # noqa: E501 keys = ['L', 'PI', 'DI'] # actions = [[0, 1, 2, 3], [4], [0, 1, 2, 3], [5]] actions = [0, 1, 2, 3, 4, 5] root = goalspec2BT(goalspec, planner=None) print('root', root) behaviour_tree = BehaviourTree(root) # display_bt(behaviour_tree) epoch = [80, 50, 80, 50] j = 0 for child in behaviour_tree.root.children: print('children', child, child.name, child.id) planner = GenRecPropTaxi( env, keys, child.name, dict(), actions=actions, max_trace=40, seed=1) child.setup(0, planner, True, epoch[j]) j += 1 # planner.env = env # print(child.goalspec, child.planner.goalspec, child.planner.env) # print('rootname', behaviour_tree.root.name) # behaviour_tree.root.remove_child_by_id(id) # display_bt(behaviour_tree) for i in range(200): behaviour_tree.tick( pre_tick_handler=reset_env(env) ) print('Training', behaviour_tree.root.status) for child in behaviour_tree.root.children: # child.setup(0, planner, True, 20) child.train = False # print(child, child.name, child.train) for i in range(2): behaviour_tree.tick( pre_tick_handler=reset_env(env) ) print('Inference', behaviour_tree.root.status)
def setUp(self): env = init_taxi(seed=1234) target = list(env.decode(env.s)) goalspec = 'F(P_[L]['+give_loc(target[2])+',none,==])' keys = ['L', 'PI', 'DI'] actions = [0, 1, 2, 3] root = goalspec2BT(goalspec, planner=None) self.behaviour_tree = BehaviourTree(root) child = self.behaviour_tree.root planner = GenRecPropTaxi( env, keys, None, dict(), actions=actions, max_trace=40, seed=1234) child.setup(0, planner, True, 50) print(child.goalspec, child.planner.goalspec, child.planner.env) for i in range(50): self.behaviour_tree.tick( pre_tick_handler=reset_env(env) )
def setUp(self): env = init_taxi(seed=1234) target = list(env.decode(env.s)) print(target) goalspec = '((((F(P_[L]['+give_loc(target[2])+',none,==])) U (F(P_[PI]['+str(4)+',none,==]))) U (F(P_[L]['+give_loc(target[3])+',none,==]))) U (F(P_[PI]['+str(target[3])+',none,==])))' # noqa: E501 keys = ['L', 'PI', 'DI'] actions = [0, 1, 2, 3, 4, 5] root = goalspec2BT(goalspec, planner=None) # print('root', root) self.behaviour_tree = BehaviourTree(root) epoch = [80, 50, 80, 50] j = 0 for child in self.behaviour_tree.root.children: # print('children', child, child.name, child.id) planner = GenRecPropTaxi( env, keys, child.name, dict(), actions=actions, max_trace=40, seed=1) child.setup(0, planner, True, epoch[j]) j += 1 # Training for i in range(200): self.behaviour_tree.tick( pre_tick_handler=reset_env(env) ) print('Training', self.behaviour_tree.root.status) # Inference for child in self.behaviour_tree.root.children: child.train = False # print(child, child.name, child.train) for i in range(2): self.behaviour_tree.tick( pre_tick_handler=reset_env(env) ) print('inference', self.behaviour_tree.root.status)