Hannibal 1.5 bug

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

Moderators: hgm, Rebel, chrisw

carldaman
Posts: 2283
Joined: Sat Jun 02, 2012 2:13 am

Hannibal 1.5 bug

Post by carldaman »

I didn't have much time to test the latest Hannibal when it came out early this year, but I've just noticed a serious new bug in the endgame.

As the number of pieces on the board decreases in the endgame, Hannibal will (strangely) reach lower and lower depths, to the point of having trouble winning simple endings such as King+Rook vs King, or blundering in drawn positions.

This sort of behavior sometimes happens with engines that mishandle eg tablebases, but Hannibal does not use egtbs. The bug was not present in prior versions.


[D]4bB2/7k/5K2/7P/6P1/8/8/8 b - - 0 77

For example, here Hannibal played the losing 77...Kh8 after 18 seconds, instead of 77...Kg8, which holds. Please note the low depths reached (pgn included below) compared to the earlier phase of the game. The time control was 30min +10s increment for the whole game.

[pgn]
[Event "test2"]
[Date "2015.07.29"]
[Round "5.1"]
[White "Alfil 15.07 x64"]
[Black "Hannibal 1.5 x64"]
[Result "1-0"]
[ECO "B08"]
[Annotator "0.46;0.50"]
[PlyCount "161"]
[EventDate "2015.07.29"]

