Crazyhouse tournaments and rating list

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

Moderators: hgm, Rebel, chrisw

User avatar
Guenther
Posts: 4607
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Crazyhouse tournaments and rating list

Post by Guenther »

Ferdy wrote:Issue with Sjeng in this tour.

Code: Select all

...
 24. g8=Q+ {+3.44/9 0.88s}
N@f8 {-2.23/5 1.1s} 25. P@g7 {+2.93/9 1.2s} Rxg7 {-4.15/6 0.82s}
26. Qxg7 {+4.74/9 2.4s} P@f4 {-4.00/5 1.3s} 27. R@h5 {+6.21/8 1.6s}
Qe7 {-3.16/6 0.76s} 28. Qxe7+ {+6.76/9 0.56s} Bxe7 {-4.17/5 0.43s}
29. Bxf4 {+6.58/9 0.97s} exf4 {-1.30/4 0.048s} 30. P@g7 {+8.81/9 0.77s}
P@b4 {-4.02/4 0.45s} 31. Nb5 {+8.63/8 0.41s} Bxb5 {-3.99/4 0.47s}
32. Rxb5 {+9.16/7 0.43s} B@c6 {-5.09/5 1.5s}
33. B@f6 {+9.24/7 0.62s, Black makes an illegal move: q@e8} 1-0
Is it possible that the crazyhouse rules once were changed?
The bug obviously is that Sjeng does not know that a once promoted pawn
has to be dropped as pawn again (and not as the promoted piece).
Sjeng 11.2 is more than 15 years old meanwhile)

Well, the good thing is the source is there :)

I really like your recent crazyhouse activities.

Guenther
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Crazyhouse tournaments and rating list

Post by Ferdy »

Guenther wrote:
Ferdy wrote:Issue with Sjeng in this tour.

Code: Select all

...
 24. g8=Q+ {+3.44/9 0.88s}
N@f8 {-2.23/5 1.1s} 25. P@g7 {+2.93/9 1.2s} Rxg7 {-4.15/6 0.82s}
26. Qxg7 {+4.74/9 2.4s} P@f4 {-4.00/5 1.3s} 27. R@h5 {+6.21/8 1.6s}
Qe7 {-3.16/6 0.76s} 28. Qxe7+ {+6.76/9 0.56s} Bxe7 {-4.17/5 0.43s}
29. Bxf4 {+6.58/9 0.97s} exf4 {-1.30/4 0.048s} 30. P@g7 {+8.81/9 0.77s}
P@b4 {-4.02/4 0.45s} 31. Nb5 {+8.63/8 0.41s} Bxb5 {-3.99/4 0.47s}
32. Rxb5 {+9.16/7 0.43s} B@c6 {-5.09/5 1.5s}
33. B@f6 {+9.24/7 0.62s, Black makes an illegal move: q@e8} 1-0
Is it possible that the crazyhouse rules once were changed?
The bug obviously is that Sjeng does not know that a once promoted pawn
has to be dropped as pawn again (and not as the promoted piece).
Sjeng 11.2 is more than 15 years old meanwhile)

Well, the good thing is the source is there :)

I really like your recent crazyhouse activities.

Guenther
It is possible.

Every now and then I am searching who created this variant and when? :)

The code seems to track down the promoted pawn in the move history. But as the program does so many make() move and unmake() move during searches, the tracking of this promoted pieces get lost.
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Crazyhouse tournaments and rating list

Post by Evert »

Guenther wrote:Should be easy to reproduce.
Well, it's not - so far for me at least.
I had three runs with SjaakII_131a-64 and all resulted always with an illegal move so far until I stopped it.
(A pity though that my debug file for the first run was not saved because it had axb6 until depth 11 IIRC)
But that shouldn't matter as I only had illegal moves so far as output, namely axb6, B@b5, Q@b7 all ignoring K in check.
Hmm... from your log file

Code: Select all

197832 <first &#58; # Begin iterative deepening loop for position "r5nr/p4ppp/1Bb1p3/3pP3/1p2n3/8/PPP1NPPP/R1B2RK1&#91;QPnbbqp&#93; w - - 0 20"
the position in question has no black king, so there's no check to ignore.

Question is, why is there no king? Some set of circumstances seems to have changed it into a Bishop but I'm at a loss to see how. Could be a make/unmake issue, could be a random memory corruption caused by an out-of-bounds access. If it's the latter that could explain why it's hard to reproduce on another OS; really not sure though.

Does the problem reproduce if you start from a FEN, or only if you step through the game history?
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Crazyhouse tournaments and rating list

Post by Evert »

Guenther wrote: Is it possible that the crazyhouse rules once were changed?
The bug obviously is that Sjeng does not know that a once promoted pawn
has to be dropped as pawn again (and not as the promoted piece).
There are different variants regarding these rules.
The one where promoted pieces demote to pawn after capture is generally called "Crazyhouse".
The one where promoted pieces keep their rank is generally called "Chessgi" (as a port-manteau of Chess+Shogi, although promoted pieces demote in Shogi).
However, there is some room for confusion regarding the exact rules across different sources. We never really played Crazyhouse, but we did play Bughouse ("doorgeef schaak") as kids, but with the rule that you were not allowed to drop with check.
Well, the good thing is the source is there :)
Yeah, but that may not help very much. A Queen that demotes to Pawn on capture is really a different piece from a normal Queen. If the code does not track that it can be a royal pain to fix that, and may require re-writing large chunks of it.
User avatar
Guenther
Posts: 4607
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Crazyhouse tournaments and rating list

