mersenneforum.org > Data mersenne.ca
 Register FAQ Search Today's Posts Mark Forums Read

2021-03-17, 15:15   #573
James Heinrich

"James Heinrich"
May 2004
ex-Northern Ontario

1101001000102 Posts

Quote:
 Originally Posted by SethTro Perfect I see it now (after I reloaded without cache). I wrote some simple starting code for estimating factoring progress
Is there some simple translation to estimate probability of an undiscovered factor of <digits> length?
Is it interesting to extend the calculation/display lower/higher than 20/65 digits, and/or at smaller steps than 5 digits? If so all I would need is an updated data table.

2021-03-17, 19:14   #574
SethTro

"Seth"
Apr 2019

27310 Posts

Quote:
 Originally Posted by James Heinrich I have adapted your code and added it. Do the numbers look sane?
Looks good, I verified:
table doesn't show when no ECM
table doesn't show large digits when no (or few) curves have been complete
table seems to correctly counts curves

Few notes:
* Huge "Complete" numbers look a little silly but I don't have a suggestion on better UI.
* You could add a "Probability of missed (smaller) factor", the probability is
(1 - 1/curve_count) ^ curve_count
which can be transformed to
math.exp(curve_count * math.log(1 - 1/curve_count))
or approximated by
(1/e)^(complete)

Quote:
 Originally Posted by James Heinrich Is there some simple translation to estimate probability of an undiscovered factor of length? Is it interesting to extend the calculation/display lower/higher than 20/65 digits, and/or at smaller steps than 5 digits? If so all I would need is an updated data table.
Someone more versed in Mersenne theory can comment but in general I believe the https://en.wikipedia.org/wiki/Dickman_function tells us about the likelihood of finding a factor of a certain size, evaluating this function is hard, but I've seen code on this forum for it.

Quote:
 Originally Posted by James Heinrich Is it interesting to extend the calculation/display lower/higher than 20/65 digits, and/or at smaller steps than 5 digits? If so all I would need is an updated data table.
The code I presented is a good starting spot. I suspect it's under estimating progress for larger digits by 10-30% (a guess) this is fine for me (as I just wanted a ballpark of progress) but if someone did want to improve they should take LaurV's suggestion and implement something that's aware of B2 instead of extending my/your current code.

2021-03-17, 20:24   #575
Viliam Furik

"Viliam FurÃ­k"
Jul 2018
Martin, Slovakia

2×3×7×11 Posts

A fellow Slovak GIMPS-er Anton Repko asked me to post his program, so here it is.
Attached Files
 ecm-prob.c (33.3 KB, 22 views)

2021-03-17, 20:55   #576
James Heinrich

"James Heinrich"
May 2004
ex-Northern Ontario

2×412 Posts

Quote:
 Originally Posted by SethTro You could add a "Probability of missed (smaller) factor", the probability is (1 - 1/curve_count) ^ curve_count which can be transformed to math.exp(curve_count * math.log(1 - 1/curve_count)) or approximated by (1/e)^(complete)
I'm sure I'm doing something wrong, but the first two versions give me an almost-but-not-quite-constant value of around 0.368 for everything.
The approximated third option seems (in my ignorant opinion) to produce "reasonable" numbers.
In each of the first two versions is it supposed to be the same "curve_count" used twice, or should one be the "expected" curves?

I've added the approximated value to the live server.

2021-03-17, 21:06   #577
SethTro

"Seth"
Apr 2019

3·7·13 Posts

Quote:
 Originally Posted by James Heinrich I'm sure I'm doing something wrong, but the first two versions give me an almost-but-not-quite-constant value of around 0.368 for everything. The approximated third option seems (in my ignorant opinion) to produce "reasonable" numbers. In each of the first two versions is it supposed to be the same "curve_count" used twice, or should one be the "expected" curves? I've added the approximated value to the live server.
Sorry should have been

(1 - 1/needed_curves) ^ curves_complete

Last fiddled with by SethTro on 2021-03-17 at 21:07

2021-03-28, 22:26   #578
James Heinrich

"James Heinrich"
May 2004
ex-Northern Ontario

2·412 Posts

Quote:
 Originally Posted by SethTro Looks good, I verified: table doesn't show when no ECM table doesn't show large digits when no (or few) curves have been complete table seems to correctly counts curves Huge "Complete" numbers look a little silly but I don't have a suggestion on better UI.
YAFU produces some output like this during its ECM stage:
Quote:
 fac: t15: 426.42 fac: t20: 246.52 fac: t25: 55.00 fac: t30: 8.75 fac: t35: 1.09 fac: t40: 0.11 fac: sum of completed work is t35.56
How would one "sum" those completion numbers (which I assume to be the same meaning as what I now have) to generate an overall "t-value"?

 2021-03-30, 01:38 #579 James Heinrich     "James Heinrich" May 2004 ex-Northern Ontario 1101001000102 Posts There is a known issue with the nightly sync, will be processed when data is available.
2021-03-30, 13:58   #580
henryzz
Just call me Henry

"David"
Sep 2007
Cambridge (GMT/BST)

2×5×587 Posts

Quote:
 Originally Posted by James Heinrich YAFU produces some output like this during its ECM stage:How would one "sum" those completion numbers (which I assume to be the same meaning as what I now have) to generate an overall "t-value"?
Binary search with different values?

2021-03-30, 14:26   #581
James Heinrich

"James Heinrich"
May 2004
ex-Northern Ontario

2×412 Posts

Quote:
 Originally Posted by henryzz Binary search with different values?
No clue what you mean by that.

2021-03-31, 15:06   #582
James Heinrich

"James Heinrich"
May 2004
ex-Northern Ontario

2·412 Posts

Quote:
 Originally Posted by James Heinrich There is a known issue with the nightly sync, will be processed when data is available.
Data should now be current.

2021-03-31, 21:40   #583
henryzz
Just call me Henry

"David"
Sep 2007
Cambridge (GMT/BST)

2·5·587 Posts

Quote:
 Originally Posted by James Heinrich No clue what you mean by that.
Yafu has a function that tells it how many txx have been run. The number of digits (xx) which provides a value of 1 can be found using https://en.wikipedia.org/wiki/Bisection_method. This is also known as a binary search although strictly speaking that is for sets.

For example, if you know it is between t35 and t36 you would check if t35.5 has been completed. This restricts the search space to either t35 to t35.5 or t35.5 to t36. This can be repeated until you have the precision you want. The only assumptions are that the function must be continuous and monotone increasing or decreasing.

 Similar Threads Thread Thread Starter Forum Replies Last Post GP2 mersenne.ca 44 2016-06-19 19:29 LaurV mersenne.ca 8 2013-11-25 21:01 siegert81 Math 2 2011-09-19 17:36 optim PrimeNet 13 2004-07-09 13:51

All times are UTC. The time now is 03:46.

Sun May 16 03:46:59 UTC 2021 up 37 days, 22:27, 0 users, load averages: 1.16, 1.12, 1.41