Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cutechess/fishtest issued Illegal PV warnings for Shogi #18

Open
notruck opened this issue Aug 24, 2020 · 17 comments
Open

cutechess/fishtest issued Illegal PV warnings for Shogi #18

notruck opened this issue Aug 24, 2020 · 17 comments

Comments

@notruck
Copy link

notruck commented Aug 24, 2020

The vast majority of Shogi (and shogi-family) games complete without any warning, but this one game (round 87) issued quite a bunch.

In particular, it really seems to dislike this i8h8 move. The log below is unedited and copied verbatim:

Started game 85 of 200 (stockfish vs base)
Finished game 85 (stockfish vs base): 0-1 {Gote mates}
Score of stockfish vs base: 42 - 43 - 0  [0.494] 85
Started game 86 of 200 (base vs stockfish)
Finished game 86 (base vs stockfish): 1-0 {White wins by adjudication}
Score of stockfish vs base: 42 - 44 - 0  [0.488] 86
Started game 87 of 200 (stockfish vs base)
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Rh8 Kf9 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from base (1)
Warning: PV: Kf8 +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Warning: Illegal PV move i8h8 from stockfish (0)
Warning: PV: +Ri8 Kg9 i8h8
Finished game 87 (stockfish vs base): 1/2-1/2 {Draw by fourfold repetition}
Score of stockfish vs base: 42 - 44 - 1  [0.489] 87
Started game 88 of 200 (base vs stockfish)
Finished game 88 (base vs stockfish): 1-0 {Sente mates}
Score of stockfish vs base: 42 - 45 - 1  [0.483] 88

The game itself is relatively short, eventually ending in a 4-fold repetition.

[Event "?"]
[Site "?"]
[Date "2020.08.24"]
[Round "87"]
[White "stockfish"]
[Black "base"]
[Result "1/2-1/2"]
[FEN "lnsgkgsnl/1r5b1/ppp1ppppp/3p5/9/4P3P/PPPP1PPP1/1B5R1/LNSGKGSNL[-] b - 2"]
[GameDuration "00:01:17"]
[GameEndTime "2020-08-24T14:08:11.619 UTC"]
[GameStartTime "2020-08-24T14:06:53.907 UTC"]
[PlyCount "74"]
[SetUp "1"]
[TimeControl "32.439+0.32"]
[Variant "shogi"]

1... Gfe8 {-0.32/16 2.6s} 2. Gfe2 {+1.34/18 2.7s} Pb6 {-0.82/19 3.1s}
3. Pc4 {+1.37/15 0.86s} Pb5 {-0.66/15 0.65s} 4. Bc3 {+1.19/15 0.46s}
Pd5 {-0.54/16 2.6s} 5. Sf2 {+1.30/15 0.83s} Kf9 {-0.52/16 0.77s}
6. Kf1 {+1.41/15 0.76s} Rb6 {-0.51/14 0.45s} 7. Ph4 {+1.63/14 0.24s}
Pi6 {-1.16/18 4.3s} 8. Pf4 {+1.79/16 1.1s} Sg8 {-1.03/16 1.5s}
9. Sd2 {+1.73/15 0.51s} Kg9 {-1.21/15 0.93s} 10. Ph5 {+1.74/16 2.7s}
Rc6 {-0.94/16 1.9s} 11. Kg1 {+2.07/18 2.6s} Rxc4 {-0.74/16 1.0s}
12. Ph6 {+2.25/13 0.25s} Pxh6 {-0.68/16 0.51s} 13. Rxh6 {+1.18/16 1.7s}
Rxe4 {-0.38/14 0.35s} 14. Pi5 {+1.42/17 4.3s} Pxi5 {-0.25/13 0.42s}
15. P@h7 {+2.41/16 1.1s} Bi7 {-1.27/15 1.3s} 16. Rd6 {+2.55/14 0.30s}
Sc8 {-0.95/18 2.5s} 17. Sde3 {+3.16/16 0.94s} Re6 {+0.13/15 0.27s}
18. Rxe6 {+3.47/14 0.32s} Pxe6 {+0.47/14 0.31s} 19. Lxi5 {+1.81/16 1.5s}
R@h3 {+0.93/13 0.37s} 20. Lxi7+ {+4.31/16 1.0s} Lxi7 {-0.43/17 1.1s}
21. B@f5 {+4.56/16 1.3s} Rh6+ {+0.23/15 0.38s} 22. R@i8 {+3.59/18 1.3s}
Sxh7 {+0.46/14 0.37s} 23. Ri9+ {+4.20/16 0.53s} Sg8 {+0.22/15 1.2s}
24. P@h7 {+1.86/15 1.1s} P@h2 {+1.43/13 0.50s} 25. Kf1 {0.00/20 5.6s}
Pxh1+ {+3.03/15 1.1s} 26. +Rh8 {0.00/17 0.22s} Kf9 {+0.72/15 0.64s}
27. +Ri8 {0.00/19 0.66s} Kg9 {0.00/22 2.3s} 28. +Rh8 {0.00/19 0.29s}
Kf8 {0.00/19 0.72s} 29. +Ri8 {0.00/20 0.32s} Kg9 {0.00/18 0.27s}
30. +Rh8 {0.00/21 0.49s} Kf8 {0.00/20 0.38s} 31. +Ri8 {0.00/22 0.38s}
N@e7 {0.00/19 0.47s} 32. Bg4 {+1.50/16 0.94s} Kg9 {0.00/18 0.95s}
33. +Rh8 {0.00/20 0.61s} Kf8 {0.00/20 0.19s} 34. +Ri8 {0.00/21 0.25s}
Kg9 {0.00/20 0.37s} 35. +Rh8 {0.00/21 0.28s} Kf8 {0.00/23 0.31s}
36. +Ri8 {0.00/23 0.62s} Kg9 {0.00/23 0.34s} 37. +Rh8 {0.00/22 0.35s}
Kf8 {0.00/25 0.41s} 38. +Ri8 {0.00/26 0.29s, Draw by fourfold repetition}
1/2-1/2
@ianfab
Copy link
Owner

ianfab commented Aug 24, 2020

