Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: (off topic) Is my math right?

Author: Erik Bergren

Date: 12:01:04 08/13/03

Go up one level in this thread


On August 11, 2003 at 15:18:35, Erik Bergren wrote:

>On August 08, 2003 at 16:18:44, William H Rogers wrote:
>
>>The math may be right,but you assumption is wrong. Even when you play an engine
>>agaist itself, ie. virtually identical in every way, white has been proven to
>>have a very small advantage. A lot of work has been done to prove this over the
>>years and although I can not quote the source anymore I do remember the results.
>>
>>Now take this probably scheme: Consider that over a great number of years it is
>>discovered that a small number of opening moves almost always leads to mate,
>>then if one program has these moves in its book and the other does not even
>>though the program with these moves may not be as strong as the second then it
>>clearly has an advantage.
>>
>>In another example I once worked for Harrah's Club in Lake Tahoe. It is a
>>gambiling casino. In the club they hac slot machines with 4 reels and only one
>>jumbo jackpot symbol on each reel. It was told to us at the time that the odds
>>of hitting the jumbo jackpot were on the order of 400,000 to 1 (one). One night
>>while I was working at the club a young newly married couple came in and started
>>playing one of these machines. The hit the big one and after they were paid off
>>they continued to play the same machine. Diring the next two hours they had hit
>>the jumbo jackpot 4 (FOUR) times. Upon examining the machine after they had hit
>>the second jackpot the house machanic found that the machine was not
>>misfuntioning in any way. I do not know if that machine had ever paid out
>>another big jackpot in any time during the next 10 years.
>>
>>Some times great unprobable things do happen.
>>Bill
>I was assumming that opponents switch sides so each can play
>White an equal number of times.
>The usual ratio of White wins is .6237.
>    Your last comment is very important.
>If you search long enough, unnusual things will happen.
>So you must keep track.


In regard to William H. Rodger's second paragraph:
That is what got me on this subject
to start with. You said that if one program has better
moves in its book then it can win more.
But even if both opponents have the same book:
the opponent that is the best statistical
intepreter of the data in that book, gets
to follow the better lines. Programs such as
Crafty use "win ratio" and "frequency" of a position
in a book to decide which line to follow.
But can not this be improved apon by using the
following two methods:
1. Find the move with the least bad possible rating (acording to "2." below)
   in the set of all book positions resulting from
   it two plies deeper (thus not zero plies deeper, as is now done).
   That would remove the effect of one move refutations.
2. Use "weirdness" in place of "frequency" and "win ratio"
   to determine the rating. "Weirdness" is my invention.
   I is an optimally intermediate rating between
   "win ration" and "frequency".
   It is the unlikely hood that a win count (or higher)
   accurs. Thus if an unlikely number of wins accured
   in the book, it is called a good move.
   For example: in "gm2600.pgn", "1.e4 e5 2. Bc4" wins
   3 times for White and 0 times for Black. Thus
   the "win ratio" is infinite. "Weirdness" lowers that
   position's rating because so few games were played
   with it imply that that 3-0 result is not unlikely.
   Likewise it fixes problems with using "frequency"
   for rating.




In regard to William H. Rodgers third paragraph:

if the probability of the jackpot is 1/400,000
and (I guess) the machine is played 400 times a day,
then the probability of jackpot in a day is 1/1000.
then the probability of four jackpots in one day is 1/10^12.
That shows that your observation of that event is
very unusual.
However, you must keep in mind what I call
"delusion" in space and time.

Delusion In time: any minute an unlikely event can happen to you:
                  If you keep track of such events, and
                  you live many millions of minutes: then
                  you (and most people) will have a
                  "one in a million" event to recall.
Delusion In space: If of many people reading my post,
                   you wrote your response because
                   you won a lottery (say), then I
                   would have no reason to doubt that
                   even though it is so unlikely, since
                  "Its what selected you".


In regard to William H. Rodger's first paragraph:
My above response to William H. Rogers was wrong:
if "Probability Ratio" for White to win is
increased from .5 to near one, then the
standard devation (line width) shrinks to
zero: thus if white always won chess games
and the opponents alternated side each game
each would win exactly half the games, and
85 out of 100 wins would never accure.
Unfortunately, the equation gets more
difficult in changing the "Probability Ratio"
from .5 to .6237 (a good standard value for chess).
see the letter below for the full results