Post by Guenther »

Evert wrote:
Guenther wrote:Should be easy to reproduce.
Well, it's not - so far for me at least.
I had three runs with SjaakII_131a-64 and all resulted always with an illegal move so far until I stopped it.
(A pity though that my debug file for the first run was not saved because it had axb6 until depth 11 IIRC)
But that shouldn't matter as I only had illegal moves so far as output, namely axb6, B@b5, Q@b7 all ignoring K in check.
Hmm... from your log file

Code: Select all

197832 <first &#58; # Begin iterative deepening loop for position "r5nr/p4ppp/1Bb1p3/3pP3/1p2n3/8/PPP1NPPP/R1B2RK1&#91;QPnbbqp&#93; w - - 0 20"
the position in question has no black king, so there's no check to ignore.

Question is, why is there no king? Some set of circumstances seems to have changed it into a Bishop but I'm at a loss to see how. Could be a make/unmake issue, could be a random memory corruption caused by an out-of-bounds access. If it's the latter that could explain why it's hard to reproduce on another OS; really not sure though.
Yeah you are right, I just looked at the given PV and not at the FEN output given by SjaakII. I have added some more debug parts below,
where you can see when the King transforms mysteriously into a Bishop! (soon after it suddenly goes up to depth 60)

*I used 'quote' here, because that allows formatting tags inside, other than 'code'.*
332060 >first : B@c6
332090 <first : 9 15985 1238 727854
332090 <first : # Begin iterative deepening loop for position "r5nr/pp1k1ppp/1BB1p3/1PQpP3/qp2n3/8/PPP1NPPP/R1B2RK1[nb] b - - 0 17"
332090 <first : 2 -15986 1 278 17. ...
Impossible move B@c6, type = 0
332100 <first : 3 -571 3 1631 17. ... bxc6 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 N@e8
332120 <first : 4 -645 6 5797 17. ... bxc6 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 N@e8 21. d7
332240 <first : 5 -899 18 15402 17. ... bxc6 18. Qxc6 Ke7 19. Qxa8 N@c8 20. P@d6 Nxd6 21. exd6 Nxd6
332490 <first : 6 -2446 43 38580 17. ... bxc6 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 B@b8 21. Qxb8 B@c8 22. R@d8 N@e8 23. Rxe8 Kxe8 24. Qxc8 R@d8 25. Bxd8 Qxb5
332580 <first : 7 -2446 53 48198 17. ... bxc6 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 B@b8 21. Qxb8 B@c8 22. R@d8 N@e8 23. Rxe8 Kxe8 24. Qxc8 R@d8 25. Bxd8 Qxb5
336020 <first : 8 -15986 396 240516 17. ... bxc6 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 B@b8 21. Qxb8 B@c8 22. R@e8 Kxe8 23. Qxc8 N@d8
ForwardInner(34), current 33, forward 39
339730 >first : b7c6
339750 <first : 9 -15986 767 504939 17. ...
Impossible move b7c6, type = 0
339760 <first : # Begin iterative deepening loop for position "r5nr/p2k1ppp/1Bp1p3/1PQpP3/qp2n3/8/PPP1NPPP/R1B2RK1[nbb] w - - 0 18"
339760 <first : 2 571 1 1258 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 N@e8
339760 <first : 3 522 1 2129 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 B@e8
339800 <first : 4 732 7 6636 18. Qxc6 Ke7 19. Qxa8 f5 20. P@d6 Kf7 21. Qxa7 Qxa7 22. Bxa7
339860 <first : 5 1029 12 13287 18. Qxc6 Ke7 19. Qxa8 B@b8 20. P@d6 Nxd6 21. exd6 Bxd6 22. Qxa7 Qxa7 23. Bxa7
340330 <first : 6 2446 60 53251 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 B@b8 21. Qxb8 B@c8 22. R@d8 N@e8 23. Rxe8 Kxe8 24. Qxc8 R@d8 25. Bxd8 Qxb5
340600 <first : 7 15987 87 74947 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 B@b8 21. Qxb8 B@c8 22. R@e8 Kxe8 23. Qxc8 N@d8
344130 <first : 8 15985 439 322171 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 B@b8 21. Qxb8 B@c8 22. R@d8 N@e8 23. Rxe8 Kxe8 24. Qxc8 R@d8
ForwardInner(35), current 34, forward 39
350100 >first : b5c6
350130 <first : 9 15985 1037 641646 18. Qxc6 Ke7 19. P@d6 Kf8 20. Qxa8 B@b8 21. Qxb8 B@c8 22. Qxc8 N@e8 23. Qxe8 Kxe8
350130 <first : # Begin iterative deepening loop for position "r5nr/p2k1ppp/1BP1p3/2QpP3/qp2n3/8/PPP1NPPP/R1B2RK1[Pnbb] b - - 0 18"
350130 <first : 2 583 0 652 18. ... Qxc6 19. Qxc6 Kxc6 20. Bd4
350130 <first : 3 589 0 1349 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@a6 Nc5 21. Bxc5 Kxc5
350150 <first : 4 -134 3 3771 18. ... Qxc6 19. Qxc6 Kxc6 20. Nd4 Kd7 21. Q@c6 Ke7 22. P@d6 Nxd6 23. exd6 Kf6 24. Qxa8 axb6
350180 <first : 5 -220 6 6387 18. ... Qxc6 19. Qxc6 Kxc6 20. Nd4 Kd7 21. Q@c6 Ke7 22. P@d6 Nxd6 23. Bg5 f6 24. exd6 Kf7 25. Qxa8 axb6
350270 <first : 6 -321 15 14450 18. ... Qxc6 19. Qxc6 Kxc6 20. Nd4 Kd7 21. Q@c7 Ke8 22. P@d7 Kf8 23. d8Q Rxd8 24. Qxd8 B@e8 25. Bxa7
353210 <first : 7 -15992 308 196520 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6
353660 <first : 8 -15992 354 210603 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6
354410 <first : 9 -15992 429 247394 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6
354630 <first : 10 -15992 450 261782 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6
354640 <first : 11 -15992 452 262377 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354640 <first : 12 -15992 452 262567 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354650 <first : 13 -15992 453 262757 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354660 <first : 14 -15992 453 264365 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354690 <first : 15 -15992 457 268685 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354720 <first : 16 -15992 458 271127 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354720 <first : 17 -15992 460 271317 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354720 <first : 18 -15992 460 271507 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354720 <first : 19 -15992 460 271697 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354720 <first : 20 -15992 460 271887 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354730 <first : 21 -15992 461 272077 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354730 <first : 22 -15992 461 272267 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354730 <first : 23 -15992 461 272457 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354730 <first : 24 -15992 461 272647 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354740 <first : 25 -15992 461 272837 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354740 <first : 26 -15992 461 273027 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354740 <first : 27 -15992 461 273217 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354740 <first : 28 -15992 461 273407 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354750 <first : 29 -15992 461 273597 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354750 <first : 30 -15992 463 273787 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354760 <first : 31 -15992 463 273977 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354760 <first : 32 -15992 463 274167 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354760 <first : 33 -15992 463 274357 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354760 <first : 34 -15992 464 274547 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354760 <first : 35 -15992 464 274737 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354770 <first : 36 -15992 464 274927 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354770 <first : 37 -15992 464 275117 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354770 <first : 38 -15992 464 275307 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354770 <first : 39 -15992 464 275497 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354780 <first : 40 -15992 464 275687 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354780 <first : 41 -15992 464 275877 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354780 <first : 42 -15992 464 276067 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354780 <first : 43 -15992 464 276257 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354780 <first : 44 -15992 466 276447 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354790 <first : 45 -15992 466 276637 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354790 <first : 46 -15992 466 276827 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354790 <first : 47 -15992 466 277017 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354790 <first : 48 -15992 466 277207 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354790 <first : 49 -15992 468 277397 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354800 <first : 50 -15992 468 277587 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354800 <first : 51 -15992 468 277777 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354800 <first : 52 -15992 468 277967 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354800 <first : 53 -15992 468 278157 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354800 <first : 54 -15992 468 278347 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354810 <first : 55 -15992 468 278537 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354810 <first : 56 -15992 468 278727 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354810 <first : 57 -15992 468 278917 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354810 <first : 58 -15992 469 279107 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354810 <first : 59 -15992 469 279297 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
354820 <first : 60 -15992 469 279487 18. ... Qxc6 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5
ForwardInner(36), current 35, forward 39
360560 >first : a4c6
360580 <first : # Begin iterative deepening loop for position "r5nr/p2k1ppp/1Bq1p3/2QpP3/1p2n3/8/PPP1NPPP/R1B2RK1[Pnbbp] w - - 0 19"
360580 <first : 2 15993 0 110 19. Qxc6
360600 <first : 3 -286 4 4227 19. Qxc6 Kxc6 20. Nd4 Kd7 21. Q@b7 P@c7 22. Qxa8 axb6
360620 <first : 4 15993 6 5421 19. Qxc6 Kxc6 20. Q@c7 Kb5 21. Nd4 Ka6 22. P@b5 Ka6
360700 <first : 5 -1019 14 10668 19. Qxc6 Bxc6 20. Q@c7 axb6 21. Qxc6
360800 <first : 6 -1023 23 17152 19. Qxc6 Bxc6 20. Q@c7 axb6 21. Qxc6 Rb8
360940 <first : 7 -1011 39 29736 19. Qxc6 Bxc6 20. Q@c7 B@b5 21. Bd4 Bxe2 22. Qxc6 Bxf1 23. Qxa8
361350 <first : 8 -1011 79 60869 19. Qxc6 Bxc6 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
361950 <first : 9 -1011 138 111297 19. Qxc6 Bxc6 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
363470 <first : 10 -1011 291 235608 19. Qxc6 Bxc6 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
ForwardInner(37), current 36, forward 39
367230 >first : c5c6
367260 <first : 11 -1011 667 523099
367260 <first : # Begin iterative deepening loop for position "r5nr/p2b1ppp/1BQ1p3/3pP3/1p2n3/8/PPP1NPPP/R1B2RK1[QPnbbp] b - - 0 19"
367260 <first : 2 995 1 152 19. ... Bxc6 20. Nd4 axb6 21. Nxc6
44 1 47 88 88 88 88 88 45 47 0 88
45 1 44 88 88 87 88 44 44 44 0 88
46 2 88 2 4 88 44 88 88 88 0 88
88 0 88 88 88 44 0 88 88 88 1 4
88 0 88 44 88 88 45 88 88 88 0 88
88 0 88 88 88 88 88 88 88 88 0 88
88 0 0 0 0 88 1 0 0 0 0 88
88 0 3 88 2 88 88 3 43 88 1 0
Impossible move _1c1h, type = 25
367260 <first : 3 1019 1 894 19. ... Bxc6 20. Q@c7 axb6 21. Qxc6
44 1 47 88 88 88 88 88 45 47 0 88
45 1 44 88 88 87 88 44 44 44 0 88
46 2 88 2 4 88 44 88 88 88 0 88
88 0 88 88 88 44 0 88 88 88 1 4
88 0 88 44 88 88 45 88 88 88 0 88
88 0 88 88 88 88 88 88 88 88 0 88
88 0 0 0 0 88 1 0 0 0 0 88
88 0 3 88 2 88 88 3 43 88 1 0
Impossible move _1c1, type = 25
367260 <first : 4 1019 1 1455 19. ... Bxc6 20. Q@c7 axb6 21. Qxc6
44 1 47 88 88 88 88 88 45 47 0 88
45 1 44 88 88 87 88 44 44 44 0 88
46 2 88 2 4 88 44 88 88 88 0 88
88 0 88 88 88 44 0 88 88 88 1 4
88 0 88 44 88 88 45 88 88 88 0 88
88 0 88 88 88 88 88 88 88 88 0 88
88 0 0 0 0 88 1 0 0 0 0 88
88 0 3 88 2 88 88 3 43 88 1 0
Impossible move _1c1, type = 25
367300 <first : 5 1023 6 6347 19. ... Bxc6 20. Q@c7 axb6 21. Qxc6 Rb8
44 1 47 88 88 88 88 88 45 47 0 88
45 1 44 88 88 87 88 44 44 44 0 88
46 2 88 2 4 88 44 88 88 88 0 88
88 0 88 88 88 44 0 88 88 88 1 4
88 0 88 44 88 88 45 88 88 88 0 88
88 0 88 88 88 88 88 88 88 88 0 88
88 0 0 0 0 88 1 0 0 0 0 88
88 0 3 88 2 88 88 3 43 88 1 0
Impossible move _1c1, type = 25
367340 <first : 6 1011 10 9846 19. ... Bxc6 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
44 1 47 88 88 88 88 88 45 47 0 88
45 1 44 88 88 87 88 44 44 44 0 88
46 2 88 2 4 88 44 88 88 88 0 88
88 0 88 88 88 44 0 88 88 88 1 4
88 0 88 44 88 88 45 88 88 88 0 88
88 0 88 88 88 88 88 88 88 88 0 88
88 0 0 0 0 88 1 0 0 0 0 88
88 0 3 88 2 88 88 3 43 88 1 0
Impossible move _1c1, type = 25
367880 <first : 7 998 65 57776 19. ... Bxc6 20. Be3 B@c7 21. P@d6 Bb5 22. dxc7 Bxe2
44 1 47 88 88 88 88 88 45 47 0 88
45 1 44 88 88 87 88 44 44 44 0 88
46 2 88 2 4 88 44 88 88 88 0 88
88 0 88 88 88 44 0 88 88 88 1 4
88 0 88 44 88 88 45 88 88 88 0 88
88 0 88 88 88 88 88 88 88 88 0 88
88 0 0 0 0 88 1 0 0 0 0 88
88 0 3 88 2 88 88 3 43 88 1 0
Impossible move _1c1, type = 25
368760 <first : 8 990 151 125878 19. ... Bxc6 20. Be3 B@c7 21. P@d6 B@c4 22. Q@g4 Bxe2 23. Qxe2
44 1 47 88 88 88 88 88 45 47 0 88
45 1 44 88 88 87 88 44 44 44 0 88
46 2 88 2 4 88 44 88 88 88 0 88
88 0 88 88 88 44 0 88 88 88 1 4
88 0 88 44 88 88 45 88 88 88 0 88
88 0 88 88 88 88 88 88 88 88 0 88
88 0 0 0 0 88 1 0 0 0 0 88
88 0 3 88 2 88 88 3 43 88 1 0
Impossible move _1c1, type = 25
369180 <first : 9 1011 195 162220 19. ... Bxc6 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
44 1 47 88 88 88 88 88 45 47 0 88
45 1 44 88 88 87 88 44 44 44 0 88
46 2 88 2 4 88 44 88 88 88 0 88
88 0 88 88 88 44 0 88 88 88 1 4
88 0 88 44 88 88 45 88 88 88 0 88
88 0 88 88 88 88 88 88 88 88 0 88
88 0 0 0 0 88 1 0 0 0 0 88
88 0 3 88 2 88 88 3 43 88 1 0
Impossible move _1c1, type = 25
376880 <first : 10 988 965 771921 19. ... Bxc6 20. Be3 B@c7 21. P@d6 B@c4 22. Q@g4 Q@g6 23. Qxg6 hxg6 24. Re1
44 1 47 88 88 88 88 88 45 47 0 88
45 1 44 88 88 87 88 44 44 44 0 88
46 2 88 2 4 88 44 88 88 88 0 88
88 0 88 88 88 44 0 88 88 88 1 4
88 0 88 44 88 88 45 88 88 88 0 88
88 0 88 88 88 88 88 88 88 88 0 88
88 0 0 0 0 88 1 0 0 0 0 88
88 0 3 88 2 88 88 3 43 88 1 0
Impossible move _1c1, type = 25
ForwardInner(38), current 37, forward 39
378870 >first : d7c6
378900 <first : 11 998 1163 924345 19. ...
Impossible move _1c1, type = 0
378900 <first : # Begin iterative deepening loop for position "r5nr/p4ppp/1Bb1p3/3pP3/1p2n3/8/PPP1NPPP/R1B2RK1[QPnbbqp] w - - 0 20"
378910 <first : 2 -1043 4 4390 20. Nd4 Ne7
378950 <first : 3 -1019 7 7692 20. Q@c7 axb6 21. Qxc6
LegalDrop: 4 @ 4,6)
LegalDrop: 4 @ 4,6)
378970 <first : 4 -1023 10 9660 20. Q@c7 axb6 21. Qxc6 Rb8
LegalDrop: 4 @ 4,6)
LegalDrop: 4 @ 4,6)
378990 <first : 5 -1011 12 11570 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
LegalDrop: 4 @ 4,6)
LegalDrop: 4 @ 4,6)
379030 <first : 6 -1011 15 15154 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
LegalDrop: 4 @ 4,6)
LegalDrop: 4 @ 4,6)
379100 <first : 7 -1011 23 22120 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
LegalDrop: 4 @ 4,6)
LegalDrop: 4 @ 4,6)
379260 <first : 8 -1011 39 34310 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
LegalDrop: 4 @ 4,6)
LegalDrop: 4 @ 4,6)
379540 <first : 9 -1011 67 58095 20. Q@c7 B@b5 21. P@b7 Bxb7 22. Qxb7 Bxe2 23. Qxa8 Bxf1 24. Qxa7
LegalDrop: 4 @ 4,6)
LegalDrop: 4 @ 4,6)
385620 <first : 10 -1019 675 522901 20. Bbe3 B@c7 21. P@d6 B@c4 22. Q@g4 Q@g6 23. Qxg6 hxg6 24. dxc7 Bxe2
ForwardInner(39), current 38, forward 39
389990 >first : Q@c7
Evert wrote:Does the problem reproduce if you start from a FEN, or only if you step through the game history?
I have not yet tested with FENs.
Last edited by Guenther on Sat Sep 10, 2016 10:26 am, edited 1 time in total.
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Crazyhouse tournaments and rating list

