Author: John Haugeland
Date: 13:38:14 11/21/05
Go up one level in this thread
>(I am guessing that you are Norwegian based on your name, I could >be wrong). By blood, yes, but I'm born and raised American, and have all the arrogance that comes with it. Heh. >PVS has the practical advantage that it is by far the most common algorithm, >which means that most of the code snippets you find here and elsewhere assumes >a PVS search. Adopting the techniques you see described to an MTD(f) search >will sometimes be non-trivial. On the other hand, being forced to do some >independent thinking is not necessarily a bad thing. I'm not terribly worried about issues like difficulty of implementation. Much more important to me are issues regarding software success. >There are no deep issues here at all. Null move pruning is based on the >observation that zugzwang is a very rare phenomenon in chess, nothing >more. If you can allow your opponent to move twice in a row and still >have the advantage, your position is probably very good. Oh, it's to prevent observing a temporary gain in board quality? Guh, that hadn't even occurred to me. >>And, how do I know when zugzwang is afoot, and therefore when to >>stop null-move pruning? > >Several techniques exist. The most common is to disable null move >pruning when the side to move has very little material left, and in >pawn endgames. Some programs also avoid null moves when the side to >move has low safe mobility. There are also search-based methods. >You can do a reduced-depth verification search after the null move >search, or allow two (but never three) null moves in a row. 1) Sorry, I'm a little further behind in chess speak than you might expect. What's low safe mobility, and how do I detect it? 2) Why never three null moves? At that point have we crossed too far into "that'll never happen" land for the results to be useful? >In my experience, zugzwang isn't the most serious problem with >null move pruning. The really big problem is that it tends to >prune away long, quiet lines where there are no short-term >tactical or positional threats along the way, and the point >only becomes clear at the end of the line. Making sure I understand you correctly, you're suggesting null move incorrectly throws away game approaches where the benefit is too far in the future to be seen within null-move's scope, and therefore would not be detected? >>How much of a difference does null-move actually make, >>anyway? Can I get away without implementing it at all, or is it a major and >>important tool that I'd be a moron to skip? > >No, not using recursive null-move pruning does not make you a moron. Some >of the world's strongest chess programs (most notably Chess Tiger and Junior) >do not use null move pruning. At least in the case of Chess Tiger, the >author seems to firmly believe that whatever he is doing works better than >null move. But, he doesn't say what he's doing. >You probably want to have a look at transposition tables and static exchange >evaluation. Will do. Anything else?
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.