Chess is a draw

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

jkominek
Posts: 98
Joined: Tue Sep 04, 2018 5:33 am
Full name: John Kominek

Chess is a draw

Post by jkominek »

I belong to the school of thought who holds that the standard starting position in Western chess is a theoretical draw. Moreover, that this is not mere opinion but is a known certainty. There, I've said it! Flame away Uri B.

What is not well established is how strong a program must be to be said to have effectively "solved" the starting position, in the sense that a program solves a test suite puzzle position, except not only the next move but including the entire play-out. It's hard to say how to pin that down exactly. But, taking the Stockfish line of programs run with a fixed number of nodes per move we can get an approximate measure of the dividing line.

Lately I've been running some Chess324 matches with Stockfish running a fixed number of nodes per move, single threaded. (Which is deterministic, or supposed to be, anyway). When filtering the data down to the standard starting position, this is what I have at the moment on estimated lower bounds.

Table 1. Lower bound nodes/move for player with no loss from standard starting position.
SF15.1 8m
SF15 16m
SF14 64m
SF13 256m (128m node SF13 swapped wins with 256m node SF10)
SF12 128m
SF11 not yet found
SF10 not yet found

The estimates can only rise as more, and more difficult, pairings are held. I look forward to seeing how Stockfish 16 compares when it is released in a few months.

As noted in the table above Stockfish 13 broke the niceness of monotonicity. That suggests the other estimates will eventually double. For more detailed data here are the player pairings. (The rankings and Elo assignments are not terribly meaningful.)