Post by Ferdy »

Ferdy wrote:Started the CCVA Double Elim Tour Nr 4

TC 1 minute for Lightning rating list.


Site:
https://sites.google.com/site/zhassocia ... -tour-nr-4

Pairing and results:
http://challonge.com/ccva_dbl_elim_tour_4
Tournament is completed, games from this tour will be used for Lightning rating list.

http://challonge.com/ccva_dbl_elim_tour_4.svg
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Crazyhouse tournaments and rating list

Post by Evert »

Guenther wrote:
Evert wrote:
Guenther wrote:Should be easy to reproduce.
Well, it's not - so far for me at least.
I had three runs with SjaakII_131a-64 and all resulted always with an illegal move so far until I stopped it.
(A pity though that my debug file for the first run was not saved because it had axb6 until depth 11 IIRC)
But that shouldn't matter as I only had illegal moves so far as output, namely axb6, B@b5, Q@b7 all ignoring K in check.
Hmm... from your log file

Code: Select all

197832 <first &#58; # Begin iterative deepening loop for position "r5nr/p4ppp/1Bb1p3/3pP3/1p2n3/8/PPP1NPPP/R1B2RK1&#91;QPnbbqp&#93; w - - 0 20"
the position in question has no black king, so there's no check to ignore.

Question is, why is there no king? Some set of circumstances seems to have changed it into a Bishop but I'm at a loss to see how. Could be a make/unmake issue, could be a random memory corruption caused by an out-of-bounds access. If it's the latter that could explain why it's hard to reproduce on another OS; really not sure though.
Yeah you are right, I just looked at the given PV and not at the FEN output given by SjaakII. I have added some more debug parts below,
where you can see when the King transforms mysteriously into a Bishop! (soon after it suddenly goes up to depth 60)
Ah, well spotted.

