Crazyhouse

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

Moderators: hgm, Harvey Williamson, bob

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
Ferdy
Posts: 3607
Joined: Sun Aug 10, 2008 1:15 pm
Location: Philippines

Crazyhouse

Post by Ferdy » Sat May 02, 2015 8:21 am

Looking at some test games, I found this invalid move by Sjaak and Sunsetter 7g.

Code: Select all

[Event "Computer Chess Game"]
[Site "INTEL-PC"]
[Date "2015.05.02"]
[Round "45"]
[White "Imortal v1-16"]
[Black "SjaakII_v1.0_Zh"]
[Result "1-0"]
[TimeControl "40/60"]
[Variant "crazyhouse"]
[Annotator "2. +0.76   2... +0.06"]

1. e3 e5 2. Nc3 {+0.76/10 1.5} Nf6 {+0.06/10 0.9} 3. Qf3 {+0.87/10 1.3} d5
{+0.34/9 0.9} 4. Bb5+ {+0.53/8 1.5} c6 {+0.90/8 0.9} 5. Be2 {+0.13/8 1.5}
e4 {+1.07/10 1.1} 6. Qf4 {+0.25/9 1.5} Bd6 {+1.18/9 1.7} 7. Qg5
{-0.26/10 1.5} Kf8 {+1.27/9 0.9} 8. Qh4 {-0.17/9 1.5} Qe7 {+1.15/8 1.6} 9.
a3 {+0.05/8 1.5} h6 {+1.20/7 1.1} 10. f4 {+0.31/9 1.5} exf3 {+1.12/8 1.7}
11. Nxf3 {+0.24/8 1.5}
{Xboard: Forfeit due to invalid move: B@e4 (_1_1 via ^0) res=25} 1-0
Later part of the debug.
607154 >first : time 4680
607154 >first : otim 4912
book hit = (NULL)
607154 >first : e4f3
silence
607157 <first : # moves_to_go = 30
607157 <first : # rnb2k1r/pp2qpp1/2pb1n1p/3p4/7Q/P1N1Pp2/1PPPB1PP/R1B1K1NR[p] w KQ -
607157 <first : # TimeLeft=46800.00 ms. MaxTime=2340.00 ms AllocatedTime=1490.00 ms.
607157 <first : 1 50 0 71 g1f3
607157 <first : 2 2 0 432 g1f3 b8d7
607159 <first : 3 32 0 1190 g1f3
607160 <first : 3 34 0 1747 g1f3 b8d7 e1d1
607173 <first : 4 1 1 8229 g1f3 b8d7 e1d1 d7c5
607176 <first : 5 31 2 10135 g1f3
607184 <first : 5 25 3 18017 g1f3 P@f2 e1d1 f6e4 h4e7 d6e7 Q@c7 b8d7
607200 <first : 6 -5 4 30203 g1f3
607260 <first : 6 33 10 84128 g1f3 c8f5 f3d4 P@g5 d4f5 g5h4 f5e7 d6e7
607839 <first : 7 -4 68 402170 g1f3 b8d7 P@f2 d7c5 b2b4 c5e4 c1b2
608615 <first : 8 24 146 821387 g1f3 b8d7 P@f4 f6e4 c3e4 d5e4 N@f5 e4f3 f5e7 d6e7
608615 <first : move g1f3
608615 >second: time 4912
608615 >second: otim 4534
book hit = (NULL)
608615 >second: g1f3
silence
608624 <second: 2 320 0 880 12. ... Be6 12. d3
608635 <second: 3 337 1 1767 12. ... Bf5 12. d3 Nd7
608710 <second: 4 311 9 10484 12. ... Bf5 12. d3 Nd7 13. Qd4
608760 <second: 5 321 14 17907 12. ... Bf5 12. Nd4 Be4 13. Nxe4 dxe4
609124 <second: 6 312 50 73778 12. ... Ne4 12. Qxe7 Bxe7 13. Nxe4 dxe4 14. Nd4 Bd6
610369 <second: 7 328 174 230581 12. ... B@e4 12. P@d3 Bxf3 13. Bxf3 Bf5 14. Qd4 Nd7
610369 <second: move B@e4
LegalDrop: 46 @ 6,3)
Impossible move B@e4, type = 25
GameEnds(26, Xboard: Forfeit due to invalid move: B@e4 (_1_1 via ^0) res=25, 4)
610376 >first : result 1-0 {Xboard: Forfeit due to invalid move: B@e4 (_1_1 via ^0) res=25}
610376 >second: result 1-0 {Xboard: Forfeit due to invalid move: B@e4 (_1_1 via ^0) res=25}
Also this.

