一、epsilon-greedy
if explore:
if np.random.rand() <= self.epsilon:
return random.randrange(self.action_size)
act_values = self.model.predict(state)
else:
act_values = self.model.predict(state)
return np.argmax(act_values[0]) # returns action
二、多项式分布采样
act_values = self.model.predict(state)/2
if explore:
act = np.random.multinomial(1, act_values[0])
return np.argmax(act)
return np.argmax(act_values[0]) # returns action