Author: Martin Schubert
Date: 09:13:36 03/10/02
Go up one level in this thread
On March 09, 2002 at 10:59:11, Leen Ammeraal wrote:
>On March 09, 2002 at 02:46:42, TEERAPONG TOVIRAT wrote:
>
>>
>>
>>I see the correlation between score ratio and the number of games
>>at specific % of confident interval.
>>Would u please calculate this correlation for me?
>>
>>score the number of games at 90% confident interval
>>60% ?
>>70% ?
>>80% ?
>>90% ?
>>
>>Thanks in advance,
>>Teerapong
>
>Here is the table, as you requested. I just wrote a
>program for it, which I also list below, so you
>can easily extend it to produce more tables.
>I hope I did not make any errors. If anyone
>thinks I did, please let me know.
>Leen Ammeraal
If I understood it right you're using the binomial distribution. Never thought
of a draw?
>
>================================
>This table computes how many games are required
>for a given score to tell with a given confidence
>that the winning side is really stronger.
>
>For example, with the score 60-40, that is,
>a score of 60% and 100 games, the confidence
>of the winner really being stronger is between
>95 and 99%.
>
> Confidence
> Score 90% 95% 99%
> 55% 170 281 550
> 60% 46 71 141
> 65% 21 30 64
> 70% 14 18 35
> 75% 9 13 22
> 80% 7 11 17
> 85% 7 8 14
> 90% 4 5 11
> 95% 4 5 7
> 100% 4 5 7
>======================================
>The program to produce the above table:
>
>// ngames.cpp: How many games are required to
>// prove stronger play?
>// Programmed by Leen Ammeraal
>#include <iostream>
>#include <iomanip>
>#include <cmath>
>using namespace std;
>
>double binom(int n, int k)
>{ double x = 1;
> for (int j=0; j<k; ++j)
> x *= double(n - j) / (j + 1);
> return x;
>}
>
>const nLevel = 3;
>double confLevel[nLevel] = {0.90, 0.95, 0.99};
>
>int main()
>{ cout << "This table computes how many games are required\n"
> "for a given score to tell with a given confidence\n"
> "that the winning side is really stronger.\n\n";
> cout << "For example, with the score 60-40, that is,\n"
> "a score of 60% and 100 games, the confidence\n"
> "of the winner really being stronger is between\n"
> "95 and 99%.\n\n";
>
> cout << " Confidence\n";
> cout << " Score ";
> for (int i=0; i<nLevel; ++i)
> cout << setw(4) << int(confLevel[i] * 100 + 0.5) << "%";
> cout << endl;
>
> for (int scorePerc = 55; scorePerc <= 100; scorePerc += 5)
> {
> cout << setw(4) << scorePerc << "% ";
> int h = 0;
> for (int n=1; n<2000; ++n) // Number of games
> { int nA = scorePerc * n / 100.0 + 0.5,
> nB = n - nA;
>
> double s = 0, t = 0;
>
> double pown = pow(0.5, n);
> for (int i=0; i<=nB; ++i)
> { t = binom(n, i) * pown; // pow(p, i) * pow(1-p, n-i);
> // t is the probability of B obtaining i points.
> s += t;
> }
> // s is the probability of B obtaining nB points or less.
> // This is equal to the probability of A obtaining nA points
> // or more.
> double conf = 1 - s;
> if (conf >= confLevel[h])
> { cout << setw(4) << n << " ";
> if (++h >= nLevel)
> { cout << endl;
> break;
> }
> }
> }
> }
> return 0;
>}
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.