Code: Select all

&#91;Event "Computer Chess Game"&#93;
&#91;Site "INTEL-PC"&#93;
&#91;Date "2015.05.02"&#93;
&#91;Round "70"&#93;
&#91;White "SjaakII_v1.0_Zh"&#93;
&#91;Black "Imortal v1-16"&#93;
&#91;Result "0-1"&#93;
&#91;TimeControl "40/60"&#93;
&#91;Variant "crazyhouse"&#93;
&#91;Annotator "3. +0.17   2... -0.20"&#93;

1. e3 Nf6 2. Nf3 h6 &#123;-0.20/10 1.5&#125; 3. d4 &#123;+0.17/10 0.9&#125; d6 &#123;+0.23/10 1.4&#125;
4. Nc3 &#123;+0.24/10 1.0&#125; Be6 &#123;-0.08/10 1.5&#125; 5. d5 &#123;+0.60/10 1.1&#125; Bg4
&#123;+0.16/10 1.5&#125; 6. h3 &#123;+0.81/9 1.0&#125; Bh5 &#123;+0.21/9 1.5&#125; 7. Qd4 &#123;+0.66/8 1.3&#125;
Bxf3 &#123;+0.46/9 1.2&#125; 8. gxf3 &#123;+0.68/9 1.4&#125; Qd7 &#123;+0.29/8 1.5&#125; 9. e4
&#123;+0.85/8 1.9&#125; c5 &#123;+0.27/8 1.2&#125; 10. dxc6 &#123;+2.35/8 0.9&#125; Nxc6 &#123;+0.30/7 1.5&#125;
11. Qd1 &#123;+2.24/9 1.7&#125; Ne5 &#123;+0.47/6 1.5&#125; 12. f4 &#123;+2.60/8 1.4&#125; Nc6
&#123;+0.75/7 1.4&#125; 13. B@d5 &#123;+2.55/8 1.8&#125; P@b4 &#123;+0.34/6 1.5&#125; 14. Nb5
&#123;+2.92/7 2.4&#125; a6 &#123;+1.07/6 1.5&#125; 15. Bxc6 &#123;+6.10/8 1.5&#125; Qxc6 &#123;+1.07/5 1.5&#125;
16. N@c7+ &#123;+6.10/7 0.9&#125; Kd8 &#123;-1.25/7 1.5&#125;
&#123;Xboard&#58; Forfeit due to invalid move&#58; B@d5 (_1_1 via ^0&#41; res=25&#125; 0-1
Run under winboard 4.8.0b.

Code: Select all

"SjaakII_v1.0_Zh" -fcp "SjaakII_win64_DC.exe" -fd "C&#58;\Chess\engines\nobook\sjaakii-1.0.0-win\SjaakII" -fn "SjaakII_v1.0_Zh" -variant crazyhouse
From sunsetter.

Code: Select all

&#91;Event "Computer Chess Game"&#93;
&#91;Site "INTEL-PC"&#93;
&#91;Date "2015.05.02"&#93;
&#91;Round "283"&#93;
&#91;White "sunsetter_7g"&#93;
&#91;Black "Imortal v1.0"&#93;
&#91;Result "0-1"&#93;
&#91;TimeControl "180+1"&#93;
&#91;Variant "crazyhouse"&#93;
&#91;Annotator "2. +0.00   1... -0.10"&#93;

