Exemplo n.º 1
0
 def _build_wrapped_situation_space_from_ling_vars(self, ling_vars):
     situation_space_builder = DataSpaceBuilder()
     for ling_var in ling_vars:
         dim_upper = (len(ling_var.membership_funcs) - 1)
         dim = Dimension(lower=0, upper=dim_upper)
         situation_space_builder.add_dim(dim)
     return situation_space_builder.create_space()
Exemplo n.º 2
0
 def _gen_continuous_obs_space(self, wrapped_env):
     lower_vector = wrapped_env.observation_space.low
     upper_vector = wrapped_env.observation_space.high
     obs_space_builder = DataSpaceBuilder()
     for (lower, upper) in zip(lower_vector, upper_vector):
         obs_space_builder.add_dim(Dimension(lower, upper))
     return obs_space_builder.create_space()
Exemplo n.º 3
0
    def create_obs_space(self):
        """Need to build obs space for real mux manually because its
        randomly generated data may not cover the entire [0.0, 1.0] range on
        one or all feautre dimensions.

        Automatic obs space generation in ClassificationEnvironment may
        therefore not create the truly correct obs space, hence creating it
        here is necessary."""
        num_features = self._total_bits
        obs_space_builder = DataSpaceBuilder()
        for _ in range(num_features):
            obs_space_builder.add_dim(Dimension(0.0, 1.0))
        return obs_space_builder.create_space()
Exemplo n.º 4
0
 def _gen_custom_obs_space(self):
     obs_space_builder = DataSpaceBuilder()
     # order of dims is [cart_pos, cart_vel, pole_ang, pole_vel]
     obs_space_builder.add_dim(Dimension(_CART_POS_LOWER, _CART_POS_UPPER))
     obs_space_builder.add_dim(Dimension(_CART_VEL_LOWER, _CART_VEL_UPPER))
     obs_space_builder.add_dim(Dimension(_POLE_ANG_LOWER, _POLE_ANG_UPPER))
     obs_space_builder.add_dim(Dimension(_POLE_VEL_LOWER, _POLE_VEL_UPPER))
     return obs_space_builder.create_space()
Exemplo n.º 5
0
 def _gen_obs_space(self, data):
     obs_space_builder = DataSpaceBuilder()
     for column_idx in range(self._num_features):
         feature_vec = data.iloc[:, column_idx]
         obs_space_builder.add_dim(self._make_obs_space_dim(feature_vec))
     return obs_space_builder.create_space()
 def _make_single_dim_situation_space(dim):
     builder = DataSpaceBuilder()
     builder.add_dim(dim)
     return builder.create_space()
Exemplo n.º 7
0
 def _gen_x_y_coordinates_obs_space(self, grid_size):
     obs_space_builder = DataSpaceBuilder()
     for _ in range(2):  # x, y
         obs_space_builder.add_dim(Dimension(0, grid_size - 1))
     return obs_space_builder.create_space()
Exemplo n.º 8
0
 def _gen_discrete_obs_space(self, wrapped_env):
     num_obss = wrapped_env.observation_space.n
     obs_space_builder = DataSpaceBuilder()
     obs_space_builder.add_dim(Dimension(lower=0, upper=(num_obss - 1)))
     return obs_space_builder.create_space()
Exemplo n.º 9
0
 def _gen_unit_hypercube_obs_space(self, num_dimensions):
     obs_space_builder = DataSpaceBuilder()
     for _ in range(num_dimensions):
         obs_space_builder.add_dim(Dimension(0.0, 1.0))
     return obs_space_builder.create_space()
Exemplo n.º 10
0
 def _gen_custom_obs_space(self):
     obs_space_builder = DataSpaceBuilder()
     # order of dims is [pos, vel]
     obs_space_builder.add_dim(Dimension(_POS_LOWER, _POS_UPPER))
     obs_space_builder.add_dim(Dimension(_VEL_LOWER, _VEL_UPPER))
     return obs_space_builder.create_space()