max number of pseudo legal move

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

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

Re: max number of pseudo legal move

Post by MikeB »

xr_a_y wrote: Sun Jun 09, 2019 5:14 pm is there a worst position than this one

[d] 3Q4/1Q4Q1/4Q3/2Q4R/Q4Q2/3Q4/1Q4Rp/1K1BBNNk w - - 0 1

218 pseudo legal moves ?
Yes that's the one. Real world, from real games , not proof games, the record as far I know is 79 moves. I performed a search once , using a move generator on 1 million games and found a game with 78 possible moves . I posted the game here, years ago - maybe 10 to 13 years ago.

The real game record:
https://timkr.home.xs4all.nl/records/re ... d%20pieces
Image
JohnWoe
Posts: 491
Joined: Sat Mar 02, 2013 11:31 pm

Re: max number of pseudo legal move

Post by JohnWoe »

Logged Sapeli's maximum moves from standard games against Fairy:
https://pastebin.com/HU2CQvZm

79 moves is the maximum currently.
I think 128 is plenty for gameplay. For analyzing 256 is bullet proof.
User avatar
xr_a_y
Posts: 1871
Joined: Sat Nov 25, 2017 2:28 pm
Location: France

Re: max number of pseudo legal move

Post by xr_a_y »

JohnWoe wrote: Tue Jun 11, 2019 6:50 pm Logged Sapeli's maximum moves from standard games against Fairy:
https://pastebin.com/HU2CQvZm

79 moves is the maximum currently.
I think 128 is plenty for gameplay. For analyzing 256 is bullet proof.
I agree. I really don't know how I've came up with the 512 initially ...
User avatar
Ajedrecista
Posts: 1968
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: Maximum number of pseudo legal moves.

Post by Ajedrecista »

Hello Mike:
MikeB wrote:[...] Real world, from real games , not proof games, the record as far I know is 79 moves. I performed a search once , using a move generator on 1 million games and found a game with 78 possible moves . I posted the game here, years ago - maybe 10 to 13 years ago.

The real game record:
https://timkr.home.xs4all.nl/records/re ... d%20pieces
I downloaded CCRL 40/4 games (CCRL-404.[2047025].pgn, so 2047025 games) and I found positions with perft(1) > 79. There is at least one position in this PGN with perft(1) = 85 because I saw that info while the fantastic tool joined was running, before it was overwritten by other position with perft(1) = 89 and later by others with perft(1) = 98, perft(1) = 102 and perft(1) = 124. There might be other positions found later with 79 < perft(1) =< 124:

Code: Select all

.\joined>joined -h
Illegal option: h !
Usage: joined [<*.PGN, *.FEN or *.EPD file>] [-<options>]
Legal options are:
   -p        : Print messages to both stderr and stdout
   -q        : Quit after scanning input file
   -r        : Initial value for random algorithm
   -s        : Print messages only to stdout
   -v<number>: Set verbose level to <number> (default 4)
      The numbers may be added. The numbers are:
       1: Print PGN
       2: Calculate number of legal moves in all positions
       4: Print progress (default)
       8: Print all warnings
      16: Check PGN
      32: Report result = '*'
      64: Get statistics on all types of moves
***** Error exit *****

.\joined>joined -q -v6 CCRL-404.[2047025].pgn
Scanning file CCRL-404.[2047025].pgn containing 2324578752 bytes !

[...]

Read 2047025 games with 282012002 moves, 53150521 lines, 2324578752 bytes !
Got max. 799 moves in game 1013473 before line 26659054 !
Got 3536229011 legal moves in 284059027 positons !
Got max. 124 legal moves after move 288 in game 892029 line 23469623 !
Verbose level -v6 is 2 + 4 = 6 ('Calculate number of legal moves in all positions' and 'Print progress').

Since I can only track the position with the maximum[perft(1)], the game where it arose is the following one:

