A Baker's Dozen.....

Discussion of computer chess matches and engine tournaments.

Moderator: Ras

User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: A Baker's Dozen.....

Post by MikeB »

updated polyglot with micro time control fix - source and exe for Mac included. The last 5 runs were all done with updated polyglot. It does make a difference.

tc 15 sec base with .25 sec inc

Code: Select all

04/24/16 : 21:26:14
Rank Name                      Elo    +    - games score oppo. draws 
   1 Stockfish 04.23.16       3402   87   87    44   89%  3073   23% 
   2 Komodo 9.42 64-bit       3302   78   78    44   77%  3082   27% 
   3 Senpai 1.0               3159   70   70    44   59%  3095   36% 
   4 Texel 1.05 64-bit        3152   73   73    44   57%  3095   27% 
   5 Stockfish  160226 64bit  3140   70   70    44   57%  3096   36% 
   6 Hakkapeliitta 3.22       3139   71   71    44   56%  3096   30% 
   7 Deep HIARCS 14 WCSC      3059   73   73    44   44%  3104   20% 
   8 Crafty-25.1              3038   73   73    44   42%  3106   34% 
   9 Crafty-25.0.1            3011   72   72    44   36%  3108   32% 
  10 Crafty-25.1-syzygy       3005   71   71    44   36%  3109   36% 
  11 Deep Shredder 12 x64     2908   79   79    44   25%  3117   23% 
  12 Arasan 18.3              2887   80   80    44   22%  3119   25% 
tc 1 base + 1 sec inc

Code: Select all

Rank Name                      Elo    +    - games score oppo. draws 
   1 Komodo 9.42 64-bit       3401   89   89    44   85%  3073   11% 
   2 Stockfish 04.23.16       3353   80   80    44   82%  3077   27% 
   3 Stockfish  160226 64bit  3213   73   73    44   67%  3090   30% 
   4 Texel 1.05 64-bit        3201   72   72    44   64%  3091   27% 
   5 Senpai 1.0               3134   69   69    44   56%  3097   34% 
   6 Hakkapeliitta 3.22       3100   71   71    44   50%  3100   32% 
   7 Deep HIARCS 14 WCSC      2999   73   73    44   36%  3109   27% 
   8 Arasan 18.3              2994   71   71    44   36%  3110   36% 
   9 Crafty-25.1              2993   71   71    44   36%  3110   41% 
  10 Deep Shredder 12 x64     2967   71   71    44   32%  3112   32% 
  11 Crafty-25.1-syzygy       2951   77   77    44   32%  3114   23% 
  12 Crafty-25.0.1            2895   78   78    44   24%  3119   25% 
petero2
Posts: 736
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: A Baker's Dozen.....

Post by petero2 »

MikeB wrote:pk the updated polyglot helps all uci engines in general

did discovered that neither xboard or the match program can run matches fairly at time control 0.6 seconds since they both only go down to 1 sec base so here's a mini with 1 sec base and .01 second inc

Code: Select all

Rank Name                      Elo    +    - games score oppo. draws 
   1 Senpai 1.0               3459  120  120    44   88%  3067   11% 
   2 Stockfish 04.23.16       3397  107  107    44   83%  3073   20% 
   3 Komodo 9.42 64-bit       3275  103  103    44   69%  3084   16% 
   4 Crafty-25.0.1            3234  102  102    44   65%  3088   16% 
   5 Stockfish  160226 64bit  3223   98   98    44   64%  3089   23% 
   6 Arasan 18.3              3147   93   93    44   55%  3096   32% 
   7 Crafty-25.1-syzygy       3097   98   98    44   48%  3100   18% 
   8 Hakkapeliitta 3.22       3094  101  101    44   48%  3101    9% 
   9 Crafty-25.1              3078   97   97    44   45%  3102   23% 
  10 Texel 1.05 64-bit        2761  132  132    44   14%  3131    5% 
  11 Deep HIARCS 14 WCSC      2734  139  139    44   13%  3133    2% 
  12 Deep Shredder 12 x64     2700  144  144    44   10%  3136    2%  
I would take a look at the Senpai code - it uses chrono, it is uci and it's cpp. It is apparently not impacted detrimentally at all by tc of 1 sec base and .01 increment
I don't think there is any problem with the texel, chrono, OSX combination. That was just a suspicion I had that turned out to be unfounded.

A significant effect is that texel uses a 1 second "time buffer", which means it tries to always leave at least this amount of time on its clock. When the base time is as small or smaller than the time buffer it means texel will play on increment only. This also explains why texel suffered a lot worse than many other UCI engines when polyglot incorrectly told it the increment was 0.

