Computer Chess Club Archives


Search

Terms

Messages

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

Author: Uri Blass

Date: 13:25:12 11/23/01

Go up one level in this thread


On November 23, 2001 at 15:43:24, Michel Langeveld 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
>
>I needed 36 hours for this:
>http://www.it.ro/ccc_search/ccc.php?art_id=57423

1)Did you use hash tables for this?
If not then 36 hours for number that is more than 20,000 times bigger than the
number than mine means that without hash you may need less than 6.5 seconds to
calculate perft 6 in the initial position.

2)How much time do your program need to calculate perft 6(it seems that it is
faster than mine)?

Note that my program still has bugs and I found one bug that I did not know
about thanks to calculating perft 7 from the initial position

I needed few hours to find that the problem was the following game:
1.d4 c5 2.Kd2 Qc7 3.Kc3 cxd4+ when my program believed that 4.Kxd4 is illegal
because of the fact that I wrote > instead of < in my function of replies to
double check.

I still have bugs and I guess that I have more bugs that I do not know about and
the initial position or the second position that I posted are not the best
position to test move generator.

Good position to test complicated move generator should include things like
double checks,enpassant moves in reply to check,illegal enpassant moves inspite
of the fact that the pawn is not pinned and close distance between the pieces in
moves so the king should be careful against everything(the kings cannot get
distance of 2 squares in few plies in the initial position or the second
position).

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.