{Intel(R) Core(TM) i3-2120 CPU @ 3.30GHz 3292 MHz W=37.5 plies; 682kN/s B=25.4
plies; 3,493kN/s} 1. e4 d6 2. d4 Nf6 3. Nc3 g6 4. Nf3 {[%eval 46,22] [%emt 0:
00:52]} Bg7 {[%eval 50,25] [%emt 0:01:06]} 5. Be2 {[%eval 46,23] [%emt 0:00:27]
} c6 {[%eval 50,25] [%emt 0:00:53] (0-0)} 6. O-O {[%eval 49,20] [%emt 0:00:40]}
O-O {[%eval 51,24] [%emt 0:00:46]} 7. a4 {[%eval 35,21] [%emt 0:03:32]} Nbd7 {
[%eval 45,23] [%emt 0:01:39] (Na6)} 8. Bg5 {[%eval 39,21] [%emt 0:01:15] (Be3)}
Re8 {[%eval 46,24] [%emt 0:01:54] (e5)} 9. h3 {[%eval 35,21] [%emt 0:00:59]
(Be3)} e5 {[%eval 36,25] [%emt 0:01:09] (Qc7)} 10. dxe5 {[%eval 31,23] [%emt 0:
00:43]} Nxe5 {[%eval 37,26] [%emt 0:00:43] (dxe5)} 11. Nxe5 {[%eval 29,21]
[%emt 0:00:41]} dxe5 {[%eval 37,24] [%emt 0:00:00]} 12. Qxd8 {[%eval 25,23]
[%emt 0:00:35] (Bc4)} Rxd8 {[%eval 33,26] [%emt 0:00:43]} 13. Rfd1 {[%eval 29,
23] [%emt 0:00:44] (Kh2)} Be6 {[%eval 26,28] [%emt 0:00:53]} 14. a5 {[%eval 25,
23] [%emt 0:00:25] (Kh2)} h6 {[%eval 20,27] [%emt 0:00:50] (a6)} 15. Be3 {
[%eval 40,25] [%emt 0:00:57]} Nd7 {[%eval 20,28] [%emt 0:00:40] (a6)} 16. Nb1 {
[%eval 38,24] [%emt 0:00:46] (Kh2)} Bf8 {[%eval 26,25] [%emt 0:01:01]} 17. Nd2
{[%eval 38,25] [%emt 0:00:25]} Kg7 {[%eval 20,24] [%emt 0:00:46] (f5)} 18. Nc4
{[%eval 42,21] [%emt 0:00:43]} f5 {[%eval 32,25] [%emt 0:00:40] (a6)} 19. exf5
{[%eval 48,22] [%emt 0:00:35]} gxf5 {[%eval 32,23] [%emt 0:00:00]} 20. f3 {
[%eval 44,24] [%emt 0:01:26] (g4)} Be7 {[%eval 37,25] [%emt 0:01:03] (Kf6)} 21.
Bf2 {[%eval 38,25] [%emt 0:00:45]} h5 {[%eval 36,24] [%emt 0:00:43] (b5)} 22.
Nd6 {[%eval 65,23] [%emt 0:00:41] (g3)} b5 {[%eval 66,27] [%emt 0:00:46]} 23.
axb6 {[%eval 68,26] [%emt 0:00:24]} Nxb6 {[%eval 66,26] [%emt 0:00:00] (axb6)}
24. Nb7 {[%eval 74,25] [%emt 0:02:00]} Rxd1+ {[%eval 68,28] [%emt 0:00:41]} 25.
Rxd1 {[%eval 74,24] [%emt 0:00:23] (Bxd1)} Na4 {[%eval 29,25] [%emt 0:00:39]
(Nd5)} 26. Na5 {[%eval 76,24] [%emt 0:00:46]} Rc8 {[%eval 44,25] [%emt 0:00:31]
(Nxb2)} 27. Ba6 {[%eval 87,25] [%emt 0:00:47]} Rc7 {[%eval 60,26] [%emt 0:00:
31]} 28. Re1 {[%eval 84,25] [%emt 0:00:49]} Kf7 {[%eval 71,26] [%emt 0:00:38]}
29. Rxe5 {[%eval 72,25] [%emt 0:00:58] (b3)} Bd6 {[%eval 54,27] [%emt 0:00:40]}
30. Re1 {[%eval 72,25] [%emt 0:00:22]} Nxb2 {[%eval 59,27] [%emt 0:00:34]} 31.
Rb1 {[%eval 78,26] [%emt 0:00:33] (Be2)} Be5 {[%eval 59,24] [%emt 0:00:45]
(Na4)} 32. Nb3 {[%eval 80,23] [%emt 0:00:41]} Na4 {[%eval 52,26] [%emt 0:00:29]
} 33. Nd4 {[%eval 82,24] [%emt 0:00:39]} Nb6 {[%eval 60,26] [%emt 0:00:31]
(Nc3)} 34. Re1 {[%eval 95,24] [%emt 0:00:47] (Bd3)} Bxd4 {[%eval 77,25] [%emt
0:00:35]} 35. Bxd4 {[%eval 95,26] [%emt 0:00:21]} c5 {[%eval 78,26] [%emt 0:00:
33]} 36. Be5 {[%eval 102,27] [%emt 0:00:21]} Rd7 {[%eval 72,27] [%emt 0:00:32]}
37. Ra1 {[%eval 97,26] [%emt 0:00:56] (Bb8)} Bc4 {[%eval 88,28] [%emt 0:00:39]}
38. Bb8 {[%eval 96,24] [%emt 0:00:20]} Rd2 {[%eval 88,30] [%emt 0:00:30] (Bxa6)
} 39. Bxa7 {[%eval 105,25] [%emt 0:01:12]} Bxa6 {[%eval 99,31] [%emt 0:00:29]}
40. Bxb6 {[%eval 107,25] [%emt 0:00:18]} Be2 {[%eval 98,30] [%emt 0:00:21]} 41.
c3 {[%eval 111,2] [%emt 0:00:18] (Ra7+)} Rd1+ {[%eval 98,33] [%emt 0:00:29]}
42. Rxd1 {[%eval 108,35] [%emt 0:00:18]} Bxd1 {[%eval 98,32] [%emt 0:00:00]}
43. Bxc5 {[%eval 108,36] [%emt 0:00:18]} Ke6 {[%eval 100,37] [%emt 0:00:28]
(Bb3)} 44. Be3 {[%eval 109,11] [%emt 0:00:18]} Ke5 {[%eval 101,41] [%emt 0:00:
21] (Be2)} 45. Bd4+ {[%eval 127,35] [%emt 0:00:18] (Ba7)} Ke6 {[%eval 112,34]
[%emt 0:00:31]} 46. Kf2 {[%eval 129,39] [%emt 0:00:17] (Ba7)} f4 {[%eval 76,42]
[%emt 0:00:33] (Bb3)} 47. c4 {[%eval 152,41] [%emt 0:00:29] (g4)} Bb3 {[%eval
56,48] [%emt 0:00:23]} 48. c5 {[%eval 152,42] [%emt 0:00:17]} Kd5 {[%eval 56,
48] [%emt 0:00:17] (Bd5)} 49. Bg7 {[%eval 151,39] [%emt 0:00:17] (Bc3)} Kxc5 {
[%eval 56,48] [%emt 0:00:25] (Ba4)} 50. Be5 {[%eval 148,39] [%emt 0:00:26]} Kc6
{[%eval 56,48] [%emt 0:00:22] (Bf7)} 51. Bxf4 {[%eval 148,40] [%emt 0:00:16]}
Kd7 {[%eval 57,39] [%emt 0:00:24] (Kd5)} 52. g4 {[%eval 148,42] [%emt 0:00:22]
(Kg3)} hxg4 {[%eval 57,32] [%emt 0:00:22]} 53. fxg4 {[%eval 148,35] [%emt 0:00:
16] (hxg4)} Ke8 {[%eval 58,33] [%emt 0:01:43] (Ke6)} 54. h4 {[%eval 148,39]
[%emt 0:00:15]} Kf7 {[%eval 58,17] [%emt 0:00:21] (Ke7)} 55. Kg3 {[%eval 148,
34] [%emt 0:00:15] (h5)} Kg7 {[%eval 68,19] [%emt 0:00:21] (Bc4)} 56. Be5+ {
[%eval 148,47] [%emt 0:00:15] (Bd6)} Kh7 {[%eval 68,30] [%emt 0:00:17] (Kg6)}
57. h5 {[%eval 148,31] [%emt 0:00:15] (Bd6)} Bd1 {[%eval 68,30] [%emt 0:00:19]
(Bd5)} 58. Kf4 {[%eval 148,51] [%emt 0:00:15] (Bb8)} Kg8 {[%eval 68,26] [%emt
0:00:24] (Kh6)} 59. Bd4 {[%eval 148,15] [%emt 0:00:15] (Bc3)} Be2 {[%eval 68,
20] [%emt 0:00:24] (Kh7)} 60. Bb2 {[%eval 148,27] [%emt 0:00:15] (Bc5)} Bd1 {
[%eval 68,17] [%emt 0:00:23] (Kh7)} 61. Be5 {[%eval 148,45] [%emt 0:00:15]
(Kg3)} Bb3 {[%eval 68,15] [%emt 0:00:23] (Kh7)} 62. Bc3 {[%eval 148,33] [%emt
0:00:16] (Bc7)} Bd1 {[%eval 68,15] [%emt 0:00:22]} 63. Kg5 {[%eval 148,28]
[%emt 0:00:14] (Kg3)} Kh7 {[%eval 69,15] [%emt 0:00:22]} 64. Bb2 {[%eval 148,
14] [%emt 0:00:14]} Bf3 {[%eval 68,15] [%emt 0:00:16]} 65. Bd4 {[%eval 148,8]
[%emt 0:00:14] (Bc1)} Bb7 {[%eval 68,14] [%emt 0:00:21] (Be2)} 66. Bc3 {[%eval
148,37] [%emt 0:00:18] (Be5)} Bc8 {[%eval 69,15] [%emt 0:00:14] (Bd5)} 67. Kf4
{[%eval 148,29] [%emt 0:00:14] (Be5)} Be6 {[%eval 69,16] [%emt 0:00:16]} 68.
Be5 {[%eval 148,27] [%emt 0:00:14] (Kg3)} Kg8 {[%eval 68,14] [%emt 0:00:20]
(Bc4)} 69. Bd4 {[%eval 148,43] [%emt 0:00:14] (Kg3)} Bf7 {[%eval 68,14] [%emt
0:00:13] (Kh7)} 70. Kf5 {[%eval 148,27] [%emt 0:00:22] (Be3)} Kh7 {[%eval 68,
14] [%emt 0:00:20]} 71. Bb2 {[%eval 148,39] [%emt 0:00:13] (Kg5)} Be8 {[%eval
69,18] [%emt 0:00:19] (Bd5)} 72. Be5 {[%eval 148,49] [%emt 0:00:13]} Bd7+ {
[%eval 69,17] [%emt 0:00:15]} 73. Kf4 {[%eval 148,56] [%emt 0:00:13]} Bc6 {
[%eval 68,14] [%emt 0:00:15] (Kh6)} 74. Bd6 {[%eval 148,27] [%emt 0:00:13]
(Bc3)} Be8 {[%eval 68,14] [%emt 0:00:19] (Kg7)} 75. Bf8 {[%eval 148,31] [%emt
0:00:13] (Kg5)} Ba4 {[%eval 69,15] [%emt 0:00:18] (Bd7)} 76. Kg5 {[%eval 148,
36] [%emt 0:00:13] (Bc5)} Be8 {[%eval 68,14] [%emt 0:00:18] (Bc6)} 77. Kf6 {
[%eval 148,57] [%emt 0:00:18] (Kh4)} Kh8 {[%eval 68,15] [%emt 0:00:18] (Kg8)}
78. Ke7 {[%eval 3805,27] [%emt 0:00:17] (Bh6)} Bb5 {[%eval 1467,24] [%emt 0:00:
13]} 79. Kf7 {[%eval 4964,36] [%emt 0:00:17]} Bc4+ {[%eval 1478,24] [%emt 0:00:
10] (Be2)} 80. Kg6 {[%eval 4964,32] [%emt 0:00:17]} Kg8 {[%eval 1454,21] [%emt
0:00:13]} 81. Bc5 {[%eval 5459,26] [%emt 0:00:32]} 1-0
[/pgn]

