Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Detecting repetition in a search......

Author: Robert Hyatt

Date: 11:26:39 10/01/98

Go up one level in this thread


On October 01, 1998 at 13:14:53, Bruce Moreland wrote:

>
>On October 01, 1998 at 10:37:00, Don Dailey wrote:
>
>>The reason the linear search algorithm is so cheap (even in endgames)
>>is that most chess program try capture moves first in the search.
>>The number of lines where the maximum number of irreversible moves
>>gets high is exceedingly small.  The worst case scenario is limited
>>to positions where no captures or pawn moves are possible or ever will
>>be such as locked pawn endgames with no intrusion sqaures.
>
>If I had one concern about this it would be that when people test, they tend to
>do it from positions where the fifty-move counter is zero.  I'd be concerned
>that if there had been a period of extended maneuvering, your performance might
>degrade.
>
>bruce


ok.. that's a fair comment.  I ran the following test as a result...  I first
pre-loaded the first 20 entries of each repetition list with random numbers that
would not occur in normal games, to simulate a game that had proceeded 20 full
moves beyond the last capture/pawn move.  I then set up fine.70 position, which
is another worst-case type position which bumps into the 50 move rule very
quickly.  Here is the result:

  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
 10.94      5.55     5.55      152    36.51   274.50  Search
  7.63      9.42     3.87  4125884     0.00     0.00  MakeMove
  6.62     12.78     3.36  3820170     0.00     0.00  NextMove
  6.53     16.09     3.31                             AttacksBishopFunc
  6.43     19.35     3.26  4125844     0.00     0.00  UnMakeMove
  6.21     22.50     3.15                             AttacksRookFunc
  5.03     25.05     2.55  8860070     0.00     0.00  Attacked
  5.01     27.59     2.54  1845314     0.00     0.00  LookUp
  4.57     29.91     2.32  2923994     0.00     0.00  Evaluate
  3.69     31.78     1.87  2059847     0.00     0.00  EvaluatePassedPawns
  2.98     33.29     1.51   916885     0.00     0.00  GenerateCaptures
  2.56     34.59     1.30   252711     0.01     0.01  GenerateCheckEvasions
  2.44     35.83     1.24   267591     0.00     0.00  GenerateNonCaptures
  2.19     36.94     1.11  2158284     0.00     0.00  Quiesce
  2.11     38.01     1.07                             LastOne
  2.03     39.04     1.03    55052     0.02     0.03  EPDTBScore
  1.93     40.02     0.98  1290662     0.00     0.00  Swap
  1.87     40.97     0.95  2920120     0.00     0.00  EvaluateKingSafety
  1.77     41.87     0.90  2048875     0.00     0.00  AttacksTo
  1.70     42.73     0.86   733177     0.00     0.00  StoreRefutation
  1.42     43.45     0.72  1852424     0.00     0.00  RepetitionCheck

here it is all the way up from .44% to 1.42%, which I think represents about as
bad as it can get.  I tried moving down to move 35 or so, but the percentage
went down because too many moves cut off at 50 moves and didn't have to check
this list in that case...

Bob



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.