Next Step - Search

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

outAtime
Posts: 226
Joined: Sun Mar 08, 2009 3:08 pm
Location: Canada

Next Step - Search

Post by outAtime »

Hi all, Im trying to decide the next step to take in search after having added LMR, and improved Null so it no longer is simply R = 2. What would you suggest for the next *big* improvement in search? I really dont have anything else, just very plain qsearch, null, and a pvs/lmr. The more trivial to implement the better :) Thanks!
outAtime
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Next Step - Search

Post by mcostalba »

outAtime wrote:Hi all, Im trying to decide the next step to take in search after having added LMR, and improved Null so it no longer is simply R = 2. What would you suggest for the next *big* improvement in search? I really dont have anything else, just very plain qsearch, null, and a pvs/lmr. The more trivial to implement the better :) Thanks!
What is the ELO of your engine ? You should already have a good ELO with what you have, try to test against some weak engine and verify your engine arrives at the end of the match, possibly without losing too much.

This is the serious approach, instead if you are more interested in having fun then go wild adding everthing comes to your mind ;-)
outAtime
Posts: 226
Joined: Sun Mar 08, 2009 3:08 pm
Location: Canada

Re: Next Step - Search

Post by outAtime »

ok, ill run some tests.
outAtime
bhlangonijr
Posts: 482
Joined: Thu Oct 16, 2008 4:23 am
Location: Milky Way

Re: Next Step - Search

Post by bhlangonijr »

outAtime wrote:Hi all, Im trying to decide the next step to take in search after having added LMR, and improved Null so it no longer is simply R = 2. What would you suggest for the next *big* improvement in search? I really dont have anything else, just very plain qsearch, null, and a pvs/lmr. The more trivial to implement the better :) Thanks!
I think futility, razoring and static null move are very easy and quick to implement and your engine can gain a significative speed up. Although find the right parameters which will better fit to your search is not that trivial. It would require a lot of tests.

But if I were you I would first write a separated function to handle root moves and also a dedicated function to order root moves. At least for me it was very important to make further improvements in the search.


Regards,
User avatar
Desperado
Posts: 879
Joined: Mon Dec 15, 2008 11:45 am

Re: Next Step - Search

Post by Desperado »

Hi,

well, one of the next steps may be futility pruning (and delta pruning (QS)). Depending on the level your engine already has, this can be good
for 30-50 elo. IMHO this is easy to implement and wont take much time.

good luck and enjoy your work...

Michael
outAtime
Posts: 226
Joined: Sun Mar 08, 2009 3:08 pm
Location: Canada

Re: Next Step - Search

Post by outAtime »

Thanks for the suggestions.
outAtime
zamar
Posts: 613
Joined: Sun Jan 18, 2009 7:03 am

Re: Next Step - Search

Post by zamar »

outAtime wrote:Hi all, Im trying to decide the next step to take in search after having added LMR, and improved Null so it no longer is simply R = 2. What would you suggest for the next *big* improvement in search? I really dont have anything else, just very plain qsearch, null, and a pvs/lmr. The more trivial to implement the better :) Thanks!
# Fine tuning LMR (reducing several plies at the end of the move list)
# Futility pruning
# Move count based pruning
# Filtering out neg. SEE moves at qsearch
# Razoring
# static null move pruning

All are trivial to implement and should offer considerable ELO increase
Joona Kiiski
outAtime
Posts: 226
Joined: Sun Mar 08, 2009 3:08 pm
Location: Canada

Re: Next Step - Search

Post by outAtime »

Thanks. I don't have SEE implemented, but I will try the others.
outAtime
outAtime
Posts: 226
Joined: Sun Mar 08, 2009 3:08 pm
Location: Canada

Re: Next Step - Search

Post by outAtime »

How would you define moves at the end of the move list?
outAtime
outAtime
Posts: 226
Joined: Sun Mar 08, 2009 3:08 pm
Location: Canada

Re: Next Step - Search

Post by outAtime »

Does depth need to == 1 for move count based pruning?
Thanks. Just wondering because it's hard to find examples.
outAtime