Code: Select all

  
  8) Stockfish 15o1 Hash 4096 Threads 1 Nodes 268435456  3935.3 :    2 (+0,=2,-0)  50.0%
  5) Stockfish 15o1 Hash 2048 Threads 1 Nodes 134217728  3944.1 :   26 (+2,=24,-0)  53.8%
  4) Stockfish 15o1 Hash 1024 Threads 1 Nodes  67108864  3945.3 :   38 (+5,=33,-0)  56.6%
 24) Stockfish 15o1 Hash 512 Threads 1 Nodes   33554432  3903.7 :   74 (+11,=63,-0)  57.4%
 31) Stockfish 15o1 Hash 512 Threads 1 Nodes   16777216  3889.0 :   84 (+14,=70,-0)  58.3%
 28) Stockfish 15o1 Hash 512 Threads 1 Nodes    8388608  3897.3 :   88 (+24,=64,-0)  63.6%
 30) Stockfish 15o1 Hash 512 Threads 1 Nodes    4194304  3890.6 :   98 (+32,=65,-1)  65.8% *****
 45) Stockfish 15o1 Hash 512 Threads 1 Nodes    2097152  3854.5 :  100 (+34,=65,-1)  66.5%
 52) Stockfish 15o1 Hash 512 Threads 1 Nodes    1048576  3821.0 :  102 (+39,=58,-5)  66.7%

  7) Stockfish 15 Hash 4096 Threads 1 Nodes 268435456  3935.3 :      8 (+0,=8,-0)  50.0%
  9) Stockfish 15 Hash 2048 Threads 1 Nodes 134217728  3934.5 :     10 (+0,=10,-0)  50.0%
 13) Stockfish 15 Hash 1024 Threads 1 Nodes  67108864  3927.5 :     14 (+0,=14,-0)  50.0%
 17) Stockfish 15 Hash 512 Threads 1 Nodes   33554432  3920.1 :     18 (+0,=18,-0)  50.0%
 21) Stockfish 15 Hash 512 Threads 1 Nodes   16777216  3909.1 :     88 (+26,=62,-0)  64.8%
 25) Stockfish 15 Hash 512 Threads 1 Nodes    8388608  3900.9 :    134 (+58,=75,-1)  71.3%  *****
 32) Stockfish 15 Hash 512 Threads 1 Nodes    2097152  3888.7 :    174 (+101,=70,-3)  78.2%
 14) Stockfish 15 Hash 512 Threads 1 Nodes    4194304  3927.1 :    156 (+84,=70,-2)  76.3%
 63) Stockfish 15 Hash 512 Threads 1 Nodes    1048576  3798.0 :    168 (+83,=77,-8)  72.3%
 
  2) Stockfish 14 Hash 8192 Threads 1 Nodes 536870912  3957.3 :      6 (+0,=6,-0)  50.0%
  3) Stockfish 14 Hash 4096 Threads 1 Nodes 268435456  3950.4 :     18 (+2,=16,-0)  55.6%
  1) Stockfish 14 Hash 2048 Threads 1 Nodes 134217728  3993.5 :     46 (+22,=24,-0)  73.9%
 12) Stockfish 14 Hash 1024 Threads 1 Nodes  67108864  3928.1 :     96 (+26,=70,-0)  63.5%
 18) Stockfish 14 Hash 512 Threads 1 Nodes   33554432  3915.6 :    104 (+32,=69,-3)  63.9%  *****
 35) Stockfish 14 Hash 512 Threads 1 Nodes   16777216  3885.0 :    122 (+36,=81,-5)  62.7%
 26) Stockfish 14 Hash 512 Threads 1 Nodes    8388608  3900.2 :    132 (+49,=79,-4)  67.0%
 37) Stockfish 14 Hash 512 Threads 1 Nodes    4194304  3874.3 :    150 (+63,=81,-6)  69.0%
 57) Stockfish 14 Hash 512 Threads 1 Nodes    2097152  3807.1 :    168 (+61,=96,-11)  64.9%
 76) Stockfish 14 Hash 512 Threads 1 Nodes    1048576  3774.1 :    186 (+77,=96,-13)  67.2%

 10) Stockfish 13 Hash 8192 Threads 1 Nodes 536870912  3932.5 :     14 (+0,=14,-0)  50.0%
 16) Stockfish 13 Hash 4096 Threads 1 Nodes 268435456  3924.7 :     38 (+9,=29,-0)  61.8%
  6) Stockfish 13 Hash 2048 Threads 1 Nodes 134217728  3941.8 :     66 (+26,=39,-1)  68.9%  *****
 19) Stockfish 13 Hash 1024 Threads 1 Nodes  67108864  3914.7 :     96 (+26,=70,-0)  63.5%
 36) Stockfish 13 Hash 512 Threads 1 Nodes   33554432  3883.5 :    106 (+26,=79,-1)  61.8%
 23) Stockfish 13 Hash 512 Threads 1 Nodes   16777216  3907.0 :    126 (+48,=75,-3)  67.9%
 41) Stockfish 13 Hash 512 Threads 1 Nodes    8388608  3857.9 :    136 (+43,=89,-4)  64.3%
 59) Stockfish 13 Hash 512 Threads 1 Nodes    4194304  3803.4 :    162 (+58,=90,-14)  63.6%
 83) Stockfish 13 Hash 512 Threads 1 Nodes    2097152  3747.4 :    182 (+67,=88,-27)  61.0%
 94) Stockfish 13 Hash 512 Threads 1 Nodes    1048576  3698.0 :    200 (+80,=84,-36)  61.0%

 11) Stockfish 12 Hash 8192 Threads 1 Nodes 536870912  3932.5 :      2 (+0,=2,-0)  50.0%
 20) Stockfish 12 Hash 4096 Threads 1 Nodes 268435456  3912.0 :     38 (+8,=30,-0)  60.5%
 34) Stockfish 12 Hash 2048 Threads 1 Nodes 134217728  3886.4 :     58 (+11,=47,-0)  59.5%
 27) Stockfish 12 Hash 1024 Threads 1 Nodes  67108864  3898.0 :    104 (+36,=62,-6)  64.4%   *****
 39) Stockfish 12 Hash 512 Threads 1 Nodes   33554432  3867.1 :    116 (+33,=80,-3)  62.9%
 42) Stockfish 12 Hash 512 Threads 1 Nodes   16777216  3857.2 :    138 (+45,=88,-5)  64.5%
 56) Stockfish 12 Hash 512 Threads 1 Nodes    8388608  3808.6 :    152 (+52,=84,-16)  61.8%
 71) Stockfish 12 Hash 512 Threads 1 Nodes    4194304  3780.8 :    168 (+61,=86,-21)  61.9%
 77) Stockfish 12 Hash 512 Threads 1 Nodes    2097152  3772.7 :    182 (+69,=96,-17)  64.3%
