Computer Chess Club Archives


Search

Terms

Messages

Subject: Must I do KingInCheck after every move (What now Robert) ?

Author: Larry Griffiths

Date: 19:04:28 07/25/00

Go up one level in this thread


On July 24, 2000 at 21:28:49, Larry Griffiths wrote:

My original Bruteforce for producing valid moves counts ran in 121 seconds.
I implemented extracting all the captures at the next ply and searching
thru them to find a king.  I return if I find a king and adjust the move counts
at the previous ply so that they will be correct.  My counts match just like my
original did... Except that it took 404 seconds!  Is this the method that you
use in Craft's perft command Bob?  The only thing I can think to do is use my
old method at the leaves of the tree...

Larry.

Elapsed Time= 404.78 seconds

Ply ----CAPTURES--- -----MOVES----- -----TOTAL----- ----Invalid----
  1               3              47              50               1
  2             152           1,973           2,125             297
  3           6,768          89,294          96,062          12,750
  4         314,667       3,885,858       4,200,525         573,784
  5      14,297,742     177,121,633     191,419,375      25,863,251
    _______________ _______________ _______________ _______________
         14,619,332     181,098,805     195,718,137      26,450,083

          Captures/Moves Per Second=        483,516

>These were generated using a board where all of the pawns have been removed...
>
>AND Again spinning thru the piece list a piece at a time generating both
>captures and moves for a piece but only doing capture moves.  Then spinning
>through the non-captures list and doing those moves...
>
>Elapsed Time= 110.34 seconds
>
>Ply ----CAPTURES--- -----MOVES----- -----TOTAL----- ----Invalid----
>  1               3              48              51               0
>  2             164           2,259           2,423               0
>  3           7,826         101,559         109,385               0
>  4         362,556       4,452,299       4,814,855               0
>  5      16,834,633     202,741,901     219,576,534               0
>    _______________ _______________ _______________ _______________
>         17,205,182     207,298,066     224,503,248               0
>
>          Captures/Moves Per Second=      2,034,594
>
>AND this is what it looks like spinning thru the piece list a piece at a time
>generating both captures and moves for that piece with the next ply returning if
>it will capture a king...
>
>Elapsed Time= 113.81 seconds
>
>Ply ----CAPTURES--- -----MOVES----- -----TOTAL----- ----Invalid----
>  1               3              48              51               0
>  2             164           2,278           2,442               0
>  3           7,869         107,346         115,215               0
>  4         380,862       4,873,707       5,254,569               0
>  5      18,118,741     227,020,855     245,139,596               0
>    _______________ _______________ _______________ _______________
>         18,507,639     232,004,234     250,511,873               0
>
>          Captures/Moves Per Second=      2,201,102
>
>>
>>WITH INCHECK...
>>
>>Elapsed Time= 121.05 seconds
>>
>>Ply ----CAPTURES--- -----MOVES----- -----TOTAL----- ----Invalid----
>>  1               3              47              50               1
>>  2             152           1,973           2,125             297
>>  3           6,768          89,294          96,062          12,750
>>  4         314,667       3,885,858       4,200,525         573,784
>>  5      14,297,742     177,121,633     191,419,375      25,863,251
>>    _______________ _______________ _______________ _______________
>>         14,619,332     181,098,805     195,718,137      26,450,083
>>
>>          Captures/Moves Per Second=      1,616,877
>>
>>WITHOUT INCHECK...
>>
>>Elapsed Time= 148.78 seconds
>>
>>Ply ----CAPTURES--- -----MOVES----- -----TOTAL----- ----Invalid----
>>  1               3              48              51               0
>>  2             166           2,306           2,472               0
>>  3           8,599         117,795         126,394               0
>>  4         457,128       5,802,155       6,259,283               0
>>  5      23,970,850     298,958,050     322,928,900               0
>>    _______________ _______________ _______________ _______________
>>         24,436,746     304,880,354     329,317,100               0
>>
>>          Captures/Moves Per Second=      2,213,435



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.