[pgn][Event "CCRL 40/4"] [Site "CCRL"] [Date "2012.11.03"] [Round "173.9.791"] [White "GrayMatter SVN1604"] [Black "Xadreco 5.7"] [Result "1/2-1/2"] [ECO "D00"] [Opening "Queen's pawn game"] [PlyCount "345"] [WhiteElo "1215"] [BlackElo "1026"] 1. d4 d5 2. c3 c6 3. Nf3 Bg4 4. Bf4 g6 5. Qb3 Bxf3 6. Qxb7 e5 7. Qxa8 exf4 8. exf3 Qb6 9. b3 Kd7 10. Bd3 Bb4 11. cxb4 Kc7 12. Nc3 Qxd4 13. Nb5+ cxb5 14. Rc1+ Kd7 15. Bxb5+ Ke6 16. Qxb8 Ne7 17. Be8 f5 18. O-O Ng8 19. Rfd1 Qb2 20. Rc6+ Ke7 21. Re1+ Kf8 22. Bxg6+ Kg7 23. Qe8 Qd2 24. Bxf5 Qxa2 25. Qe5+ Kf7 26. Qxh8 Qb2 27. Qxb2 d4 28. Qxd4 Kf8 29. Rc8+ Kf7 30. Rc7+ Ne7 31. Bxh7 Kf8 32. Qf6+ Ke8 33. Bd3 a6 34. Rexe7+ Kd8 35. Rg7+ Ke8 36. Qd6 a5 37. b5 a4 38. Rge7+ Kf8 39. Qxf4+ Kg8 40. bxa4 Kh8 41. Rh7+ Kg8 42. Rhg7+ Kh8 43. Rh7+ Kg8 44. Rhg7+ Kh8 45. Rge7 Kg8 46. b6 Kh8 47. b7 Kg8 48. h4 Kh8 49. Qh6+ Kg8 50. Qh7+ Kf8 51. Qh6+ Kg8 52. Qh7+ Kf8 53. Rg7 Ke8 54. g4 Kd8 55. Bf5 Ke8 56. Bc8 Kd8 57. b8=Q Ke8 58. Rgd7 Kf8 59. Qb5 Ke8 60. Qbh5+ Kf8 61. Qe4 Kg8 62. Qeh7+ Kf8 63. Qe4 Kg8 64. g5 Kf8 65. f4 Kg8 66. g6 Kf8 67. Rh7 Kg8 68. Be6+ Kf8 69. Bd7 Kg8 70. Be6+ Kf8 71. Bd7 Kg8 72. Qed5+ Kf8 73. g7+ Ke7 74. g8=Q+ Kf6 75. Rh8 Ke7 76. Rh7+ Kf6 77. Rh8 Ke7 78. Qb7 Kd6 79. Rh6+ Ke7 80. Qgg5+ Kf8 81. Rf6+ Ke7 82. Re6+ Kf8 83. Qe7+ Kg8 84. Qhf7+ Kh8 85. Qf5 Kg8 86. a5 Kh8 87. a6 Kg8 88. a7 Kh8 89. Be8 Kg8 90. a8=Q Kh8 91. Qff6+ Kg8 92. Qff7+ Kh8 93. Qff6+ Kg8 94. Qff7+ Kh8 95. Qh5+ Kg8 96. Qd7 Kf8 97. Qa3+ Kg8 98. Bf7+ Kg7 99. Be8+ Kg8 100. Qaa7 Kf8 101. Rf6+ Kg8 102. Qhf7+ Kh8 103. Qh5+ Kg8 104. Qhf7+ Kh8 105. Qfe7 Kg8 106. f5 Kh8 107. h5 Kg8 108. Rf7 Kh8 109. Qe5+ Kg8 110. Qg3+ Kh8 111. Qe5+ Kg8 112. Qg3+ Kh8 113. Qgd3 Kg8 114. f6 Kh8 115. Rh7+ Kg8 116. f7+ Kf8 117. Rh8+ Kg7 118. Rh7+ Kf6 119. Qad4+ Kg5 120. h6 Kh5 121. f8=Q+ Kg5 122. Rf7 Kh5 123. Re7+ Kg5 124. f4+ Kh4 125. Qd7d5 Kg4 126. h7 Kh4 127. h8=Q+ Kg4 128. Qhe5 Kh4 129. f5+ Kg5 130. Bc6 Kh5 131. Qde2+ Kg5 132. Qfg8+ Kh6 133. Qge6+ Kg5 134. f6+ Kg6 135. Kf2 Kh6 136. f7+ Kh7 137. Qh3+ Kg6 138. Qhg3+ Kh6 139. Qh3+ Kg6 140. Qhg3+ Kh6 141. Qge3+ Kg6 142. Bd7 Kh7 143. f8=Q+ Kg6 144. Re6+ Kh7 145. Re7+ Kg6 146. Re6+ Kh7 147. Qe7+ Kg8 148. Rf6+ Kh8 149. Rf7+ Kg8 150. Rf6+ Kh8 151. Qdc6 Kg8 152. Be6+ Kh8 153. Bf5 Kg8 154. Qda7 Kh8 155. Qh5+ Kg8 156. Bh7+ Kh8 157. Be4+ Kg8 158. Qhf7+ Kh8 159. Qfh5+ Kg8 160. Qhf7+ Kh8 161. Qg8+ Kxg8 162. Kf3 Kh8 163. Qcd7 Kg8 164. Qeb3+ Kh8 165. Qbd3 Kg8 166. Kg4 Kh8 167. Kf3 Kg8 168. Qdb3+ Kh8 169. Rf7+ Kg8 170. Rg7+ Kh8 171. Rf7+ Kg8 172. Rg7+ Kh8 173. Rf7+ 1/2-1/2[/pgn]

