Author: Uri Blass
Date: 21:00:15 04/17/05
Go up one level in this thread
On April 17, 2005 at 23:33:29, Uri Blass wrote: >On April 17, 2005 at 18:54:25, Ross Boyd wrote: > >>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 > >Yes > >Movei is using that method but unfortunately it cannot solve it in a reasonable >time probably because of other tricks that I use that may help in games but not >at test suites. > >Latest Movei does not see the mate at depth 17 and the branching factor from >depth 14 is very bad. > >It needs >20490 nodes to finish depth 14. >234720 nodes to finish depth 15. >3524639 nodes to finish depth 16. >54218505 nodes to finish depth 17. > >Uri I can add 860366286 nodes to finish depth 18 with 0.00 evaluation. public movei not signioficantly different 3524852 nodes to finish depth 16 54297529 nodes to finish depth 17 Other interesting positions to test and still not easy for movei 8/8/8/2p5/1pp5/brpp3P/qpprp3/1nkbK3 w - - 0 1 8/7P/8/2p5/1pp5/brpp4/qpprp3/1nkbK3 w - - 0 1 I am afraid too many check extensions prevent movei to go deep and solve the position. Uri
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.