Hashin in QS in crafty

Discussion of chess software programming and technical issues.

Moderator: Ras

jwes
Posts: 778
Joined: Sat Jul 01, 2006 7:11 am

Hashin in QS in crafty

Post by jwes »

Bob, when you went to a two level qsearch, did you try using hash tables in the first level ?
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: Hashin in QS in crafty

Post by Don »

jwes wrote:Bob, when you went to a two level qsearch, did you try using hash tables in the first level ?
What is a 2 level quies search?
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Hashin in QS in crafty

Post by bob »

jwes wrote:Bob, when you went to a two level qsearch, did you try using hash tables in the first level ?
Yes. Hurt performance slightly. But the RepetitionCheck() helped just a bit so I did leave that in.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Hashin in QS in crafty

Post by bob »

Don wrote:
jwes wrote:Bob, when you went to a two level qsearch, did you try using hash tables in the first level ?
What is a 2 level quies search?
Checks in 1st level, explicit full-width search after a check at the 1st level, then just normal captures beyond that.

Once I did the Cray Blitz approach of a 3-level search. First N plies exhaustive, next M plies were things like checks and passed pawn pushes, or captures near opponent king, etc, then the normal capture-only q-search (although in Cray Blitz) we went probably too far in the q-search as we did SEE > 0 captures, plus SEE >= 0 checks, and a full width search to escape check. And so long as there was no "stand pat" option for the side being checked, we continued doing checks for several plies. I didn't like the overhead in early Crafty versions and removed that last thing pretty quickly...