Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Must I do KingInCheck after every move when using BitBoards ?

Author: Larry Griffiths

Date: 17:53:11 07/24/00

Go up one level in this thread


On July 24, 2000 at 19:48:37, Dann Corbit wrote:

>
>Check something that happens only very rarely for every move verses return error
>status when rare thing happens.  Suppose, naively, that the cost of both
>operations is the same, and that 1/100 moves is illegal.
>
>Cost of method 1:
>brute cost + 100 * test cost
>
>Cost of method 2:
>brute cost + 1/100 * test cost
>
>Which one looks cheaper?

With ALPHA/BETA Cutoffs occuring the next ply might never get to test to see if
it captured a king.  If a cutoff occurred on the next ply and a king capture was
not found, then an incheck for the opponents king must still occur to insure
that the move was really valid.  This is interesting as a king check would only
have to be done once at the next ply.  I only have brute-force move generation
in place at this time, but it would be interesting to see what happens using
this method since brute-force will always find a move that captures a king.

I ran with and without my incheck code and the results seem to indicate that I
have a lot of room to play with.  Here are those results by the way...

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.