Naum with EGTBs

Discussions about Winboard/Xboard. News about engines or programs to use with these GUIs (e.g. tournament managers or adapters) belong in this sub forum.

Moderator: Andres Valverde

Naum with EGTBs

Postby Gábor Szots » 25 Feb 2006, 12:12

Hi all,

I have discovered that Naum 1.91 appears not to use EGTB's or at least in a very strange way. Here is its most recent game. While there are 6 pieces on the board everything seems all right. But when Naum sacrifices its pawn (move 66) to reach a drawn ending, it seems (judged by its evaluation value) to cease using EGTB's.
Note: I have the full set of EGTB's up to 5 pieces.

[Event "Computer Chess Game"]
[Site "LUCIFER"]
[Date "2006.02.25"]
[Round "-"]
[White "Spike 1.1"]
[Black "Naum 1.91"]
[Result "1/2-1/2"]
[TimeControl "2700+15"]
[Annotator "17. +0.14 17... -0.09"]

1. d4 d5 2. c4 e6 3. Nf3 Nf6 4. Nc3 Be7 5. Bg5 O-O 6. e3 h6 7. Bxf6 Bxf6 8.
Rc1 c6 9. Bd3 Nd7 10. O-O dxc4 11. Bxc4 e5 12. Ne4 exd4 13. Nxf6+ Nxf6 14.
Qxd4 Qxd4 15. Nxd4 Re8 16. Rfd1 Bd7 17. h3 {+0.14/14} Rad8 {-0.09/16} 18.
b4 {+0.18/15} Bc8 {-0.17/15} 19. Bd3 {+0.17/15} Re5 {-0.10/15} 20.
a4 {+0.17/14} Rg5 {-0.14/16} 21. f4 {+0.17/14} Rgd5 {+0.02/16} 22.
Be2 {+0.10/15} R5d6 {-0.16/17} 23. b5 {+0.29/16} cxb5 {-0.21/18} 24.
Nxb5 {+0.32/16} Rxd1+ {-0.21/17} 25. Bxd1 {+0.32/17} a6 {-0.24/19} 26.
Nd4 {+0.34/17} Bd7 {-0.07/17} 27. a5 {+0.22/17} b6 {-0.22/17} 28.
axb6 {+0.46/18} Rb8 {-0.35/19} 29. Rc7 {+0.44/19} Rxb6 {-0.52/19} 30.
Bb3 {+0.44/18} Kf8 {-0.46/18} 31. Ra7 {+0.46/16} Be6 {-0.41/17} 32.
Bxe6 {+0.40/16} fxe6 {-0.42/17} 33. Kf2 {+0.44/15} Nd5 {-0.46/15} 34.
Ke2 {+0.44/15} Nc3+ {-0.58/16} 35. Kd3 {+0.40/17} Nb5 {-0.41/16} 36.
Nxb5 {+0.33/16} axb5 {-0.49/17} 37. Rd7 {+0.36/16} Rb8 {-0.45/16} 38.
g4 {+0.46/17} e5 {-0.63/17} 39. fxe5 {+1.13/18} b4 {-0.71/18} 40.
Kc4 {+1.04/19} b3 {-0.89/19} 41. Rd1 {+0.95/19} b2 {-0.89/18} 42.
Rb1 {+1.04/19} Ke7 {-0.99/18} 43. Kc3 {+1.09/19} Rc8+ {-0.98/17} 44.
Kxb2 {+1.09/19} Ke6 {-1.00/17} 45. Rc1 {+1.18/18} Rd8 {-0.93/16} 46.
Rc7 {+1.23/17} g5 {-0.93/16} 47. Kc2 {+1.18/17} Kxe5 {-0.99/17} 48.
Re7+ {+1.10/18} Kf6 {-0.95/18} 49. Re4 {+1.16/19} Rc8+ {-0.94/17} 50.
Kd2 {+1.18/19} Ra8 {-0.89/18} 51. Rc4 {+1.18/19} Ra2+ {-0.86/18} 52.
Rc2 {+0.38/19} Ra1 {-0.85/18} 53. Rc1 {+0.38/18} Ra2+ {-0.74/18} 54.
Kd3 {+0.35/19} Rh2 {-0.31/18} 55. Rf1+ {+0.35/19} Ke5 {-0.25/19} 56.
Rf5+ {+0.35/19} Ke6 {+0.00/18} 57. Rf3 {+0.36/19} Kd5 {+0.00/19} 58.
e4+ {+0.38/18} Ke5 {+0.00/19} 59. Rf5+ {+0.22/19} Ke6 {+0.00/19} 60.
Kd4 {+0.02/19} Rxh3 {+0.00/18} 61. e5 {+0.00/19} Ke7 {+0.00/19} 62.
Rf6 {+0.00/19} h5 {+0.00/18} 63. gxh5 {+0.00/19} Rxh5 {+0.00/19} 64.
Kd5 {+0.00/19} g4 {+0.00/18} 65. Rg6 {+0.00/18} g3 {+0.00/19} 66.
Rxg3 {+0.00/10} Rh2 {-2.24/26} 67. Rg7+ {+2.09/17} Ke8 {-2.24/25} 68.
Rb7 {+2.09/17} Rc2 {-2.24/18} 69. Kd6 {+2.11/18} Rd2+ {-2.25/25} 70.
Ke6 {+0.00/10} Kd8 {-2.25/24} 71. Rb8+ {+2.12/17} Kc7 {-2.08/3} 72.
Ra8 {+2.12/17} Re2 {-2.25/24} 73. Ra4 {+2.11/18} Kd8 {-2.25/25} 74.
Rb4 {+2.12/19} Re1 {-2.25/24} 75. Rb8+ {+2.11/18} Kc7 {-2.09/3} 76.
Rh8 {+2.11/18} Re3 {-2.25/24} 77. Rh4 {+2.11/18} Kd8 {-2.25/20} 78.
Rd4+ {+2.11/19} Ke8 {-2.25/23} 79. Rb4 {+2.11/19} Kd8 {-2.25/23} 80.
Rh4 {+2.11/19} Re1 {-2.25/24} 81. Rd4+ {+2.11/19} Ke8 {-2.25/22} 82.
Ra4 {+2.11/19} Kd8 {-2.25/25} 83. Ra8+ {+2.11/18} Kc7 {-1.93/3} 84.
Ra7+ {+2.11/18} Kd8 {-2.25/27} 85. Rd7+ {+2.11/19} Ke8 {-2.25/28} 86.
Rc7 {+2.11/20} Kd8 {-2.25/18} 87. Rg7 {+2.11/18} Re2 {-2.25/19} 88.
Rh7 {+2.11/18} Re3 {-2.25/23} 89. Rh1 {+2.11/19} Re2 {-2.25/21} 90.
Rh8+ {+2.11/19} Kc7 {-2.25/20} 91. Kf6 {+2.11/19} Kd7 {-2.25/24} 92.
Rh7+ {+2.11/19} Kd8 {-2.25/26} 93. Rf7 {+2.11/18} Rf2+ {-2.25/25} 94.
Kg7 {+0.00/10} Re2 {-0.05/17} 95. Rb7 {+0.02/21} Rxe5 {-0.02/18} 96.
Rb8+ {+0.00/5} Ke7 {+0.00/22} 97. Rb7+ {+0.00/5} Ke6 {+0.00/25} 98.
Rb8 {+0.00/5} Rg5+ {+0.00/23} 99. Kh6 {+0.00/10} Rg2 {+0.01/21} 100.
Rb7 {+0.00/5} Rg8 {+0.01/21} 101. Rb6+ {+0.00/5} Kf5 {+0.00/26} 102.
Rb7 {+0.00/5} Rg6+ {+0.00/19} 103. Kh5 {+0.00/10} Rg2 {+0.00/23} 104.
Rb5+ {+0.00/5} Kf6 {+0.00/27} 105. Rb6+ {+0.00/5} Ke5 {+0.00/28} 106.
Rb7 {+0.00/5} Rg1 {+0.00/28} 107. Rb8 {+0.00/5} Kd6 {+0.00/26} 108.
Rb7 {+0.00/5} Kc5 {+0.00/29} 109. Rb8 {+0.00/5} Rg2 {+0.00/28} 110.
Rb7 {+0.00/5} Kd5 {+0.00/29} 111. Rb8 {+0.00/5} Kd6 {+0.00/30} 112.
Rb7 {+0.00/5} Kd5 {+0.00/31} 113. Rb8 {+0.00/5} Ke5 {+0.00/30} 114.
Rb7 {+0.00/5} Rg1 {+0.00/32} 115. Rb8 {+0.00/5} Kd5 {+0.00/29} 116.
Rb7 {+0.00/5} Rg3 {+0.00/27} 117. Rb8 {+0.00/5} Ke5 {+0.00/26} 118.
Rb7 {+0.00/5} Rg8 {+0.00/30} 119. Rb6 {+0.00/5} Kf5 {+0.00/30} 120.
Rb5+ {+0.00/5} Ke6 {+0.00/31} 121. Rb6+ {+0.00/5} Ke5 {+0.00/30} 122.
Rb7 {+0.00/5} Rg3 {+0.00/26} 123. Rb8 {+0.00/5} Kd5 {+0.00/27} 124.
Rb7 {+0.00/5} Rg8 {+0.00/30} 125. Rb6 {+0.00/5} Rg3 {+0.00/29} 126.
Rb7 {+0.00/5} Rg8 {+0.00/31} 127. Rb6 {+0.00/5} Rg7 {+0.00/27} 128.
Rb8 {+0.00/5} Rg2 {+0.00/31} 129. Rb7 {+0.00/5} Ke5 {+0.00/31} 130.
Rb8 {+0.00/5} Rg7 {+0.00/27} 131. Rb6 {+0.00/5} Rf7 {+0.00/28} 132.
Rb8 {+0.00/5} Rf4 {+0.00/25} 133. Rb7 {+0.00/5} Kd5 {+0.00/26} 134.
Rb8 {+0.00/5} Rf6 {+0.00/27} 135. Rb7 {+0.00/5} Re6 {+0.00/24} 136.
Rb8 {+0.00/5} Re4 {+0.00/23} 137. Rb7 {+0.00/5} Rc4 {+0.00/26} 138.
Rb8 {+0.00/5} Rc5 {+0.00/25} 139. Rb6 {+0.00/5} Ra5 {+0.00/26} 140.
Rb8 {+0.00/5} Ke5 {+0.00/26} 141. Rb7 {+0.00/5}
{User adjudication} 1/2-1/2


