Author: Roberto Waldteufel
Date: 13:59:58 09/30/98
Go up one level in this thread
On September 29, 1998 at 14:12:18, Robert Hyatt wrote: >On September 29, 1998 at 11:01:38, Roberto Waldteufel wrote: > >> >>On September 29, 1998 at 10:53:28, Don Dailey wrote: >> >>>On September 28, 1998 at 20:02:42, John Coffey wrote: >>> >>>>Looking at my copies of old threads maybe I understand better... >>>> >>>> >>>>Just because you're behind in material at a node, doesn't mean you >>>>won't regain (some of) it in the search below that node. Let's >>>>imagine that at a node you are behind in material, but are just about >>>>to deliver mate, and your opponent can't get out of it--even if he's >>>>given two moves in a row. The null move will return the mate score >>>>and give you an instant cutoff. Or imagine the oppenent can >>>>get out of it with those two moves, but only at the loss of a lot >>>>of material. Again you might get a cutoff. >>>> >>>>The null move works as long as the score returned by the null move >>>>search is greater than or equal to beta. What the current material >>>>is is...immaterial. >>>> >>>>-Dan. >>>> >>>> >>>>>>>>I try them _everywhere_ in the search, before trying any other move. The idea >>>>>>>>is that if your opponent can't take two moves in a row and crush you, your >>>>>>>>position is **overwhelming** and doesn't need any further searching to prove that >>>>>>>>it is probably winning... >>>> >>>> >>>> >>>> >>>>...... so even if we are behind in material, a null move search that gives >>>>my the opposite side two moves in a row could still produce a positive >>>>result? I.e. I was a rook down, but null move analysis shows that I am >>>>only a pawn down, chances are I am really crushing the opponent? If so, >>>>then does this return an evalation that we can use in the tree? >>>> >>>>John Coffey >>> >>>As was just pointed out to me recently, a simpler way (conceptually) >>>to view null move searching is to simply look at it as just another >>>move in the move list. For example, if you have 30 legal moves, then >>>view the null move (followed by a depth reduced search) as the 31st >>>move in the list (sorted to the front of course.) Sometimes this >>>move will give you a beta cutoff, other times it will simply provide >>>a "best move" which raises alpha and makes the remaining search >>>faster. >>> >>>I don't actually implement it just like this, but this is basically >>>sound it COULD be implemented this way with no problems. >>> >>>- Don >> >>Hi Don, >> >>I can confirm that this works fine. I recently added null move test in my >>program, and this is exactly how I implemented it. >> >>Best wishes, >>Roberto > >In Cray Blitz, we just added a "0" move to the front of the move list, and >this does work. But I don't think it is the best way to implement it for >several reasons: > >1. now everytime you try a move you have to ask "is it a null move" and >if so, reduce the depth by 1 or 2 plies (depending on your "R" value). You >have to ask this N-1 times which is an efficiency issue. > >2. You also have to check to be *certain* that the null move isn't the >"best" move you found. If you don't, you back up an illegal move and wreck >things. Another check that is repeated every time you back up a score. > >I found it easier, since I wrote Crafty totally from scratch, to have a >special case at the front of search, where I do the null-move stuff, and >then I go into the normal "loop" to try the moves one at a time, only if the >null-move didn't fail high. The code is cleaner and faster and I don't have to >worry about backing up a null-move as best, for example... We seem to misunderstand each other. This is what I do too. Actually, I only generate one move at a time (no list), so I just slot the null move in at the beginning before the captures. By the way, in a PVS framework, do you know if there is any difference in the risk of a null move error (eg due to zugzwang) affecting the outcome of the search depending on whether the null move was made in the PV or not? I wander if non-PV null moves might be "safer" than PV null moves?
This page took 0.01 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.