def __init__(self, learner, memory, simulator, settings, dqn_policy=None, rollout_policy=None):

        self.learner = learner
        self.memory = memory
        self.simulator = simulator # for populating the experience replay
        self.evaluator = deepcopy(simulator) # for evaluation

        self.dqn_policy = dqn_policy
        if dqn_policy is None:
            self.dqn_policy = DQNPolicy(learner)

        self.rollout_policy = rollout_policy
        if rollout_policy is None:
            self.rollout_policy = RandomPolicy(simulator.n_actions)

        self.set_params(settings)

        self.n_epochs = self.iterations / float(memory.memory_size)
        self.iteration = []
        self.loss = []
        self.q_ave = []
        self.eval_iteration = []
        self.r_eval = []
        self.r_per_episode_eval = []
The learning agent is responsible for communicating and moving
dataset/ETHPy150Open sisl/Chimp/chimp/agents/dqn_agent.py/DQNAgent.__init__