Thanks for reporting. The fourfold adjudication looks correct, and perhaps cutechess treats any move in the PV after a fourfold repetition as illegal (whereas in SF play can theoretically continue). I think it probably is not an issue and might just be related to how SF creates the PV line from the TT, but I will need to check in more detail to confirm that it really is not an issue.

@alwey
Copy link

alwey commented Aug 24, 2020

I think this is more of a cutechess issue. I cannot see anything wrong with stockfish.

@alwey
Copy link

alwey commented Aug 24, 2020

Okay, it is what @ianfab said: The PV extends past the 4-fold repetition. Giving check +Rh8 (i8h8) would then be an illegal perpetual.

@notruck
Copy link
Author

notruck commented Aug 26, 2020

Thanks for investigating! This also appears to be the same issue, although cutechess adjudicated a result this time around.

2020-08-26-005657_1083x667_scrot

They're repeating the exchange of Golds on d8 at the end.

Sorry about the long output :D but I guess otherwise I would have missed those warnings were they shorter.

Started game 135 of 200 (stockfish vs base)
Finished game 135 (stockfish vs base): 1-0 {White wins by adjudication}
Score of stockfish vs base: 75 - 60 - 0  [0.556] 135
Started game 136 of 200 (base vs stockfish)
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: Gxd8 Gxd8 G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV: G@d7 G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal PV move d7d8 from stockfish (0)
Warning: PV: G@e9 d7d8
Warning: Illegal ponder move from stockfish: d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Warning: Illegal PV move d7d8 from base (1)
Warning: PV:  d7d8
Finished game 136 (base vs stockfish): 0-1 {White makes an illegal move: d7d8}
Score of stockfish vs base: 76 - 60 - 0  [0.559] 136
Started game 137 of 200 (stockfish vs base)
Finished game 137 (stockfish vs base): 1-0 {Sente mates}
Score of stockfish vs base: 77 - 60 - 0  [0.562] 137

And the game in question:

[Event "?"]
[Site "?"]
[Date "2020.08.26"]
[Round "136"]
[White "base"]
[Black "stockfish"]
[Result "0-1"]
[FEN "lnsgkgsnl/r6b1/ppppppppp/9/9/PP7/2PPPPPPP/1B5R1/LNSGKGSNL[-] b - 2"]
[GameDuration "00:01:46"]
[GameEndTime "2020-08-26T07:22:24.286 UTC"]
[GameStartTime "2020-08-26T07:20:37.672 UTC"]
[PlyCount "131"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "33.21+0.33"]
[Variant "shogi"]

1... Rf8 {-0.32/16 1.7s} 2. Pe4 {+1.20/18 3.1s} Sb8 {-0.11/15 0.75s}
3. Sf2 {+1.33/16 0.57s} Kd8 {-0.38/17 1.5s} 4. Se3 {+1.33/16 0.85s}
Kc9 {-0.39/14 0.31s} 5. Kf2 {+1.20/14 0.36s} Pf6 {-0.51/14 0.69s}
6. Kg1 {+1.14/15 0.77s} Pg6 {-0.96/17 3.2s} 7. Rf2 {+1.54/15 1.1s}
Gd8 {-0.84/15 0.92s} 8. Pf4 {+1.61/18 1.7s} Ng7 {-0.91/14 0.27s}
9. Pc4 {+1.08/14 1.0s} Pf5 {-0.78/16 2.2s} 10. Gfe2 {+1.08/15 2.4s}
Pe6 {-0.57/14 0.59s} 11. Scd2 {+1.37/15 1.7s} Ge7 {-0.42/14 1.2s}
12. Bd4 {+1.36/15 1.3s} Ge9 {-0.49/15 1.6s} 13. Nc3 {+1.21/18 4.3s}
Pd6 {-0.25/14 0.38s} 14. Pg4 {+1.14/16 0.71s} Pxf4 {-0.54/18 1.9s}
15. Sxf4 {+1.00/16 0.94s} P@f5 {-0.80/16 0.99s} 16. Sfe3 {+1.08/15 0.46s}
Nh5 {-0.47/17 1.1s} 17. Rf1 {+1.16/16 1.9s} Pi6 {-0.50/15 0.98s}
18. Pi4 {+0.85/19 4.2s} Pg5 {-0.34/15 1.5s} 19. Bxh8 {+0.59/16 1.4s}
Sxh8 {+0.77/13 0.40s} 20. Pxg5 {+0.60/16 1.4s} B@b3 {+0.48/15 1.5s}
21. Kh2 {+0.57/16 0.94s} Rg8 {-0.20/15 1.1s} 22. B@g6 {+0.96/17 4.2s}
Bxc4+ {+0.13/15 0.56s} 23. Rxf5 {+1.34/16 0.70s} P@f6 {+0.40/14 0.46s}
24. Rf4 {+0.79/15 0.50s} +Bb3 {+1.03/16 2.2s} 25. Gc1 {+1.13/15 0.31s}
Ph6 {-0.49/18 2.8s} 26. Ph4 {+1.32/15 0.31s} Ni3 {+0.20/14 0.33s}
27. Nxi3 {+1.23/15 1.2s} Rg7 {-0.15/13 0.47s} 28. Rg4 {+1.75/14 0.39s}
+Bxb4 {-0.19/16 3.1s} 29. Rg1 {+0.94/17 2.9s} Pi5 {+0.34/14 1.0s}
30. Pxi5 {+1.08/12 0.11s} P@i4 {-0.75/14 0.99s} 31. Bxi4 {+1.15/13 0.29s}
Lxi5 {-0.22/14 0.51s} 32. Bg6 {+1.58/13 0.21s} P@i4 {+0.61/14 0.28s}
33. Bi8+ {+4.53/12 0.14s} Pxi3+ {+2.42/13 0.30s} 34. Lxi3 {+2.47/16 0.50s}
Lxi3+ {+3.42/14 0.56s} 35. Kxi3 {+0.69/15 0.41s} L@i9 {+1.78/16 1.1s}
36. +Bxi9 {-0.19/14 0.35s} Sxi9 {+1.56/15 0.68s} 37. L@b2 {-1.87/13 0.71s}
+Bc5 {+3.27/14 0.86s} 38. Pg6 {-1.37/14 0.74s} Ri7 {+2.92/15 1.8s}
39. L@i4 {+1.24/11 0.074s} N@i5 {+3.92/13 0.23s} 40. Rg5 {+0.55/14 0.59s}
Nh3+ {+3.78/15 0.61s} 41. Kxh3 {+0.55/1 0s} B@f1 {+3.67/16 0.79s}
42. N@g2 {-1.66/12 0.17s} Bxe2+ {+2.73/16 0.92s} 43. Rxc5 {-1.59/13 0.20s}
G@g3 {+3.57/15 0.21s} 44. Kxg3 {+2.71/12 0.15s} Rxi4 {+2.33/15 0.73s}
45. Kh3 {+2.19/13 0.27s} L@i6 {+3.58/15 0.79s} 46. Kg3 {-2.35/15 1.1s}
Ri3+ {+4.52/12 0.28s} 47. G@h3 {-3.16/11 0.15s} +Bxe3 {+5.72/13 0.37s}
48. Sxe3 {-5.08/13 0.64s} S@h2 {+7.16/13 0.19s} 49. Kf2 {-6.20/11 0.16s}
+Rxh3 {+6.49/14 0.29s} 50. Sd2 {-5.51/11 0.21s} Sg3 {+5.05/13 1.1s}
51. Ke2 {-3.57/11 0.12s} +Rxg2 {+5.47/15 0.34s} 52. Kd1 {-1.91/11 0.12s}
Sh8 {+3.83/13 0.48s} 53. Kc2 {-2.98/11 0.24s} Sf4 {+3.91/12 0.29s}
54. B@d4 {-3.50/13 0.75s} +Rxg6 {+5.35/11 0.18s} 55. N@f5 {-2.35/11 0.18s}
Gf7 {+4.83/11 0.32s} 56. B@e7 {-2.30/11 0.079s} Gxe7 {+3.51/11 0.12s}
57. Nxe7+ {-1.57/11 0.14s} G@d8 {+1.92/12 0.69s} 58. +Nxe6 {-1.16/12 0.61s}
B@f3 {+3.62/10 0.099s} 59. Bxf6 {-0.26/14 0.43s} Bg4+ {+3.56/11 0.12s}
60. G@e7 {+0.40/12 0.10s} P@e8 {0.00/15 0.50s} 61. Gxd8 {0.00/18 0.31s}
Gxd8 {0.00/1 0s} 62. G@d7 {0.00/19 0.26s} G@e9 {0.00/16 0.16s}
63. Gxd8 {0.00/18 0.14s} Gxd8 {0.00/1 0s} 64. G@d7 {0.00/20 0.16s}
G@e9 {0.00/19 0.30s} 65. Gxd8 {0.00/19 0.29s} Gxd8 {0.00/1 0s}
66. G@d7 {0.00/20 0.17s} G@e9 {0.00/19 0.18s, White makes an illegal move: d7d8}
0-1

