Page 1 of 1

TT in Qsearch

Posted: Tue Dec 05, 2017 2:27 am
by lauriet
Hi all,
Just a quick question: Should I try for a TT score in the Qsearch first, before generating the capture moves ?

Laurie

Re: TT in Qsearch

Posted: Tue Dec 05, 2017 2:50 am
by jdart
There is a tradeoff. Since there are a huge number of qsearch nodes, using the hash table in the qsearch can be expensive and can cause a lot of memory contention as multiple threads try to access the shared hash table. On the other hand, every time you get a hit you save possibly all of the searching from that node or at least the move generation (because you either get a cutoff, or will get a hash move to try first and it may cause cutoff).

--Jon

Re: TT in Qsearch

Posted: Tue Dec 05, 2017 7:13 am
by lauriet
I should have mentioned I'm only using a single thread.

Re: TT in Qsearch

Posted: Tue Dec 05, 2017 7:55 am
by phhnguyen
Yes, you should try yourself since it may work for someones but not others.

For me, it did not work with my engine of a single thread when I tried long time ago. I tried both the normal hash table and a special one I had designed for qs only. The success rate was too low, making my engine be (bit) slower.

Re: TT in Qsearch

Posted: Tue Dec 05, 2017 1:41 pm
by tomitank
lauriet wrote:Hi all,
Just a quick question: Should I try for a TT score in the Qsearch first, before generating the capture moves ?

Laurie
I added to my engine, but only at depth == 0 (first ply in Qsearch).
I just read the eval value, I do not store anything here, because that did not work better for me.
This give me ~40 elo!

Here is my full (JavaScript) code:
https://github.com/tomitank/tomitankChess
or:
http://talkchess.com/forum/viewtopic.php?t=65899