The position with perft(1) = 124 is the next one just after 288 plies, as reported by joined:

[d]5Q2/1QRB3k/4R3/3QQ3/3Q4/4Q3/4QK2/8 w - - 3 145

Which perft(1) = 124 was verified by JetChess perft counter:

Code: Select all

JetChess 1.0.0.0:

5Q2/1QRB3k/4R3/3QQ3/3Q4/4Q3/4QK2/8 w - - 3 145

perft(1) = 124
--------------
  1  Qe2-d3
  2  Qe2-c4
  3  Qe2-b5
  4  Qe2-a6
  5  Qe2-f3
  6  Qe2-g4
  7  Qe2-h5
  8  Qe2-f1
  9  Qe2-d1
 10  Qe2-d2
 11  Qe2-c2
 12  Qe2-b2
 13  Qe2-a2
 14  Qe2-e1
 15  Qe3-f4
 16  Qe3-g5
 17  Qe3-h6
 18  Qe3-d2
 19  Qe3-c1
 20  Qe3-e4
 21  Qe3-f3
 22  Qe3-g3
 23  Qe3-h3
 24  Qe3-d3
 25  Qe3-c3
 26  Qe3-b3
 27  Qe3-a3
 28  Qd4-c5
 29  Qd4-b6
 30  Qd4-a7
 31  Qd4-c3
 32  Qd4-b2
 33  Qd4-a1
 34  Qd4-e4
 35  Qd4-f4
 36  Qd4-g4
 37  Qd4-h4
 38  Qd4-c4
 39  Qd4-b4
 40  Qd4-a4
 41  Qd4-d3
 42  Qd4-d2
 43  Qd4-d1
 44  Qd5-c6
 45  Qd5-e4
 46  Qd5-f3
 47  Qd5-g2
 48  Qd5-h1
 49  Qd5-c4
 50  Qd5-b3
 51  Qd5-a2
 52  Qd5-d6
 53  Qd5-c5
 54  Qd5-b5
 55  Qd5-a5
 56  Qe5-d6
 57  Qe5-f6
 58  Qe5-g7
 59  Qe5-h8
 60  Qe5-f4
 61  Qe5-g3
 62  Qe5-h2
 63  Qe5-f5
 64  Qe5-g5
 65  Qe5-h5
 66  Qe5-e4
 67  Qb7-a8
 68  Qb7-c8
 69  Qb7-c6
 70  Qb7-a6
 71  Qb7-b8
 72  Qb7-a7
 73  Qb7-b6
 74  Qb7-b5
 75  Qb7-b4
 76  Qb7-b3
 77  Qb7-b2
 78  Qb7-b1
 79  Qf8-g7
 80  Qf8-h6
 81  Qf8-e7
 82  Qf8-d6
 83  Qf8-c5
 84  Qf8-b4
 85  Qf8-a3
 86  Qf8-g8
 87  Qf8-h8
 88  Qf8-e8
 89  Qf8-d8
 90  Qf8-c8
 91  Qf8-b8
 92  Qf8-a8
 93  Qf8-f7
 94  Qf8-f6
 95  Qf8-f5
 96  Qf8-f4
 97  Qf8-f3
 98  Re6-e7
 99  Re6-e8
