Author: Robert Hyatt
Date: 14:08:49 07/12/98
Go up one level in this thread
On July 12, 1998 at 13:03:08, Roberto Waldteufel wrote: > >On July 11, 1998 at 21:03:15, Bruce Moreland wrote: > >> >>On July 11, 1998 at 18:49:39, Roberto Waldteufel wrote: >> >>>I never reduce the depth when the side to move is in check, but I find that if I >>>do the same for moves that administer check it sometimes blows my search sky >>>high, hanging the machine for an inordinate amount of time. It's a pity, because >>>I also found many times that this method discovered long mates as you describe. >>>How do you overcome the problem of situations where the number of checks becomes >>>excessive, eg a king being chased around the board by a queen that lacks >>>supporting pawns or pieces to deliver a mate? >> >>I'll tell you what I discovered when I messed with this some time ago. I'll >>start at the beginning in the off chance that someone else is listening as well. >> >>The dawn of man extension is to extend when you check. This seems to help >>programs along certain tactical lines where the king is in trouble. I do this, >>I've always done it, and everything below here assumes that giving check is an >>unqualified one-ply extension, that's a constant. >> >>If you try to be super-aggressive and extend both when giving check, and when >>getting out of check, you'll simply blow sky high. >> >>So if the goal is to try to extend checks more, there needs to be some >>constraint to the extensions. An attempt at constraint involves only extending >>when you are in check, and have exactly *one* legal way out. This will appear >>to work fine in most middlegame situations, and it will completely destroy some >>of these long mate test problems. >> >>It is my opinion that there needs to be some further constraint on this >>extension. You'll see some positions bog, sometimes really badly. I'm not sure >>exactly why this happens, but your reasons for why it might happen seem good. >> >>I've done experiments with two ways to constrain this extension. One is when >>you only allow it to happen a couple of times along one line, and another is >>when you somehow choose to only do this extension perhaps 75% of the time that >>the conditions are met for it. >> >>Either of these seems to stop the bogging enough that your thing can still play >>chess while using this extension. >> >>bruce > >Hi Bruce, > >Thanks for your excellent explanation. My mistake was that I had not thought of >the 75% factor. This way makes a lot of sense, and I will definitely implement >this. I don't think it makes a difference whether the actual extensions occur on >the checking ply or the check evasion ply, as long as replies to checks are >allways examined full width, so perhaps it would be simpler to do it all at the >same node, like this: > >if side to move in check then > if only one legal reply then > newdepth=depth+0.75 > else > newdepth=depth > end if >else > newdepth=depth-1 >end if > >Do you extend any replies to checks that have more than one choice? I can think >of one or two interesting cases, like double check, or Bxh7+ when the Black king >is on g8 and White has Nf3 and Qd1 (or Qe2). Maybe the 75% figure would need to >be different for each case. Have you tried anything like this? > >Roberto once you do singular extensions, as we did in Cray Blitz, this becomes moot, because such a position is obviously "singular" by any definition you would want to use. But as far as working on the "one-legal-response" extension, Peter G once suggested, and I tried in Cray Blitz, a modification he called "one sane reply." Here there may be multiple moves, but if only one is reasonable then you extend that one anyway. An example would be two moves, one moving the king to a safe square, the other interposing a piece that can be captured for nothing, still leaving you in check. The king move would be extended anyway. When I started playing with this, I didn't like it, but later found that "singular extensions" was just a general class of these types of positions and our singular extensions code worked pretty well, although it does have a high cost. One thing I have planned is to try singular extensions again, using my current fractional-ply increment (same algorithm as in Cray Blitz in fact.) I had planned to do some further singular extension testing in CB, to see if it would be useful to extend on positions where there are many moves but at least 2 appear to be "singular" type moves. Extending would be dangerous, except that you *could* extend each 1/2 ply instead of 1, or extend each of the two 3/4 ply rather than 1... Lots of things to try here, once I get singular extensions into crafty. Right now I am staying busy with the SMP search, which is certainly non-trivial to get right.
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.