# boltzmann-exploration(softmax exploration) in reinforcement learning

I have started learning reinforcement learning and as a part of it I am exploring the action selection strategies available. I am comparing epsilon-greedy vs boltzmann exploration(softmax exploration). I have understood and implemented epsilon greedy the follwing way.

def get_action(state, episode):
# get action from model using epsilon-greedy policy
# Decay in ε after we generate each sample from the environment
epsilon = epsilon_min + (epsilon_max - epsilon_min) * np.exp(-epsilon_decay*episode / 4)

if np.random.rand() <= epsilon: # Exploration: randomly choosing and action
action = [round(random.uniform(0.3, 1.0), 2), round(random.uniform(0.3, 1.0), 2)]

else: #Exploitation: this gets the action corresponding to max q-value of current state
state_encod = np.reshape(state, [1, state_size])
q_values = model.predict(state_encod)
action = np.argmax(q_values)

return action, epsilon


I am not completely fluent with boltzmann and facing difficulty with implementation. can some one help me with this implementation. Tried a lot but couldn't. Really stuck at this.

Thanks.