Author: Peter McKenzie
Date: 21:48:54 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. 'Fail soft' can return values outside of the alpha-beta range. For the sort of search I'm doing (aspiration) this can give useful information. The quality of that information depends to some extent on move ordering. > > > >> >>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 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.