@ianfab
Copy link
Owner

ianfab commented Aug 26, 2020

This looks more problematic as cutechess and Fairy-Stockfish seem to disagree on the rules here. I suspect the definition of perpetual check might differ. In Fairy-Stockfish a perpetual check is defined as a (fourfold) repetition of a position where all moves of one side between the occurences of the positions were checks. This to my understanding is in line with the FESA rules, see articles 3.12 and 5.2.

3.12 A player is not allowed to continuously check the opponent’s king (perpetual check) such that the
same position is repeated more than three times.
5.2 [...] Note that some of the moves producing the repetition can be checks, but
continuous checks by one side are illegal

@alwey
Copy link

alwey commented Aug 27, 2020

@notruck : Thank you for reporting this new problem.

@ianfab : Thank you for the clarification. Indeed, cutechess needs to check whether the sequence of checks is continuous, FESA rules 5.2. I did not have a copy of the FESA rules yet.

I will try to come up with a patch for cutechess as soon as possible.

@ianfab ianfab transferred this issue from fairy-stockfish/Fairy-Stockfish Aug 27, 2020
@notruck
Copy link
Author

notruck commented Sep 22, 2020

Dobutsu is generating a lot of warnings. I have only partial logs as the output is so copious this time.

Searching for the "Finished game x" string, many games ended with an illegal move: (none).

