Several places in Tinker look at specific characteristics of the most recent move. This is typically part of search extension/pruning, but could also apply in evaluation.
I am now thinking that this is perhaps not quite right. Instead of looking at any particular move, why not _only_ consider the current board position. Naturally, this would include being in check, or having created a passer, etc. But, this approach would eliminate transpositions that result in the same position where the move sequence varies.
Of course, in the end I guess it really does not matter if looking at a move instead of the entire board helps the engine play stronger, or does it? For a long time I reluctantly accepted Tinker being a bit "better" even if for the "wrong" reason, but not so lately. I have been trying to test more strictly, and when in doubt, "throw it out", as painful as not using laboriously developed code can be.
Comments?
Considering Moves Or Just Positions
Moderator: Ras
-
- Posts: 540
- Joined: Thu Mar 09, 2006 3:01 pm
- Full name: Brian Richardson
-
- Posts: 4848
- Joined: Sun Aug 10, 2008 3:15 pm
- Location: Philippines
Re: Considering Moves Or Just Positions
There are situations that a move is enough and there are situations that full evaluation is required. Understanding the search is very important here.brianr wrote:Several places in Tinker look at specific characteristics of the most recent move. This is typically part of search extension/pruning, but could also apply in evaluation.
I am now thinking that this is perhaps not quite right. Instead of looking at any particular move, why not _only_ consider the current board position. Naturally, this would include being in check, or having created a passer, etc. But, this approach would eliminate transpositions that result in the same position where the move sequence varies.
Of course, in the end I guess it really does not matter if looking at a move instead of the entire board helps the engine play stronger, or does it? For a long time I reluctantly accepted Tinker being a bit "better" even if for the "wrong" reason, but not so lately. I have been trying to test more strictly, and when in doubt, "throw it out", as painful as not using laboriously developed code can be.
Comments?
And of course cost of time should be considered in doing this.
A search is full of histories, extracting relevant information is a challenge.
I don't throw ideas that failed, I keep them. At some point those ideas can be re-tried, or can be combined with other ideas as you tried new ideas.