Apart from coming up with ways to improve playing strength by improving the evaluation (certainly loads left to do there), I'm trying to think of ways to improve move ordering. I have a number of ideas (as yet untested), all of which have in common that I need to do some limited evaluation of the current position (different from the normal evaluation though). This means it takes a bit more time, which means it's less likely that the idea pays off even if I do get a slightly better move ordering overall.
It occurred to me that if the point is to, say, order moves that are more likely to lead to a combination that wins material ahead of moves that are less likely, the entire exercise is pointless if the remaining depth is not enough to see the combination anyway. Close to the horizon, there may then be no point in doing the (supposed) expensive static move ordering, which happens to also be where it would hurt most.
Before exploring this idea further and wasting time on testing it, does anyone have experience with this type of idea? In particular, has anyone tried to tweak the move ordering scheme based on the remaining depth? Any caveats? Comments? Suggestions?
Static move ordering tricks; depth-dependent move ordering
Moderator: Ras
-
Evert
- Posts: 2929
- Joined: Sat Jan 22, 2011 12:42 am
- Location: NL
-
hgm
- Posts: 28443
- Joined: Fri Mar 10, 2006 10:06 am
- Location: Amsterdam
- Full name: H G Muller
Re: Static move ordering tricks; depth-dependent move orderi
Gaining material is not necessarily the primary goal of move ordering. You need to stay above beta, for sure, but preferably in the way that produces the least complications (little material on the board, few captures possible, no checks or other moves that get extensions possible).
So moves that capture the opponent's most active pieces, without wrecking your own defense (i.e. not with soft-pinned or overloaded pieces) are ideal refutations. At the levels close to the root, you could consider capturing the piece with the largest 'aggressive mobility' first, rather than MVV, calculated as, say, total moves + forward moves + 4*captures. Even SEE<0 moves could be good refutations if eval + SEE > beta, and they sac a piece that would get into trouble later anyway. A null move is often a sacrifice...
So moves that capture the opponent's most active pieces, without wrecking your own defense (i.e. not with soft-pinned or overloaded pieces) are ideal refutations. At the levels close to the root, you could consider capturing the piece with the largest 'aggressive mobility' first, rather than MVV, calculated as, say, total moves + forward moves + 4*captures. Even SEE<0 moves could be good refutations if eval + SEE > beta, and they sac a piece that would get into trouble later anyway. A null move is often a sacrifice...