Sam and Ed are doing a great job improving Hannibal - I hope that fixing this bug can make it even better. :) I wish Sam & Ed further success with Hannibal!

Regards,
CL
Edsel Apostol
Posts: 803
Joined: Mon Jul 17, 2006 5:53 am
Full name: Edsel Apostol

Re: Hannibal 1.5 bug

Post by Edsel Apostol »

Thanks Carl. We will look into this issue.

Sam has been active lately with development and I think we are halfway to our new version.
User avatar
Ozymandias
Posts: 1535
Joined: Sun Oct 25, 2009 2:30 am

Re: Hannibal 1.5 bug

Post by Ozymandias »

Already halfway? That's good news.
User avatar
Aser Huerga
Posts: 812
Joined: Tue Jun 16, 2009 10:09 am
Location: Spain

Re: Hannibal 1.5 bug

Post by Aser Huerga »

Edsel Apostol wrote: Sam has been active lately with development and I think we are halfway to our new version.
Hello,

do you plan to release the TCEC version any time soon?

Thanks!
BubbaTough
Posts: 1154
Joined: Fri Jun 23, 2006 5:18 am

Re: Hannibal 1.5 bug

Post by BubbaTough »

Aser Huerga wrote:
Edsel Apostol wrote: Sam has been active lately with development and I think we are halfway to our new version.
Hello,

