Computer Chess Club Archives


Search

Terms

Messages

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

Author: Uri Blass

Date: 01:50:34 01/08/03

Go up one level in this thread


On January 08, 2003 at 04:37:09, Peter Fendrich wrote:

>On January 08, 2003 at 00:01:19, Russell Reagan wrote:
>
>>On January 07, 2003 at 23:49:20, Joel wrote:
>>
>>>Could someone please explain what Perft is, and perhaps what it is useful for?
>>
>>Perft is a function that computes the number of nodes visited to a given depth.
>>Another way of thinking of this is the number of games, or paths, that exist to
>>a given depth. So from the opening position, perft 1 is 20, since there are 20
>>legal moves at depth 1. Perft 2 is 400 (which is 20 x 20). Basically you are
>>just counting positions to a given depth.
>>
>>What this is useful for is determining if your move generation, your make move,
>>and your unmake move functions are working correctly. For example, if your move
>>generation function doesn't generate castling moves correctly, you will get an
>>incorrect perft result. Or if your program didn't generate double pawn moves
>>(like e2e4) then it would calculate perft 1 incorrectly for the initial
>>position, and you could see which moves it doesn't generate correctly, and you
>>could fix the problem. Also it tests your make/unmake functions, because if (for
>>example) you forgot to replace a captured piece in your unmake move function,
>>then you would get incorrect perft results, and you could find that bug and fix
>>it.
>>
>>Basically it's a way to see if your move generator and make/unmake have any bugs
>>in them.
>
>You should know by now...-:)
>Did you find out what your perft problem was?
>/Peter

I understood that he did not find the problem but corrected the problem so the
question now is if it is a good idea to try to find what was the problem.

Uri



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.