Open ichabod801 opened 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.
Look into heuristics for doubling and accepting doubles as well.
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.
I think I fixed the obvious errors for PubEvalBot as part of issue 117, but it still plays like shit.
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.
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.
I also fixed a minor error I thought was preventing moves from 24, but it did not change the results.
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.
If I take the last possible move, which should be the worst, the bias reverses. The second (bot) player always wins the match.
This issue is being removed from Paperwood due to the closing of that project. It may be resurrected for a later project.
Run the Backgammon genetic algorithm using the vector that the pubeval algorithm uses. Perhaps use the pubeval weights as the base for random variation.