1. e3 Nf6 &#123;-0.10/15 29&#125; 2. Nf3 &#123;+0.00/14 9&#125; Nc6 &#123;-0.09/15 49&#125; 3. Bb5
&#123;+0.04/14 14&#125; e6 &#123;+0.00/13 44&#125; 4. d4 &#123;+0.10/14 20&#125; Bd6 &#123;+0.19/11 47&#125; 5. Nc3
&#123;+0.15/14 31&#125; Bb4 &#123;+0.07/11 29&#125; 6. Bd2 &#123;+0.13/14 19&#125; Bxc3 &#123;+0.22/13 42&#125; 7.
Bxc3 &#123;+0.23/15 1&#58;06&#125; N@e4 &#123;+0.38/12 47&#125; 8. O-O &#123;+0.24/14 16&#125; Nxc3
&#123;+0.82/12 34&#125; 9. bxc3 &#123;+0.39/14 41&#125; B@b2 &#123;+0.37/10 33&#125; 10. c4 &#123;+0.51/13 19&#125;
Bxa1 &#123;+0.42/12 27&#125; 11. Qxa1 &#123;+0.51/14 51&#125; R@g6 &#123;+0.46/9 27&#125; 12. c5
&#123;+0.81/11 16&#125; a6 &#123;+0.72/10 26&#125; 13. Bc4 &#123;+0.82/12 25&#125; d5 &#123;+0.76/10 32&#125; 14.
cxd6 &#123;+0.77/13 47&#125; cxd6 &#123;+1.07/9 33&#125; 15. P@g3 &#123;+0.73/12 33&#125; b5 &#123;+1.50/9 21&#125;
16. Be2 &#123;+0.77/12 16&#125; Bb7 &#123;+1.21/9 33&#125; 17. B@f4 &#123;+0.81/12 28&#125; Nd5
&#123;+1.63/10 29&#125; 18. Bxd6 &#123;+1.26/12 35&#125; Qxd6 &#123;+0.25/10 31&#125; 19. B@c5 Qb8
&#123;+0.09/8 9&#125; 20. N@d6+ &#123;+0.09/10 2.2&#125; Kf8 &#123;-0.56/9 9&#125; 21. P@h5
&#123;+0.18/10 2.3&#125; Rf6 &#123;-0.04/9 7&#125; 22. Nxb7+ &#123;+0.16/11 2.2&#125; P@e7 &#123;-0.53/8 7&#125;
23. e4 &#123;+0.26/12 2.2&#125; Qxb7 &#123;-1.07/8 7&#125; 24. exd5 &#123;+0.45/11 2.2&#125; exd5
&#123;-0.88/9 7&#125; 25. B@h4 &#123;+0.32/10 2.2&#125; Re6 &#123;-0.14/8 5&#125; 26. Re1 &#123;+0.16/10 4&#125;
B@a5 &#123;+1.95/6 5&#125; 27. N@f4 &#123;+0.71/10 2.1&#125; Re4 &#123;+2.35/7 5&#125; 28. Nxd5
&#123;+0.73/10 2.1&#125; P@b2 &#123;+2.97/7 5&#125; 29. Nxe7 &#123;+1.32/10 2.1&#125; bxa1=Q &#123;+2.63/7 5&#125;
30. Nxc6+ &#123;+1.48/10 2.1&#125; Kg8 &#123;+5.13/7 5&#125; 31. Rxa1 &#123;+0.90/10 4&#125; Qxc6
&#123;+5.95/7 5&#125;
&#123;Xboard&#58; Forfeit due to invalid move&#58; Q@g5 (_1_1 via ^0&#41; res=25&#125; 0-1

Code: Select all

&#91;Event "Computer Chess Game"&#93;
&#91;Site "INTEL-PC"&#93;
&#91;Date "2015.05.02"&#93;
&#91;Round "181"&#93;
&#91;White "sunsetter_7g"&#93;
&#91;Black "Imortal v1-15"&#93;
&#91;Result "0-1"&#93;
&#91;TimeControl "180+1"&#93;
&#91;Variant "crazyhouse"&#93;
&#91;Annotator "3. +0.56   2... -0.29"&#93;