100  Re6-f6
101  Re6-g6
102  Re6-h6
103  Re6-d6
104  Re6-c6
105  Re6-b6
106  Re6-a6
107  Rc7-c8
108  Rc7-c6
109  Rc7-c5
110  Rc7-c4
111  Rc7-c3
112  Rc7-c2
113  Rc7-c1
114  Bd7-c8
115  Bd7-e8
116  Bd7-c6
117  Bd7-b5
118  Bd7-a4
119  Kf2-g2
120  Kf2-f3
121  Kf2-g3
122  Kf2-e1
123  Kf2-f1
124  Kf2-g1
It is a real game since it is not a composition, although the level of the engines was really low. To force a threefold repetition with the winning side in a KQQQQQQRRB-vs-k position has its merit. ;)

This task can be repeated with CCRL 40/40 games, CEGT, SSDF and so on. I chose CCRL 40/4 for its high amount of games.

Regards from Spain.

Ajedrecista.
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: max number of pseudo legal move

Post by Dann Corbit »

Here is a fun one for you, a position with 205 best moves:
[d]3Q4/R6Q/2Q4Q/4Q3/1Q4Q1/3Q4/Q4RNp/2BK1Nkq w - -
The best moves are:
Ba3 Bb2 Bd2 Be3 Bf4 Bg5 Kc2 Kd2 Ke1 Ke2 Ne1+ Nf4+ Nfe3 Ng3 Nge3+ Nh4+ Nxh2 Q3d4 Q3d5 Q3d6 Q3d7 Q6g7 Q7g6 Q7g7 Q8d4 Q8d5 Q8d6 Q8d7 Qaa1 Qaa3 Qaa4 Qaa5 Qaa6 Qab1 Qab2 Qab3 Qac2 Qac4 Qad2 Qad5 Qae2 Qae6 Qaf7 Qag8 Qba3 Qba4 Qba5 Qbb1 Qbb2 Qbb3 Qbb5 Qbb6 Qbb7 Qbb8 Qbc3 Qbc4 Qbc5 Qbd2 Qbd4 Qbd6 Qbe1 Qbe4 Qbe7 Qbf4 Qbf8 Qca4 Qca6 Qca8 Qcb5 Qcb6 Qcb7 Qcc2 Qcc3 Qcc4 Qcc5 Qcc7 Qcc8 Qcd5 Qcd6 Qcd7 Qce4 Qce6 Qce8 Qcf3 Qcf6 Qcg6 Qda3 Qda5 Qda6 Qda8 Qdb1 Qdb3 Qdb5 Qdb6 Qdb8 Qdc2 Qdc3 Qdc4 Qdc7 Qdc8 Qdd2 Qde2 Qde3 Qde4 Qde7 Qde8 Qdf3 Qdf5 Qdf6 Qdf8 Qdg3 Qdg5 Qdg6 Qdg8 Qdh3 Qdh4 Qdh8 Qea1 Qea5 Qeb2 Qeb5 Qeb8 Qec3 Qec5 Qec7 Qed4 Qed5 Qed6 Qee1 Qee2 Qee3 Qee4 Qee6 Qee7 Qee8 Qef4 Qef5 Qef6 Qeg3 Qeg5 Qeg7 Qeh5 Qeh8 Qexh2+ Qgc4 Qgc8 Qgd4 Qgd7 Qge2 Qge4 Qge6 Qgf3 Qgf4 Qgf5 Qgg3 Qgg5 Qgg6 Qgg7 Qgg8 Qgh3 Qgh4 Qgh5 Qh6g6 Qhb7 Qhc7 Qhd2 Qhd6 Qhd7 Qhe3 Qhe4 Qhe6 Qhe7 Qhf4 Qhf5 Qhf6 Qhf7 Qhf8 Qhg5 Qhg8 Qhh3 Qhh4 Qhh5 Qhh8 Qhxh2+ Ra3 Ra4 Ra5 Ra6 Ra8 Raf7 Rb2 Rb7 Rc2 Rc7 Rd2 Rd7 Re2 Re7 Rf3 Rf4 Rf5 Rf6 Rf8 Rff7 Rg7
and all of them result in mate in 2.
One example:
Nge3+ Qg2 Qhxh2#
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
Uri Blass
Posts: 10269
Joined: Thu Mar 09, 2006 12:37 am
Location: Tel-Aviv Israel

