Perft(14) Weekly Status Reports for 2016

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.
User avatar
sje
Posts: 4675
Joined: Mon Mar 13, 2006 6:43 pm

Re: Perft(14) Weekly Status 2016-02-14

Post by sje » Sat Feb 20, 2016 7:50 am

Code: Select all

[] sf rnbqkb1r/pppQnpp1/7p/4p3/5P2/2P5/PP1PP1PP/RNB1KBNR b KQkq - 0 4
[] pctran 7
E0: Kxd7 224,054,978
E0: Bxd7 348,158,750
E0: Nxd7 207,906,446
E0: Qxd7 454,447,668
Count: 1,234,567,842   Pt: 10.133   Wt: 1.371   U: 7.38838   900.153 MHz   1.11092 ns

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

Re: Perft(14) Weekly Status 2016-02-14.

Post by Ajedrecista » Sat Feb 20, 2016 11:57 am

Hello Eugene:
Kotlov wrote:Hi, Steven.
Possible to find position perft(n)=123456789, 33333333 or 100000000?
In the meantime, you can search special numbers in this selection of 6838 positions up to depth 6:

Re: Looking for suggestions for perft test posititons
perft-random.epd -- random test positions for move generator

For example, I found perft(5) = 10,000,078 on the position 146:

[d]6n1/bk6/5P2/4b3/3p2Pp/R2B3P/b3K3/3N4 b - -

Code: Select all

  1  ba2-b1      345028
  2  ba2-b3      419531
  3  ba2-c4      281283
  4  ba2-d5      509413
  5  ba2-e6      496480
  6  ba2-f7      439234
  7  be5-f4      445957
  8  be5-g3      352302
  9  be5-h2      380905
 10  be5*f6      304857
 11  be5-d6      472888
 12  be5-c7      395591
 13  be5-b8      314671
 14  ba7-b6      433641
 15  ba7-c5      514120
 16  ba7-b8      345197
 17  ng8-e7      513208
 18  ng8*f6      488595
 19  ng8-h6      429135
 20  kb7-c7      420933
 21  kb7-b6      330172
 22  kb7-c6      406701
 23  kb7-a8      245964
 24  kb7-b8      336727
 25  kb7-c8      377545

Total:         10000078
You can search with your browser (usually Ctrl+F or F3) some patterns such as 0000..., 1111..., 2222..., 1234..., 5432..., etc. Have fun!

------------------------

@Steven: thank you very much for your effort! Please keep up your good work.

Regards from Spain.

Ajedrecista.

ibid
Posts: 89
Joined: Mon Jun 13, 2011 10:09 am

Re: Perft(14) Weekly Status 2016-02-14

Post by ibid » Sun Feb 21, 2016 3:48 am

Kotlov wrote:Hi, Steven.
Possible to find position perft(n)=123456789, 33333333 or 100000000?
Seven sevens? (Alas, it is perft 5, not 7)

[D]rnbqkbnr/ppppp2p/6p1/5p2/8/BP6/P1PPPPPP/RNQ1KBNR b KQkq -

Code: Select all

perft( 1)=           21 ( 0.000 sec)
perft( 2)=          502 ( 0.000 sec)
perft( 3)=        11719 ( 0.000 sec)
perft( 4)=       305079 ( 0.016 sec)
perft( 5)=      7777777 ( 0.095 sec)

ibid
Posts: 89
Joined: Mon Jun 13, 2011 10:09 am

Re: Perft(14) Weekly Status 2016-02-14

Post by ibid » Sun Feb 21, 2016 3:57 am

8 digits...

[D]r1bqkbnr/p1pppppp/2n5/1p6/8/3P1P2/PPPBP1PP/RN1QKBNR b KQkq -

Code: Select all

perft( 1)=           23 ( 0.000 sec)
perft( 2)=          615 ( 0.000 sec)
perft( 3)=        15369 ( 0.001 sec)
perft( 4)=       412791 ( 0.004 sec)
perft( 5)=     11111111 ( 0.082 sec)

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

Perft(14) Weekly Status 2016-02-21

Post by sje » Sun Feb 21, 2016 5:52 am

Perft(14) Weekly Status 2016-02-21

Symbolic has produced more than 35,500,000 perft(7) results so far, about 36.83% of the 96,400,068 needed.

Day count: 564
Estimated remaining day count: 968
Estimated total day count: 1,532

Average throughput: 62,943 results/day
Effective frequency: 126.66 GHz

Work units not yet started (596): 368-963

Sum of perft()s: 826,992,580,104,663,352
Sum of products: 6,172,069,166,552,763,063

User avatar
Kotlov
Posts: 220
Joined: Fri Jul 10, 2015 7:23 pm
Location: Russia

Re: Perft(14) Weekly Status 2016-02-14

Post by Kotlov » Sun Feb 21, 2016 10:54 am

