add boltzmann exploration policy
implement QLearning