I write bots that play card games. From time to time, I add noise to their decisions, mainly for two reasons:

  1. Reduce predictability: In games with hidden information the optimal play is a mix between several actions.
  2. Reduce strength: allows to create several bots on a spectrum of strength.

My first question is: What are the best practices of adding noise to decisions?

I implement noise in two ways: assume each action receives a score $S$.

  1. Each action also receives $\text{noise} \sim \text{Uniform}(0, \text{constant})$. The action with the highest $S+\text{noise}$ is chosen.
  2. Each action is chosen with probability proportional to its $S$. I.e., $\text{Pr}(i)=\dfrac{S_i+W}{\Sigma_j (S_j)} $, where $W$ is a winner bias, that increases the probability of the best $X$ actions.

What are the pros and cons in the two implementations that I use?



You must log in to answer this question.

Browse other questions tagged .