do you plan to release the TCEC version any time soon?

Thanks!
We were just discussing that. We are still making very good progress, and are considering just keeping the improvements flowing until we hit a wall, and then release.

-Sam
User avatar
Marek Soszynski
Posts: 582
Joined: Wed May 10, 2006 7:28 pm
Location: Birmingham, England

Re: Hannibal 1.5 bug

Post by Marek Soszynski »

A Linux version would be good, or at least an exe that will run via Wine.
Marek Soszynski
Joerg Oster
Posts: 937
Joined: Fri Mar 10, 2006 4:29 pm
Location: Germany

Re: Hannibal 1.5 bug

Post by Joerg Oster »

Marek Soszynski wrote:A Linux version would be good, or at least an exe that will run via Wine.
+1!
Jörg Oster
Lanzo
Posts: 55
Joined: Sat Mar 28, 2015 3:20 pm

Re: Hannibal 1.5 bug

Post by Lanzo »

Marek Soszynski wrote:A Linux version would be good, or at least an exe that will run via Wine.
For the very first time in my life, Marek, I agree with you.
User avatar
Marek Soszynski
Posts: 582
Joined: Wed May 10, 2006 7:28 pm
Location: Birmingham, England

Re: Hannibal 1.5 bug

Post by Marek Soszynski »

Lanzo wrote:
Marek Soszynski wrote:A Linux version would be good, or at least an exe that will run via Wine.
For the very first time in my life, Marek, I agree with you.
So, Lanzo, every other time in your life...
Marek Soszynski