Divide/perft question

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

Eric VanderHelm
Posts: 3
Joined: Mon Sep 21, 2015 7:38 pm
Location: California

Divide/perft question

Post by Eric VanderHelm »

Hello everyone!

I'm working on my first chess engine, and I'm trying to debug my move generation/make/unmake routines. Which engine do you use to cross reference your results? I have a divide routine implemented but no engine with which to compare my results.

To this point I've used the wiki and crafty's perft, but (correct me if I'm wrong) it doesn't have divide. I could write my own divide for crafty, but I'm hoping there's a reliable open source engine with which I can easily enter a FEN and then run divide. Thanks in advance!

EVH
AndrewGrant
Posts: 1763
Joined: Tue Apr 19, 2016 6:08 am
Location: U.S.A
Full name: Andrew Grant

Re: Divide/perft question

Post by AndrewGrant »

By Divide do you mean; Show PERFT counts for EACH initial move? If that is the case, StockFish does this.
Eric VanderHelm
Posts: 3
Joined: Mon Sep 21, 2015 7:38 pm
Location: California

Re: Divide/perft question

Post by Eric VanderHelm »

Thanks for the quick response. Yeah, I've seen the perft for each initial move called divide a couple places. Probably should have checked StockFish before creating a thread but oh well.
User avatar
hgm
Posts: 27822
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Divide/perft question

Post by hgm »

qperft can divide at any level.
User avatar
Ajedrecista
Posts: 1971
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: Divide/perft question.

Post by Ajedrecista »

Hello Eric:

You also might to try JetChess: it is a fast hashed perft counter with an easy-to-use nice GUI, but it is not open source.

JetChess_v1.0.0.0.zip (480.2 KB)

The strong point I see in qperft (executable and source) is its ability to divide at any level, as Muller said. For example, at the starting position, it can divide in a3, a4, ..., Nh3 (one level of divide with 20 moves) but also in a3, a6; a3, a5; ...; a3, Nh6; ...; Nh3, Nh6 (two levels of divide with 400 sequences of moves); and so on.

Good luck with your engine!

Regards from Spain.

Ajedrecista.