Source code for aind_behavior_gym.dynamic_foraging.agent.random_agent
"""A Random agent
"""
from aind_behavior_gym.dynamic_foraging.agent import DynamicForagingAgentBase
from aind_behavior_gym.dynamic_foraging.task import IGNORE, L, R
[docs]
class RandomAgent(DynamicForagingAgentBase):
"""A Random agent"""
[docs]
def act(self, observation):
"""Simply random choose in the action space"""
return self.rng.choice(self.n_actions)
[docs]
def learn(self, observation, action, reward, next_observation, done):
"""No learning for a random agent"""
pass
[docs]
class RandomAgentBiasedIgnore(RandomAgent):
"""A biased agent with ignores"""
[docs]
def act(self, *args):
"""Random choose from three actions"""
return [L, R, IGNORE][self.rng.choice([0] * 100 + [1] * 20 + [2] * 1)]