1. d4 d5 2. Nc3 Qd6 &#123;-0.29/12 9&#125; 3. e4 &#123;+0.56/12 2.2&#125; dxe4 &#123;+0.30/12 7&#125; 4.
Nxe4 &#123;+0.58/11 2.3&#125; Qe6 &#123;+0.00/10 8&#125; 5. P@e5 &#123;+0.80/11 2.3&#125; Nc6 &#123;+0.32/9 8&#125;
6. Bb5 &#123;+0.87/11 2.2&#125; Qd5 &#123;+0.43/9 7&#125; 7. Bxc6+ &#123;+0.69/10 2.2&#125; Qxc6
&#123;+1.45/9 7&#125; 8. d5 &#123;+0.74/11 2.2&#125; Qg6 &#123;+2.20/7 5&#125; 9. Ng5 &#123;+0.69/10 2.2&#125;
B@a5+ &#123;+0.26/7 5&#125; 10. c3 &#123;+0.69/10 2.2&#125; Bxc3+ &#123;+0.60/9 4&#125; 11. bxc3
&#123;+1.66/10 2.2&#125; P@b2 &#123;+0.37/8 6&#125; 12. B@a4+ &#123;+0.74/10 4&#125; P@d7 &#123;+0.99/9 6&#125; 13.
Bc2 &#123;+0.56/11 2.1&#125; bxa1=Q &#123;+4.00/9 6&#125; 14. Bxg6 &#123;+1.23/10 2.1&#125; Qxc3+
&#123;+4.26/6 4&#125; 15. Kf1 &#123;+1.08/10 2.1&#125; hxg6 &#123;+3.40/7 4&#125; 16. Nxf7 &#123;-0.04/10 8&#125;
R@e1+ &#123;+3.76/5 4&#125; 17. Qxe1 Qxe1+ &#123;+3.49/5 4&#125; 18. Kxe1 B@a5+ &#123;+3.14/4 4&#125; 19.
P@d2 &#123;+5.95/10 16&#125; Q@e4+ &#123;-6.72/5 4&#125; 20. R@e2 &#123;+7.57/9 1.8&#125; Qxg2
&#123;-3.48/6 4&#125; 21. Q@d8+ &#123;+299.80/33&#125; Kxf7 &#123;+7.80/2&#125;
&#123;Xboard&#58; Forfeit due to invalid move&#58; Q@e8 (_1_1 via ^0&#41; res=25&#125; 0-1

Henk
Posts: 5101
Joined: Mon May 27, 2013 8:31 am

Re: Crazyhouse

Post by Henk » Sat May 02, 2015 8:25 am

Engines. They are all crap.

Ferdy
Posts: 3607
Joined: Sun Aug 10, 2008 1:15 pm
Location: Philippines

Re: Crazyhouse

Post by Ferdy » Sat May 02, 2015 8:35 am

Henk wrote:Engines. They are all crap.
Better design your engine to play crazyhouse, there is no point in developing a crappy engine to play normal chess :).

User avatar
Evert
Posts: 2898
Joined: Fri Jan 21, 2011 11:42 pm
Location: NL
Contact:

Re: Crazyhouse

Post by Evert » Sat May 02, 2015 8:37 am

Ah, nasty: when it makes a capture, SjaakII places the piece that used to be on the destination square in holdings. However, in the case of en-passant capture, this is wrong and it puts an arbitrary piece in holdings (actually the last piece to occupy that square, which was apparently a bishop in the search Sjaak performed; if I enter the moves by hand it's a queen).

Well spotted!

EDIT: another WTF is SjaakII's evaluation of that position, but that's a separate issue.

User avatar
hgm
Posts: 22274
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Crazyhouse

Post by hgm » Sat May 02, 2015 8:53 am

Such nasty details are the reason I never attempted to have Shokidoki play Crazyhouse.

User avatar
Evert
Posts: 2898
Joined: Fri Jan 21, 2011 11:42 pm
Location: NL
Contact:

Re: Crazyhouse

Post by Evert » Sat May 02, 2015 9:55 am

Fixed now, so it'll be in the next release.

What's particularly silly about this is that I did remember to be careful about clearing the en-passant victim, but then grabbed the piece-ID from the wrong square to update the holdings (the two pieces of code were evidently not written at the same time).

User avatar
Evert
Posts: 2898
Joined: Fri Jan 21, 2011 11:42 pm
Location: NL
Contact:

Re: Crazyhouse

Post by Evert » Sat May 02, 2015 9:59 am

hgm wrote:Such nasty details are the reason I never attempted to have Shokidoki play Crazyhouse.
The fix was actually pretty easy, but of course it didn't show up when I set up a test position. I'm just glad it was a bug in make move (actually, move generation) rather than the search.

Of course I never noticed it because Crazyhouse was a bit of a "why not" after implementing Shogi, where as you say the problem simply doesn't exist.

Post Reply