|
BGonline.org Forums
Estimating winning percentage from MWC errors
Posted By: sandokan
Date: Saturday, 18 December 2010, at 11:02 a.m.
Before the start of the match both players have 50% MWC. It remains 50% when no errors are made.
If Player 1 makes an error of 10% he is due to win 50 * (100-10)/100 = 45%. After that if he makes again an error of 10% he is due to win 45 * (100-10)/100 = 40.5% and so on. Or if Player 2 makes an error of 10% instead Player 2 is due to win 55 * (100-10)/100 = 49.5% against Player 1.
In this case although both players would win 45% against the bot who analyzed the errors they would win 50.5% and 49,5% against each other. As you see the order of errors is important.
I analyzed a match with gnu 2-ply and extracted all the errors in order (in fact only errors marked at least doubtful, normally even small errors are to be considered):
2 0.49
1 0.79
2 0.28
1 0.45
1 0.37
1 0.30
1 1.11
1 0.41
2 0.25
1 0.37
1 1.16
1 0.78
1 1.07
2 4.43
1 0.98
1 4.57
1 2.73
2 0.80
1 0.53
1 0.84
1 0.74
2 0.56
2 0.39
1 0.49
1 0.89
1 0.45
In first column is the player (1 or 2) and in the second column is the error in MWC.
Initially X = 50; Y = 50; P1 = 50; P2 = 50 where
X - winning percentage of Player 1 against bot
Y - winning percentage of Player 2 against bot
P1 - winning percentage of Player 1 against Player 2
P2 - winning percentage of Player 2 against Player 1
With the algorithm below:
for(i=0; i less than number_of_errors; i++){
if(player[i] == 1){
X = X * (100 - error[i]) / 100;
P1 = P1 * (100 - error[i]) / 100;
P2 = 100 - P1;
}
if(player[i] == 2){
Y = Y * (100 - error[i]) / 100;
P2 = P2 * (100 - error[i]) / 100;
P1 = 100 - P2;
}
}
I got X = 41.26, Y = 46.48, P1 = 44.68, P2 = 55.32
What do you think about the method?
|
BGonline.org Forums is maintained by Stick with WebBBS 5.12.