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
⌠╒.T0Sô│'>w╨éíb¼
3312:0610 92 0c b2 5d ac 18 e6 c1-6a 92 03 d0 b3 a3 1f 17
Æ.▓]¼.µ┴jÆ.╨│ú..
3312:0620 01 21 d1 9a c1 72 21 76-c3 9d 5d bc 70 2a b7 07
.!╤Ü┴r!v├¥]╝p*╖.
3312:0630 90 c8 5a 6e d1 54 be f7-fa 32 63 0d be 8f ba 56
É╚Zn╤T╛≈•2c.╛Å║V
3312:0640 ec 85 a5 eb c5 21 14 57-79 c0 b3 96 92 9b eb 12
∞àÑδ┼!.Wy└│ûÆ¢δ.
3312:0650 78 09 7c c0 bd c5 00 07-13 35 a4 31 aa a4 eb 74
x.|└╜┼...5ñ1ñδt
3312:0660 b5 5d c5 4e e9 c2 91 2c-f6 71 87 20 04 e2 4e 30
╡]┼NΘ┬æ,÷qç .ΓN0
3312:0670 73 46 00 1e f9 22 ac f3-eb 1f 56 a8 35 34 d1 de
sF..∙"¼≤δ.V¿54╤▐
3312:0680 13 75 3e d0 c2 6b e6 da-e1 0b c2 01 97 89 63 46
.u>╨┬kµ┌ß.┬.ùëcF
3312:0690 62 ce 26 fb c3 7f f8 01-99 60 01 c0 70 92 42 44
b╬&√├°.Ö`.└pÆBD
3312:06a0 81 44 4f b0 d7 8a 1b f3-46 7a dd 86 91 20 e7 03
üDO░╫è.≤Fz▌åæ τ.
3312:06b0 89 25 a2 96 d4 b7 dc 74-03 fc d0 12 e8 90 4a 47
ë%óû╘╖▄t.ⁿ╨.ΦÉJG
3312:06c0 7c ff f5 2f 92 ed bd 54-87 94 3a 78 8c 97 67 e7 |
⌡/Æφ╜Tçö:xîùgτ
3312:06d0 cd d5 52 30 91 a1 ec 16-15 6d af 8e dd dd dd dd
═╒R0æí∞..m»Ä▌▌▌▌
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.