Answers.Body: <p>As I do not have access to the full Lomosonov tablebases, here is an answer based on the <a href="https://syzygy-tables.info/stats.json" rel="noreferrer">Syzygy tablebases</a>, which are available online in machine-readable format. I interpret your question as &quot;how often does the <strong>side to move</strong> win, lose or draw&quot;. As the Syzygy tablebases only include positions where White has material advantage, we have to add the statistics with White to move to the statistics with Black to move.</p>
  <h2>You are going to be disappointed</h2>
  <p>It seems that there are actually more positions in which the side to move loses. The reason seems to lie in the positions with large material imbalance. For example, consider <a href="https://syzygy-tables.info/stats/KQQQQQvK.json" rel="noreferrer">KQQQQQvK</a>. If you check that link, you will see that:</p>
  <ul>
  <li>with <strong>White to move</strong>, there are <strong>37 099 315 080</strong> winning positions for White (see &quot;histogram&quot;:&quot;white&quot;:&quot;wdl&quot;:&quot;2&quot;, the format is explained <a href="https://syzygy-tables.info/stats.json" rel="noreferrer">here</a>)</li>
  <li>with <strong>Black to move</strong>, there are <strong>334 280 290 500</strong> winning positions for White (losing positions for Black), which is about 9 times more! (see &quot;histogram&quot;:&quot;black&quot;:&quot;wdl&quot;:&quot;-2&quot;)</li>
  </ul>
  <p>The reason for this is that, in KQQQQQvK, most of the positions are checks or checkmates. These positions are legal with Black to move, but illegal with White to move. This strongly biases the statistics to the point that the non-moving side (White) actually has more winning positions than the moving side.</p>
  <p>I wrote a Python program to count the wins, draws and loses of the side to move for 3 to 7 pieces. Here are the results. In the spirit of open source/reproducible research, the source code is also included below. As these results are somewhat surprising, I will be happy to be informed of possible mistakes I may have made.</p>
  <pre><code>3- to 7-man Syzygy tablebases
  Total positions: 945907910147154
  Side to move loses: 439240886147124 (46.4359%)
  Side to move loss saved by 50-move rule: 1405811609374 (0.1486%)
  Draws: 124655757593757 (13.1784%)
  Side to move win saved by 50-move rule: 1511382741156 (0.1598%)
  Side to move wins: 379094072055743 (40.0773%)
  
  
  3-man Syzygy tablebases
  Total positions: 367868
  Side to move loses: 99222 (26.9722%)
  Side to move loss saved by 50-move rule: 0 (0.0000%)
  Draws: 166126 (45.1591%)
  Side to move win saved by 50-move rule: 0 (0.0000%)
  Side to move wins: 102520 (27.8687%)
  
  
  4-man Syzygy tablebases
  Total positions: 143702885
  Side to move loses: 48712335 (33.8980%)
  Side to move loss saved by 50-move rule: 0 (0.0000%)
  Draws: 45850555 (31.9065%)
  Side to move win saved by 50-move rule: 0 (0.0000%)
  Side to move wins: 49139995 (34.1956%)
  
  
  5-man Syzygy tablebases
  Total positions: 32612482961
  Side to move loses: 12895319023 (39.5411%)
  Side to move loss saved by 50-move rule: 38951980 (0.1194%)
  Draws: 7248043033 (22.2248%)
  Side to move win saved by 50-move rule: 33205648 (0.1018%)
  Side to move wins: 12396963277 (38.0129%)
  
  
  6-man Syzygy tablebases
  Total positions: 6170694290902
  Side to move loses: 2634258815181 (42.6898%)
  Side to move loss saved by 50-move rule: 8110268813 (0.1314%)
  Draws: 1075100392347 (17.4227%)
  Side to move win saved by 50-move rule: 7817500373 (0.1267%)
  Side to move wins: 2445407314188 (39.6294%)
  
  
  7-man Syzygy tablebases
  Total positions: 939704459302538
  Side to move loses: 436593683201363 (46.4607%)
  Side to move loss saved by 50-move rule: 1397662388581 (0.1487%)
  Draws: 123573363141696 (13.1502%)
  Side to move win saved by 50-move rule: 1503532035135 (0.1600%)
  Side to move wins: 376636218535763 (40.0803%)
  </code></pre>
  <h2>Source code</h2>
  <pre><code>import json
  import numpy as np
  
  fd=open('stats.json')
  
  wdl_keys=('-2', '-1', '0', '1', '2')
  wdl=np.zeros((5, 5), dtype=np.uint)
  
  data=json.load(fd)
  
  for key, value in data.items():
      n_pieces=len(key)-1
      for i_wdl in range(5):
          # add WDL data for White to move
          wdl[n_pieces-3, i_wdl]+=value['histogram']['white']['wdl'][wdl_keys[i_wdl]]
          # add WDL data for Black to move
          wdl[n_pieces - 3, i_wdl] += value['histogram']['black']['wdl'][wdl_keys[i_wdl]]
  
  total_positions=np.sum(wdl)
  total_wdl=np.sum(wdl, axis=0)
  print('3- to 7-man Syzygy tablebases')
  print('Total positions: {:d}'.format(total_positions))
  print('Side to move loses: {:d} ({:.4f}%)'.format(total_wdl[0], 100.0*float(total_wdl[0])/float(total_positions)))
  print('Side to move loss saved by 50-move rule: {:d} ({:.4f}%)'.format(total_wdl[1], 100.0*float(total_wdl[1])/float(total_positions)))
  print('Draws: {:d} ({:.4f}%)'.format(total_wdl[2], 100.0*float(total_wdl[2])/float(total_positions)))
  print('Side to move win saved by 50-move rule: {:d} ({:.4f}%)'.format(total_wdl[3], 100.0*float(total_wdl[3])/float(total_positions)))
  print('Side to move wins: {:d} ({:.4f}%)'.format(total_wdl[4], 100.0*float(total_wdl[4])/float(total_positions)))
  
  positions=np.sum(wdl, axis=1)
  for i_pieces in range(5):
      print()
      print('{:d}-man Syzygy tablebases'.format(i_pieces+3))
      print('Total positions: {:d}'.format(positions[i_pieces]))
      print('Side to move loses: {:d} ({:.4f}%)'.format(wdl[i_pieces, 0], 100.0 * float(wdl[i_pieces, 0]) / float(positions[i_pieces])))
      print('Side to move loss saved by 50-move rule: {:d} ({:.4f}%)'.format(wdl[i_pieces, 1], 100.0 * float(wdl[i_pieces, 1]) / float(positions[i_pieces])))
      print('Draws: {:d} ({:.4f}%)'.format(wdl[i_pieces, 2], 100.0 * float(wdl[i_pieces, 2]) / float(positions[i_pieces])))
      print('Side to move win saved by 50-move rule: {:d} ({:.4f}%)'.format(wdl[i_pieces, 3], 100.0 * float(wdl[i_pieces, 3]) / float(positions[i_pieces])))
      print('Side to move wins: {:d} ({:.4f}%)'.format(wdl[i_pieces, 4], 100.0 * float(wdl[i_pieces, 4]) / float(positions[i_pieces])))
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-07-10T09:35:10.770Z
Answers.Text: Only 13-14% of all 3-7 piece endgames being technical draws is a very interesting data point at first glance,
Answers.UserDisplayName: Annatar
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-07-10T09:38:05.187Z
Answers.Text: however, a similar bias applies: these 13-14% are **much** more likely to occur from a real game than all the KQQQQQvKs that only happen in amateur games with one side refusing to give up and the other trolling.
Answers.UserDisplayName: Annatar
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-07-10T11:15:51.410Z
Answers.Text: @Annatar yes, not considering the prior (probability of those positions occurring) is definitely a large source of bias. It might be interesting to find the percentages for balanced positions (same material on both sides), though I suspect those will give an overwhelming advantage to the side to move
Answers.UserDisplayName: wimi
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2022-10-01T20:56:35.777Z
Answers.Text: You could filter positions with *both* sides to move. Given the code, I might try it myself, but I am too lazy.
Answers.UserDisplayName: Ferazhu
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-07-10T09:05:52.250Z
Answers.LastActivityDate: 2020-07-10T09:05:52.250Z
Answers.UserDisplayName: wimi
Body: <p>Studies show a slight advantage for White for <a href="https://en.wikipedia.org/wiki/First-move_advantage_in_chess" rel="nofollow noreferrer">having the first move</a>.  In the <a href="http://tb7.chessok.com/" rel="nofollow noreferrer">tablebase of trillions of 7-piece endgames</a>, <strong>with White to move</strong>, how many of <strong>those</strong> endgames end up as wins, how many as losses, and how many as draws for White?  And what are the numbers for 6, 5, 4, etc piece endgames?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-07-09T19:11:40.900Z
Comments.Text: It's 50-50, because if White wins a position, White loses the position with colors reversed, and both are in the database. The rest is drawn.
Comments.UserDisplayName: B.Swan
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-07-09T20:24:00.093Z
Comments.Text: As @77and33is100 notes, the winning percentage for black and white is the same because of symmetry. Without having checked I would strongly suspect that only one version is stored in the data.
Comments.UserDisplayName: user1583209
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-07-09T20:24:36.243Z
Comments.Text: The question could be made more interesting by rephrasing it to read: What percentage are wins as compared to draws?
Comments.UserDisplayName: user1583209
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-07-09T20:35:03.433Z
Comments.Text: The question was not intended to compare black and white, as user1583209 detected.  For each tablebase entry, with white to move, are the totals 50% win, 49% loss, 1% draw, or what?
Comments.UserDisplayName: Witness Protection ID 44583292
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-07-10T02:22:19.130Z
Comments.Text: I've edited the original question to try and phrase it better.
Comments.UserDisplayName: Witness Protection ID 44583292
Tags: <endgame><statistics><tablebases>
Title: What percentage of the time does White win in the Lomonosov tablebase?
ThreadText: # What percentage of the time does White win in the Lomonosov tablebase?
  
  (Asked by: username_0 on 2020-07-09)
  
  Studies show a slight advantage for White for [having the first move](https://en.wikipedia.org/wiki/First-move_advantage_in_chess). In the [tablebase of trillions of 7-piece endgames](http://tb7.chessok.com/), **with White to move**, how many of **those** endgames end up as wins, how many as losses, and how many as draws for White? And what are the numbers for 6, 5, 4, etc piece endgames?
  
  **Tags:** endgame, statistics, tablebases
  
  > **Comments:**
  > **username_1**: It's 50-50, because if White wins a position, White loses the position with colors reversed, and both are in the database. The rest is drawn.  
  > **username_2**: As @77and33is100 notes, the winning percentage for black and white is the same because of symmetry. Without having checked I would strongly suspect that only one version is stored in the data.  
  > **username_2**: The question could be made more interesting by rephrasing it to read: What percentage are wins as compared to draws?  
  > **username_0**: The question was not intended to compare black and white, as username_2 detected.  For each tablebase entry, with white to move, are the totals 50% win, 49% loss, 1% draw, or what?  
  > **username_0**: I've edited the original question to try and phrase it better.  
  
  ---
  
  ## 1 answers
  
  ### Answer by username_3 on 2020-07-10. Score: 12 | Accepted answer
  
  As I do not have access to the full Lomosonov tablebases, here is an answer based on the Syzygy tablebases, which are available online in machine-readable format. I interpret your question as "how often does the side to move win, lose or draw". As the Syzygy tablebases only include positions where White has material advantage, we have to add the statistics with White to move to the statistics with Black to move.
  You are going to be disappointed
  It seems that there are actually more positions in which the side to move loses. The reason seems to lie in the positions with large material imbalance. For example, consider KQQQQQvK. If you check that link, you will see that:
  
  with White to move, there are 37 099 315 080 winning positions for White (see "histogram":"white":"wdl":"2", the format is explained here)
  with Black to move, there are 334 280 290 500 winning positions for White (losing positions for Black), which is about 9 times more! (see "histogram":"black":"wdl":"-2")
  
  The reason for this is that, in KQQQQQvK, most of the positions are checks or checkmates. These positions are legal with Black to move, but illegal with White to move. This strongly biases the statistics to the point that the non-moving side (White) actually has more winning positions than the moving side.
  I wrote a Python program to count the wins, draws and loses of the side to move for 3 to 7 pieces. Here are the results. In the spirit of open source/reproducible research, the source code is also included below. As these results are somewhat surprising, I will be happy to be informed of possible mistakes I may have made.
  3- to 7-man Syzygy tablebases
  Total positions: 945907910147154
  Side to move loses: 439240886147124 (46.4359%)
  Side to move loss saved by 50-move rule: 1405811609374 (0.1486%)
  Draws: 124655757593757 (13.1784%)
  Side to move win saved by 50-move rule: 1511382741156 (0.1598%)
  Side to move wins: 379094072055743 (40.0773%)
  
  
  3-man Syzygy tablebases
  Total positions: 367868
  Side to move loses: 99222 (26.9722%)
  Side to move loss saved by 50-move rule: 0 (0.0000%)
  Draws: 166126 (45.1591%)
  Side to move win saved by 50-move rule: 0 (0.0000%)
  Side to move wins: 102520 (27.8687%)
  
  
  4-man Syzygy tablebases
  Total positions: 143702885
  Side to move loses: 48712335 (33.8980%)
  Side to move loss saved by 50-move rule: 0 (0.0000%)
  Draws: 45850555 (31.9065%)
  Side to move win saved by 50-move rule: 0 (0.0000%)
  Side to move wins: 49139995 (34.1956%)
  
  
  5-man Syzygy tablebases
  Total positions: 32612482961
  Side to move loses: 12895319023 (39.5411%)
  Side to move loss saved by 50-move rule: 38951980 (0.1194%)
  Draws: 7248043033 (22.2248%)
  Side to move win saved by 50-move rule: 33205648 (0.1018%)
  Side to move wins: 12396963277 (38.0129%)
  
  
  6-man Syzygy tablebases
  Total positions: 6170694290902
  Side to move loses: 2634258815181 (42.6898%)
  Side to move loss saved by 50-move rule: 8110268813 (0.1314%)
  Draws: 1075100392347 (17.4227%)
  Side to move win saved by 50-move rule: 7817500373 (0.1267%)
  Side to move wins: 2445407314188 (39.6294%)
  
  
  7-man Syzygy tablebases
  Total positions: 939704459302538
  Side to move loses: 436593683201363 (46.4607%)
  Side to move loss saved by 50-move rule: 1397662388581 (0.1487%)
  Draws: 123573363141696 (13.1502%)
  Side to move win saved by 50-move rule: 1503532035135 (0.1600%)
  Side to move wins: 376636218535763 (40.0803%)
  
  Source code
  import json
  import numpy as np
  
  fd=open('stats.json')
  
  wdl_keys=('-2', '-1', '0', '1', '2')
  wdl=np.zeros((5, 5), dtype=np.uint)
  
  data=json.load(fd)
  
  for key, value in data.items():
      n_pieces=len(key)-1
      for i_wdl in range(5):
          # add WDL data for White to move
          wdl[n_pieces-3, i_wdl]+=value['histogram']['white']['wdl'][wdl_keys[i_wdl]]
          # add WDL data for Black to move
          wdl[n_pieces - 3, i_wdl] += value['histogram']['black']['wdl'][wdl_keys[i_wdl]]
  
  total_positions=np.sum(wdl)
  total_wdl=np.sum(wdl, axis=0)
  print('3- to 7-man Syzygy tablebases')
  print('Total positions: {:d}'.format(total_positions))
  print('Side to move loses: {:d} ({:.4f}%)'.format(total_wdl[0], 100.0*float(total_wdl[0])/float(total_positions)))
  print('Side to move loss saved by 50-move rule: {:d} ({:.4f}%)'.format(total_wdl[1], 100.0*float(total_wdl[1])/float(total_positions)))
  print('Draws: {:d} ({:.4f}%)'.format(total_wdl[2], 100.0*float(total_wdl[2])/float(total_positions)))
  print('Side to move win saved by 50-move rule: {:d} ({:.4f}%)'.format(total_wdl[3], 100.0*float(total_wdl[3])/float(total_positions)))
  print('Side to move wins: {:d} ({:.4f}%)'.format(total_wdl[4], 100.0*float(total_wdl[4])/float(total_positions)))
  
  positions=np.sum(wdl, axis=1)
  for i_pieces in range(5):
      print()
      print('{:d}-man Syzygy tablebases'.format(i_pieces+3))
      print('Total positions: {:d}'.format(positions[i_pieces]))
      print('Side to move loses: {:d} ({:.4f}%)'.format(wdl[i_pieces, 0], 100.0 * float(wdl[i_pieces, 0]) / float(positions[i_pieces])))
      print('Side to move loss saved by 50-move rule: {:d} ({:.4f}%)'.format(wdl[i_pieces, 1], 100.0 * float(wdl[i_pieces, 1]) / float(positions[i_pieces])))
      print('Draws: {:d} ({:.4f}%)'.format(wdl[i_pieces, 2], 100.0 * float(wdl[i_pieces, 2]) / float(positions[i_pieces])))
      print('Side to move win saved by 50-move rule: {:d} ({:.4f}%)'.format(wdl[i_pieces, 3], 100.0 * float(wdl[i_pieces, 3]) / float(positions[i_pieces])))
      print('Side to move wins: {:d} ({:.4f}%)'.format(wdl[i_pieces, 4], 100.0 * float(wdl[i_pieces, 4]) / float(positions[i_pieces])))
  
  > **Comments:**
  > **username_4**: Only 13-14% of all 3-7 piece endgames being technical draws is a very interesting data point at first glance,  
  > **username_4**: however, a similar bias applies: these 13-14% are **much** more likely to occur from a real game than all the KQQQQQvKs that only happen in amateur games with one side refusing to give up and the other trolling.  
  > **username_3**: @username_4 yes, not considering the prior (probability of those positions occurring) is definitely a large source of bias. It might be interesting to find the percentages for balanced positions (same material on both sides), though I suspect those will give an overwhelming advantage to the side to move  
  > **username_5**: You could filter positions with *both* sides to move. Given the code, I might try it myself, but I am too lazy.  
  
  ---
  
  