NashCoding Yet Another Artificial Intelligence Blog


Evolving Nash Equilibria – A Quick Correction

As I noted in my first post, I was a little skeptical about whether a Nash Equilibrium (NE) could be evolved by taking the squared loss of each hand. My conclusions were that, given an expected value evaluation function, it was possible using a best-opponent fitness but not using a squared-loss fitness. There turns out to be a small bug in the squared loss code which caused a big change in results. Below are the results for the correct fitness function implementation.

Champion parameter values using squared losses as fitness.

Champion parameter values using squared losses as fitness.

As you can see, the fitness function does actually find the NE for the AKQ game. It stabilizes at player 1 betting 1/3 of the time with a queen and player 2 calling 1/3 of the time with a king.

Comments (6) Trackbacks (0)
  1. Curious, did you ever get your 3-player NE NN working?

  2. Looking at the squared loss fitness function in your previous code, where is the bug you speak of?

    case FitnessTypes.SquaredLosses:
    if (s1 – s2 < 0)
    pop[i].Fitness -= (s1 – s2) * (s1 – s2);
    if (s2 – s1 < 0)
    pop[i].Fitness -= (s2 – s1) * (s2 – s1);

  3. Hey! Long time no see. :)

    I updated the code in the original article when I found the bug, but I’m just now getting around to noting the difference in results.

    I haven’t been able to get my 3-player NE NN working yet. I’m going to be releasing a bunch of code over the next few months in preparation for starting work on that again. I am releasing a blackjack framework today, then hopefully within a week I’ll release part 3 of the SharpNEAT tutorial, then I’ll start releasing my poker code in the weeks following that. I’m applying to PhD programs at the moment, with a plan to work on poker AI as part of my dissertation, so I’m definitely not done with it yet.

  4. Sounds good, I look forward to reading your future posts!

    My HUNL SNG implementation didn’t work out too well either. Most of my attempts converged to push/fold strategies. The squared loss fitness function did the same. :( I’ve since started focusing on other areas of poker AI, but would like to eventually get back to NE NNs.

  5. People have been using the above username (WangChung007) to create fake accounts all over the internet. This is the only place I’ve used that username. They’ve been doing this with other usernames as well, posting disgusting things, as far back as 2009. The culprits have been reported to the local Sheriff’s office and the FBI. If you were directed here by somebody, I suggest you report that person to law enforcement.

  6. Some explanation: these people gleaned the ‘wangchung007′ account off a social networking site when I posted a link to this forum. Ever since then, they’ve been using it to create fake accounts, mimicking thing’s I’ve said, for the purpose of creating a fake and sinister ‘persona.’

Leave a comment


No trackbacks yet.