Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: No Rebel or Tiger against Kramnik

Author: Robert Hyatt

Date: 07:45:03 04/22/01

Go up one level in this thread


On April 22, 2001 at 03:51:45, Uri Blass wrote:

>On April 21, 2001 at 22:52:42, Robert Hyatt wrote:
>
>>On April 21, 2001 at 11:20:46, Uri Blass wrote:
>>
>>>On April 21, 2001 at 09:02:29, Ed Schröder wrote:
>>>
>>>>I have promised to give an update about my talks with Enrique the organizer of
>>>>the computer - Kramnik event. Enrique said no. His reasons are the contractual
>>>>obligations to have the play-off started on April 26 (next thursday) meaning no
>>>>delays.
>>>>
>>>>On the question to have the programs ready before April 26 Enrique questioned
>>>>the strength of the multi versions of Chess Tiger and Rebel.
>>>>
>>>>As a result I gave up.
>>>
>>>I think that it is not fair from Enrique to do it.
>>>
>>>I guess that the multi versions of Rebel or Tiger earns less from more
>>>processors but still earn something from them because it is impossible to
>>>optimize programs for more than one processor in a short time.
>>
>>We could call this "A requiem for disaster".  A parallel search is _not_
>>something you throw together in a few weeks or months.  Not and take it to
>>the most visible event in years.  I've done my fair share of parallel search
>>chess engines.  None were easy.  All had bugs that took months (or even years)
>>to find.
>  Jumping on to the bandwagon in a quick and dirty way is not the way
>>to go and if I were doing such a "qualification event" with limited time and
>>resources I wouldn't accept such a program either.  I don't particularly believe
>>in the "qualification event" as described anyway, but a brand new parallel
>>search program is not particularly exciting to think about either...
>>
>>Even with a parallel search program that has public source, copying the
>>search is non-trivial.  Understanding it is something else.  And merging
>>it with a significantly different engine would not be easy.
>>
>>So copying would be hard.  Development from scratch would be hard.  Sounds
>>like a mess...
>>
>>
>>
>>
>>>
>>>Am I right?
>>>
>>>
>>>Here is an idea how to use 8 processors in a simple way.
>>>
>>>Give one processor to analyze in the regular way(I will call it processor A).
>>>Guess 7 candidate moves to be the best move and give the other 7 processors to
>>>analyze only the candidate moves(one move per processor).
>>>
>>>If proccesor A do not suggest one of the 7 candidates move as best and if the
>>>score of the move of it is better than the scores of the other processors then
>>>play the move of processor A
>>>
>>>In the other cases play the move with the best score based on the scores of the
>>>7 processors.
>>>
>>>If you can guess correctly in most of the cases then it means that you can
>>>search 1 ply deeper in most of the cases thanks to the 8 proccesors.
>>>
>>>Uri
>>
>>
>>You won't get one ply deeper.  The first move searched at any ply takes
>>about 75% of the time in normal cases.
>
>The event when a program changes it's mind in the last ply is not rare and in
>these cases the first move usually does not take 75% of the time.
>



This happens about 15% of the time in today's programs.  That leaves 85%
of the time where you will get very little.


>My impression is that even when the program does not change it's mind the first
>move searched takes less then 75% of the time if you wait to finish the
>iteration.


Depends on whether the program uses null-move or not, whether it is selective
or not, etc.  But mathematically you can prove that the first move will take
about 1/2 of the total iteration time even without null-move, etc.  This goes
down a bit in simple endgames where hashing kicks in...





>
>searching all the legal moves one ply deeper means usually getting one ply
>deeper except cases that the right move is not a quiet move.
>It may mean more then one ply if the right move is pruned by null move pruning.

I can guarantee you that searching only at the root in parallel will not get you
one ply deeper.  It might in 1 or 2 moves out of every 10.  But the other 8
moves will be to normal depth.

I did this in 1983 in fact, for a two-cpu Cray.  When we went to the 4 cpu
machine and ran no faster, I got busy to implement something better.




>
>searching 7 legal move by searching only them also means searching in most of
>the cases one ply deeper if you guess well.

How do you figure this?  I already predict/ponder the right move way more than
50% of the time against GM players.  In those cases multiple pondering won't
save a thing.




>
>  Such a parallel search would maybe
>>get a speedup of 1.5 if you are lucky.
>
>I am more optimistic and I believe it is possible to get speed up of about 2 by
>this way if you use 8 processors.
>
>You can get good guesses for 7 processors based on previous search.
>
>Uri

Two is pretty poor for 8 cpus of course.  And then there is the problem of
the parallel algorithm, parallel hash probes, repetition detection, and on and
on...




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.