Here is the winboard.ini entry I use for Naum:

Naum_191 /sd="C:\Sakk\WinBoard\Engines\Naum"


And here is the config file I use:

##########################################################
# Configuration file for Naum chess engine
# This file needs to be in the same directory as naum.exe
##########################################################

# Set to 1 to enable pondering (thinking on opponents move)
PONDER = 0

# Set to 1 to enable book learning.
# Note that Naum saves learned info in the book file, so if
# you replace the book file, all the learned info will be lost.
# You should use a separate book file for blitz test tournaments,
# if you don't want less accurate blitz learned info to influence
# openings Naum plays under regular time controls.
LEARN = 1

# Set to 1 to allow engine to resign a game
RESIGN = 1

# Transposition table size in KB (min 50, default 3100)
# This is a maximum size. The actual size used will be lower.
# In order to increase the actual tran table size, you need to
# double the number bellow (e.g. use only 6200, 12400, 24800,...)
# Setting the size to 12000 will have the same effect as 6200.
TT_SIZE = 99200

# Path to endgame tablebase files
EGTB_PATH =C:\Sakk\TB.emd

# EGTB cache size in MB (min 1, max 64, default 2)
EGTB_CACHE_SIZE = 16


G?bor
Gábor Szőts

CCRL testing group
User avatar
Gábor Szots
 
