code: def update_q(self, predicted_q_arr, reward_value_arr, next_max_q_arr):
          '''
          Update Q.
          
          Args:
              predicted_q_arr:    `np.ndarray` of predicted Q-Values.
              reward_value_arr:   `np.ndarray` of reward values.
              next_max_q_arr:     `np.ndarray` of maximum Q-Values in next time step.
          
          Returns:
              `np.ndarray` of real Q-Values.
          '''
          # Update Q-Value.
          return predicted_q_arr + (self.alpha_value * (reward_value_arr + (self.gamma_value * next_max_q_arr) - predicted_q_arr)f update_q(self, predicted_q_arr, reward_value_arr, next_max_q_arr):
          '''
          Update Q.
          
          Args:
              predicted_q_arr:    `np.ndarray` of predicted Q-Values.
              reward_value_arr:   `np.ndarray` of reward values.
              next_max_q_arr:     `np.ndarray` of maximum Q-Values in next time step.
          
          Returns:
              `np.ndarray` of real Q-Values.
          '''
          # Update Q-Value.
          return predicted_q_arr + (self.alpha_value * (reward_value_arr + (self.gamma_value * next_max_q_arr) - predicted_q_arr))
docs: Update Q.
          
          Args:
              predicted_q_arr:    `np.ndarray` of predicted Q-Values.
              reward_value_arr:   `np.ndarray` of reward values.
              next_max_q_arr:     `np.ndarray` of maximum Q-Values in next time step.
          
          Returns:
              `np.ndarray` of real Q-Values.