Verifying signature of stockfish_72c8a58ba3c03716ff6e2cc0c02399f5728bce87 ...
Verifying signature of stockfish_8fc7f10e8d3c9da78fa7cabd585139ad05e141b9 ...
CPU factor : 1.526671 - tc adjusted to 45.80+0.46
Running master vs fairy_sf_11_1
['/home/mvfishtest/fishtest-master/worker/testing/cutechess-cli', '-repeat', '-rounds', '200', '-tournament', 'gauntlet', '-pgnout', 'results.pgn', '-srand', '4161870918', '-resign', 'movecount=8', 'score=800', '-draw', 'movenumber=34', 'movecount=8', 'score=20', '-concurrency', '1', '-openings', u'file=dobutsu.epd', u'format=epd', 'order=random', 'plies=16', '-variant', u'dobutsu', '-engine', 'name=stockfish', u'cmd=stockfish_72c8a58ba3c03716ff6e2cc0c02399f5728bce87', u'option.Hash=32', u'option.Move Overhead=100', '-engine', 'name=base', u'cmd=stockfish_8fc7f10e8d3c9da78fa7cabd585139ad05e141b9', u'option.Hash=32', u'option.Move Overhead=100', '-each', 'proto=uci', 'tc=45.80+0.46', 'option.Threads=1']
('TC limit', 64120.1795365027, 'End time:', datetime.datetime(2020, 9, 23, 8, 54, 34, 459468))
Warning: 2 opening repetitions vs 1 games per encounter
Warning: Illegal PV move a2a1 from stockfish (0)
Warning: PV: Cb2 La2 Gb1 C@b3 Lc1 Cxb2 Exb2 Lb3 Ga1 C@a2 Gb1 Lb4 C@a1 a2a1
Warning: Illegal PV move a2a1 from stockfish (0)
Warning: PV: Cb2 La2 Gb1 C@b3 Lc1 Cxb2 Exb2 Lb3 Ga1 C@a2 Gb1 Lb4 C@a1 a2a1
Warning: Illegal PV move a2a1 from stockfish (0)
Warning: PV: Cb2 La2 Gb1 C@b3 Lc1 Cxb2 Exb2 Lb3 Ga1 C@a2 Gb1 Lb4 C@a1 a2a1
Warning: Illegal PV move a2a1 from stockfish (0)
Warning: PV: Cb2 La2 Gb1 C@b3 Lc1 Cxb2 Exb2 Lb3 Ga1 C@a2 Gb1 Lb4 C@a1 a2a1
Indexing opening suite...
Started game 1 of 200 (stockfish vs base)
Warning: Illegal PV move C@a1 from base (1)
Warning: PV: Cb2 C@a1
Warning: Illegal PV move C@a1 from base (1)
Warning: PV: Cb2 C@a1
Finished game 1 (stockfish vs base): 0-1 {White makes an illegal move: (none)}
Score of stockfish vs base: 0 - 1 - 0  [0.000] 1
Started game 2 of 200 (base vs stockfish)
Finished game 2 (base vs stockfish): 0-1 {White makes an illegal move: (none)}
Score of stockfish vs base: 1 - 1 - 0  [0.500] 2
Started game 3 of 200 (stockfish vs base)
Warning: Illegal PV move C@c1 from stockfish (0)
Warning: PV: Gc2 Gb4 Eb2 Cxb2 Gxb2 C@c3 C@c1 E@a4 Cc2 Gc4 Cxc3 Gxc3 C@b3 C@c1
Warning: Illegal PV move C@c2 from base (1)
Warning: PV: Gb4 Gb2 C@c3 Exb3 Gxb3 C@c2 E@a4 Gxb3 Lxb3 G@b2 Lb4 Cxc3 G@b3 C@c2
Warning: Illegal PV move c3c4 from base (1)
Warning: PV: C@c4 Exb3 Lxb3 Lc1 Gb4 C@c3 La4 Lb1 E@b3 c3c4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Cc3 Exc3 Lxc3 Gc2 Lc4 C@b2 Cxb2 Lxb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@c3 Gc1 Eb4 Lb2 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Exc3 Lxc3 Gc2 Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 Lc4 Lb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@b4 Cxb4+ Exb4 C@b3 C@a3 Lb2 Cxa2 b3b4
Warning: Illegal PV move C@a2 from stockfish (0)
Warning: PV: Exc3 Lxc3 Gc2 Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 Lc4 C@b3 E@a3 La1 C@b4 Cxb4+ Exb4 C@b3 C@a3 Cxb4+ Lxb4 Eb1 Lb3 Gb2 Lb4 E@b3 C@a2
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Exc3 Lxc3 Gc2 Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 Lc4 C@b3 C@c3 Gc1 E@a3 La1 Eb4 Lb2 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Exc3 Lxc3 Gc2 Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 Lc4 Lb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@c3 Gc1 Eb4 Lb2 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lc4 C@b2 Cxb2 Lxb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@c3 Gc1 Eb4 Lb2 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lc4 C@b2 Cxb2 Lxb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@c3 Gc1 Eb4 Lb2 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lc4 C@b2 Cxb2 Lxb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@c3 Gc1 Eb4 Lb2 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lc4 C@b2 Cxb2 Lxb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@c3 Gc1 Eb4 Lb2 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lc4 C@b2 Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lc4 C@b2 Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lc4 C@b2 Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lc4 C@b2 Cxb2 Lxb2 E@a3 La1 C@c3 Gc1 Eb4 C@b3 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lb4 C@b2 Cxb2 Lxb2 E@a3 La1 Lc4 C@c3 Lb4 Lb1 C@c4 Cxc4+ Lxc4 C@b3 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lxc3 Gc2 Lb4 C@b2 Cxb2 Lxb2 E@a3 La1 Lc4 C@c3 Lb4 Lb1 C@c4 Cxc4+ Lxc4 C@b3 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move C@b2 from stockfish (0)
Warning: PV: Gc2 Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 La3 C@b3 C@b4 Gb2 E@c3 Gc2 Cxb3 Gxc3 C@b2
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc2 Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 Lc4 Lb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@b4 Cxb4+ Exb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc2 Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 Lc4 Lb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@b4 Cxb4+ Exb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc2 Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 Lc4 Lb2 E@a3 Lb1 Eb4 C@b3 Ea3 La1 C@b4 Cxb4+ Exb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move C@b1 from stockfish (0)
Warning: PV: Gc2 Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 La3 C@b3 C@b4 Gb2 E@c3 Cxb4+ Gxb4 Gc2 Gc4 C@b3 La4 La1 C@a3 Lb1 Cxa2 Lxa2 E@a3 C@b1
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 Lc4 Lb2 E@a3 La1 C@c3 Gc1 Eb4 C@b3 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lb4 C@b2 E@c4 Exb3 Exb3 Cxb3 Lxb3 E@a2 Lc4 Lb2 E@a3 La1 C@c3 Gc1 Eb4 C@b3 Ea3 Lb1 Eb4 b3b4
Warning: Illegal PV move b3b4 from base (1)
Warning: PV: Lc4 C@b2 Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 E@c2 Gc1 Eb3 Gxb4 Lxb4 Cxb3 Lxb3 E@a2 La3 C@b3 G@c4 Gc2 C@b4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b2 Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b2 Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b2 Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b2 Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: Cxb2 Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move C@a1 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 C@c3 Gc1 Eb4 C@b2 Ea3 Eb3 Lb4 La2 Exb2 Lxb2 Ga3 E@a2 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@a4 La1 Ca2 Lb1 La3 E@b2 Lb4 G@a3 Eb3 Gxa2 Exa2 Lxa2 G@b3 C@c2 Cxc2 E@a3 La4 Gxc2 C@a1
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lxb2 E@a3 La1 C@c3 Gc1 Lb4 Lb1 Lc4 C@b3 Eb4 b3b4
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move C@b3 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 Lb4 G@b3 La4 Gxc3 Eb4 Gc4 La3 C@b3
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: E@a3 La1 Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: La1 C@c3 Gc1 Lb4 Lb1 Lc4 C@b3 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: La1 C@c3 Gc1 Lb4 Lb1 Lc4 C@b3 Eb4 b3b4
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lb4 C@b3 Lc4 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lb4 C@b3 Lc4 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lb4 C@b3 Lc4 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: C@b3 Ea3 Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 Lc4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Ea3 Lb1 C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb1 C@c3 Gc1 Eb4 b3b4
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: C@c3 Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Gc1 Eb4 b3b4
Warning: Illegal PV move a2a1 from stockfish (0)
Warning: PV: Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@a4 La1 Cc2 G@b2 Lb4 Gbxc2 Eb3 Lb1 Ca2 Gb2 a2a1
Warning: Illegal PV move a2a1 from stockfish (0)
Warning: PV: Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@a4 La1 Cc2 G@b2 Lb4 Gbxc2 Eb3 Lb1 Ca2 Gb2 a2a1
Warning: Illegal PV move a2a1 from stockfish (0)
Warning: PV: Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@a4 La1 Cc2 G@b2 Lb4 Gbxc2 Eb3 Lb1 Ca2 Gb2 a2a1
Warning: Illegal PV move a2a1 from stockfish (0)
Warning: PV: Gc1 Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@a4 La1 Cc2 G@b2 Lb4 Gbxc2 Eb3 Lb1 Ca2 Gb2 a2a1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Eb4 Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move C@a3 from stockfish (0)
Warning: PV: Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@c4 E@b2 Lb4 Exc3 Lxc3 Gc2 Lb4 Lb2 Eb3 G@c3 Exc2 C@b3 La4 Lxc2 E@a1 E@b2 Exb2 Lxb2 E@a1 Lxa1 Ca2 Lb2 G@a3 E@b4 Gxb3 Gxb3 C@a3
Warning: Illegal PV move C@c1 from stockfish (0)
Warning: PV: Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@c4 E@b2 Lb4 Exc3 Lxc3 Gc2 Lb4 Lb2 Eb3 G@c3 Exc2 C@b3 La4 Lxc2 Ca2 Cb4+ Lxb4 Gb3 Lc4 Lb2 G@a4 Lxa2 E@c3 E@a3 C@c1
Warning: Illegal PV move C@c1 from stockfish (0)
Warning: PV: Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@c4 E@b2 Lb4 Exc3 Lxc3 Gc2 Lb4 Lb2 Eb3 G@c3 Exc2 C@b3 La4 Lxc2 Ca2 Cb4+ Lxb4 Gb3 Lc4 Lb2 G@a4 Lxa2 E@c3 E@a3 C@c1
Warning: Illegal PV move C@c1 from stockfish (0)
Warning: PV: Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@c4 E@b2 Lb4 Exc3 Lxc3 Gc2 Lb4 Lb2 Eb3 G@c3 Exc2 C@b3 La4 Lxc2 Ca2 Cb4+ Lxb4 Gb3 Lc4 Lb2 G@a4 Lxa2 E@c3 E@a3 C@c1
Warning: Illegal PV move C@c1 from stockfish (0)
Warning: PV: Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@c4 E@b2 Lb4 Exc3 Lxc3 Gc2 Lb4 Lb2 Eb3 G@c3 Exc2 C@b3 La4 Lxc2 Ca2 Cb4+ Lxb4 Gb3 Lc4 Lb2 G@a4 Lxa2 E@c3 E@a3 C@c1
Warning: Illegal PV move C@c1 from stockfish (0)
Warning: PV: Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@c4 E@b2 Lb4 Exc3 Lxc3 Gc2 Lb4 Lb2 Eb3 G@c3 Exc2 C@b3 La4 Lxc2 Ca2 Cb4+ Lxb4 Gb3 Lc4 Lb2 G@a4 Lxa2 E@c3 E@a3 C@c1
Warning: Illegal PV move C@c1 from stockfish (0)
Warning: PV: Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@c4 E@b2 Lb4 Exc3 Lxc3 Gc2 Lb4 Lb2 Eb3 G@c3 Exc2 C@b3 La4 Lxc2 Ca2 Cb4+ Lxb4 Gb3 Lc4 Lb2 G@a4 Lxa2 E@c3 E@a3 C@c1
Warning: Illegal PV move C@c1 from stockfish (0)
Warning: PV: Cxb4+ Lxb4 Lb2 Ga3 E@b3 Gxa2 Lxa2 C@a3 Lb2 E@a1 Lxa1 Lxb3 Lb1 E@c4 E@b2 Lb4 Exc3 Lxc3 Gc2 Lb4 Lb2 Eb3 G@c3 Exc2 C@b3 La4 Lxc2 Ca2 Cb4+ Lxb4 Gb3 Lc4 Lb2 G@a4 Lxa2 E@c3 E@a3 C@c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Warning: Illegal PV move c2c1 from base (1)
Warning: PV: Lxb4 Lb2 Ga3 E@b3 Gxa2 Exa2 E@a3 La1 C@b3 Gb1 La4 Exb3 Lxb3 C@b2 La4 G@c4 Cc2 La2 Eb4 Gxb4 Lxb4 Cb3 La4 Lb2 E@a2 Lc3 Exb3 E@c4 Ea2 Gb2 c2c1
Finished game 3 (stockfish vs base): 1-0 {White wins by adjudication}
Score of stockfish vs base: 2 - 1 - 0  [0.667] 3
Started game 4 of 200 (base vs stockfish)
Warning: Illegal PV move C@a3 from base (1)
Warning: PV: Gc2 Lb4 Eb2 C@c4 Exb3 Lxb3 C@a2 E@b4 Gc1 Ec3 Exc3 Cxc3 E@b2 E@c4 Exc3 Lxc3 Gc2 Lb4 C@a3
Warning: Illegal PV move C@b2 from stockfish (0)
Warning: PV: Lb4 Eb2 Ga3 Ec3 La4 La1 C@b2
Warning: Illegal PV move b3b4 from stockfish (0)
Warning: PV: Lb4 Eb2 C@c4 La1 Cxb2 Lxb2 Ga3 C@b3 La4 Lb1 E@c3 Gxc3 Cxc3 E@b2 G@c4 b3b4
Finished game 4 (base vs stockfish): 1/2-1/2 {Draw by 3-fold repetition}
Score of stockfish vs base: 2 - 1 - 1  [0.625] 4
Warning: Illegal PV move C@c2 from stockfish (0)
Warning: PV: C@a2 Exc2 Lxc2 G@b3 E@c4 Gxc3 Exc3 Lxc4 G@b2 C@a3 Cxa3 Gxa3 C@b3 Ga4 Cb4+ Gxb4 Exb4 E@a3 Exa3 C@c3 Lc1 C@c2
Started game 5 of 200 (stockfish vs base)
Warning: Illegal PV move C@c1 from stockfish (0)
Warning: PV: C@a2 Exc2 Lxc2 G@b3 E@c4 Gxc3 Exc3 Lxc4 G@b2 C@a3 Cxa3 Gxa3 C@b3 E@b1 Lxb1 Gxb3 Gxb3 Lxb3 Eb2 Lc4 G@c3 Lb4 E@b3 C@c4 Exc4 C@c1
Warning: Illegal PV move C@a1 from base (1)
Warning: PV: Exa2 Lxa2 C@a1
Finished game 5 (stockfish vs base): 1-0 {Black makes an illegal move: (none)}
Score of stockfish vs base: 3 - 1 - 1  [0.700] 5
Started game 6 of 200 (base vs stockfish)