What happens here: it sees mate, so the depth very quickly reaches 60 (which is the maximum depth it will search), and then it waits for input. Then on the next iteration, after Qxc6, it initially sees the mate, but then it loses the mate and the king mysteriously transforms into a Bishop.

Still no clue why that happens, but at least it's something I should be able to code a test for that will terminate the search when it happens. Hopefully that makes it a bit easier to reproduce.
User avatar
Guenther
Posts: 4607
Joined: Wed Oct 01, 2008 6:33 am
Location: Regensburg, Germany
Full name: Guenther Simon

Re: Crazyhouse tournaments and rating list

Post by Guenther »

I tested it with a few FENs. It is sufficient to start at the position below.
Each FEN with a ply/plies later results in no illegal move/Fen.
21094 >first : new
random
21094 >first : variant crazyhouse
21095 >first : level 40 15 0
21095 >first : post
21095 >first : hard
21095 >first : easy
21095 >first : ping 4
Impossible move , type = 0
21096 >first : force
write FEN 50-move: 0 1 1
e1. p=-6
21096 >first : setboard r5nr/p2k1ppp/1BP1p3/2QpP3/qp2n3/8/PPP1NPPP/R1B2RK1[Pnbb] b - - 0 1
EditPosDone
21115 <first : # New game 'Chess'
21118 <first : # New game 'Crazyhouse'
21120 <first : pong 4
25556 >first : time 90000
25556 >first : otim 90000
book hit = (NULL)
25556 >first : go
nps: w=-1, b=-1
25557 <first : # Begin iterative deepening loop for position "r5nr/p2k1ppp/1BP1p3/2QpP3/qp2n3/8/PPP1NPPP/R1B2RK1[Pnbb] b - - 0 1"
25567 <first : 2 438 1 885 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Bxa7
25576 <first : 3 438 1 1516 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Bxa7
25635 <first : 4 444 7 5674 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Bxa7 Rf8
25747 <first : 5 -220 18 14548 1. ... Qxc6 2. Qxc6 Kxc6 3. Nd4 Kd7 4. Q@c6 Ke7 5. P@d6 Nxd6 6. Bg5 f6 7. exd6 Kf7 8. Qxa8 axb6
27436 <first : 6 -15992 188 128855 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6
27777 <first : 7 -15992 221 139686 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6
27780 <first : 8 -15992 223 139979 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6
28102 <first : 9 -15992 254 156807 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6
28219 <first : 10 -15992 266 165627 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6
28222 <first : 11 -15992 266 165921 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28224 <first : 12 -15992 266 166111 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28225 <first : 13 -15992 266 166301 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28239 <first : 14 -15992 268 167909 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28278 <first : 15 -15992 273 172227 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28300 <first : 16 -15992 274 174660 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28303 <first : 17 -15992 274 174850 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28305 <first : 18 -15992 274 175040 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28307 <first : 19 -15992 274 175230 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28309 <first : 20 -15992 276 175420 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28312 <first : 21 -15992 276 175610 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28314 <first : 22 -15992 276 175800 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28316 <first : 23 -15992 276 175990 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28318 <first : 24 -15992 276 176180 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28321 <first : 25 -15992 276 176370 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28322 <first : 26 -15992 276 176560 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28324 <first : 27 -15992 277 176750 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28326 <first : 28 -15992 277 176940 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28329 <first : 29 -15992 277 177130 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28331 <first : 30 -15992 277 177320 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28333 <first : 31 -15992 277 177510 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28335 <first : 32 -15992 277 177700 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28337 <first : 33 -15992 277 177890 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28345 <first : 34 -15992 279 178080 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28346 <first : 35 -15992 279 178270 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28348 <first : 36 -15992 279 178460 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28351 <first : 37 -15992 279 178650 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28353 <first : 38 -15992 279 178840 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28355 <first : 39 -15992 279 179030 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28357 <first : 40 -15992 279 179220 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28359 <first : 41 -15992 279 179410 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28360 <first : 42 -15992 280 179600 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28363 <first : 43 -15992 280 179790 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28364 <first : 44 -15992 280 179980 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28366 <first : 45 -15992 280 180170 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28369 <first : 46 -15992 280 180360 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28370 <first : 47 -15992 280 180550 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28372 <first : 48 -15992 280 180740 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28375 <first : 49 -15992 280 180930 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28376 <first : 50 -15992 282 181120 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28378 <first : 51 -15992 282 181310 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28380 <first : 52 -15992 282 181500 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28382 <first : 53 -15992 282 181690 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28384 <first : 54 -15992 282 181880 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28387 <first : 55 -15992 282 182070 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28389 <first : 56 -15992 282 182260 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28390 <first : 57 -15992 282 182450 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28392 <first : 58 -15992 283 182640 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28394 <first : 59 -15992 283 182830 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28396 <first : 60 -15992 283 183020 1. ... Qxc6 2. Qxc6 Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5
28397 <first : move a4c6
silence
29529 >first : lift c5
29557 <first : highlight 5Y2/4Y3/2RY4/YY1R4/1RYY4/2Y1Y3/8/8
29705 >first : hover c6
30209 >first : put c6
30209 >first : time 89716
30209 >first : otim 89818
book hit = (NULL)
30209 >first : c5c6
30257 <first : # Begin iterative deepening loop for position "r5nr/p2k1ppp/1BQ1p3/3pP3/1p2n3/8/PPP1NPPP/R1B2RK1[QPnbbp] b - - 0 2"
30257 <first : 2 -15994 0 4 2. ...
Impossible move a4c6, type = 0
30259 <first : 3 -15994 0 167 2. ... Kxc6 3. Q@c7 Kb5 4. Nd4 Ka6 5. P@b5 Ka6 6. P@b5
30260 <first : 4 -16000 0 167 2. ...
Impossible move d7c6, type = 0
30261 <first : move d7c6
silence
32577 >first : lift j5
33265 >first : put c7
Drop move 19, curr=4, x=11,y=4, p=4
LegalDrop: 4 @ 4,6)
LegalDrop: 4 @ 4,6)
33265 >first : time 89710
33265 >first : otim 89518
book hit = (NULL)
33265 >first : Q@c7
33295 <first : # Begin iterative deepening loop for position "r5nr/p1Q2ppp/1Bp1p3/3pP3/1p2n3/8/PPP1NPPP/R1B2RK1[Pnbbqp] b - - 0 3" //now King is changed to pawn!
33296 <first : 2 1269 1 557 3. ... axb6 4. Qxc6
33298 <first : 3 1120 3 3252 3. ... axb6 4. Qxf7 g5 5. Qxe6
33321 <first : 4 1222 6 5427 3. ... axb6 4. Qxc6 Rb8 5. Rd1
33451 <first : 5 1261 18 15592 3. ... axb6 4. Qxc6 Rb8 5. Rd1 Ne7
33759 <first : 6 1216 49 42103 3. ... axb6 4. Qxc6 Q@g4 5. Ng3 Rb8 6. P@b3
35083 <first : 7 1167 182 150167 3. ... axb6 4. P@b7 Ra7 5. Qxc6 B@b8 6. Qxb6 Nh6
37555 <first : 8 1144 429 363311 3. ... axb6 4. P@b7 Ra7 5. Qxc6 Q@f8 6. Qxb6 Qb8 7. Qxb4 Qxb7
41782 <first : 9 1164 851 711957 3. ... axb6 4. P@b7 Ra7 5. Qxc6 N@e7 6. Qxb6 B@c5 7. Qc7 B@c4
59068 <first : 10 1225 2580 2041172 3. ... axb6 4. Qxc6 Q@a4 5. Qxa4 Rxa4 6. Q@d7 Q@g4 7. Ng3 Nxg3 8. fxg3
59071 <first : move a7b6
User avatar
Evert
Posts: 2929
Joined: Sat Jan 22, 2011 12:42 am
Location: NL