sje wrote:Perft(7) of [d]rnbqkb1r/pppQnpp1/7p/4p3/5P2/2P5/PP1PP1PP/RNB1KBNR b KQkq - 0 4[/d]
equals 1,234,567,890
minus 48
-48 not interesting ))

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

Perft(14) Weekly Status 2016-02-28

Post by sje » Sun Feb 28, 2016 5:38 am

Perft(14) Weekly Status 2016-02-28

Symbolic has produced more than 36,100,000 perft(7) results so far, about 37.45% of the 96,400,068 needed.

Day count: 571
Estimated remaining day count: 954
Estimated total day count: 1,525

Average throughput: 63,222 results/day
Effective frequency: 129.12 GHz

Work units not yet started (590): 374-963

Sum of perft()s: 842,486,454,064,498,798
Sum of products: 6,370,054,221,720,286,871

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

Perft(14) Weekly Status 2016-03-06

Post by sje » Sun Mar 06, 2016 7:20 am

Perft(14) Weekly Status 2016-03-06

Symbolic has produced more than 36,700,000 perft(7) results so far, about 38.07% of the 96,400,068 needed.

Day count: 578
Estimated remaining day count: 940
Estimated total day count: 1,518

Average throughput: 63,495 results/day
Effective frequency: 131.87 GHz

Work units not yet started (584): 380-963

Sum of perft()s: 858,022,648,997,936,630
Sum of products: 6,585,346,451,625,496,896

Rochester
Posts: 55
Joined: Sat Feb 20, 2016 5:11 am

Re: Perft(14) Weekly Status 2016-03-06

Post by Rochester » Sun Mar 06, 2016 10:29 am

sje wrote:Perft(14) Weekly Status 2016-03-06
Predict day count every time go low by more 1 week, but that is wronged. I say you ready November. You can report every month now, no need every week.

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

Re: Perft(14) Weekly Status 2016-03-06.

Post by Ajedrecista » Sun Mar 06, 2016 4:08 pm

Hello Roch:
Rochester wrote:Predict day count every time go low by more 1 week, but that is wronged. I say you ready November. You can report every month now, no need every week.
The number of results/week is not constnt and is often increasing, hence the remaining time is lowering a bit faster.

Here is an example: imagine that you are downloading a file of 100 MB. The first minute of the download was at a low speed and it only downloaded 100 KB/sec in average. I would calculate the expected remaining time in the following way:

Code: Select all

1 minute ---> 100 KB/s ~ 5.86 MB
Expected total time ---> 100 MB

Expected total time ~ (100/5.86)*(1 minute) ~ 17 min. 4 sec.

Expected remaining time = Expected total time - spent time = 17'04" - 1' = 16'04"
Now, the download speed increases and it averages 200 KB/s in the next two minutes. Then:

Code: Select all

Downloaded: (100 KB/s)*(1 minute) + (200 KB/s)*(2 minutes) ~ 5.86 MB + 23.44 MB ~ 29.3 MB

Expected total time ~ (100/29.3)*(1 minute + 2 minutes) ~ 10 min. 14 sec.

Expected remaining time = Expected total time - spent time = 10'14" - 3' = 7'14".
The expected remaining time lowered by more than two minutes.

The total number of results (96,400,068) play the role of 100 MB of the example. A drawback is that 1 MB is equal to other MB but each result has different number of nodes, but I will assume that in the long term, the larger ones compensate with the smaller ones, resulting in more less average results.

I estimate the remaining time in this way:

Code: Select all

Expected total time = [96,400,068/(total number of results calculated)]*(elapsed time in these calculations)

Expected remaining time = Expected total time - elapsed time = [96,400,068/(total number of results calculated) - 1]*(elapsed time)
In the case of this week:

Code: Select all

Expected remaining time ~ (96.4M/36.7M - 1)*(578 days) ~ 940 days ~ 134 weeks + 2 days from now (02-Oct-2018).
Which is the same than Steven predicted in his last post. There were circa 29.5 million results on 03-Jan-2016; there are circa 36.7 million results on 06-Mar-2016, that is, in a period of time of nine weeks = 63 days. The average speed in this period is more less (36.7M - 29.5M)/63 ~ 114.3k results/day. If Steven manages to keep this speed, then there are still 96.4M - 36.7M = 59.7M results and the expected remaining time at that speed (which is way higher than 57.3k results/day, because this speed includes time when the calculations were much slower than nowadays) is (59.7M results)/(114.3k results/day) ~ 522 days = 74 weeks + 4 days from now (10-Aug-2017).

All in all, the summary of this long post is Expected remaining time = [96,400,068/(total number of results calculated) - 1]*(elapsed time), bearing in mind that the number of calculated results/week is not the same every week.

Regards from Spain.

Ajedrecista.

Post Reply