Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: What is Perft? (quick clarifying question)

Author: Russell Reagan

Date: 21:55:41 01/07/03

Go up one level in this thread


On January 08, 2003 at 00:17:45, Joel wrote:

>Thanks Russell.
>
>Now all I need is some trusted perft results! :)

Here is a position that has a little bit of everything (castling, captures,
promotions, plenty of pawn moves, you name it...).

[D]r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1

And here are the perft numbers:
perft 1 = 48
perft 2 = 2,039
perft 3 = 97,862
perft 4 = 4,085,603
perft 5 = 193,690,690
perft 6 = 8,031,647,685

It *might* take a while to calculate perft 6 though ;) I just let mine run
overnight while I was sleeping.

Also, if you download Crafty or Yace it will allow you to calculate perft for
any position. Just copy the FEN of the position, do a setboard command, like:

setboard r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1

and then type 'perft 4' (or whatever depth you want) and it will give you good
results. Also Uri's program Movei comes with a program perft.exe that you can
use in Winboard. It is the fastest perft calculator I think.

From the opening position, here are the numbers up to perft 6 (from Crafty).

White(1): perft 1
total moves=20
White(1): perft 2
total moves=400
White(1): perft 3
total moves=8902
White(1): perft 4
total moves=197281
White(1): perft 5
total moves=4865609
White(1): perft 6
total moves=119060324

Another thing. If you calculate perft using an int (32-bits), you can only count
up to something like 4 billion I think. So (for example) to calculate perft 6 of
the first position I posted, you will need to use a larger type, like unsigned
__int64 in MSVC, or double.



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.