Author: Roberto Waldteufel
Date: 10:02:23 12/27/98
Go up one level in this thread
On December 26, 1998 at 17:59:56, Will Singleton wrote: >On December 26, 1998 at 11:00:31, Inmann Werner wrote: > >>On December 23, 1998 at 19:57:54, Roberto Waldteufel wrote: >> >>> >>>On December 23, 1998 at 19:27:34, Inmann Werner wrote: >>>> >>>>I use Null move only in the "normal" alpha-beta (not in q-search) >>>>I do it in each (nearly each) position before trying any other move. After doing >>>>the null move I call normal alpha beta, but with less depth. There again can >>>>occur Nullmoves, but never allow 2 in a row. When I get back my value, and it is >>>>>= beta I stop this tree and return beta without trying any move. This reduces >>>>the tree a lot. (But is not a really sure thing, but wrking fine.) >>>>Second, if the value is rather deep (nearly mate) I extend the search with one >>>>ply, cause there anywhere is a mate threat possible. Works also fine. >>>> >>>>Dont forget: Beware of Zugzwang!! >>>> >>>>Wish a happy Christmas >>>> >>>>Werner >>> >>>Hi Werner, >>> >>>Most of what you describe is the same as what I do, but I am interested to read >>>that you allow multiple null moves in the same line. I only allow one null move >>>in a line, which I implement by setting a flag after a null move that prohibits >>>further null moves in all descendant nodes. Have you compared the two methods >>>and found multiple null moves faster? Are null move related errors noticeably >>>more or less frequent with multiple null moves? >>> >>>Also, can you explain exactly how you use the null move score to trigger an >>>extension? Do you mean that you do this if the null move score is close to >>>"giving mate" or when it is close to "being mated" for the side to move? >>> >>I must explain: >> When white does a Null move, black has two moves in row. Now white gets back a >>value lower -20000 (white gets mated, bad for white), I extend, cause there may >>be a bad threat. It reall works fine. Example is the testposition LCTCMB01. With >>this, Inmichess finds the good move in ply 6. Without in ply 8. It mostly works >>fine together with allowed check extensions to find "nice" moves early. >>I do not understand it really. Also I only check, if something goes really bad, >>the program finds something really good much earlier. >> >>>And zugzwang, the great danger for null move. I dissallow null moves when either >>>side has less than 3 pieces (not pawns). How do you do it? >>> >>I do it the hard way. As long as both sides have one piece (withou pawns) I >>allow it. Maybe a little risky? >> >>>Merry Christmas, >>>Roberto >> >>It is nice, that my answer helped you. Good to give a little back to you, who >>often helped me a lot. :) >> >>Merry Christmas >>Werner > >I will have to try the null-move mate extension. Was that an idea of Bruce's, >originally? > >I only allow one null move in a search, like Roberto. I know multiple nulls are >possible, but I never found much benefit in the idea. I suppose that's because, >in blitz games, there's not much opportunity to do multiple nulls. I only get >like 6-7 ply in the middlegame, so there's really no opportunity. > >Have you done tests that show a definite benefit to multiple nulls? > >Will Hi Will, I've not tested it extensively, but I seem to get about a 20-25% speedup from the recursive null move, but it doesn't kick in untill I hit 8 plies of depth. That would be consistant with your findings for blitz at about 6-7 plies. If you try this again, it might be worth testing longer time controls to allow the program to search deeper. Best wishes, Roberto
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.