Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Forced moves

Author: Ed Schröder

Date: 21:28:06 07/29/99

Go up one level in this thread


On July 29, 1999 at 23:07:51, Robert Hyatt wrote:

>On July 29, 1999 at 21:47:26, Peter McKenzie wrote:
>
>>On July 29, 1999 at 20:54:08, Bruce Moreland wrote:
>>
>>>
>>>On July 29, 1999 at 18:58:12, Ian Osgood wrote:
>>>
>>>>Do other program authors curtail the search when there is a forced move at the
>>>>root?
>>>>
>>>>How do you detect that a root move may be forced?
>>>>
>>>>Could you compare the values of the best and second-best root moves after a
>>>>search iteration to detect a forced root move?  (Granted, the second-best score
>>>>won't be accurate due to alpha-beta, but I figure that if the difference was
>>>>greater than a queen's value, you could still conclude that the best move was
>>>>forced.)
>>>
>>>The only sure way to do this is if there is only one legal move.
>>
>>Another safe one is if you figure out that all other moves get mated instantly.
>>I don't do that yet in LambChop, but it doesn't sound too hard.
>
>
>How would you discover this?  You get a score for the first move (the one you
>think is obvious) and all the rest fail low and return alpha.

Search the first iteration without alpha/beta.

Ed Schroder



>
>>
>>If all other moves return a mate score, its probably a pretty good heuristic to
>>play the move that doesn't.  This could lead to allowing a quicker mate
>>sometimes (due to extensions etc) but I think I'd be comfortable with that risk
>>:-)
>>
>>>
>>>Any other technique is going to leave you open to cases where you can make
>>>mistakes, and I'm sure there are cases where you'll miss a win or make a losing
>>>move, and you won't do this if you'll think longer.
>>>
>>>If you decide that you can live with walking into losses and missing wins, the
>>>first question is why did you decide that you can live with this.
>>>
>>>One reason is to impress the humans, or avoid having them call you stupid.  This
>>>is a valid reason, in my opinion.
>>>
>>>Another reason is that you save time on the clock this way, and in a computer vs
>>>computer game with both sides thinking on the opponent's time, you could
>>>initiate a sequence of instant moves this way, rather than walk into a situation
>>>where your opponent has a sequence of instance moves.  I don't know if the
>>>strength gain is higher from catching mistakes, or having extra time or going
>>>for an instant-move sequence, but I'll bet on the latter.
>>>
>>>Now the question is deciding what is forced. An obvious clue is that the search
>>>sticks with one move more or less forever.  Another clue might be that all of
>>>the other moves can be refuted in a small amount of time, but I haven't
>>>experimented with this.  And if you need to restrict this because you are doing
>>>forced moves that aren't really forced, you can restrict it so that you only do
>>>this if the program wants to make a recapturing move.
>>>
>>>bruce



This page took 0.02 seconds to execute

Last modified: Thu, 15 Apr 21 08:11:13 -0700

Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.