Transposition table in Q-search

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

raccoon
Posts: 6
Joined: Sat Jul 26, 2014 9:53 am

Transposition table in Q-search

Post by raccoon »

Hey everyone,

I want to put a transposition table in my Q-search. At depth 0 I generate captures/queen promotions/quiet checks, and at depth < 0 I generate captures/queen promotions. I have a few questions:

1) When storing the entries, it it enough to store depth = 0 (for depth 0) and depth = -1 (for all depth <0), or should I distinguish between all the different depth < 0?

2) What should I do when probing the score/hash move? I assume it's fine to use a score from a higher depth. However, should I use hash moves from a higher depth? Could it lead to a search explosion if a lot of quiet moves from the main search are being used?

Thanks in advance.
User avatar
hgm
Posts: 27787
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Transposition table in Q-search

Post by hgm »

You should not use a hash move that you would not search at that level. I pnce did that in Shokidoki, through a bug (when there were no captures at all), and this led to occasional crashing by stack overflow.
User avatar
cdani
Posts: 2204
Joined: Sat Jan 18, 2014 10:24 am
Location: Andorra

Re: Transposition table in Q-search

Post by cdani »

However in Andscacs and in Stockfish, using hashed quiet moves in quiescence seems to work:

http://talkchess.com/forum/viewtopic.ph ... dscacs+070
Ferdy
Posts: 4833
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Transposition table in Q-search

Post by Ferdy »

raccoon wrote:Hey everyone,

I want to put a transposition table in my Q-search. At depth 0 I generate captures/queen promotions/quiet checks, and at depth < 0 I generate captures/queen promotions. I have a few questions:

1) When storing the entries, it it enough to store depth = 0 (for depth 0) and depth = -1 (for all depth <0), or should I distinguish between all the different depth < 0?
Most important nodes is at depth 0 and -1. If at depth -2 or below you are doing some other things like check evasion and others, it is better to classify those depths.
2) What should I do when probing the score/hash move? I assume it's fine to use a score from a higher depth. However, should I use hash moves from a higher depth? Could it lead to a search explosion if a lot of quiet moves from the main search are being used?

It could be safe to use quiet moves at depth 0 and at depth -1 for check evasions. You have to study the cost of probing and the cut-off rate that you will get when you want to probe deeper.
Thanks in advance.