Posts: 327
Joined: 26 Sep 2004, 21:26
Location: Szentendre, Hungary

Postby Robert Allgeuer » 25 Feb 2006, 12:46

Naum recently posted that there is a bug in 1.91 concerning how the program uses EGTBs, it probes at all depths. In my tests the problem manifested itself in losses in time just when Naum wanted to trade down to 5 pieces.

Robert
Robert Allgeuer
 
Posts: 124
Joined: 28 Sep 2004, 19:09
Location: Konz / Germany

Postby Naum » 25 Feb 2006, 18:01

Hi Gabor and Robert,

This is not a bug. When Naum detects egtb drawn position, it analyzes all drawing moves without using egtbs in order to find the best looking one.
I will try to do a small fix and display 0 as a score for these cases in order to avoid confusion.

Regards,
Alex
Naum
 
Posts: 87
Joined: 10 Oct 2004, 04:23
Location: Toronto

Postby Gábor Szots » 25 Feb 2006, 21:41

Naum wrote:Hi Gabor and Robert,

This is not a bug. When Naum detects egtb drawn position, it analyzes all drawing moves without using egtbs in order to find the best looking one.
I will try to do a small fix and display 0 as a score for these cases in order to avoid confusion.

Regards,
Alex


Hi Alex,

Can this not lead to choosing a move that actually loses? I mean in an egtb drawn position not all moves lead to a draw, at least not always.

