Some perft() results for that alternative test position

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Some perft() results for that alternative test position

Post by sje »

Hera are some perft() results for the symmetric alternative test position presented earlier:
[d]r4rk1/1pp1qppp/p1np1n2/2b1p1B1/2B1P1b1/P1NP1N2/1PP1QPPP/R4RK1 w - - 0 10[/d]

Code: Select all

perft(0):                   1
perft(1):                  46
perft(2):               2,079
perft(3):              89,890
perft(4):           3,894,594
perft(5):         164,075,551
perft(6):       6,923,051,137
perft(7):     287,188,994,746
perft(8):  11,923,589,843,526
perft(9): 490,154,852,788,714
The perft(9) calculation needed 10h21m.

These could be added to the wiki.

Can anyone extend this list?
ankan
Posts: 77
Joined: Sun Apr 21, 2013 3:29 pm
Full name: Ankan Banerjee

Re: Some perft() results for that alternative test position

Post by ankan »

perft_gpu agrees with your numbers:

Code: Select all

GPU Perft 1: 46,   Time taken: 6.9856e-005 seconds, nps: 658497

GPU Perft 2: 2079,   Time taken: 0.000269824 seconds, nps: 7705022

GPU Perft 3: 89890,   Time taken: 0.000533344 seconds, nps: 168540388

GPU Perft 4: 3894594,   Time taken: 0.000929376 seconds, nps: 4190547178

GPU Perft 5: 164075551,   Time taken: 0.0102988 seconds, nps: 15931595759

GPU Perft 6: 6923051137,   Time taken: 0.244653 seconds, nps: 28297419405

GPU Perft 7: 287188994746,   Time taken: 3.79618 seconds, nps: 75652088285

GPU Perft 8: 11923589843526,   Time taken: 75.3017 seconds, nps: 158344258135

GPU Perft 9: 490154852788714,   Time taken: 1597.06 seconds, nps: 306910299074

GPU Perft 10: 20155532500692989,   Time taken: 41233 seconds, nps: 488820660080
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Some perft() results for that alternative test position

Post by hgm »

I am not sure this alternative position has any merits. There are no castling rights at all, and promotions are still far away. So it has similar or even worse problems than the standard opening position. It would be much better to have a position where both castlings (of all types) and promotions are nearby, such as KiwiPete.
User avatar
Ajedrecista
Posts: 1969
Joined: Wed Jul 13, 2011 9:04 pm
Location: Madrid, Spain.

Re: Some perft() results for that alternative test position.

Post by Ajedrecista »

Hello Muller:
hgm wrote:I am not sure this alternative position has any merits. There are no castling rights at all, and promotions are still far away. So it has similar or even worse problems than the standard opening position. It would be much better to have a position where both castlings (of all types) and promotions are nearby, such as KiwiPete.
Your proposal was first written by Ben Nye in this post and I shared some results in this other post. That topic can be easily searched via CPW under the section Forum Posts (date: 11th July, 2013).

Regards from Spain.

Ajedrecista.
Henk
Posts: 7218
Joined: Mon May 27, 2013 10:31 am

Re: Some perft() results for that alternative test position

Post by Henk »

I still have a bug in en passent. I only encounter it once a week or so.
So there exists some positions where my opponent makes an en passent and my program invalidates it and I cannot make the move. Maybe I should detect en passent in a different way and compare it with my current implementation.

I have not implemented perft yet. Perhaps to lazy for that. Of gewoon geen zin.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: Some perft() results for that alternative test position

Post by sje »

hgm wrote:I am not sure this alternative position has any merits. There are no castling rights at all, and promotions are still far away. So it has similar or even worse problems than the standard opening position. It would be much better to have a position where both castlings (of all types) and promotions are nearby, such as KiwiPete.
The motivation for the above position is to test perft() operations equally distributed among all piece kinds. The focus is more on typical complex middlegame positions and not on special moves; there are already plenty of test positions for those.