@notruck
Copy link
Author

notruck commented Sep 22, 2020

I also came across another type of issue, with invalid FENs:

Warning: Invalid FEN string: gl+C/3/1L1/EeG[c] b 5 4 0 1
Warning: The opening suite is incompatible with the current chess variant
Finished game 24 (base vs stockfish): 0-1 {Black wins by adjudication}
Score of stockfish vs base: 10 - 8 - 6  [0.542] 24

@notruck
Copy link
Author

notruck commented Sep 22, 2020

The pgn:

dobutsu-partial-results.pgn.txt

@ianfab
Copy link
Owner

ianfab commented Sep 23, 2020

Thanks, in the PGN I identified a couple of issues. From my perspective only for the first one it is unclear whether the issue is in Fairy-Stockfish or cutechess, since most phrasings of the rules are not very clear on that. The other ones to me look like bugs in cutechess. @alwey Can you please have a look?

  • underpromotion: Is a chick allowed to refrain from promotion when moving to the back rank?
[Event "?"]
[Site "?"]
[Date "2020.09.22"]
[Round "6"]
[White "base"]
[Black "stockfish"]
[Result "1-0"]
[FEN "g2/leC/1EG/1L1[C] b - 4"]
[GameDuration "00:00:09"]
[GameEndTime "2020-09-22T15:07:19.756 UTC"]
[GameStartTime "2020-09-22T15:07:09.983 UTC"]
[PlyCount "14"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "45.8+0.46"]
[Variant "dobutsu"]