Re: Crazyhouse tournaments and rating list

Post by Evert »

Ok, so now we're getting somewhere:

Code: Select all

Sjaak II version 633 &#40;x86_64&#41;
Type 'help' for a list of commands and help topics
 8r n b q k b n r 
 7p p p p p p p p 
 6                
 5                
 4                
 3                
 2P P P P P P P P 
 1R N B Q K B N R *
  a b c d e f g h 
#&#91;Chess&#93; 0w>variant crazyhouse 
 8r n b q k b n r 
 7p p p p p p p p 
 6                
 5                
 4                
 3                
 2P P P P P P P P 
 1R N B Q K B N R *
  a b c d e f g h 
White holdings &#91; &#93;
Black holdings &#91; &#93;
#&#91;Crazyhouse&#93; 0w>level 40 15 0 
 8r n b q k b n r 
 7p p p p p p p p 
 6                
 5                
 4                
 3                
 2P P P P P P P P 
 1R N B Q K B N R *
  a b c d e f g h 
White holdings &#91; &#93;
Black holdings &#91; &#93;
#&#91;Crazyhouse&#93; 0w>setboard r5nr/p2k1ppp/1BP1p3/2QpP3/qp2n3/8/PPP1NPPP/R1B2RK1&#91;Pnbb&#93; b - - 0 1 
 8r           n r *
 7p     k   p p p 
 6  B P   p       
 5    Q p P       
 4q p     n       
 3                
 2P P P   N P P P 
 1R   B     R K   
  a b c d e f g h 
