I just found this blog searching for chess programming sites, because I'm currently making my own Java chess engine as well. I'm currently trying to deal with a quiescence search explosion--as soon as the position gets complicated the search starts going 25+ plies deep. Perhaps I'll have a look at your code.
The way I deal with quiescence search explosion is sort the moves according to MVA/LVV. The actual sorting is quite crude but it works and I have no problem with quiscence explosions.
I had a look at your code and then looked back at mine and saw two problems in mine. First, I wasn't letting the static evaluation of a position cause cutoffs (so the search just went until no more captures were possible) and second, I messed up the MVV/LVA sort. I fixed those and quiescence search seems to be working OK. It slows the search down quite a bit so that I had to cut back the depth in the main search, but that's likely because I'm making no effort to order moves intelligently. I'll try implementing iterative deepening and see if that speeds things up.
5 comments:
Hi Jonatan,
U2 for all yours projects for the year .
Regards
Yves
I just found this blog searching for chess programming sites, because I'm currently making my own Java chess engine as well. I'm currently trying to deal with a quiescence search explosion--as soon as the position gets complicated the search starts going 25+ plies deep. Perhaps I'll have a look at your code.
The way I deal with quiescence search explosion is sort the moves according to MVA/LVV. The actual sorting is quite crude but it works and I have no problem with quiscence explosions.
Take a look in my code.
I had a look at your code and then looked back at mine and saw two problems in mine. First, I wasn't letting the static evaluation of a position cause cutoffs (so the search just went until no more captures were possible) and second, I messed up the MVV/LVA sort. I fixed those and quiescence search seems to be working OK. It slows the search down quite a bit so that I had to cut back the depth in the main search, but that's likely because I'm making no effort to order moves intelligently. I'll try implementing iterative deepening and see if that speeds things up.
Thanks, I'll be following your blog. :)
I'm working on iterative deepeing right now, hopefully it will help speed my engine up a bit as well. I'm quite sure it will.
I'll be posting guide on it next when I get it to work as I want.
Post a Comment