1... Lb4 {-2.42/5 0.003s} 2. C@a2 {+M15/61 0.79s} Exa2 {-M14/138 0.98s}
3. Lxa2 {+M13/104 0.94s} C@a3 {-M12/130 0.49s} 4. Lb1 {+M11/126 0.93s}
Lb3 {-M10/158 1.0s} 5. Cc4+ {+M9/164 2.5s} Lxc4 {-M8/161 0.58s}
6. Gc3 {+M7/215 1.3s} Lb4 {-M6/7 0s} 7. Lc2 {+M5/245 0.040s}
Ca2 {-M4/245 0.089s} 8. E@b3 {+M3/245 0.012s, Black makes an illegal move: a2a1}
1-0
  • checkmate detection
[Event "?"]
[Site "?"]
[Date "2020.09.22"]
[Round "1"]
[White "stockfish"]
[Black "base"]
[Result "0-1"]
[FEN "gle/2E/2L/1CG[c] b - 4"]
[GameDuration "00:00:01"]
[GameEndTime "2020-09-22T15:05:56.073 UTC"]
[GameStartTime "2020-09-22T15:05:54.440 UTC"]
[PlyCount "13"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "45.8+0.46"]
[Variant "dobutsu"]

1... La3 {-6.11/1 0s} 2. Cb2 {-M12/245 0.67s} La2 {+M11/179 0.62s}
3. Gb1 {-M10/245 0.050s} Ga3 {+M9/245 0.18s} 4. Lc1 {-M8/245 0.027s}
Gb3 {+M7/245 0.018s} 5. Cxb3 {-M6/245 0.014s} C@c2 {+M5/245 0.013s}
6. Lxc2 {-M4/35 0.001s} Exb3 {+M3/245 0.009s} 7. Lc1 {-M2/81 0.002s}
C@c2 {+M1/245 0.006s, White makes an illegal move: (none)} 0-1
[Event "?"]
[Site "?"]
[Date "2020.09.22"]
[Round "5"]
[White "stockfish"]
[Black "base"]
[Result "1-0"]
[FEN "g2/leC/1EG/1L1[C] b - 4"]
[GameDuration "00:00:09"]
[GameEndTime "2020-09-22T15:07:09.983 UTC"]
[GameStartTime "2020-09-22T15:07:00.806 UTC"]
[PlyCount "16"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "45.8+0.46"]
[Variant "dobutsu"]

1... Lb4 {+0.84/1 0s} 2. C@a2 {+M47/20 0.49s} Exc2 {-M14/159 1.9s}
3. Lxc2 {+M13/62 0.47s} G@b3 {-M12/134 2.3s} 4. E@b1 {+M11/107 0.51s}
Gxb2 {-M10/151 0.90s} 5. Lxb2 {+M9/182 0.77s} E@b3 {-M8/180 1.0s}
6. Ec2 {+M7/194 0.76s} Ec4 {-M6/245 0.036s} 7. Cxc4+ {+M5/245 0.030s}
Lxc4 {-M4/1 0s} 8. E@b3 {+M3/245 0.009s} Lb4 {-M2/1 0s}
9. G@c4 {+M1/245 0.005s, Black makes an illegal move: (none)} 1-0
  • stalemate detection