White holdings &#91; P&#58; 01 &#93;
Black holdings &#91; n&#58; 01 b&#58; 02 &#93;
#&#91;Crazyhouse&#93; 0b &#40;f&#41;+> time 90000 
 8r           n r *
 7p     k   p p p 
 6  B P   p       
 5    Q p P       
 4q p     n       
 3                
 2P P P   N P P P 
 1R   B     R K   
  a b c d e f g h 
White holdings &#91; P&#58; 01 &#93;
Black holdings &#91; n&#58; 01 b&#58; 02 &#93;
#&#91;Crazyhouse&#93; 0b &#40;f&#41;+>go
  2.    0.01         926  +4.35   1. ... Qxc6   2. Qxc6   Kxc6   3. Q@c7   Kb5    4. Bxa7  
  3.    0.01        1553  +4.35   1. ... Qxc6   2. Qxc6   Kxc6   3. Q@c7   Kb5    4. Bxa7  
  4.    0.03        5529  +4.40   1. ... Qxc6   2. Qxc6   Kxc6   3. Q@c7   Kb5    4. Bxa7   Rf8   
  5.    0.04        5788  +4.26   1. ... Qxc6?
  5.    0.05        8301  +3.39   1. ... Qxc6?
  5.    0.05        8653  +2.56   1. ... Qxc6?
  5.    0.05        8717  +0.00   1. ... Qxc6?
  5.    0.08       14375  -2.20   1. ... Qxc6   2. Qxc6   Kxc6   3. Nd4    Kd7    4. Q@c6   Ke7    5. P@d6   Nxd6   6. Bg5     f6    7.  exd6  Kf7    8. Qxa8    axb6 
  6.    0.09       15764  -2.36   1. ... Qxc6?
  6.    0.09       15913  -2.59   1. ... Qxc6?
  6.    0.13       25039  -3.81   1. ... Qxc6?
  6.    0.15       28012  -5.42   1. ... Qxc6?
  6.    0.16       30330  -8.86   1. ... Qxc6?
  6.    0.16       30631  -17.15   1. ... Qxc6?
  6.    0.25       48050  -30.01   1. ... Qxc6?
  6.    0.30       58605  -159.86   1. ... Qxc6?
  6.    0.74      131561  -159.92   1. ... Qxc6   2. Qxc6   Kxc6   3. Q@c7   Kb5    4. Nd4    Ka6   
