Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: Who is the champion in calculating perft?

Author: Uri Blass

Date: 14:59:27 11/22/01

Go up one level in this thread


On November 22, 2001 at 16:25:36, pavel wrote:

>On November 22, 2001 at 15:52:22, Uri Blass wrote:
>
>>The times of my program in calculating perft(number of legal games of fixed
>>number of plies) are not bad.
>>
>>I get on p800 33 seconds for finding perft 6=119060324 in the initial position
>>and also 33 seconds for finding perft 5=193690690 in another known position
>>
>>this is not a mistake and my program needs similiar time because it generates
>>only legal moves so it needs less nodes to calculate perft 5.
>>
>>
>>[D]r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq - 0 1
>>
>>
>>I am interested to know what is the speed of the best free or commercial program
>>in calculating perft.
>>
>>Yace is the fastest free program that I know.
>>I do not know about a commercial programs with this function.
>>
>>
>>My move generator is not 100% correct because it has some probelms with the en
>>passant rule that I did not care to fix but it finds the right numbers and it is
>>clear that fixing the errors is not going to change significantly the speed of
>>the program.
>>
>>
>>yace is slightly faster than my program in caculating perft 6 in the initial
>>position(32 seconds) but has no chance in the second position and I plan to
>>improve the algorithm(there wer important things that I did not do because of
>>more important things).
>>
>>The main improvement that I worked about in the last days was improvement in
>>generating moves(my previous version generated only piece go to square when I
>>started from the target square and now I start from the piece except checks).
>>
>>second improvement that I found was a mistake of generating move twice when I
>>did not need to do it.
>>
>>I calculate perft 4 in the following ways:
>>1)generate all legal moves
>>2)make a3
>>3)generate all legal moves
>>4)make a6
>>5)generate all the legal moves
>>6)make a4
>>7)generate all the legal moves and add their number into perft
>>8)undo a4
>>9)generate all the legal moves
>>10)make b3
>>11)generate all the legal moves and add their number to perft
>>12)undo b3
>>13)generate all the legalmoves
>>14)make b4
>>
>>I understood that I can save time by not doing 9,13,... because it was exactly
>>the same job that I did in 5 and it saved me almost half of the job of
>>generating moves(it was not close to 50% improvement because my program also
>>make moves and not only generates them but it was a big improvement).
>>
>>Uri
>
>
>what is the purpose of this function?
>(I know that it generates all the legal moves of (n) depths)
>
>pavs

There are two purposes:
1)to help me to find bugs in my move generator
2)to test speed of my program(if I can generate moves faster than it can help my
future chess program)

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.