110) Stockfish 12 Hash 512 Threads 1 Nodes    1048576  3655.9 :    200 (+77,=79,-44)  58.2%

 86) Stockfish 11 Hash 8192 Threads 1 Nodes 536870912  3735.4 :     16 (+0,=9,-7)  28.1%  *****
 67) Stockfish 11 Hash 4096 Threads 1 Nodes 268435456  3792.0 :     42 (+4,=30,-8)  45.2%
 60) Stockfish 11 Hash 2048 Threads 1 Nodes 134217728  3803.2 :     82 (+20,=48,-14)  53.7%
 70) Stockfish 11 Hash 1024 Threads 1 Nodes  67108864  3784.4 :    128 (+46,=58,-24)  58.6%
 75) Stockfish 11 Hash 512 Threads 1 Nodes   33554432  3774.7 :    160 (+77,=62,-21)  67.5%
101) Stockfish 11 Hash 512 Threads 1 Nodes   16777216  3687.9 :    200 (+82,=85,-33)  62.2%
108) Stockfish 11 Hash 512 Threads 1 Nodes    8388608  3657.7 :    240 (+108,=96,-36)  65.0%
127) Stockfish 11 Hash 512 Threads 1 Nodes    4194304  3574.5 :    270 (+128,=78,-64)  61.9%
134) Stockfish 11 Hash 512 Threads 1 Nodes    2097152  3549.9 :    292 (+144,=88,-60)  64.4%
159) Stockfish 11 Hash 512 Threads 1 Nodes    1048576  3416.4 :    328 (+146,=100,-82)  59.8%

 74) Stockfish 10 Hash 8192 Threads 1 Nodes 536870912  3775.1 :      6 (+0,=5,-1)  41.7%   *****
 47) Stockfish 10 Hash 4096 Threads 1 Nodes 268435456  3842.2 :     58 (+14,=37,-7)  56.0%
 62) Stockfish 10 Hash 2048 Threads 1 Nodes 134217728  3800.5 :    110 (+39,=55,-16)  60.5%
 80) Stockfish 10 Hash 1024 Threads 1 Nodes  67108864  3757.1 :    142 (+51,=65,-26)  58.8%
 88) Stockfish 10 Hash 512 Threads 1 Nodes   33554432  3726.3 :    190 (+94,=68,-28)  67.4%
106) Stockfish 10 Hash 512 Threads 1 Nodes   16777216  3660.4 :    236 (+115,=77,-44)  65.0%
120) Stockfish 10 Hash 512 Threads 1 Nodes    8388608  3616.4 :    262 (+130,=80,-52)  64.9%
132) Stockfish 10 Hash 512 Threads 1 Nodes    4194304  3552.8 :    274 (+142,=85,-47)  67.3%
150) Stockfish 10 Hash 512 Threads 1 Nodes    2097152  3454.6 :    304 (+151,=81,-72)  63.0%
173) Stockfish 10 Hash 512 Threads 1 Nodes    1048576  3364.0 :    346 (+174,=76,-96)  61.3%
So the recently retired Komodo team does not feel left out, I have a result from Komodo Dragon 3.1.

Code: Select all

 29) KomodoDragon 3.1 Hash 1024 Threads 1 MoveTime 64s 3896.2 :     14 (+3,=11,-0)  60.7%
 43) KomodoDragon 3.1 Hash 512 Threads 1 MoveTime 32s  3857.1 :     28 (+5,=23,-0)  58.9%
 48) KomodoDragon 3.1 Hash 512 Threads 1 MoveTime 16s  3832.5 :     52 (+13,=38,-1)  61.5%  *****
 65) KomodoDragon 3.1 Hash 512 Threads 1 MoveTime 4s   3794.1 :     78 (+27,=49,-2)  66.0%
 66) KomodoDragon 3.1 Hash 512 Threads 1 MoveTime 8s   3793.0 :     56 (+10,=45,-1)  58.0%
 82) KomodoDragon 3.1 Hash 512 Threads 1 MoveTime 2s   3750.4 :     82 (+29,=47,-6)  64.0%
