Computer Chess Club Archives


Search

Terms

Messages

Subject: Yippie! My new chess engine works... :)

Author: Larry Griffiths

Date: 18:57:18 07/31/00


I want to thank Robert Hyatt again for his article on bitboards.  This enabled
me to finally do Diagonal Bitboards.  Also thanks for your perft function in
Crafty.  I hated playing hundreds of games on my previous version only to find a
bug in my program.  This took lots of time.

I also want to thank those of you who have answered my questions and given me
food for thought.  You also got me through my "Duh" moments when I was so
programmed out that I probably thought 2 plus 2 was 5.  LOL

I finally have a chess engine that generates Moves using mostly bitboards.
It uses MMX instructions so it will probably only run on Pentium II or Pentium
III processors.  I does en-passant, castleing, and pawn promotion to Knights,
Bishops, Rooks and Queens.  I currently only have a bruteforce function written
so that I could validate my move generation.

Pawn promotion was the last piece of coding that I needed to do.  I compared my
results with Crafty's perft command.  Here are the results :)

##############################################################################

Crafty...
White(1): display

       +---+---+---+---+---+---+---+---+
    8  | *K|   |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+
    7  |   |   |   |   |   |   |   | P |
       +---+---+---+---+---+---+---+---+
    6  |   |   |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+
    5  |   |   |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+
    4  |   |   |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+
    3  |   |   |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+
    2  |   |   |   |   |   |   |   |   |
       +---+---+---+---+---+---+---+---+
    1  |   |   |   |   |   |   |   | K |
       +---+---+---+---+---+---+---+---+
         a   b   c   d   e   f   g   h

White(1): perft 1
total moves=7  time=0.00
White(1): perft 2
total moves=19  time=0.00
White(1): perft 3
total moves=213  time=0.00
White(1): perft 4
total moves=1103  time=0.00
White(1): perft 5
total moves=16047  time=0.00
White(1): perft 6
total moves=80164  time=0.06
White(1): perft 7
total moves=1391187  time=0.94
White(1): perft 8
total moves=7307253  time=6.81
White(1): perft 9
total moves=142502703  time=95.30
White(1): perft 10
total moves=729507306  time=699.74
White(1):

##############################################################################

My Program...

Elapsed Time= 627.39 seconds

Ply ---CAPTURES-- -----MOVES----- -----TOTAL----- ---Invalid---
  1             0               7               7             0
  2             0              19              19             2
  3             0             213             213             0
  4            10           1,093           1,103           214
  5             0          16,047          16,047             0
  6           628          79,536          80,164        17,131
  7             0       1,391,187       1,391,187            66
  8        77,111       7,230,142       7,307,253     1,977,743
  9             0     142,502,703     142,502,703        40,365
 10     8,943,693     720,563,613     729,507,306   229,201,913
    _____________ _______________ _______________ _____________
        9,021,442     871,784,560     880,806,002   231,237,434

        Captures/Moves Per Second=      1,403,919

##############################################################################

I plan on hooking up my old graphical chess interface from my old program into
my new version during the month of August.

Cheers!

Larry.



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.