Regards,
G?bor
Gábor Szőts

CCRL testing group
User avatar
Gábor Szots
 
Posts: 327
Joined: 26 Sep 2004, 21:26
Location: Szentendre, Hungary

Postby Naum » 26 Feb 2006, 01:39

As I said in my previous note, it analyzes all drawing moves (moves that lead to a draw).
Naum
 
Posts: 87
Joined: 10 Oct 2004, 04:23
Location: Toronto

Postby Gábor Szots » 26 Feb 2006, 07:24

Naum wrote:As I said in my previous note, it analyzes all drawing moves (moves that lead to a draw).


Sorry, I missed the word "drawing".

Regards,
G?bor
Gábor Szőts

CCRL testing group
User avatar
Gábor Szots
 
Posts: 327
Joined: 26 Sep 2004, 21:26
Location: Szentendre, Hungary

Postby Robert Allgeuer » 26 Feb 2006, 11:52

Hi Alex,
interesting idea. Does Naum prefer drawing moves that lead to shorter draws?

Just yesterday I had the "pleasure" to watch Shredder in a KNKP ending dancing around with its knight for fifty moves, letting the opponent advance the pawn by one, another 50 moves, letting the opponent move the pawn again, another 50 moves etc., rather than just capturing the pawn with the king that was next to it during all 150 moves. A tiny bit boring ... And if Naum does not behave like this I think this is great.

Robert
Robert Allgeuer
 
Posts: 124
Joined: 28 Sep 2004, 19:09
Location: Konz / Germany

Postby Guenther Simon » 26 Feb 2006, 13:34

Hi Alex,
interesting idea. Does Naum prefer drawing moves that lead to shorter draws?


No. You missed the point of the feature, which is not new of course.
Several other programs like Crafty(with swindle mode on), Pharaon
and Spike and others do the same. The intention is trying to_win_
(not to play the fastest way to a draw) from a drawn tbs position, as
there are still programs(and Humans ;) ), which don't use tablebases.
Thus Naum tries to find moves which can lead to blunders by the opponents.

Guenther
User avatar
Guenther Simon
 
Posts: 794
Joined: 26 Sep 2004, 19:49
Location: Regensburg, Germany

Postby Naum » 26 Feb 2006, 17:19

Exactly.
But Robert has the point too. There are some endgames where you can't win at all, but you still refuse to capture and end the game. In KNKP you can't win with the lone knight, but you refuse to capture the pawn and force the end of the game.
I actually tried to fix this a month ago, but in my test match Naum had worse result (I don't know why, maybe just bad luck), so I decided not to put this code in. It just increases the risk of introducing bugs with absolutely no benfits to me (except for some testing time saved).

Regards,
Alex
Naum
 
Posts: 87
Joined: 10 Oct 2004, 04:23
Location: Toronto

Postby Naum » 27 Feb 2006, 00:35

Actually to be more precise, I tried to make Naum pick lines that lead to a quickest draw. This seem to introduce some problems or bugs.

Case described by Robert (immediate capture that leads to a draw) is simple and will be fixed in Naum 2.0

Regards,
Alex
Naum
 
Posts: 87
Joined: 10 Oct 2004, 04:23
Location: Toronto

Postby Robert Allgeuer » 27 Feb 2006, 11:15

What about the engine favouring draws by repetition and insufficient material over EGTB-draws, by assigning different scores to them, e.g. -0.01 for EGTB-draws and 0.00 for the draws it can see directly in the search. This will not result in choosing the absolutely shortest draw, but it will choose at least one of the shortest draws.

Robert
Robert Allgeuer
 
Posts: 124
Joined: 28 Sep 2004, 19:09
Location: Konz / Germany

Postby Naum » 28 Feb 2006, 02:14

This is what I tried recently and got worse test results. I just don't want to risk losing elo points because of something like that.

It would be a nice GUI feature to end the game as draw if it (GUI) detects the egtb drawn position.Then you don't have to rely on everyone implementing the drawing code.

Alex
Naum
 
Posts: 87
Joined: 10 Oct 2004, 04:23
Location: Toronto


Return to Winboard and related Topics

Who is online

Users browsing this forum: No registered users and 29 guests