I found the answer to a posted question as:

"The probability ( or "strangeness") of a computer
(randomized in some way to prevent bad ruts,
 (if possible?))
winning 85 (or higher) out of 100 games
from one of equal strength
(or against an identical computer, say) ,
and assuming that the "Probability Ratio"
for White to win is .6237,
is (certainly) equal to


 4.99769099966...*10^-14."

  thanks to help from:

George Tsavdaris
Angrim
William H. Rogers
Remi Coulom
Dieter Buerssner
Robert Hyatt's Crafty code




Here is how that answer was found and verified:


Unassemble of:
Program to give experimental
Numbers for number of wins for White in
10000000 matches of 100 games each where
players switch sides after every game,
and both players have equal "playing strength".
The "Probability Ratio"of white winning
is assumed to be .6237 (that number is
the ratio in "gm2600.pgn" at Robert Hyatt's
Crafty ftp site).

    The theoretical equation to predict
the results is:
(in format for programming a Texas Instrument "TI-85"
programmable calculator):

R=.6237
E0= R^x*(1-R)^(50-x)*50!/(x!*(50-x)!)
E1= (1-R)^x*R^(50-x)*50!/(x!*(50-x)!)
'REM W= # of wins for white
ProbableOutcome= sum(seq(E0,x,00,50-W,1)*seq(E0,x,W,50,1))*10000000

(The output numbers for that is listed below.)

Here is the Unassemble for the experimental data producer:

 u 700 7c8

3312:0700  90           start:	  nop
3312:0701  90           	        nop
3312:0702  8cc8         	        mov	     ax,cs
3312:0704  8ec0         	        mov	     es,ax
‘REM Here the coefficients for the random number
‘REM generator’s polynomial are loaded:
3312:0706  8d360006     	        lea	     si,x55     ;for(i=0;i<55;i++) y
3312:070a  bf0030       	        mov	     di,3000
3312:070d  b93700       	        mov	     cx,37
3312:0710  66 3 ad         	         3 lodsd
3312:0712  66 3 ab         	         3 stosd
3312:0714  66 3 33c0       	        xor	     eax,eax
3312:0717  66 3 ab         	         3 stosd
3312:0719  e2f5         	        loop	    710

'REM ( this is to time execution time
'REM ( the time it took on my machine
'REM    was 25B,0052,D5A1-1DC,C867,3896 clock cycles
'REM    of 334,132,000 Hertz = ~27 minutes)):
3312:071b  90           	        nop
3312:071c  0f31         	         5 rdtsc
3312:071e  66 3 a30042     	        mov	     [4200],eax
3312:0722  66 3 89160442   	        mov	     [4204],edx

'REM Here are the two nested loops to generate the
'REM 10000000 matches of 100 games:
'REM ("186a0" is the old setting I had for 100000 matches.)
3312:0727  66 3 b9a0860100 	        mov	     ecx,186a0
3312:072d  66 3 51         	        push	    ecx
3312:072f  66 3 c706240100000000	   mov	     d,xp,0
3312:0738  b96400       	        mov	     cx,64
3312:073b  51           	        push	    cx
'REM "rnd" generates random numbers in register eax
'REM "rnd" is copied from Robert Hyatt's random number
'REM generator in "utilities.c" which is a part
'REM of his free program "Crafty"
'REM (He used it to generate hash table IDs):
3312:073c  e85700       	        call	    rnd
3312:073f  eb00         	        jmp	     $+2
'REM "9faacd9e" is .6237 of ffffffff, thus
'REM this line controls the "Probability Ratio"
'REM of White winning:
3312:0741  66 3 81f89ecdaa9f	       cmp	     eax,9faacd9e
3312:0748  bb0000       	        mov	     bx,0
3312:074b  7303         	        jnc	     750
3312:074d  bb0100       	        mov	     bx,1

