Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Here are some actual numbers

Author: Robert Hyatt

Date: 08:48:00 04/18/03

Go up one level in this thread


On April 18, 2003 at 10:15:33, Ricardo Gibert wrote:

>On April 18, 2003 at 09:33:15, Robert Hyatt wrote:
>
>>On April 18, 2003 at 01:36:20, Ricardo Gibert wrote:
>>
>>>On April 17, 2003 at 10:42:23, Robert Hyatt wrote:
>>>
>>>>On April 16, 2003 at 20:22:26, Ricardo Gibert wrote:
>>>>
>>>>>On April 16, 2003 at 20:01:19, J. Wesley Cleveland wrote:
>>>>>
>>>>>>On April 16, 2003 at 14:30:03, Robert Hyatt wrote:
>>>>>>
>>>>>>
>>>>>>>No you can't.  You _always_ have to search every move at the root.  that is the
>>>>>>>_only_ node where you can make that statement.
>>>>>>
>>>>>>ob_nitpick: If the position is mate in 1, then you only need to search the
>>>>>>mating move.
>>>>>
>>>>>
>>>>>I already pointed this out. In fact, this is true for any odd depth ending in
>>>>>mate as per Knuth/Moore. RH wants to dismiss this as uncommon, while avoiding
>>>>>admitting the statement, "You _always_ have to search every move at the root" is
>>>>>false.
>>>>
>>>>
>>>>OK.  In a normal game, in 99.999999999999999999999999999999999999999999999% of
>>>>the positions, you have to search _all_ moves at the root.
>>>>
>>>>Is that better?
>>>>
>>>>I just looked at 200 games with GM players vs Crafty.  Not a _single_ game ended
>>>>with
>>>>mate in 1 by Crafty.  The GM resigned when he saw a mate coming.
>>>>
>>>>I don't _care_ about non-root positions, because if you notice, the discussion
>>>>was about
>>>>splitting the parallel search at the _root_.  Everybody splits below the root so
>>>>that's moot.
>>>>But at the root, it isn't.  And I would call
>>>>99.99999999999999999999999999999999999999999999% close enough to 100% to say
>>>>"all root positions".
>>>>
>>>>It is _far_ more likely to find a position with only one legal move at the root,
>>>>but then the
>>>>discussion is moot again because there is no opportunity to split at the root.
>>>>
>>>>I'm not sure why the "nit-pick" is so very important...
>>>
>>>(1) It's important, because you present as true the statement, "You _always_
>>>have to search every move at the root", which is false. This is clear, because
>>>you emphasize with "_always_".
>>>
>>>(2) It's important, because mate in 1 is only the most obvious example. The same
>>>thing holds for mate in 3 plys, mate in 5 plys, mate in 7 plys, mate in 9 plys,
>>>etc. All according to Knuth/Moore BTW.
>>
>>This is wrong.  If I find a mate in 3 plies I can't stop.  I have to search to
>>be sure there
>>isn't a shorter mate, which at least means a complete pass thru the root moves..
>
>
>If what you are talking about is finding this mate in 3 plys, because of
>extensions or qsearch, it might still be possible to find a shorter mate, since
>there could still be a mate in 1 ply or you might even get mated in 2 plys.
>
>However, if you are using iterative deepening and you are currently searching to
>a depth of 3 and you find a mate in 3 plys, there is no point in searching other
>root moves. Because of iterative deepening, you have already eliminated the
>shorter mates.

Only if you are doing _no_ check extensions.

>
>Your "This is wrong" puts you in opposition to Knuth/Moore. Maybe you should
>write them and explain to them where they went wrong? ;)

They didn't say what you are implying they said.  Their math was applied to
uniform game
trees.  We aren't searching uniform trees thanks to search extensions.  With
extensions you
can frequently find a deep mate first, because it has consecutive checks.  The
shorter mates
are found later as they have non-checking moves that hide them from shallow
searches..  Or,
in this case, the first mate found at ply=N is not necessarily the shortest mate
you can find there,
unless you disable all search extensions.


>
>
>>
>>
>>>
>>>(3) It's important, because it is not as rare as you seem to think.
>>
>>No times in 200 games, where each game averaged 60 moves long.  12,000 root
>>positions to be searched, one where there was a mate in 1 found.
>>
>>I call that "not important at all".
>>
>>
>>>
>>>If your engine ever searches to an odd depth and if the evaluation of the root
>>>position is supposed to be +infinity, then your engine does not need to search
>>>all the moves at the root.
>>
>>
>>And exactly when will that happen?  Only on a mate in 1 for me, and against good
>>players it just doesn't happen...
>>
>>I searched through 4,000 games last night, looking for "#" indicating that there
>>was a
>>mate in one in the game.  I found seven.  All appeared to be unexpected and
>>happened when
>>the GM was _very_ short on time so that he probably didn't notice he was making
>>a bad
>>mistake.
>>
>>I therefore conclude that when talking about splitting at the root, my statement
>>"you always
>>search all legal moves at the root" is quite accurate.  If you'd prefer, I'm
>>more than happy to
>>change it to "in 99.825% of the cases, you will have to search all root moves."
>>But, in light
>>of parallel search, 99.825 is 100%.



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.