Re: max number of pseudo legal move

Post by Uri Blass »

JohnWoe wrote: Tue Jun 11, 2019 6:50 pm Logged Sapeli's maximum moves from standard games against Fairy:
https://pastebin.com/HU2CQvZm

79 moves is the maximum currently.
I think 128 is plenty for gameplay. For analyzing 256 is bullet proof.
I will be surprised if 79 moves is the maximum for human games.

There are many games between children when the weaker side does not resign and the stronger side prefer to promote many pawns to queens instead of making mate fast and I am sure that some of them have more than 79 moves.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: max number of pseudo legal move

Post by bob »

A LONG time ago, I decided to make this particular question a non issue. I use a big array (vector). I have another vector last[ply]. The idea is then that for all plies, last[ply] points one past the last move for the current ply. If you want to iterate over the complete move list for ply=4, you do something like:

for (move=last[3]; move < last[4]; move++) { loop stuff }

all you have to do is make the vector of moves large enough to hold all the moves from all the plies. There are no gaps this way, no "cache unfriendliness" and such either. And it is very simple.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Maximum number of pseudo legal moves.

Post by MikeB »

Ajedrecista wrote: Tue Jun 11, 2019 10:58 pm Hello Mike:
MikeB wrote:[...] Real world, from real games , not proof games, the record as far I know is 79 moves. I performed a search once , using a move generator on 1 million games and found a game with 78 possible moves . I posted the game here, years ago - maybe 10 to 13 years ago.

The real game record:
https://timkr.home.xs4all.nl/records/re ... d%20pieces
I downloaded CCRL 40/4 games (CCRL-404.[2047025].pgn, so 2047025 games) and I found positions with perft(1) > 79. There is at least one position in this PGN with perft(1) = 85 because I saw that info while the fantastic tool joined was running, before it was overwritten by other position with perft(1) = 89 and later by others with perft(1) = 98, perft(1) = 102 and perft(1) = 124. There might be other positions found later with 79 < perft(1) =< 124:

Code: Select all