&#91;...&#93;
 60.    1.23      201944  -159.92   1. ... Qxc6   2. Qxc6   Kxc6   3. Q@c7   Kb5    4. Nd4    Ka6    5. P@b5  
Time remaining 14&#58;58.67
move Qxc6
 8r           n r 
 7p     k   p p p 
 6  B q   p       
 5    Q p P       
 4  p     n       
 3                
 2P P P   N P P P 
 1R   B     R K   *
  a b c d e f g h 
White holdings &#91; P&#58; 01 &#93;
Black holdings &#91; n&#58; 01 b&#58; 02 p&#58; 01 &#93;
#&#91;Crazyhouse&#93; 1w>c5c6
  2.    0.00           4  -159.94   2. ... Kxc6?
  2.    0.00           4  -159.94   2. ...
  3.    0.00         167  -159.94   2. ... Kxc6   3. Q@c7   Kb5    4. Nd4    Ka6    5. P@b5   Ka6    6. P@b5  
  4.    0.00         167  -160.00   2. ...
Time remaining 14&#58;58.67
move Kxc6
 8r           n r 
 7p         p p p 
 6  B p   p       
 5      p P       
 4  p     n       
 3                
 2P P P   N P P P 
 1R   B     R K   *
  a b c d e f g h 
White holdings &#91; Q&#58; 01 P&#58; 01 &#93;
Black holdings &#91; n&#58; 01 b&#58; 02 q&#58; 01 p&#58; 01 &#93;
#&#91;Crazyhouse&#93; 3w>
Note too that the score in the fourth line is odd (-160.00, which means "checkmate now") and the PV is missing. So something is clearly up there.

