Пример #1
0
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)
Пример #2
0
    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)
Пример #3
0
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)
Пример #4
0
 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)
         )
Пример #5
0
    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)