示例#1
0
def Copy(env):
    n_env = helicopter.EnvMakerForestFire(
        init_pos_row=env.pos_row,
        init_pos_col=env.pos_col,
        n_row=env.n_row,
        n_col=env.n_col,
        p_tree=env.p_tree,
        p_fire=env.p_fire,
        moves_before_updating=env.moves_before_updating,
        reward_type=env.reward_type,
        reward_tree=env.reward_tree,
        reward_fire=env.reward_fire,
        reward_empty=env.reward_empty,
        reward_hit=env.reward_hit,
        sub_tree=env.sub_tree,
        sub_empty=env.sub_empty,
        sub_fire=env.sub_fire,
        sub_rock=env.sub_rock,
        sub_lake=env.sub_lake,
        ip_tree=env.ip_tree,
        ip_empty=env.ip_empty,
        ip_fire=env.ip_fire,
        ip_rock=env.ip_rock,
        ip_lake=env.ip_lake)
    n_env.grid = copy.deepcopy(env.grid)
    n_env.total_reward = copy.deepcopy(env.total_reward)
    n_env.total_hits = copy.deepcopy(env.total_hits)
    n_env.remaining_moves = copy.deepcopy(env.remaining_moves)

    return n_env
示例#2
0
class ForestFireEnv0(gym.Env):
    metadata = {'render.modes': ['human']}
    # Parameters
    maker_params = {'env_mode': 'stochastic',
                 'n_row': 16, 'n_col': 16, 'p_tree': 0.100, 'p_fire': 0.005,
                 'init_pos_row': 8, 'init_pos_col': 8,
                 'termination_type': 'continuing', 'reward_type': 'cells', 'observation_mode': 'plain'}
    cell_symbols = {'tree': 0.77, 'empty': 0.66, 'fire': -1.0, 'rock': 0.88, 'lake': 0.99}
    substitution_effects = {'sub_tree': None, 'sub_empty': None, 'sub_fire': 'empty', 'sub_rock': None, 'sub_lake': None}
    reward_values = {'reward_tree': 0.0, 'reward_fire': -1.0, 'reward_empty': 0.0, 'reward_hit': None,}
    init_cell_probs = {'ip_tree': 0.75, 'ip_empty': 0.25, 'ip_fire': None, 'ip_rock': 0.00, 'ip_lake': None}
    # Instantiated Environment
    env = helicopter.EnvMakerForestFire(**maker_params,
                                        **cell_symbols,
                                        **substitution_effects,
                                        **reward_values,
                                        **init_cell_probs)
    def reset(self):
    	return self.env.reset()
    def step(self, action):
    	return self.env.step(action)
    def render(self):
        return self.env.render()
    def close(self):
        return self.env.close()
示例#3
0
N_TRAIN = 15
N_STEPS = 20
N_SAMPLES = 30
K_Rollout = 3 * FREEZE
LOOKAHEAD = 4

if __name__ == '__main__':
    env = helicopter.EnvMakerForestFire(n_row=N_ROW,
                                        n_col=N_COL,
                                        p_tree=P_TREE,
                                        p_fire=P_FIRE,
                                        init_pos_row=Init_Row,
                                        init_pos_col=Init_Col,
                                        moves_before_updating=FREEZE,
                                        tree=TREE,
                                        empty=EMPTY,
                                        fire=FIRE,
                                        reward_type=C_TYPE,
                                        reward_tree=C_TREE,
                                        reward_fire=C_FIRE,
                                        reward_empty=C_EMPTY,
                                        reward_hit=C_HIT,
                                        reward_step=C_STEP,
                                        reward_move=C_MOVE)
    H = heuristic.Heuristic_m1_v3
    exp = rollout.Experiment(env,
                             H,
                             H_mode=13,
                             N_TRAIN=N_TRAIN,
                             N_STEPS=N_STEPS,
                             N_SAMPLES=N_SAMPLES,
示例#4
0
Init_Col = 7  #Helicopter initial col
P_FIRE = 0.03  #Probability to turn a green cell into ared cell
P_TREE = 0.1  #Probability to turn an empty cell into a green cell
# Symbols for cells
TREE = 0
FIRE = 2
EMPTY = 1
FREEZE = 8  #Movements of Helicopter after update Automata

if __name__ == '__main__':
    #Create a new enviroment with initial parameters
    env = helicopter.EnvMakerForestFire(n_row=N_ROW,
                                        n_col=N_COL,
                                        p_tree=P_TREE,
                                        p_fire=P_FIRE,
                                        init_pos_row=Init_Row,
                                        init_pos_col=Init_Col,
                                        moves_before_updating=FREEZE,
                                        tree=TREE,
                                        empty=EMPTY,
                                        fire=FIRE)

    # First observation
    observation = env.reset()

    #Create a copy of enviroment with initial observation
    env_1 = Copy(env)
    observation_1 = observation

    # Making checkpoints
    checkpoint_env = env.make_checkpoint()
    checkpoint_env_1 = env_1.make_checkpoint()