Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: I AM THE KING OF THE WORLD - perft speed comparison!

Author: Uri Blass

Date: 10:59:36 12/07/01

Go up one level in this thread


On December 07, 2001 at 13:33:34, Severi Salminen wrote:

>>both make unmake and gen are important
>
>Of course, but one should sacrifice the speed of make/unmake to make gen faster.
>
>>At this time make unmake are relatively slow and making a move takes clearly
>>more time then generating a move.
>
>When you have programmed searching functions also, you can test it more. The
>better the ordering, the faster the gen() should be (and usually this will bring
>the speed of make()/unmake() greatly down, and also the perft speed). Obviously
>if you have to make()/unmake() every move this kind of optimization will hurt.

I do not understand.
why do you think that better ordering of moves is going to do my gen faster.
The opposite it may do my gen slower if I need there to calculate the order of
moves
>
>>I do not think that calculating perft emphasize making moves.
>
>It ephasizes if you do it like it is done in Crafty. But since you don't
>make/unmake() the last ply it emphasizes gen() more in your program. The problem
>with your approach is that it doesn't reflect anything about the speed of a
>normal search. In normal search if you visit N nodes you also have to
>make()/unmake() the last moves - perft() is like a full width search to a
>certain depth, we just don't evaluate anything. And you don't even reach those
>nodes, you just know how to get there. Yes, you will get the exact node count as
>Crafty but you can't compare the time.

I get a lot of knowledge by my way about attack arrays.
If I decide that I do not want this knowledge for the evaluation function then
I can decide to make the last ply by a different function that does not generate
knowledge that I do not use in the last ply.

I have to know that a ply is the last ply and I understand that there may be a
problem here because I am not sure if programs know that the ply is the last ply
before generating the move but I still can save time by using another function
when I suspect that I do the last ply and if I discover that my suspect was
wrong I can complete the generation of the missing information.

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.