Author: rasjid chan
Date: 00:33:04 03/24/04
Go up one level in this thread
On March 24, 2004 at 02:02:28, Aivaras Juzvikas wrote: >On March 23, 2004 at 20:13:56, Peter Alloysius wrote: > >>On March 23, 2004 at 15:43:48, Aivaras Juzvikas wrote: >> >>>heres the problem: ive implemented null move thingy and the increase in depth is >>>really nice (+2 sometimes, +1 usually, 0 occasionally) however it becomes really >>>tactically blind. are there any technicues to reduce this blindness?because >>>currently even tho i get a deeper search the old version of my engine (w/o null >>>move) beats(well usually draws) the newer one >> >>have you neutralize en passant status before doing null move? >>if not, it may cause illegal move > >yes i have, i also updated sidetomove, zobrist key, backuped castle info, >epflag, increased ply, fiftymovecount, historyindex (i backuped stuff into >history stack) Hi; I say nullmove generally works when done well as others have say the thingy works miracles. I may be calling nullmove with 3 pcs and not 12 piece cutoff. Here's my TSCP level strategy that may be wrong:- Nullmove means giving away a move which generally mean we are at a disadvantage by not moving. But there are so called zugwang.... situations where not making a move is the same. You see this often at endgames when bishops criss-cross about and the pawns/kings are all at different color squares so better to say "you are allowed 100 moves and I don't move". So zome in on whether your side has good moves to give away and not how many pieces you have. 1) don't allow null move that immediately go into quiescent search that has no captures / promote. It immediately evaluate() which is not too good. check that the other side has at least 1 capture if it immediately go into QS. 2) My limit cutoff piece is 3 and not 12. I count that I have good moves to give away otherwise I don't do nullmove.Any pawns that can advance SAFELY is very good and count as 3 moves. Other moves count as 1. bishop's move count as 0 to be safe near endgame. You may add other things but you need codes that enable you to have the necessary information. 3) I call eval() to check that the score is near cutoff before doing nullmove. You can try counting if your side material is likely to be good. 4) I used reduction of 2/3; normal is search(depth - 1) becomes (depth - 2 / usually 3). Hope it works for you as it works for others who claim it is so good. Rasjid
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.