Laskos wrote:Don wrote:
The blue line is the pure formula that seems to best fit the data, I basically adjusted it visually, trying different values until the 2 lines seemed to match. I payed more attention to the values between -2 and +2 pawns.
I only sampled values between -5 and +5 and I did not bucket them, each score is a data point. I only sampled up to the 40th move.
I think this shows pretty convincingly that the logistic function is a very good statistical predictor of the final result.
What could be done next is to sample only position AFTER the first 40 moves and plot this over the top of the other lines to see if they overlay properly or have some distortion.
Don
Could you help me to understand better? You took the scores of all the moves from 1 to 40, and then you took some sort of an average on all games to derive that 23% win probability?
As Bob suggested to have a 3D (win%) against (score)_(material) graph, is it hard just to compare results at exactly move 15 to results at exactly move 50? Also, the time control might be a factor, as it is certainly a factor for draw ratio. Some care might be required when generalizing the results.
Kai
No, what I did was take the data from thousands of games. I tracked 1001 different discreet scores and their winning percentages. For example -5.00, -4.99, -4.98, -4.97 .... 4.98, 4.99, 5.00.
As the graph shows, when the score is 0.0 you win about half the games ( 0.5 on the y axis.) When the score is about 1.0 (a pawn up) the graph shows that you will win that game without about probability 0.76
I ran the games to depth 6 in order to get a large sample very quickly. I'm now running 7 ply in order to compare the 2 curves.
Here are some samples of statistics, left column is the score right column the win percentage:
score win perc
------ -----------
-0.88 0.30456
-0.87 0.29916
-0.86 0.30151
-0.85 0.29757
-0.84 0.31164
-0.83 0.28086
-0.82 0.29561
-0.81 0.30065
-0.80 0.30260
-0.79 0.32027
-0.78 0.33167
-0.77 0.31045
-0.76 0.32959
-0.75 0.31176
-0.74 0.32135
-0.73 0.31250
If you look at the BLUE line, it is a plot of the formula: 1 / (1 + 10 ** (-x * 0.50))
The constant 0.50 was chosen to fit the data visually and depends on how aggressive your evaluation function is. Not all programs treat a score of 1.0 the same. Stockfish seems to give higher scores for smaller advantages than Komodo, but it's all relative and is not important, it just affects the constant used in the formula if you want to "standardize."
By the way, I'm using smooth bezier smoothing, otherwise the curve is the same basic shape but it's jagged. Presumably if I had tends of thousands of samples for each point it would be almost smooth. You will notice from the above data that not all win percentages increase with the score, but on average it does. Another way this could be done is to make each point of the average of the point itself and N points on either side of it.
Don