The good thing though is that I can finally reproduce it!
User avatar
hgm
Posts: 27808
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Crazyhouse tournaments and rating list

Post by hgm »

I am tempted to make a new engine for drop variants, which then should be able to play Crazyhouse as well. My current engine Shokidoki can only handle boards up to 9x9, up to 15 piece types, and has no easy way to handle special moves like castling, e.p. or under-promotion. Soit would be hard to have it do Crazyhouse. I would furthermore like to have an engine that can handle boards up to 11x11, which could also encode special moves.

What I have in mind is based on a 22x11 mailbox board, with a double ring of boundary guards encoded as negative numbers around it. The off-board squares would hold complemented holdings counts, so that they also would always be negative, and be perceived as boundary guards. The 22x11 area can be indexed by square numbers running from 0-241, which fits in a single byte.

In the move encoding off-board from-squares would indicate drop moves, and directly address the holdings counter for the dropped piece type. Off-board to-squares would be used to indicate promotions. They would be used to index board-sized decoding tables that would specify the promotion shift (to be added to the piece code) and the true (on-board) to-square of the move. The on-board part of these tables would just contain 0 and the index itself.

Special moves for Chess could also be encoded by off-board to-squares; you would need codes for 2x8 double pushes (special because they should set the e.p.square), 2x8 e.p. capture to-squares, and 4 castlings. Unlike in Shogi variants, where promotions can take place anywhere on the board, as also moves that leave the zone can promote, promotions in Chess are limited to the last rank. But because there is promotion choice, each possible to-square needs 4 different codes there, which would still require a full 8x8 board worth of off-board codes. (Well, are promotions to B or R ever of any use in Crazyhouse?) But in Chess the board is only 8 ranks, so ranks 9-11 can be used to encode the double-pushes, e.p. captures and castlings. By testig if a to-square is >= 22*8 we can then recognize the move is special, and use a lookup table to decide what special action to take (set e.p. square, delete an e.p. victim, or move a Rook). Other moves would be normal moves, drops or promotions, and would be handled the normal way.

As for piece codes 0 could signify empty squares, 32-63 white pieces, and 64-95 black pieces. That would allow 32 piece types per color. Wa Shogi has 17 unpromoted pieces, of which 14 can promote, so 31 types in total. On a drop a (negative) holdings count would appear to be the type of the 'from-piece' (which would have to be restored on UnMake), while the 'to-piece' (appearing on the to-square) would come from a board-sized table. All negative piece types would share the same PST, consisting only of an off-board part (as the on-board part would never be used, negative codes never occurring on the board), which would contain the in-hand values of all piece types. Real piece types, or the empty square, would never use the off-board part, so that white and black tables can be interleaved. (Space becomes an issue, when you have 2x31 11x11 tables...)

I guess this could be done quite efficiently.