lichess.org
Donate

Would anyone like to try playing three checks crazyhouse on lichess against me?

@lecw
Due to the extremely tactical nature of zh-3+, SF finds a lot of blunders in your game. However, black actually played quite well until he blundered with 8... d5 (there was a #6), but white blundered back with 9. Bd3. The position was then winning again for black until the decisive mistake 11... Qe7, where black had a win in 8 moves instead of running into a forced loss. (I left the comments relatively vague in case you want to analyze the positions yourself.)
@udip, where can we find the three check crazyhouse stockfish that you created? If possible I would like to analyze the game that lecw and I played using the three check crazyhouse stockfish you made.
Stockfish seems to be pretty confident that in 3check-crazyhouse 1.e3 is a win for white in at most 20 moves (39 half-moves), see below. Strictly speaking this of course is not a proof, but it is very strong evidence that this game is weakly solvable as a win for white.

I set up the position after 1.e3 and analyzed in multipv mode to get the results for all possible black responses. The results are as follows:

info depth 29 seldepth 49 multipv 1 score mate -19 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv g8h6 d1h5 g7g6 h5e5 f7f6 e5g3 h6f7 b1c3 e7e6 c3b5 b8a6 b5d6 c7d6 f1a6 N@b4 a6d3 d8b6 N@c4 b6c5 g3h4 f8e7 d3g6 e8d8 P@c7 d8c7 h4e4 c7d8 g6f7 P@c6 N@d4 c5d4 e3d4 b4d3 e4d3 N@f3 g1f3 c6c5
info depth 29 seldepth 35 multipv 2 score mate -17 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv g8f6 g1f3 e7e6 f3g5 f8b4 g5f7 e8f7 d1f3 f7e8 P@f7 e8f8 f3f4 b4e7 f4g5 N@g6 f1d3 f6d5 g5g3 d5e3 g3e3 b8c6 d3g6 P@g3 N@f4 g3f2 e3f2 c6d4 f4e6 d4e6 N@f6 N@d3 c2d3 g7f6 P@g7
info depth 29 seldepth 35 multipv 3 score mate -17 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv e7e6 d1h5 g7g6 h5e5 d8f6 e5c7 b8c6 f1b5 f8e7 g1h3 g8h6 c7c6 e8g8 c6c3 e6e5 N@d5 f6e6 d5e7 e6e7 B@g5 N@f6 P@g7 f8e8 c3b3 e7c5 g5f6 e8e6 N@e7 c5e7 f6e7 N@d3 c2d3 g8g7 e7f6
info depth 29 seldepth 31 multipv 4 score mate -15 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv b8c6 d1f3 g8f6 g1h3 e7e6 h3g5 d8e7 f1b5 c6e5 f3f4 e7d6 b1c3 f8e7 d2d4 e5c6 f4d6 c7d6 b5c6 d7c6 N@c7 e8d7 c7a8 Q@d1 c3d1 B@a5 e1f1 c6c5 Q@d8 e7d8 a8b6
info depth 29 seldepth 25 multipv 5 score mate -12 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv g7g6 d1f3 e7e6 b1c3 g8f6 f1c4 f8g7 c3e4 f6e4 f3e4 e8f8 c4e6 d8e7 N@d5 N@d3 c2d3 g7b2 c1b2 f7f6 B@g7 e7g7 b2a3 P@e7 a3e7
info depth 29 seldepth 23 multipv 6 score mate -11 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv c7c6 d1h5 g7g6 f1c4 e7e6 h5e5 d8f6 e5f6 g8f6 c4e6 f7e6 P@f7 e8f7 Q@d8 Q@f1 e1f1 B@c4 f1e1 P@e2 Q@e7 f8e7 d8e7
info depth 29 seldepth 23 multipv 7 score mate -11 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv h7h5 d1f3 g8f6 g1h3 e7e6 h3g5 d8e7 b1c3 h8h6 c3b5 b8a6 b5d6 c7d6 f1a6 N@c7 g5e4 b7a6 f3f6 h6f6 e4f6 g7f6 R@d8
info depth 29 seldepth 21 multipv 8 score mate -10 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv a7a6 d1h5 g8h6 b1c3 b8c6 f1c4 e7e6 c4e6 d7e6 P@d7 d8d7 c3e4 B@g6 h5h6 d7d2 c1d2 g7h6 N@g7 f8g7 e4d6
info depth 29 seldepth 21 multipv 9 score mate -10 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv e7e5 f1c4 d8e7 d1h5 e8d8 g1f3 g8f6 h5e5 d7d6 e5e7 f8e7 f3g5 Q@d1 e1d1 c8g4 d1e1 d6d5 Q@d6 c7d6 g5f7
info depth 29 seldepth 19 multipv 10 score mate -9 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv b7b6 d1h5 g7g6 h5d5 e7e6 d5e6 f7e6 P@f7 e8f7 f1d3 f7f6 d3g6 Q@f1 e1f1 c8a6 f1e1 h7g6 P@e5
info depth 29 seldepth 19 multipv 11 score mate -9 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv a7a5 d1h5 g7g6 h5d5 e7e6 d5e6 f7e6 P@f7 e8f7 f1d3 f7g7 d3g6 Q@f1 e1f1 P@e2 g1e2 h7g6 P@f6
info depth 29 seldepth 17 multipv 12 score mate -8 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv h7h6 d1h5 g7g6 h5g6 f7g6 P@f7 e8f7 f1c4 f7f6 c4g8 Q@f1 e1f1 P@e2 g1e2 h8g8 N@h5
info depth 29 seldepth 17 multipv 13 score mate -8 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv b7b5 f1b5 e7e6 d1f3 g8f6 f3a8 f8e7 b5d7 f6d7 P@c6 e8g8 c6d7 c8d7 R@h8 g8h8 N@g6
info depth 29 seldepth 17 multipv 14 score mate -8 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv c7c5 d1h5 g7g6 h5c5 b8a6 f1a6 f8g7 P@c7 d8c7 c5c7 f7f6 c7d7 c8d7 N@c7 e8d8 Q@e8
info depth 29 seldepth 17 multipv 15 score mate -8 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv g7g5 d1h5 e7e6 h5f7 e8f7 P@g6 h7g6 g1f3 f7e8 f3g5 Q@d1 e1d1 P@e2 f1e2 d8g5 P@f7
info depth 29 seldepth 17 multipv 16 score mate -8 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv b8a6 d1h5 g7g6 h5d5 e7e6 d5e6 f7e6 P@f7 e8f7 f1a6 Q@d1 e1d1 P@e2 a6e2 h7h6 N@e5
info depth 29 seldepth 11 multipv 17 score mate -5 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv d7d6 f1b5 c8d7 b5d7 d8d7 d1g4 B@e6 g4e6 f7e6 B@f7
info depth 29 seldepth 11 multipv 18 score mate -5 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv d7d5 f1b5 c8d7 b5d7 d8d7 d1h5 g7g6 h5d5 d7d5 P@d7
info depth 29 seldepth 7 multipv 19 score mate -3 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv f7f6 d1h5 g7g6 h5g6 h7g6 P@f7
info depth 29 seldepth 7 multipv 20 score mate -3 nodes 1295059114 nps 1643344 hashfull 962 tbhits 0 time 788063 pv f7f5 d1h5 g7g6 h5g6 h7g6 P@f7

I speeded up the process by filling the hash (4GB in this case) with useful data. E.g., when I found that it has difficulties finding the most forcing lines (i.e., the easiest win for the search to resolve, not necessarily the shortest), I set up a critical position of the PV and let it only search the move I would suggest, and then switched back to the search on the position after 1.e3. Because of switching between different positions, the given depth and analysis time in the output is not really meaningful, since the hash was filled with results of longer and deeper searches before.
@ubdip Nice ! Well done.

I'm not sure I get why you say this is not a proof, is there some black move that SF finds might hold ? I see 20 black moves that SF evals at mate in x. I though SF stating "mate in x" meant it checked the whole range of defenses (else it would switch to the best not-losing defense to report about / analyse).

Or are you saying SF proved it internally for itself, only you're not giving us enough information/branches to call your post a proof, as it stands ? (All we need to do to obtain the full written proof is ask SF for all the branches.)

What you say about "filling the hash" makes me think of what I try to do when analysing myself on lichess, looking some moves (say 19. b3, evaled at #9) ahead of the position I really want to analyse (after 18... Qa4 when it says the main line is 19. b3 at -3.5), to make it propagate the info back. It's the same thing, right ? But it doesn't work for me on lichess (it doesn't propagate back, and keeps reporting conflicting info on move 18... and 19. after playing the stated best move). Do you understand why, and is it how it's meant to be ?
@lecw
I said that strictly speaking it is not a proof mainly because one would have to prove that the algorithm is sound and that there are no bugs (which I can certainly not say for sure for my hacky 3check-crazyhouse version), which is hard. If I had the whole proof tree, then I would say that is an actual proof.

Yes, the example you mentioned is the same thing. Whether it works well usually depends on the hash size, which commands are actually send to Stockfish (e.g., ucinewgame clears the hash), and also on the depths of the searches, since the depth is an important criterion for the engine's strategy which hash entry to overwrite first in case of limited hash size.
Right, so it's just a matter of unfolding the SF logic and checking it branch by branch. Writing down the proof basically. Do you think it's worth doing for someone ?
I was mainly curious how many moves it takes for white to win and whether SF would be able to solve it, and for me the search results are sufficient evidence. I am not that much interested in a formal proof, but anyone can feel free to use SF as a tool if he feels like building a proof tree (I have not really tried to estimate the size of the proof tree yet though).

This topic has been archived and can no longer be replied to.