[Event "?"]
[Site "?"]
[Date "2020.09.22"]
[Round "58"]
[White "base"]
[Black "stockfish"]
[Result "1-0"]
[FEN "1ge/2l/C1G/EL1[c] b - 4"]
[GameDuration "00:00:16"]
[GameEndTime "2020-09-22T15:35:09.099 UTC"]
[GameStartTime "2020-09-22T15:34:52.746 UTC"]
[PlyCount "20"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "45.8+0.46"]
[Variant "dobutsu"]

1... Lb3 {-3.66/5 0s} 2. Eb2 {+M41/23 1.9s} Ga4 {-3.08/21 0.81s}
3. Gc3 {+M25/46 0.89s} Lb4 {-1.76/7 0.001s} 4. Lc2 {+M15/63 0.91s}
C@b3 {-M14/106 1.1s} 5. Ec1 {+M13/98 0.93s} Ga3 {-M12/138 0.75s}
6. Cxa3 {+M11/159 0.93s} Lxa3 {-M10/134 3.6s} 7. Gxc4 {+M9/157 3.9s}
La2 {-M8/245 0.43s} 8. G@b1 {+M7/245 0.11s} C@c3 {-M6/245 0.017s}
9. Gxc3 {+M5/245 0.014s} La3 {-M4/245 0.011s} 10. Gxb3 {+M3/245 0.009s}
La2 {-M2/245 0.008s}
11. Eb2 {+M1/245 0.019s, Black makes an illegal move: (none)} 1-0
  • chick drop on back rank
[Event "?"]
[Site "?"]
[Date "2020.09.22"]
[Round "35"]
[White "stockfish"]
[Black "base"]
[Result "0-1"]
[FEN "g1c/1Cl/1E1/ELG[-] b - 4"]
[GameDuration "00:00:09"]
[GameEndTime "2020-09-22T15:24:45.779 UTC"]
[GameStartTime "2020-09-22T15:24:36.544 UTC"]
[PlyCount "13"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "45.8+0.46"]
[Variant "dobutsu"]

1... Lxb3 {-6.26/1 0s} 2. Gc2 {-M36/53 0.95s} C@a2 {+10.29/21 0.66s}
3. Gc1 {-M30/44 0.52s} Cc3 {+21.25/23 0.94s} 4. Exc3 {-M26/45 0.50s}
Cxa1+ {+M25/45 0.96s} 5. Lxa1 {-M24/10 0.001s} Ga3 {+M23/50 0.97s}
6. C@c2 {-M22/56 0.41s} Ga2 {+M21/60 0.98s} 7. Lb1 {-4.75/4 0s}
E@a1 {+M15/81 0.98s, White makes an illegal move: C@a4} 0-1
  • two chicks on one file
[Event "?"]
[Site "?"]
[Date "2020.09.22"]
[Round "42"]
[White "base"]
[Black "stockfish"]
[Result "1-0"]
[FEN "g1e/cCl/2G/EL1[-] b - 4"]
[GameDuration "00:00:17"]
[GameEndTime "2020-09-22T15:27:25.973 UTC"]
[GameStartTime "2020-09-22T15:27:08.588 UTC"]
[PlyCount "16"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "45.8+0.46"]
[Variant "dobutsu"]

1... Lxb3 {-0.60/1 0s} 2. Eb2 {0.00/28 2.3s} Gb4 {+2.97/23 1.2s}
3. Gc3 {0.00/29 0.98s} La4 {+3.16/5 0s} 4. Exa3 {0.00/31 1.4s}
Lxa3 {0.00/32 1.2s} 5. C@a2 {0.00/33 1.9s} La4 {0.00/11 0.001s}
6. Lb2 {0.00/37 0.93s} C@b3 {0.00/33 0.69s} 7. Lb1 {0.00/39 0.97s}
E@a3 {0.00/36 0.73s} 8. Cxa3 {0.00/34 0.94s} Lxa3 {0.00/9 0s}
9. Gc2 {0.00/38 3.3s, Black makes an illegal move: C@b2} 1-0
[Event "?"]
[Site "?"]
[Date "2020.09.22"]
[Round "59"]
[White "stockfish"]
[Black "base"]
[Result "1-0"]
[FEN "1ge/2l/C1G/EL1[c] b - 4"]
[GameDuration "00:00:09"]
[GameEndTime "2020-09-22T15:35:18.365 UTC"]
[GameStartTime "2020-09-22T15:35:09.100 UTC"]
[PlyCount "14"]
[SetUp "1"]
[Termination "illegal move"]
[TimeControl "45.8+0.46"]
[Variant "dobutsu"]

1... Lb3 {-7.46/1 0.001s} 2. Eb2 {+M33/40 0.52s} Ga4 {-M30/32 2.1s}
3. Gc3 {+M25/43 0.49s} Lb4 {-M28/1 0s} 4. Lc2 {+M23/48 0.69s}
C@b3 {-M14/73 0.77s} 5. Ec1 {+M13/79 0.54s} Ga3 {-M12/173 1.0s}
6. Cxa3 {+M11/133 0.60s} Lxa3 {-M10/180 1.6s} 7. Gxc4 {+M9/206 0.59s}
La2 {-M8/245 0.11s} 8. G@b1 {+M7/245 0.070s, Black makes an illegal move: C@b4}
1-0

@alwey
Copy link

alwey commented Sep 24, 2020

From my perspective only for the first one it is unclear whether the issue is in Fairy-Stockfish or cutechess, since most phrasings of the rules are not very clear on that. The other ones to me look like bugs in cutechess. @alwey Can you please have a look?

underpromotion: Is a chick allowed to refrain from promotion when moving to the back rank?

The rules from second sources are not quite clear. The official rules say that a Chick promotes moving onto the final rank: When implementing this I used the Google translations to English and to German of the official rules page and found no problem here. From the Google translation of the official rules page

ひよこが相手のエリア(一段目の空や森)まですすむと、駒をひっくり返してニワトリに成長!
When the chick goes to the opponent's area (the sky and forest on the first stage), the piece is turned over and grows into a chicken!

...

checkmate detection

I think in this case cutechess is right, because in Dobutsu Shogi the Lion may expose itself to attack and can move to b2 or capture on c2 in round 1 and the Lion has 4 moves in round 5.

stalemate detection

For the same reason there is no stalemate, so in round 58 the Lion has 5 moves.

