ichabod801 / t_games

A collection of command-line interface games written in Python.
GNU General Public License v3.0
21 stars 4 forks source link

Backgammon Genetic on PubEval #25

Open ichabod801 opened 6 years ago

ichabod801 commented 6 years ago

Run the Backgammon genetic algorithm using the vector that the pubeval algorithm uses. Perhaps use the pubeval weights as the base for random variation.

ichabod801 commented 6 years ago

Note that once the game becomes a race, I should be able to design heuristic algorithms for efficient off boarding. I really only need a strategy while there is possible interaction. That may be the missing key to pubeval, in that they expect any decent program to have already done that.

ichabod801 commented 6 years ago

Look into heuristics for doubling and accepting doubles as well.

ichabod801 commented 6 years ago

Recheck PubEvalBot first. On the code review for issue #117, there seemed to be some obvious errors (like the evaluation function not returning anything). I think it's fixed, but check it, and re-evaluate the need for this ticket.

ichabod801 commented 6 years ago

I think I fixed the obvious errors for PubEvalBot as part of issue 117, but it still plays like shit.

ichabod801 commented 6 years ago

Early simulations are going no where. The O player never wants to move his pieces off the 1 point. At first I thought it was just the random bots where doing it. But then when two random bots played each other, the X bot moved off the 24 point, but the O bot wouldn't move off the 1 point.

At first I thought I should just do the random bots as adjustments to the values of the PubEval vectors. Now I'm wondering if the bots are assuming they are playing X. That would mean my original PubEval code was wrong.

ichabod801 commented 6 years ago

I confirmed the bias for the human player (as if it wasn't obvious) by reversing who was the human and who was the bot. I got the same results.

I compared my pubeval code against the c code posted online, and I can find no differences.

ichabod801 commented 6 years ago

I also fixed a minor error I thought was preventing moves from 24, but it did not change the results.

ichabod801 commented 6 years ago

I reversed the position vector in get_position (reversing on 'X' instead of 'O'). I got the exact same answer. Something is seriously messed up here.

ichabod801 commented 6 years ago

If I take the last possible move, which should be the worst, the bias reverses. The second (bot) player always wins the match.

ichabod801 commented 5 years ago

This issue is being removed from Paperwood due to the closing of that project. It may be resurrected for a later project.