'REM Here the "players switching sides" is simulated
'REM by finding the parity ("modulus base two") of
'REM the number of games, and that is then "ORed"
'REM with the previous outcome result:
3312:0750  58           	        pop	     ax
3312:0751  50           	        push	    ax
3312:0752  83e001       	        and	     ax,+1
3312:0755  33c3         	        xor	     ax,bx

'REM Here the Win or Loss is summed
'REM ("xp" stores the number of White wins in the
'REM   current match):
3312:0757  d1d8         	        rcr	     ax,1
3312:0759  66 3 8316240100 	        adc	     d,xp,+0

3312:075f  59           	        pop	     cx
3312:0760  e2d9         	        loop	    73b
'REM That was the end of the loop for each game.

'REM Here the match result is stored
'REM in an array ordered by White wins per match
3312:0762  66 3 8b1e2401   	        mov	     ebx,xp
3312:0767  66 3 b801000000 	        mov	     eax,1
3312:076d  66 3 56         	        push	    esi
3312:076f  66 3 be00440000 	        mov	     esi,4400
3312:0775  67 3 66 3 0104de   	        add	     [esi+8*ebx],eax
3312:077a  66 3 5e         	        pop	     esi

3312:077c  66 3 59         	        pop	     ecx
3312:077e  67 3 e2ac       	        loop	    72d
'REM That was the end of the loop for each match.

3312:0781  0f31         	         5 rdtsc
3312:0783  66 3 a30842     	        mov	     [4208],eax
3312:0787  66 3 89160c42   	        mov	     [420c],edx
3312:078c  e91603       	        jmp	     stop
'REM That was for recording execution finish time.

3312:078f  90           	        nop
3312:0790  90           	        nop
3312:0791  90           	        nop
3312:0792  90           	        nop
3312:0793  90           	        nop
3312:0794  90           	        nop
3312:0795  90           	        nop

'REM Here is the random number generator :
'REM "rnd" generates random numbers in register eax
'REM "rnd" is copied from Robert Hyatt's random number
'REM generator in "utilities.c" which is a part
'REM of his free program "Crafty"
'REM (He used it to generate hash table IDs):
3312:0796  90           rnd:	    nop
3312:0797  66 3 bb17000000 	        mov	     ebx,17
3312:079d  66 3 ba36000000 	        mov	     edx,36
3312:07a3  b93700       	        mov	     cx,37
3312:07a6  90           	        nop
3312:07a7  be0030       	        mov	     si,3000
3312:07aa  bf0030       	        mov	     di,3000
3312:07ad  66 3 67 3 8b04de   	        mov	     eax,[esi+8*ebx]
3312:07b2  67 3 66 3 0104d6   	        add	     [esi+8*edx],eax
3312:07b7  4b           	        dec	     bx
3312:07b8  7903         	        jns	     7bd
3312:07ba  bb3600       	        mov	     bx,36
3312:07bd  4a           	        dec	     dx
3312:07be  7903         	        jns	     7c3
3312:07c0  ba3600       	        mov	     dx,36
3312:07c3  e2e8         	        loop	    7ad
3312:07c5  90           	        nop
3312:07c6  90           	        nop
3312:07c7  c3           	        ret
3312:07c8  90           	        nop
'REM Thats the end of the program.


 d x55 6e0
Here is the coeficient array called "x55" used in the above program.

