Considering Moves Or Just Positions

Discussion of chess software programming and technical issues.

Moderator: Ras

brianr
Posts: 540
Joined: Thu Mar 09, 2006 3:01 pm
Full name: Brian Richardson

Considering Moves Or Just Positions

Post by brianr »

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?
Ferdy
Posts: 4848
Joined: Sun Aug 10, 2008 3:15 pm
Location: Philippines

Re: Considering Moves Or Just Positions

Post by Ferdy »

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?
There are situations that a move is enough and there are situations that full evaluation is required. Understanding the search is very important here.
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.