Perft(7) challenge position #5

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

Perft(7) challenge position #5

Post by sje »

Perft(7) challenge position #5

From line 91,829 of Perft(14) work unit #410:
[d]rnb1kbnr/ppp1pppp/8/3p4/1P6/P2P3q/2P1PPP1/RNBQKBNR b KQkq - 0 4[/d]
What is the value of perft(7) for the above?

One program says: 44,950,307,496
A second says: 44,950,307,154
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

64 bit signature false positive rate is now circa 2.1*10^-6

Post by sje »

64 bit signature false positive rate is now circa 2.1*10^-6 (1/480,000)

5 cases were located from 24 work units; each work unit has 100,000 unique positions.

Verified work units (19):
400-408 411-412 414 416 419 421-422 424 426 428

Work units with at least one false positive (5):
409-410 413 415 417
pkumar
Posts: 100
Joined: Tue Oct 15, 2013 5:45 pm

Re: 64 bit signature false positive rate is now circa 2.1*10

Post by pkumar »

My engine using 64-bit hashing says

D7 44950307154 (4.417e+002s)

If N engines using different 64-bit hashing agree on a perft result, is it possible that the probability of error is as low as with Nx64-bit hashing?
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

Re: 64 bit signature false positive rate is now circa 2.1*10

Post by sje »

pkumar wrote:If N engines using different 64-bit hashing agree on a perft result, is it possible that the probability of error is as low as with Nx64-bit hashing?
Assuming that there are no error sources other than false positives, then there wouldn't be a need for more than one perft engine -- just run that single engine N times, each with a different 64 bit wide base key set.
Joost Buijs
Posts: 1563
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: Perft(7) challenge position #5

Post by Joost Buijs »

Nightmare (without hashing) took a whopping 271 sec. and says:
44950307154
pkumar
Posts: 100
Joined: Tue Oct 15, 2013 5:45 pm

Re: 64 bit signature false positive rate is now circa 2.1*10

Post by pkumar »

Assuming that there are no error sources other than false positives, then there wouldn't be a need for more than one perft engine -- just run that single engine N times, each with a different 64 bit wide base key set
Yes, N different hashing with the same engine or feedback from N different engines (meeting your condition) as you are getting. The question is whether the error probability would be same as with Nx64 bit hashing.
zullil
Posts: 6442
Joined: Tue Jan 09, 2007 12:31 am
Location: PA USA
Full name: Louis Zulli

Re: Perft(7) challenge position #5

Post by zullil »

Joost Buijs wrote:Nightmare (without hashing) took a whopping 271 sec. and says:
44950307154
More whopping for me, also without hashing:

Code: Select all

FEN string = rnb1kbnr/ppp1pppp/8/3p4/1P6/P2P3q/2P1PPP1/RNBQKBNR b KQkq -
Depth = 7
Leaf nodes = 44950307154
Time taken = 662337 ms
Joost Buijs
Posts: 1563
Joined: Thu Jul 16, 2009 10:47 am
Location: Almere, The Netherlands

Re: Perft(7) challenge position #5

Post by Joost Buijs »

zullil wrote:
Joost Buijs wrote:Nightmare (without hashing) took a whopping 271 sec. and says:
44950307154
More whopping for me, also without hashing:

Code: Select all

FEN string = rnb1kbnr/ppp1pppp/8/3p4/1P6/P2P3q/2P1PPP1/RNBQKBNR b KQkq -
Depth = 7
Leaf nodes = 44950307154
Time taken = 662337 ms
Although this position looks rather simple to the human eye there is a surprisingly large number of moves possible.

The perft function in Nightmare uses the same code as it uses for game play, everything is up and down dated, hash, pawn-hash, material signatures, material scores etc., no hashing and no bulk counting, that is why it is rather slow compared to other perfts.
Mark
Posts: 216
Joined: Thu Mar 09, 2006 9:54 pm

Re: Perft(7) challenge position #5

Post by Mark »

Joost Buijs wrote:
zullil wrote:
Joost Buijs wrote:Nightmare (without hashing) took a whopping 271 sec. and says:
44950307154
More whopping for me, also without hashing:

Code: Select all

FEN string = rnb1kbnr/ppp1pppp/8/3p4/1P6/P2P3q/2P1PPP1/RNBQKBNR b KQkq -
Depth = 7
Leaf nodes = 44950307154
Time taken = 662337 ms
Although this position looks rather simple to the human eye there is a surprisingly large number of moves possible.

The perft function in Nightmare uses the same code as it uses for game play, everything is up and down dated, hash, pawn-hash, material signatures, material scores etc., no hashing and no bulk counting, that is why it is rather slow compared to other perfts.
I think I have the slowest perft! (I'm just happy I get it right.) My program MarkChess-4.6 takes 10,800 seconds for perft 7 (no hashing).

Code: Select all

   -----------------
8 | r n b . k b n r |
7 | p p p . p p p p |   ep_square = 0
6 | . . . . . . . . |   castle_wk = 1
5 | . . . p . . . . |   castle_wq = 1
4 | . P . . . . . . |   castle_bk = 1
3 | P . . P . . . q |   castle_bq = 1
2 | . . P . P P P . |
1 | R N B Q K B N R |   Black to move
   -----------------
    a b c d e f g h
Perft 1 = 40
Perft 2 = 1091
Perft 3 = 41284
Perft 4 = 1149593
Perft 5 = 42490376
Perft 6 = 1226949550
Perft 7 = 44950307154
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 7:43 pm

64 bit signature false positive rate is now circa 1.9*10^-6

Post by sje »

64 bit signature false positive rate is now circa 1.9*10^-6 (1/540,000)

5 cases were located from 27 work units; each work unit has 100,000 unique positions.

Verified work units (22):
400-408 411-412 414 416 419 421-422 424-426 428 430 435

Work units with at least one false positive (5):
409-410 413 415 417