def initialize(self, args):
        """
        Initialize internal structures at the beginning of each dialogue

        :return: Nothing
        """

        if 'train' in args:
            self.is_training = bool(args['train'])

            if 'learning_rate' in args:
                self.alpha = float(args['learning_rate'])

            if 'learning_decay_rate' in args:
                self.alpha_decay_rate = float(args['learning_decay_rate'])

            if 'exploration_rate' in args:
                self.epsilon = float(args['exploration_rate'])

            if 'exploration_decay_rate' in args:
                self.exploration_decay_rate = \
                    float(args['exploration_decay_rate'])

            if 'gamma' in args:
                self.gamma = float(args['gamma'])

            if self.agent_role == 'user' and self.warmup_simulator:
                if 'goal' in args:
                    self.warmup_simulator.initialize({args['goal']})
                else:
                    print('WARNING ! No goal provided for WoLF PHC policy '
                          'user simulator @ initialize')
                    self.warmup_simulator.initialize({})

        Initialize internal structures at the beginning of each dialogue

        :return: Nothing
        
plato/agent/component/dialogue_policy/reinforcement_learning/wolf_phc_policy.py