Divide/perft question

Discussion of chess software programming and technical issues.

Moderators: bob, hgm, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
Post Reply
Eric VanderHelm
Posts: 3
Joined: Mon Sep 21, 2015 5:38 pm
Location: California

Divide/perft question

Post by Eric VanderHelm » Mon May 30, 2016 11:05 pm

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: 583
Joined: Tue Apr 19, 2016 4:08 am
Location: U.S.A
Full name: Andrew Grant
Contact:

Re: Divide/perft question

Post by AndrewGrant » Mon May 30, 2016 11:10 pm

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 5:38 pm
Location: California

Re: Divide/perft question

Post by Eric VanderHelm » Tue May 31, 2016 12:03 am

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: 24586
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Divide/perft question

Post by hgm » Tue May 31, 2016 5:09 am

qperft can divide at any level.

User avatar
Ajedrecista
Posts: 1445
Joined: Wed Jul 13, 2011 7:04 pm
Location: Madrid, Spain.
Contact:

Re: Divide/perft question.

Post by Ajedrecista » Tue May 31, 2016 7:56 am

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.

Post Reply