Author: Ross Boyd
Date: 15:54:25 04/17/05
Go up one level in this thread
On April 17, 2005 at 11:15:42, Mike Byrne wrote: >On April 17, 2005 at 04:41:14, John J. J. Smith wrote: > >>On April 17, 2005 at 00:20:21, Mike Byrne wrote: >> >>>On April 16, 2005 at 22:13:45, John J. J. Smith wrote: >>> >>>>[d]8/8/8/2p5/1pp5/brpp4/qpprpK1P/1nkbn3 w - - 0 1 >>>> >>>>This seems to be a difficult problem for most engines. The key move is 2.h3. >>>>2.h4 only leads to a draw >>> >>>Added a little code to Crafty handle the case where the one side has only one >>>piece to disable null move. >>> >>What exactly did you do? Crafty 19.19 (Chessbase version) can't solve this. Nor >>can Fritz and Junior. > >The position is unique and is a null move killer. Black has_ALL_of_its_pieces >- but can just shuffle the Q around. White has one pawn but can change the >tempo by moving the pawn 1 or two squares. > >Any program that solves this either does not have null move or turns it off for >this position. > >You can have Crafty solve this by turning null move off manually -- >all the line below without the quote to your crafty.rc file >"sel 0 0" (note: if you leave this in crafty.rc for regular game play - crafty >will play weaker. It is a good tool to use see if a problem why a position is >not solved to see if the search is being impacted by null move. The normal >setting is "sel 2 3") > >But what I did was added code that says if one side has just one piece , >do_null=0 and have it skip the null move code in search.c if do_null==0. > >I can see why an author would not bother even considering changing code for this >oddball position. Most modern programs do use null move of some sort, null move >does allow programs to play stronger in most positions. Most program do turn >off null move with very few pieces on the board. This is the extreme case where >the potentially winning side has just one piece and the losing side still has >ALL of its pieces. Which makes me think a low legal move count would be a better indicator of when to avoid null moving, rather than the usual "if (total_side_to_move_pieces < x)" condition. I think Movei generates legal moves and so is able to use this method. Food for thought, Ross > The code change I made has little practicality in real chess >play as null move is usually inactivated with just a few pieces on the board >anyway and that covers most situations which occur in a real game where one side >has one piece. > > >Best, > >Michael
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.