In 1.05 the time buffer is a compile time constant but in the development version of texel it is a UCI parameter. I tested the effect of this parameter against senpai using time control 1 sec base and 0.01 sec inc.

Code: Select all

Time buffer = 1s (default)
Rank Name        Elo    +    - games score oppo. draws 
   1 senpai10     65    4    4  7371   67%   -65   20% 
   2 TexelHead   -65    4    4  7371   33%    65   20% 

Time buffer = 50ms
Rank Name        Elo    +    - games score oppo. draws 
   1 TexelHead    11    3    4 11549   53%   -11   22% 
   2 senpai10    -11    4    3 11549   47%    11   22% 
So at this time control texel's default conservative time buffer setting costs about 150 elo. I still like a conservative default because in more normal time controls the elo effect is negligible.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: A Baker's Dozen.....

Post by MikeB »

Riddle solved , but it help me get an updated polyglot that handles micro tc better with uci engines.
User avatar
hgm
Posts: 28515
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: A Baker's Dozen.....

Post by hgm »

Indeed, I guess this deserves to be in the standard version of Polyglot.

Note that the base time in the level command to Polyglot is irrelevant, as it will always be superceded by the 'time' command, which has centi-sec precision. So if you play 0.6 sec base time XBoard will send 'time 60' to Polyglot after the 'level' command.

Also note that you can trick XBoard into using base times with fractional seconds by specifying a time-odds factor. If you specify a factor of 10, you could enter 6 sec base time to get 0.6 sec.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: A Baker's Dozen.....

Post by MikeB »

As you can see under a more reasonable time control of 2.5 min base 2.5 sec increment , Texel is fine.

Code: Select all

546 of 36400 games started...
Current date : time (EDST)
04/26/16 : 11:58:18
Rank Name Elo + - games score oppo. draws 
1 Stockfish 04.25.16 3397 75 75 65 88% 3070 20% 
2 Komodo 9.42 64-bit 3352 71 71 66 83% 3073 18% 
3 Gull 3.1 x64 3195 61 61 66 65% 3082 33% 
4 Texel 1.05 64-bit 3162 51 51 88 61% 3087 38% 
5 Protector 1.9.0 3132 60 60 65 56% 3087 32% 
6 Firenzina 2.4.4 xTreme L 3106 50 50 88 53% 3092 44% 
7 Hakkapeliitta 3.22 3067 52 52 87 46% 3096 37% 
8 Deep Shredder 12 x64 3034 58 58 73 41% 3104 30% 
9 Senpai 1.0 3028 61 61 64 41% 3094 30% 
10 Crafty-25.1-syzygy 3010 52 52 87 39% 3101 37% 
11 Crafty-25.1.SyzygyA 3010 58 58 66 39% 3093 44% 
12 Crafty-25.1 2989 61 61 65 37% 3096 31% 
13 Deep HIARCS 14 WCSC 2984 53 53 88 35% 3103 35% 
14 Arasan 18.3 2936 54 54 88 29% 3107 31% 
Regular updates every half hour with pgn files can be found here
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: A Baker's Dozen.....

Post by bob »

MikeB wrote:pk the updated polyglot helps all uci engines in general

did discovered that neither xboard or the match program can run matches fairly at time control 0.6 seconds since they both only go down to 1 sec base so here's a mini with 1 sec base and .01 second inc

Code: Select all

Rank Name                      Elo    +    - games score oppo. draws 
   1 Senpai 1.0               3459  120  120    44   88%  3067   11% 
   2 Stockfish 04.23.16       3397  107  107    44   83%  3073   20% 
   3 Komodo 9.42 64-bit       3275  103  103    44   69%  3084   16% 
   4 Crafty-25.0.1            3234  102  102    44   65%  3088   16% 
   5 Stockfish  160226 64bit  3223   98   98    44   64%  3089   23% 
   6 Arasan 18.3              3147   93   93    44   55%  3096   32% 
   7 Crafty-25.1-syzygy       3097   98   98    44   48%  3100   18% 
   8 Hakkapeliitta 3.22       3094  101  101    44   48%  3101    9% 
   9 Crafty-25.1              3078   97   97    44   45%  3102   23% 
  10 Texel 1.05 64-bit        2761  132  132    44   14%  3131    5% 
  11 Deep HIARCS 14 WCSC      2734  139  139    44   13%  3133    2% 
  12 Deep Shredder 12 x64     2700  144  144    44   10%  3136    2%  