102) KomodoDragon 3.1 Hash 512 Threads 1 MoveTime 1s   3682.1 :     94 (+31,=53,-10)  61.2%
I'm stumped on how to run Dragon with a fixed number of nodes per move, so I settled for fixed time per move. On my test machine this is about half a million nodes per second under load. So 16 sec/move is roughly equal to 8m nodes/move, putting it in the ballpark of Stockfish 15. (Full testing reveals that Komodo Dragon 3.1 tracks very closely to Stockfish 14.1 on the Chess324 opening set.)

At some point I'll give LCZero a go. It would be pretty wild if BT2 or BT3 Leela could stand undefeated at 1 node per move.
User avatar
towforce
Posts: 12695
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK
Full name: Graham Laight

Re: Chess is a draw

Post by towforce »

jkominek wrote: Mon Apr 17, 2023 12:02 am I belong to the school of thought who holds that the standard starting position in Western chess is a theoretical draw.

Agreed. For all the work done in chess prior to computers, and especially since computers, no way has been found to force the win of material from the opening.


What is not well established is how strong a program must be to be said to have effectively "solved" the starting position, in the sense that a program solves a test suite puzzle position, except not only the next move but including the entire play-out.

Hmmmm... let me try to untangle that.

* a program must solve a test position

* the next move after the test position is effectively a new test position. So you're really saying it must solve multiple test positions. In which case - why not just use a test suite?

* Is there a strong correlation between ability to solve test positions and elo rating?

The ultimate chess computer with perfect knowledge will, of course, be both unbeatable and be able to solve every test position.
Human chess is partly about tactics and strategy, but mostly about memory
CornfedForever
Posts: 650
Joined: Mon Jun 20, 2022 4:08 am
Full name: Brian D. Smith

Re: Chess is a draw

Post by CornfedForever »

But not For humans on any level. Vive le difference!!
Norm Pollock
Posts: 1079
Joined: Thu Mar 09, 2006 4:15 pm
Location: Long Island, NY, USA

Re: Chess is a draw

Post by Norm Pollock »

Not only are top-level computer engine games becoming more drawish, but the games that are not drawn are usually won by White. In the current TCEC super final, so far, 46 games, 17 wins by White, 0 wins by Black, and 29 draws.
Updated links for 40H Tools and Databases
http://40Hchess.epizy.com
http://nk-qy.info/40h
Jouni
Posts: 3758
Joined: Wed Mar 08, 2006 8:15 pm
Full name: Jouni Uski

Re: Chess is a draw

Post by Jouni »

Not draw at WCh level. 5 wins after 7 games. Nepo - Ding is blunderfest :oops: :o .
Jouni
CornfedForever
Posts: 650
Joined: Mon Jun 20, 2022 4:08 am
Full name: Brian D. Smith

Re: Chess is a draw

Post by CornfedForever »

Jouni wrote: Tue Apr 18, 2023 6:53 pm Not draw at WCh level. 5 wins after 7 games. Nepo - Ding is blunderfest :oops: :o .
He is...and Nepo is not much better. Chess as a human sport will forever remain viable. Enjoy!
CornfedForever
Posts: 650
Joined: Mon Jun 20, 2022 4:08 am
Full name: Brian D. Smith

Re: Chess is a draw

Post by CornfedForever »

Norm Pollock wrote: Tue Apr 18, 2023 5:51 pm Not only are top-level computer engine games becoming more drawish, but the games that are not drawn are usually won by White. In the current TCEC super final, so far, 46 games, 17 wins by White, 0 wins by Black, and 29 draws.
Like the first serve in tennis - the first move remains important.
Which reminds me of a 'variant' I once thought up. On move 5 (10 ply) BLACK gets to make two moves in a row...reversing whites edge to this point as we are not too far into the game. That would rewrite opening theory for sure.