3312:0600  f4 d5 14 54 30 53 93 b3-27 3e 77 d0 82 a1 62 ac
&#8992;&#9554;.T0Sô&#9474;'>w&#9576;éíb¼
3312:0610  92 0c b2 5d ac 18 e6 c1-6a 92 03 d0 b3 a3 1f 17
Æ.&#9619;]¼.µ&#9524;jÆ.&#9576;&#9474;ú..
3312:0620  01 21 d1 9a c1 72 21 76-c3 9d 5d bc 70 2a b7 07
.!&#9572;Ü&#9524;r!v&#9500;¥]&#9565;p*&#9558;.
3312:0630  90 c8 5a 6e d1 54 be f7-fa 32 63 0d be 8f ba 56
É&#9562;Zn&#9572;T&#9563;&#8776;•2c.&#9563;Å&#9553;V
3312:0640  ec 85 a5 eb c5 21 14 57-79 c0 b3 96 92 9b eb 12
&#8734;àÑ&#948;&#9532;!.Wy&#9492;&#9474;ûÆ¢&#948;.
3312:0650  78 09 7c c0 bd c5 00 07-13 35 a4 31 aa a4 eb 74
x.|&#9492;&#9564;&#9532;...5ñ1ñ&#948;t
3312:0660  b5 5d c5 4e e9 c2 91 2c-f6 71 87 20 04 e2 4e 30
&#9569;]&#9532;N&#920;&#9516;æ,÷qç .&#915;N0
3312:0670  73 46 00 1e f9 22 ac f3-eb 1f 56 a8 35 34 d1 de
sF..&#8729;"¼&#8804;&#948;.V¿54&#9572;&#9616;
3312:0680  13 75 3e d0 c2 6b e6 da-e1 0b c2 01 97 89 63 46
.u>&#9576;&#9516;kµ&#9484;ß.&#9516;.ùëcF
3312:0690  62 ce 26 fb c3 7f f8 01-99 60 01 c0 70 92 42 44
b&#9580;&&#8730;&#9500;°.Ö`.&#9492;pÆBD
3312:06a0  81 44 4f b0 d7 8a 1b f3-46 7a dd 86 91 20 e7 03
üDO&#9617;&#9579;è.&#8804;Fz&#9612;åæ &#964;.
3312:06b0  89 25 a2 96 d4 b7 dc 74-03 fc d0 12 e8 90 4a 47
ë%óû&#9560;&#9558;&#9604;t.&#8319;&#9576;.&#934;ÉJG
3312:06c0  7c ff f5 2f 92 ed bd 54-87 94 3a 78 8c 97 67 e7   |
&#8993;/Æ&#966;&#9564;Tçö:xîùg&#964;
3312:06d0  cd d5 52 30 91 a1 ec 16-15 6d af 8e dd dd dd dd
&#9552;&#9554;R0æí&#8734;..m»Ä&#9612;&#9612;&#9612;&#9612;
3312:06e0  90
 q
(End of program and data)

Here is the Theoretical and experimental data produced by
the programs above:


                     (After 10,000,000 matches):
                     (With Probability Ratio of .6237 for White to win.)
Number of White      Theoretical  Experimental  Experimental
Wins per             outcome      outcome       outcome
each match(="n"):    for "n":     for "100-n":  for "n"
==========================================================================
50                   821699       (823153)      823153
51                   804525       805157        803365
52                   755117       753009        756603
53                   679385       680519        678344
54                   585885       587044        585463
55                   484234       482899        484001
56                   383517       383030        383595
57                   291021       291419        290359
58                   211537       211395        211549
59                   147254       146946        147571
60                    98140        98336         98541
61                    62601        63001         63208
62                    38206        38150         38069
63                    22301        22647         22274
64                    12444        12388         12268
65                     6635         6534          6614
66                     3378         3295          3392
67                     1642         1662          1607
68                      761          757           735
69                      336          336           334
70                      142          153           129
71                       57           51            52
72                       22           16            21
73                        8           11             8
74                        3            1             1
75                        1            0             1
76                        0            0             0
(76 to 100 are all zero)

summing all the above (without rounding to integer)
(before multiplying by 10,000,000)
from 85 to 100 gives the answer 4.99769099966...*10^-14
(finally) to the question that was posted:

The probability ( or "strangeness") of a computer
(randomized in some way to prevent bad ruts,
 (if possible?))
winning 85 (or higher) out of 100 games
from one of equal strength
(or against an identical computer, say) ,
and assuming that the "Probability Ratio"
for White to win is .6237,
is (certainly) equal to


4.99769099966...*10^-14.


(With a probability ratio of .5 that is
 easier to solve and gives
 2.41271075197..*10^-13
 (or if the smooth "Gamma function(n-1)" was
 used in place of "Factorial" with
 a continuous integral it gives
 2.313..*10-13))

THE END

I found that thanks to help from:

George Tsavdaris
Angrim
William H. Rogers
Remi Coulom
Dieter Buerssner
Robert Hyatt's Crafty code




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.