From the original rules page and Google translation:

<つかまえかた・つかいかた>

・ひとつのマスに2ひきのどうぶつは入れません。
・相手のどうぶつがいるマスに自分の仲間がすすむときは、そのどうぶつをつかまえて仲間にできます。つかまえたどうぶつは盤の上から取り、仲間として自分の手もとに置きます。=『持ち駒』(もちごま)
・持ち駒は、自分の番のときに、空いている好きなマスに置けます。

<かちまけ>

1. 相手の「ライオン」を先につかまえたほうが勝ち!! 
2. 自分の「ライオン」が、相手のエリア(空か森)まで先にすすめたら勝ち!!
   ただし、すすめてもすぐに「ライオン」がつかまってしまう場合は負けです。

☆「ライオン」をつかまえたときは『キャッチ!!』相手のエリアまで無事にすすめたら『トライ!!』と言いましょう。

<How to catch / use>

・ You cannot put two animals in one square.
・ When your companion advances to the square where the opponent's animal is, you can catch the animal and make it a companion. Take the caught animal from the top of the board and keep it in your hand as a companion. = "Mochigoma"
・ You can place your pieces in any free space when it's your turn.

  1. The one who catches the opponent's "lion" first wins !!
  2. If your "lion" advances to the opponent's area (sky or forest) first, you win !!
    However, if the "lion" is caught immediately after recommending it, you will lose.

☆ When you catch a "lion", say "catch !!" and say "try !!" when you reach the opponent's area safely.

-- Now for some cutechess errors:

chick drop on back rank

Round 35: This is a cutechess error. I forgot this. I will change the code so that the Chick can be dropped onto the highest rank.

two chicks on one file

Rounds 42 and 59: Cutechess errors. This also slipped through when I implemented DobutsuBoard: There is no "nifu" rule in Dobutsu Shogi, so two Chicks of the same colour are allowed to be on the same file. I will change this.

I found an additional weakness in cutechess: When the opponent can catch a Lion that reached the farthest rank but fails to do so the game is only adjudicated late. The winning side has to make a superfluous move with some piece without removing the Lion from the farthest rank. So I have some work to do.

EDIT: I found the "mate by Pawn drop is forbidden" (uchi-fu-zume) rule active in cutechess, which is also a problem.

@alwey
Copy link

alwey commented Sep 25, 2020

I just found videos about Dobutsu Shogi on youtube. The first video by account "Dobutsu Shogi" gives an introduction to the rules. There are equivalent videos in other languages.

A second video showis the implementation of the game on a N* console. At 1:22 you will find the chick promotion to chicken. At 1:42 Sky Team's Lion exposes himself to attack by Land Team's Lion and Land Team's Giraffe. The latter captures the Lion - game over. At 2:05 the rule of the Lion winning (or losing if captured immediately) on the far rank is shown.

Manuals ,e .g. https://www.shogi.cz/en/manual/dobutsuDE.pdf, https://www.shogi.cz/en/manual/dobutsuEN.pdf, https://www.shogi.cz/en/manual/dobutsuES.pdf, https://www.shogi.cz/en/manual/dobutsuFR.pdf, https://www.shogi.cz/en/manual/dobutsuIT.pdf, https://www.shogi.cz/en/manual/dobutsuPL.pdf

@alwey
Copy link

alwey commented Sep 25, 2020

In the example given above,,

Warning: Invalid FEN string: gl+C/3/1L1/EeG[c] b 5 4 0 1

cutechess has problems because it uses a wrong symbol, +P instead of +C. I will fix this.


In general, some problems with FEN and Shogi variants may root in cutechess' s ShogiBoard. I have not implemented a full FEN, but a SFENish string

FEN "lnsgkgsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL[-] w - 1"
instead of
FEN "lnsgkgsnl/1r5b1/ppppppppp/9/9/9/PPPPPPPPP/1B5R1/LNSGKGSNL[-] w - - 0 1";

The ShogiBoard implementation is not finished yet, e. g. support for USI (e.g. SFEN, and Shogi Coordinates) is still missing. I wanted to wait whether the base of the Shogi implementation (and variants) gets accepted and then carry on. The base PR was accepted after some time and the release 1.2.0 was very soon after that. I am working on Shogi improvements.

@alwey
Copy link

alwey commented Sep 25, 2020

Updated cutechess/cutechess#615 with new fixes:
* Fix Chick drop rules in Dobutsu Shogi
* Fix symbol of promoted Chick in Dobutsu Shogi
* Dobutsu: Modify adjudication of "try" win by Lion on farthest rank

@ianfab
Copy link
Owner

ianfab commented Sep 26, 2020

Thanks for the clarifications!

Regarding promotion my main reason to assume them to be optional was that it is allowed to drop chicks on the last rank. I still find the phrasing slightly ambiguous, but I will check how other dobutsu shogi software handles.

I was not aware of the rule that the lion can be moved into check. However, this is not very critical in practice as the game result will always be the same just ending two ply earlier/later, but I will see if this can easily be implemented (e.g., regarding the farthest rank win rule). If this is also implemented in the tablebase solvers, it might explain though why Fairy-Stockfish disagrees on the mate distance.

@alwey
Copy link

alwey commented Sep 26, 2020

The chick can be dropped onto the last rank but can do nothing. So the rules are simpler. Indeed, then one would logically say that a chick may go to the last rank and stay unpromoted if there were no rule against.

Dobutsu Shogi was introduced to get young children into Shogi. Check and mate are missing from this game. The next stage, Goro-Goro Dobutsu Shogi has a bigger board (5x6), more piece types, and introduces the concept of check and checkmate. It also forbids two Chicks in a file ("nifu") and dropping a Chick on the last rank. The third stage of the game is full Shogi with animal pieces (Dobutsu Shogi in the Greenwood).

@ianfab
Copy link
Owner

ianfab commented Oct 7, 2020

The corner case of a lion moving to the last rank into check will perhaps be problematic, and considering that it does not have much of an impact on game play (or rather it saves pychess users from playing out two useless ply), it does not have a very high priority for me. To keep track of it, I filed it as fairy-stockfish/Fairy-Stockfish#191.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

No branches or pull requests

3 participants