I would take a look at the Senpai code - it uses chrono, it is uci and it's cpp. It is apparently not impacted detrimentally at all by tc of 1 sec base and .01 increment

tc 1.8 sec base .03 sec inc

Code: Select all

04/24/16 : 17:49:23
Rank Name                      Elo    +    - games score oppo. draws 
   1 Stockfish 04.23.16       3351   88   88    44   82%  3077   23% 
   2 Senpai 1.0               3343   89   89    44   81%  3078   20% 
   3 Komodo 9.42 64-bit       3317   83   83    44   78%  3080   34% 
   4 Crafty-25.0.1            3143   78   78    44   57%  3096   27% 
   5 Deep Shredder 12 x64     3127   82   82    44   52%  3098   14% 
   6 Hakkapeliitta 3.22       3086   80   80    44   49%  3101   25% 
   7 Crafty-25.1-syzygy       3085   80   80    44   48%  3101   18% 
   8 Texel 1.05 64-bit        3065   80   80    44   45%  3103   23% 
   9 Arasan 18.3              3015   81   81    44   39%  3108   18% 
  10 Crafty-25.1              2986   79   79    44   33%  3110   30% 
  11 Stockfish  160226 64bit  2910   88   88    44   25%  3117   18% 
  12 Deep HIARCS 14 WCSC      2771  104  104    44   11%  3130    9% 
tc 3.6 sec base .06 sec inc

Code: Select all

04/24/16 : 17:55:09
Rank Name                      Elo    +    - games score oppo. draws 
   1 Komodo 9.42 64-bit       3391  105  105    40   89%  3064   18% 
   2 Stockfish 04.23.16       3386  113  113    36   88%  3068   14% 
   3 Senpai 1.0               3257   86   86    42   74%  3071   24% 
   4 Texel 1.05 64-bit        3096   84   84    43   51%  3094   14% 
   5 Crafty-25.0.1            3077   82   82    44   47%  3102   20% 
   6 Hakkapeliitta 3.22       3065   80   80    43   47%  3097   28% 
   7 Stockfish  160226 64bit  3030   82   82    43   41%  3100   26% 
   8 Crafty-25.1              3024   80   80    43   41%  3100   30% 
   9 Arasan 18.3              3005   84   84    43   38%  3102   21% 
  10 Crafty-25.1-syzygy       2998   82   82    42   37%  3096   31% 
  11 Deep HIARCS 14 WCSC      2985   87   87    43   36%  3104   12% 
  12 Deep Shredder 12 x64     2888   91   91    44   23%  3119   14% 
tc 7.2 sec base 1.2 sec inc

Code: Select all

Rank Name                      Elo    +    - games score oppo. draws 
   1 Stockfish 04.23.16       3340   84   84    44   83%  3078   25% 
   2 Komodo 9.42 64-bit       3328   82   82    44   83%  3079   30% 
   3 Hakkapeliitta 3.22       3154   79   79    44   57%  3095   14% 
   4 Senpai 1.0               3146   74   74    44   57%  3096   27% 
   5 Stockfish  160226 64bit  3137   75   75    44   56%  3097   25% 
   6 Texel 1.05 64-bit        3126   75   75    44   55%  3098   27% 
   7 Crafty-25.1-syzygy       3064   74   74    44   45%  3103   36% 
   8 Crafty-25.1              3020   74   74    44   39%  3107   32% 
   9 Crafty-25.0.1            2999   76   76    44   35%  3109   34% 
  10 Deep Shredder 12 x64     2987   77   77    44   34%  3110   27% 
  11 Deep HIARCS 14 WCSC      2950   78   78    44   28%  3114   30% 
  12 Arasan 18.3              2948   79   79    44   28%  3114   25%
running some tc 15sec base /.25 sec inc and 60/1 games next
Are you talking about my match referee program? If so, what is going wrong?

yes, the level might not be right, but the clock will be updated with the time/otim commands and that is in 1/100ths which should work. However, I would not play sub 1 second matches under any conditions myself. When you start running matches at a level that is getting close to the scheduling time quantum, you invite way too much non-determinism into the games. That's why I don't play below 10s base time, ever. And this doesn't scale very well either. If your machine is 2x faster, you can't to to 1/2 the base time, because the process scheduler runs at the SAME resolution on both...

If you are using elapsed time, which almost everyone does, you can't afford to get down into the time control lengths where interrupt processing and context-switching can be a significant fraction of a target time for a move..