def make_world(self): world = World() # set any world properties first world.dim_c = 3 num_landmarks = 3 world.collaborative = True # add agents world.agents = [Agent() for i in range(2)] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False agent.size = 0.075 # speaker world.agents[0].movable = False # listener world.agents[1].silent = True # add landmarks world.landmarks = [Landmark() for i in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False landmark.size = 0.04 # make initial conditions self.reset_world(world) return world
def make_world(self, **kwargs): self.before_make_world(**kwargs) world = World() world.np_random = self.np_random # set any world properties first world.dim_c = 3 num_landmarks = 3 world.collaborative = True # add agents world.agents = [Agent() for _ in range(2)] world.policy_agents_groups = [0, 1] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False agent.size = 0.075 # speaker world.agents[0].movable = False # listener world.agents[1].silent = True # add landmarks world.landmarks = [Landmark() for _ in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False landmark.size = 0.04 self.change_entity_attribute(landmark, **kwargs) # make initial conditions self.reset_world(world) return world
def make_world(self, **kwargs): self.before_make_world(**kwargs) world = World() world.np_random = self.np_random # set any world properties first world.dim_c = 2 num_agents = 3 num_landmarks = 3 world.collaborative = True # add agents influences = [1, 1, 1] world.agents = [Agent() for _ in range(num_agents)] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = True agent.silent = True agent.size = 0.15 agent.set_influence(influences[i]) self.change_entity_attribute(agent, **kwargs) # add landmarks world.landmarks = [Landmark() for _ in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False self.change_entity_attribute(landmark, **kwargs) # make initial conditions self.reset_world(world) return world
def make_world(self): world = World() # set any world properties first world.dim_c = 2 num_good_agents = 1 num_adversaries = 3 num_agents = num_adversaries + num_good_agents num_landmarks = 2 # add agents world.agents = [Agent() for i in range(num_agents)] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = True agent.silent = True agent.adversary = True if i < num_adversaries else False agent.size = 0.075 if agent.adversary else 0.05 agent.accel = 3.0 if agent.adversary else 4.0 #agent.accel = 20.0 if agent.adversary else 25.0 agent.max_speed = 1.0 if agent.adversary else 1.3 # add landmarks world.landmarks = [Landmark() for i in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = True landmark.movable = False landmark.size = 0.2 landmark.boundary = False # make initial conditions self.reset_world(world) return world
def make_world(self, **kwargs): self.before_make_world(**kwargs) world = World() world.np_random = self.np_random # set any world properties first world.dim_c = 10 world.collaborative = True # whether agents share rewards # add agents world.agents = [Agent() for _ in range(2)] world.policy_agents_groups = [0, 0] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False # add landmarks world.landmarks = [Landmark() for _ in range(3)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False self.change_entity_attribute(landmark, **kwargs) # make initial conditions self.reset_world(world) return world
def make_world(self): world = World() # set any world properties first world.dim_c = 2 num_agents = 3 world.num_agents = num_agents num_adversaries = 1 num_landmarks = num_agents - 1 # add agents world.agents = [Agent() for i in range(num_agents)] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False agent.silent = True agent.adversary = True if i < num_adversaries else False agent.size = 0.15 # add landmarks world.landmarks = [Landmark() for i in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False landmark.size = 0.08 # make initial conditions self.reset_world(world) return world
def make_world(self, **kwargs): self.before_make_world(**kwargs) world = World() world.np_random = self.np_random # add agents world.agents = [Agent() for _ in range(1)] world.policy_agents_groups = [0] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False agent.silent = True self.change_entity_attribute(agent, **kwargs) # add landmarks world.landmarks = [Landmark() for _ in range(1)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False self.change_entity_attribute(landmark, **kwargs) # make initial conditions self.reset_world(world) return world
def make_world(self, N): world = World() # set any world properties first world.dim_c = 2 num_agents = N num_landmarks = 2 world.collaborative = True self.cooperative = True # generate colors: self.colors = [np.random.random(3) for _ in range(num_agents)] # add agents world.agents = [Agent() for i in range(num_agents)] for i, agent in enumerate(world.agents): agent.name = "agent_{}".format(i) agent.collide = False agent.silent = True agent.size = 0.1 agent.color = self.colors[i] # add landmarks world.landmarks = [Landmark() for i in range(num_landmarks)] self.landmark_colors = [(0, 0, 1), (1, 0, 0)] for i, landmark in enumerate(world.landmarks): landmark.size = 0.1 landmark.name = "landmark %d" % i landmark.collide = False landmark.movable = False landmark.color = self.landmark_colors[i] self.reset_world(world) return world
def make_world(self, **kwargs): self.before_make_world(**kwargs) world = World() world.np_random = self.np_random # set any world properties first num_agents = 3 num_adversaries = 1 num_landmarks = 2 world.dim_c = 4 # add agents world.agents = [CryptoAgent() for _ in range(num_agents)] world.policy_agents_groups = [0, 1, 2] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False agent.adversary = True if i < num_adversaries else False agent.speaker = True if i == 2 else False agent.movable = False self.change_entity_attribute(agent, **kwargs) # add landmarks world.landmarks = [Landmark() for _ in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False self.change_entity_attribute(landmark, **kwargs) # make initial conditions self.reset_world(world) return world
def make_world(self): world = World() # set any world properties first world.dim_c = 4 #world.damping = 1 num_good_agents = 2 num_adversaries = 4 num_agents = num_adversaries + num_good_agents num_landmarks = 1 num_food = 2 num_forests = 2 # add agents world.agents = [Agent() for i in range(num_agents)] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = True agent.leader = True if i == 0 else False agent.silent = True if i > 0 else False agent.adversary = True if i < num_adversaries else False agent.size = 0.075 if agent.adversary else 0.045 agent.accel = 3.0 if agent.adversary else 4.0 #agent.accel = 20.0 if agent.adversary else 25.0 agent.max_speed = 1.0 if agent.adversary else 1.3 # add landmarks world.landmarks = [Landmark() for i in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = True landmark.movable = False landmark.size = 0.2 landmark.boundary = False world.food = [Landmark() for i in range(num_food)] for i, landmark in enumerate(world.food): landmark.name = 'food %d' % i landmark.collide = False landmark.movable = False landmark.size = 0.03 landmark.boundary = False world.forests = [Landmark() for i in range(num_forests)] for i, landmark in enumerate(world.forests): landmark.name = 'forest %d' % i landmark.collide = False landmark.movable = False landmark.size = 0.3 landmark.boundary = False world.landmarks += world.food world.landmarks += world.forests #world.landmarks += self.set_boundaries(world) # world boundaries now penalized with negative reward # make initial conditions self.reset_world(world) return world
def make_world(self): world = World() # set any world properties first world.dim_c = 5 num_listeners = 4 num_speakers = 4 num_landmarks = 6 world.landmark_colors = np.array( sns.color_palette(n_colors=num_landmarks)) world.listeners = [] for li in range(num_listeners): agent = Agent() agent.i = li agent.name = 'agent %i' % agent.i agent.listener = True agent.collide = False agent.size = 0.075 agent.silent = True agent.accel = 1.5 agent.initial_mass = 1.0 agent.max_speed = 1.0 world.listeners.append(agent) world.speakers = [] for si in range(num_speakers): agent = Agent() agent.i = si + num_listeners agent.name = 'agent %i' % agent.i agent.listener = False agent.collide = False agent.size = 0.075 agent.movable = False agent.accel = 1.5 agent.initial_mass = 1.0 agent.max_speed = 1.0 world.speakers.append(agent) world.agents = world.listeners + world.speakers # add landmarks world.landmarks = [Landmark() for i in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.i = i + num_listeners + num_speakers landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False landmark.size = 0.04 landmark.color = world.landmark_colors[i] # make initial conditions self.reset_world(world) self.reset_cached_rewards() return world
def make_world(self): world = World() # add agents world.agents = [Agent() for i in range(1)] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False agent.silent = True # add landmarks world.landmarks = [Landmark() for i in range(1)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False # make initial conditions self.reset_world(world) return world
def make_world(self): world = World() # set any world properties first world.dim_c = 10 world.collaborative = True # whether agents share rewards # add agents world.agents = [Agent() for i in range(2)] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False # add landmarks world.landmarks = [Landmark() for i in range(3)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False # make initial conditions self.reset_world(world) return world
def make_world(self, **kwargs): self.before_make_world(**kwargs) world = World() world.np_random = self.np_random # set any world properties first world.dim_c = 2 num_good_agents = 1 num_adversaries = 3 num_agents = num_adversaries + num_good_agents num_landmarks = 2 # add agents world.agents = [Agent() for _ in range(num_agents)] world.policy_agents_groups = [0] * num_adversaries + [1] * ( num_agents - num_adversaries) for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = True agent.silent = True agent.adversary = True if i < num_adversaries else False agent.size = 0.075 if agent.adversary else 0.05 agent.accel = 3.0 if agent.adversary else 4.0 #agent.accel = 20.0 if agent.adversary else 25.0 agent.max_speed = 1.0 if agent.adversary else 1.3 self.change_entity_attribute(agent, **kwargs) # add landmarks world.landmarks = [Landmark() for _ in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = True landmark.movable = False landmark.size = 0.2 landmark.boundary = False self.change_entity_attribute(landmark, **kwargs) # make initial conditions self.reset_world(world) return world
def make_world(self, **kwargs): self.before_make_world(**kwargs) world = World() world.np_random = self.np_random # set any world properties first world.dim_c = 2 num_agents = 3 world.num_agents = num_agents num_adversaries = 1 num_landmarks = num_agents - 1 # add agents world.agents = [Agent() for _ in range(num_agents)] world.policy_agents_groups = [0] * num_adversaries + [1] * ( num_agents - num_adversaries) for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False agent.silent = True agent.adversary = True if i < num_adversaries else False agent.size = 0.15 self.change_entity_attribute(agent, **kwargs) # add landmarks world.landmarks = [Landmark() for _ in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False landmark.size = 0.08 self.change_entity_attribute(landmark, **kwargs) # make initial conditions self.reset_world(world) return world
def make_world(self): world = World() # set any world properties first num_agents = 3 num_adversaries = 1 num_landmarks = 2 world.dim_c = 4 # add agents world.agents = [CryptoAgent() for i in range(num_agents)] for i, agent in enumerate(world.agents): agent.name = 'agent %d' % i agent.collide = False agent.adversary = True if i < num_adversaries else False agent.speaker = True if i == 2 else False agent.movable = False # add landmarks world.landmarks = [Landmark() for i in range(num_landmarks)] for i, landmark in enumerate(world.landmarks): landmark.name = 'landmark %d' % i landmark.collide = False landmark.movable = False # make initial conditions self.reset_world(world) return world