.\joined>joined -h
Illegal option: h !
Usage: joined [<*.PGN, *.FEN or *.EPD file>] [-<options>]
Legal options are:
   -p        : Print messages to both stderr and stdout
   -q        : Quit after scanning input file
   -r        : Initial value for random algorithm
   -s        : Print messages only to stdout
   -v<number>: Set verbose level to <number> (default 4)
      The numbers may be added. The numbers are:
       1: Print PGN
       2: Calculate number of legal moves in all positions
       4: Print progress (default)
       8: Print all warnings
      16: Check PGN
      32: Report result = '*'
      64: Get statistics on all types of moves
***** Error exit *****

.\joined>joined -q -v6 CCRL-404.[2047025].pgn
Scanning file CCRL-404.[2047025].pgn containing 2324578752 bytes !

[...]

Read 2047025 games with 282012002 moves, 53150521 lines, 2324578752 bytes !
Got max. 799 moves in game 1013473 before line 26659054 !
Got 3536229011 legal moves in 284059027 positons !
Got max. 124 legal moves after move 288 in game 892029 line 23469623 !
Verbose level -v6 is 2 + 4 = 6 ('Calculate number of legal moves in all positions' and 'Print progress').

Since I can only track the position with the maximum[perft(1)], the game where it arose is the following one:

[pgn][Event "CCRL 40/4"] [Site "CCRL"] [Date "2012.11.03"] [Round "173.9.791"] [White "GrayMatter SVN1604"] [Black "Xadreco 5.7"] [Result "1/2-1/2"] [ECO "D00"] [Opening "Queen's pawn game"] [PlyCount "345"] [WhiteElo "1215"] [BlackElo "1026"] 1. d4 d5 2. c3 c6 3. Nf3 Bg4 4. Bf4 g6 5. Qb3 Bxf3 6. Qxb7 e5 7. Qxa8 exf4 8. exf3 Qb6 9. b3 Kd7 10. Bd3 Bb4 11. cxb4 Kc7 12. Nc3 Qxd4 13. Nb5+ cxb5 14. Rc1+ Kd7 15. Bxb5+ Ke6 16. Qxb8 Ne7 17. Be8 f5 18. O-O Ng8 19. Rfd1 Qb2 20. Rc6+ Ke7 21. Re1+ Kf8 22. Bxg6+ Kg7 23. Qe8 Qd2 24. Bxf5 Qxa2 25. Qe5+ Kf7 26. Qxh8 Qb2 27. Qxb2 d4 28. Qxd4 Kf8 29. Rc8+ Kf7 30. Rc7+ Ne7 31. Bxh7 Kf8 32. Qf6+ Ke8 33. Bd3 a6 34. Rexe7+ Kd8 35. Rg7+ Ke8 36. Qd6 a5 37. b5 a4 38. Rge7+ Kf8 39. Qxf4+ Kg8 40. bxa4 Kh8 41. Rh7+ Kg8 42. Rhg7+ Kh8 43. Rh7+ Kg8 44. Rhg7+ Kh8 45. Rge7 Kg8 46. b6 Kh8 47. b7 Kg8 48. h4 Kh8 49. Qh6+ Kg8 50. Qh7+ Kf8 51. Qh6+ Kg8 52. Qh7+ Kf8 53. Rg7 Ke8 54. g4 Kd8 55. Bf5 Ke8 56. Bc8 Kd8 57. b8=Q Ke8 58. Rgd7 Kf8 59. Qb5 Ke8 60. Qbh5+ Kf8 61. Qe4 Kg8 62. Qeh7+ Kf8 63. Qe4 Kg8 64. g5 Kf8 65. f4 Kg8 66. g6 Kf8 67. Rh7 Kg8 68. Be6+ Kf8 69. Bd7 Kg8 70. Be6+ Kf8 71. Bd7 Kg8 72. Qed5+ Kf8 73. g7+ Ke7 74. g8=Q+ Kf6 75. Rh8 Ke7 76. Rh7+ Kf6 77. Rh8 Ke7 78. Qb7 Kd6 79. Rh6+ Ke7 80. Qgg5+ Kf8 81. Rf6+ Ke7 82. Re6+ Kf8 83. Qe7+ Kg8 84. Qhf7+ Kh8 85. Qf5 Kg8 86. a5 Kh8 87. a6 Kg8 88. a7 Kh8 89. Be8 Kg8 90. a8=Q Kh8 91. Qff6+ Kg8 92. Qff7+ Kh8 93. Qff6+ Kg8 94. Qff7+ Kh8 95. Qh5+ Kg8 96. Qd7 Kf8 97. Qa3+ Kg8 98. Bf7+ Kg7 99. Be8+ Kg8 100. Qaa7 Kf8 101. Rf6+ Kg8 102. Qhf7+ Kh8 103. Qh5+ Kg8 104. Qhf7+ Kh8 105. Qfe7 Kg8 106. f5 Kh8 107. h5 Kg8 108. Rf7 Kh8 109. Qe5+ Kg8 110. Qg3+ Kh8 111. Qe5+ Kg8 112. Qg3+ Kh8 113. Qgd3 Kg8 114. f6 Kh8 115. Rh7+ Kg8 116. f7+ Kf8 117. Rh8+ Kg7 118. Rh7+ Kf6 119. Qad4+ Kg5 120. h6 Kh5 121. f8=Q+ Kg5 122. Rf7 Kh5 123. Re7+ Kg5 124. f4+ Kh4 125. Qd7d5 Kg4 126. h7 Kh4 127. h8=Q+ Kg4 128. Qhe5 Kh4 129. f5+ Kg5 130. Bc6 Kh5 131. Qde2+ Kg5 132. Qfg8+ Kh6 133. Qge6+ Kg5 134. f6+ Kg6 135. Kf2 Kh6 136. f7+ Kh7 137. Qh3+ Kg6 138. Qhg3+ Kh6 139. Qh3+ Kg6 140. Qhg3+ Kh6 141. Qge3+ Kg6 142. Bd7 Kh7 143. f8=Q+ Kg6 144. Re6+ Kh7 145. Re7+ Kg6 146. Re6+ Kh7 147. Qe7+ Kg8 148. Rf6+ Kh8 149. Rf7+ Kg8 150. Rf6+ Kh8 151. Qdc6 Kg8 152. Be6+ Kh8 153. Bf5 Kg8 154. Qda7 Kh8 155. Qh5+ Kg8 156. Bh7+ Kh8 157. Be4+ Kg8 158. Qhf7+ Kh8 159. Qfh5+ Kg8 160. Qhf7+ Kh8 161. Qg8+ Kxg8 162. Kf3 Kh8 163. Qcd7 Kg8 164. Qeb3+ Kh8 165. Qbd3 Kg8 166. Kg4 Kh8 167. Kf3 Kg8 168. Qdb3+ Kh8 169. Rf7+ Kg8 170. Rg7+ Kh8 171. Rf7+ Kg8 172. Rg7+ Kh8 173. Rf7+ 1/2-1/2[/pgn]

The position with perft(1) = 124 is the next one just after 288 plies, as reported by joined:

[d]5Q2/1QRB3k/4R3/3QQ3/3Q4/4Q3/4QK2/8 w - - 3 145

Which perft(1) = 124 was verified by JetChess perft counter:

Code: Select all

JetChess 1.0.0.0:

5Q2/1QRB3k/4R3/3QQ3/3Q4/4Q3/4QK2/8 w - - 3 145

