Is Crafty the fastest searcher in the world?

Discussion of chess software programming and technical issues.

Moderator: Ras

Jouni
Posts: 3655
Joined: Wed Mar 08, 2006 8:15 pm
Full name: Jouni Uski

Is Crafty the fastest searcher in the world?

Post by Jouni »

Surprisingly I don't have any engine, that has so high node speed than Crafty 23.4 - spark is next best with 70-80% of Crafty's speed :o
Or is Crafty counting nodes more "carefully" than others?

Jouni
User avatar
hgm
Posts: 28387
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Is Crafty the fastest searcher in the world?

Post by hgm »

Crafty does not do hash probing in QS, which is a good way to crank up nps. (Unfortunately it also cranks up nodes...)
huybaichay

Re: Is Crafty the fastest searcher in the world?

Post by huybaichay »

hgm wrote:Crafty does not do hash probing in QS, which is a good way to crank up nps. (Unfortunately it also cranks up nodes...)
I don't think so, Many other chess engines don't do hash probing in QS .
Dann Corbit
Posts: 12792
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Is Crafty the fastest searcher in the world?

Post by Dann Corbit »

The fastest searcher is the one with the lowest branching factor.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: Is Crafty the fastest searcher in the world?

Post by bob »

Jouni wrote:Surprisingly I don't have any engine, that has so high node speed than Crafty 23.4 - spark is next best with 70-80% of Crafty's speed :o
Or is Crafty counting nodes more "carefully" than others?

Jouni
Crafty is simply an older program that has been extensively optimized for speed. And there is likely more speed to be had. So far as I know, a "node" in Crafty is the same as a "node" in any other AI context. That is, when a move is made to take the search to a new position, that is also one node searched since node == position. I don't try to "guess" how many nodes a hash hit saves and add that in, so it is really counting Make()/Unmake() pairs as a single node, which is traditional.