Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: takes shredder5 51 seconds to find mate in one

Author: Christophe Theron

Date: 20:34:39 09/27/01

Go up one level in this thread


On September 27, 2001 at 18:03:43, Uri Blass wrote:

>On September 27, 2001 at 17:45:03, Roy Eassa wrote:
>
>>On September 27, 2001 at 15:53:35, Uri Blass wrote:
>>
>>>On September 27, 2001 at 15:23:07, Roy Eassa wrote:
>>>
>>>>On September 27, 2001 at 14:52:46, Uri Blass wrote:
>>>>
>>>>>On September 27, 2001 at 14:14:07, K. Burcham wrote:
>>>>>
>>>>>>takes shredder5 51 seconds to decide on Qh1. 1500 mhz   amd
>>>>>>
>>>>>>Engine: Shredder 5
>>>>>>by Stefan Meyer-Kahlen
>>>>>>
>>>>>>
>>>>>>  1.00	 0:27 	+9.84 	1.dxe4 Rxd5 2.Rxg4 Bxc3 (5.687.141) 205.4
>>>>>>  1.00	 0:51 	  +M1++ 	1.Qh1+ (10.192.541) 199.6
>>>>>>  1.00	 0:51 	  +M1 	1.Qh1+ (10.192.542) 199.6
>>>>>>best move: Qa1-h1 time: 0:51.058 min  n/s: 199.642  nodes: 10.192.560
>>>>>>
>>>>>>kburcham
>>>>>
>>>>>New position
>>>>>[D]8/8/pppppppK/NBBR1NRp/nbbrqnrP/PPPPPPPk/8/Q7 w - - 0 1
>>>>>
>>>>>Analysis by Goliath Light 1.5:
>>>>>
>>>>>1.Qh1#
>>>>>  +-  (#101)   Depth: 4/31   00:00:15  2874kN
>>>>>1.Qh1#
>>>>>  +-  (#1)   Depth: 4/31   00:00:15  2874kN
>>>>>
>>>>>(Blass, Tel-aviv 27.09.2001)
>>>>>
>>>>>I do not understand the first mate in 101 score
>>>>>
>>>>>Deep Fritz's analysis after more than 10 minutes of search
>>>>>
>>>>>New position
>>>>>8/8/pppppppK/NBBR1NRp/nbbrqnrP/PPPPPPPk/8/Q7 w - - 0 1
>>>>>
>>>>>Analysis by Deep Fritz:
>>>>>
>>>>>1.dxe4!
>>>>>  +-  (1.56)   Depth: 1/2   00:00:00
>>>>>
>>>>
>>>>
>>>>Is there a simple, understandable reason why several "strong" programs take so
>>>>long here?  (Deep Fritz not seeing the mate in 1 after 10 minutes is
>>>>mind-boggling to me!)
>>>
>>>Yes
>>>
>>>Deep Fritz probably does a typical computer mistake
>>>of searching all the captures first.
>>>
>>>My guess is that one of the possible lines that
>>>Deep fritz searches is for example:
>>>
>>>1.dxe4 gxf5 2.Rxg4 fxg4 3.Bxd4 Bxa5 4.exf4 cxb5 5.Rxh5 Bxb3
>>>6.fxg4 Kxg4 7.Bxf6 Kxg3
>>>
>>>I guess that it is only one of the lines that Deep Fritz see
>>>before looking at Qh1#
>>>
>>
>>
>>I thought all programs searched everthing one ply first, then two ply, then
>>three, etc.  If there's a MATE at one ply, then it would find it in a tiny
>>fraction of a second, no matter which order it chose to look at the moves, no?
>>Or is it doing extensions on other moves, even at ply 1?
>
>yes
>it does a lot of extensions in this kind of positions.
>it extend all the logical captures.
>usually the number of captures is not big so it can finish the job very fast but
>it is not the case in the relevant position.



I think the term "extension" is not adequate here.

Most chess programs have a "capture search" or "quiescent search" (QSearch)
after the N plies of their current depth search.

That means that a 1-ply search is a search of all possible moves at the "root"
(the position the program is analysing) followed by a search of all possible
captures and recaptures (on the same square or any other square) on an unlimited
number of plies.

The idea of the QSearch is to not evaluate a position where a piece is hanging.
Instead, the position after the piece has been captured will be evaluated. Hence
the name "quiescent search": the program tries to look for a quiet position to
evaluate (a position where the side to move does not have a winning capture).

The natural limit of the depth of the QSearch is 30 plies because it is the
maximum number of captures that can happen in any game.

In almost all cases the QSearch is only a few plies, maybe 2 or 3 plies, with
some exceptions going to 10 plies or so.

The alpha-beta algorithm reduces a lot the number of positions seen during a
QSearch. In my program the number of positions seen during the QSearch part of
the search is approximately 30% of the total nodes searched.

However in some artificial positions the QSearch explodes, leaving the program
evaluating billions of capture and recapture sequences after each move of the
first ply of search.

That's what happens here to most programs. If they do not have the luck to
evaluate the Qh1 move first, they are going to look at a huge number of captures
(for example if the first move they look at is dxe4).

My program does not have this problem because I have safety limits inside my
QSearch. My QSearch cannot explode.

I know that Genius and Hiarcs are also able to find this mate instantly.



    Christophe



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.