perft(1) = 124
--------------
  1  Qe2-d3
  2  Qe2-c4
  3  Qe2-b5
  4  Qe2-a6
  5  Qe2-f3
  6  Qe2-g4
  7  Qe2-h5
  8  Qe2-f1
  9  Qe2-d1
 10  Qe2-d2
 11  Qe2-c2
 12  Qe2-b2
 13  Qe2-a2
 14  Qe2-e1
 15  Qe3-f4
 16  Qe3-g5
 17  Qe3-h6
 18  Qe3-d2
 19  Qe3-c1
 20  Qe3-e4
 21  Qe3-f3
 22  Qe3-g3
 23  Qe3-h3
 24  Qe3-d3
 25  Qe3-c3
 26  Qe3-b3
 27  Qe3-a3
 28  Qd4-c5
 29  Qd4-b6
 30  Qd4-a7
 31  Qd4-c3
 32  Qd4-b2
 33  Qd4-a1
 34  Qd4-e4
 35  Qd4-f4
 36  Qd4-g4
 37  Qd4-h4
 38  Qd4-c4
 39  Qd4-b4
 40  Qd4-a4
 41  Qd4-d3
 42  Qd4-d2
 43  Qd4-d1
 44  Qd5-c6
 45  Qd5-e4
 46  Qd5-f3
 47  Qd5-g2
 48  Qd5-h1
 49  Qd5-c4
 50  Qd5-b3
 51  Qd5-a2
 52  Qd5-d6
 53  Qd5-c5
 54  Qd5-b5
 55  Qd5-a5
 56  Qe5-d6
 57  Qe5-f6
 58  Qe5-g7
 59  Qe5-h8
 60  Qe5-f4
 61  Qe5-g3
 62  Qe5-h2
 63  Qe5-f5
 64  Qe5-g5
 65  Qe5-h5
 66  Qe5-e4
 67  Qb7-a8
 68  Qb7-c8
 69  Qb7-c6
 70  Qb7-a6
 71  Qb7-b8
 72  Qb7-a7
 73  Qb7-b6
 74  Qb7-b5
 75  Qb7-b4
 76  Qb7-b3
 77  Qb7-b2
 78  Qb7-b1
 79  Qf8-g7
 80  Qf8-h6
 81  Qf8-e7
 82  Qf8-d6
 83  Qf8-c5
 84  Qf8-b4
 85  Qf8-a3
 86  Qf8-g8
 87  Qf8-h8
 88  Qf8-e8
 89  Qf8-d8
 90  Qf8-c8
 91  Qf8-b8
 92  Qf8-a8
 93  Qf8-f7
 94  Qf8-f6
 95  Qf8-f5
 96  Qf8-f4
 97  Qf8-f3
 98  Re6-e7
 99  Re6-e8
100  Re6-f6
101  Re6-g6
102  Re6-h6
103  Re6-d6
104  Re6-c6
105  Re6-b6
106  Re6-a6
107  Rc7-c8
108  Rc7-c6
109  Rc7-c5
110  Rc7-c4
111  Rc7-c3
112  Rc7-c2
113  Rc7-c1
114  Bd7-c8
115  Bd7-e8
116  Bd7-c6
117  Bd7-b5
118  Bd7-a4
119  Kf2-g2
120  Kf2-f3
121  Kf2-g3
122  Kf2-e1
123  Kf2-f1
124  Kf2-g1
It is a real game since it is not a composition, although the level of the engines was really low. To force a threefold repetition with the winning side in a KQQQQQQRRB-vs-k position has its merit. ;)

This task can be repeated with CCRL 40/40 games, CEGT, SSDF and so on. I chose CCRL 40/4 for its high amount of games.

Regards from Spain.

Ajedrecista.
+1 HAHA - nice find. Good to see CCRL tests engines of all strengths!
Image
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: max number of pseudo legal move

Post by Dann Corbit »

I can actually see beads of sweat on the black king's head. Judging by the posts in this thread, I would say he is having a bad day.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
User avatar
Roland Chastain
Posts: 640
Joined: Sat Jun 08, 2013 10:07 am
Location: France
Full name: Roland Chastain

Re: max number of pseudo legal move

Post by Roland Chastain »

Dann, I like very much your "205 best moves" position. :)

By the way, the official JetChess web page no longer exists. Would you know another place where one can download it?
Qui trop embrasse mal étreint.