mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Data > mersenne.ca

Reply
 
Thread Tools
Old 2021-07-30, 00:25   #661
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

2×3×7×83 Posts
Default

Quote:
Originally Posted by SethTro View Post
I coded this up in python at ecm_progress/test2.py
I'm not sure I understand what you're trying to do with that lookup table in your code. But I don't speak Python well (or at all).

This is what I have in PHP:
Code:
function ECMeffortExpected() {
	return array(
		20 => array(    11000,    100),
		25 => array(    50000,    280),
		30 => array(   250000,    640),
		35 => array(  1000000,   1580),
		40 => array(  3000000,   4700),
		45 => array( 11000000,   9700),
		50 => array( 44000000,  17100),
		55 => array(110000000,  46500),
		60 => array(260000000, 112000),
		65 => array(800000000, 360000),
	);
}
function ECMeffort($curves) {
	// https://www.mersenneforum.org/showpost.php?p=573887&postcount=569
	// https://github.com/sethtroisi/misc-scripts/blob/main/mersenne/ecm_progress/test.py
	// Try to convert list of <B1, B2, number_of_curves> to t40, t45, t50 progress
	// original code by SethTro <https://www.mersenneforum.org/member.php?u=15870> 2021-03-16
	// translated to PHP by James Heinrich <james@mersenne.ca> 2021-03-17
	$completed = array();
	foreach (ECMeffortExpected() as $digits => $B1curvesNeeded) {
		$complete = 0;
		$curvecount = 0;
		list($min_B1, $curves_needed) = $B1curvesNeeded;
		foreach ($curves as $curvedata) {
			list($B1, $B2, $count) = $curvedata;
			if (($B1 >= $min_B1) && ($B2 >= (20 * $min_B1))) {
				$complete += ($count / $curves_needed);
				$curvecount += $count;
			}
		}
		if ($complete > 0.001) {
			$completed[$digits] = array($complete, $curvecount);
		}
	}
	return $completed;
}

function ECMprobabilityMissedSmallerFactor($curves_complete, $needed_curves) {
	// https://www.mersenneforum.org/showpost.php?p=573952&postcount=574
	// Probability of missed (smaller) factor is
	// (1 - 1/needed_curves) ^ curves_complete
	// which can be transformed to
	// math.exp(curve_count * math.log(1 - 1/curve_count))
	// or approximated by
	// (1/e)^(complete)
	//return exp($curves_complete * log(1 - (1 / $needed_curves)));
	return pow(1 - (1 / $needed_curves), $curves_complete);
}
If you could, please explain in more detail what your new code is doing, and what the bits of the lookup table are for. If you're real ambitious, feel free to rewrite your code in PHP so I can just plug it in.
James Heinrich is offline   Reply With Quote
Old 2021-07-30, 01:39   #662
SethTro
 
SethTro's Avatar
 
"Seth"
Apr 2019

2×181 Posts
Default

Quote:
Originally Posted by James Heinrich View Post
I'm not sure I understand what you're trying to do with that lookup table in your code. But I don't speak Python well (or at all).

<CODE>

If you could, please explain in more detail what your new code is doing, and what the bits of the lookup table are for. If you're real ambitious, feel free to rewrite your code in PHP so I can just plug it in.
Thanks for including the code it made it very easy to adapt.

https://gist.github.com/sethtroisi/6...8d6372579f09bd

The output is $complete, $FacMissed
SethTro is offline   Reply With Quote
Old 2021-07-30, 15:21   #663
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

2×3×7×83 Posts
Default

Quote:
Originally Posted by SethTro View Post
Thanks for including the code it made it very easy to adapt.
Thanks for the revised code. For now I have placed the old and new calculations side-by-side so you can compare and review them and see if the new numbers appear to make sense.

However with the new calculation method and lookup table I wasn't able to figure out how to replicate the B1 and Curves columns. I have left in the B1 calculated from the old lookup table but removed the Curves column. I don't understand this stuff quite well enough to be certain this makes sense, so please review and suggest changes.
James Heinrich is offline   Reply With Quote
Old 2021-07-31, 09:44   #664
gLauss
 
Nov 2014

25 Posts
Default

Minor bug report: M836683 has a factor with a single, prime k but it shows up as P-1 smooth in the "P+1 section" because it has an "empty list" of factors.
gLauss is offline   Reply With Quote
Old 2021-07-31, 10:06   #665
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

2·3·7·83 Posts
Default

Quote:
Originally Posted by gLauss View Post
Minor bug report: M836683 has a factor with a single, prime k but it shows up as P-1 smooth in the "P+1 section" because it has an "empty list" of factors.
Thanks for finding that, fixed.
James Heinrich is offline   Reply With Quote
Old 2021-08-17, 06:14   #666
SethTro
 
SethTro's Avatar
 
"Seth"
Apr 2019

2×181 Posts
Default

The "Actual" numbers on https://www.mersenne.ca/manyfactors.php don't always match the numbers under the exponent, they seem to be updated several days after the exponent page updates but not always.

https://www.mersenne.ca/manyfactors...._max=202528981 shows actual 2^67
But https://www.mersenne.ca/exponent/202528981 shows actual 2^78 with no update in the last year

https://www.mersenne.ca/manyfactors...._max=340011179 shows actual 2^72 but was updated 10 days ago.

---

Another confusion I have is on an exponent page (for example https://www.mersenne.ca/exponent/340011179) what is actual ghz-day measuring? It doesn't seem to match the sum of TF results.
Attached Thumbnails
Click image for larger version

Name:	Screenshot from 2021-08-16 23-11-42.png
Views:	19
Size:	29.6 KB
ID:	25476  
SethTro is offline   Reply With Quote
Old 2021-08-17, 12:06   #667
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

2·3·7·83 Posts
Default

Quote:
Originally Posted by SethTro View Post
The "Actual" numbers on https://www.mersenne.ca/manyfactors.php don't always match the numbers under the exponent, they seem to be updated several days after the exponent page updates but not always.
The "manyfactors" page should be updated nightly just after 01:00h UTC. I have now added a last-updated timestamp in the top-right corner of the page.

Quote:
Originally Posted by SethTro View Post
https://www.mersenne.ca/manyfactors...._max=202528981 shows actual 2^67
But https://www.mersenne.ca/exponent/202528981 shows actual 2^78 with no update in the last year.
https://www.mersenne.ca/manyfactors...._max=340011179 shows actual 2^72 but was updated 10 days ago.
There are some checks that run when an exponent page is loaded, for example to validate that the claimed TF-nofactor level is supported by logs of contiguous bitlevels. Apparently in this case for whatever reason the stored value for this exponent was the TJAOI baselevel of 67, but when you looked at the exponent page it correctly noticed that there was TF from 67-78 and updated the "actual" value accordingly. The manyfactors page would have been automatically updated to 78 in tonight's sync (I ran it early just to make sure the code was sane). I have now added an additional query that will immediately update the manyfactors table if applicable.


Quote:
Originally Posted by SethTro View Post
Another confusion I have is on an exponent page (for example https://www.mersenne.ca/exponent/340011179) what is actual ghz-day measuring? It doesn't seem to match the sum of TF results.
The "Actual" row refers to the TF level the exponent has been taken to (in comparison with the PrimeNet and GPU72 TF limits). The GHz-days numbers in this whole table are theoretical and may not match the details in the list of TF results (which may have missing and/or duplicate entries for bitlevels).
But your screenshot confuses me, I'm not sure how you saw (or still seeing?) near-zero effort, it should be about 90 GHd (attached).
Attached Thumbnails
Click image for larger version

Name:	340011179.png
Views:	16
Size:	8.8 KB
ID:	25479  
James Heinrich is offline   Reply With Quote
Old 2021-08-27, 02:46   #668
SethTro
 
SethTro's Avatar
 
"Seth"
Apr 2019

2·181 Posts
Default

I appreciate the last updated timestamp and the fact that the column updates as soon as I visit one of these numbers.

the actual TF value and GHz-Days is fixed by loading the page.

But there are still hundreds of exponents with the wrong "actual" TF level. Totally understand if you don't have time or energy to fix.

The root cause is that I submitted a large number of NF TF results from bitranges I tested in 2019 that had a composite factor at that time manual results didn't mark these ranges at complete (not knowing if I had finished TF the entire range), now the server records these as NF. Often I had done additional TF past that bit level leaving a hole that I recently plugged.

For those exponents mernesse.ca seems not to have updated the actual TF level. It's fairly easy to find these exponents with [url]https://www.mersenne.ca/morefactors.php[/url] (search for min TF=66, max TF=69) you'll find results like [url]https://www.mersenne.ca/exponent/92469287[/url] after you visit this page it gets updated and morefactors.php and manyfactors.php both update to reflect the truth. I can query results 100 at a time, convert them to URLs, and bulk open them but that feels a little silly. Is it possible to re run whatever logic is calculating actual TF over all exponents? over the ~20k with more than 5 factors?

I ran this to find all the exponents I found a factor for and bulk query those 5K so the entries get updated.

Code:
cat megaresults.txt  | grep -oP "(?<=M)[0-9]*(?= )" | sort -n -u | sed 's#^#https://www.mersenne.ca/exponent/#' > open.txt
cat ../open.txt | while read f; do sleep 2; wget "${f}"; done;
SethTro is offline   Reply With Quote
Old 2021-08-27, 10:01   #669
James Heinrich
 
James Heinrich's Avatar
 
"James Heinrich"
May 2004
ex-Northern Ontario

2·3·7·83 Posts
Default

Quote:
Originally Posted by SethTro View Post
But there are still hundreds of exponents with the wrong "actual" TF level. Totally understand if you don't have time or energy to fix.
To your knowledge, are there still a lot of exponents that are wrong, or did you already hammer my server to get them fixed?
James Heinrich is offline   Reply With Quote
Old 2021-08-27, 10:18   #670
SethTro
 
SethTro's Avatar
 
"Seth"
Apr 2019

2·181 Posts
Default

I lovingly smoothed the server for a bit and I can't find any that are incorrect any more.
SethTro is offline   Reply With Quote
Old 2021-09-02, 05:15   #671
SethTro
 
SethTro's Avatar
 
"Seth"
Apr 2019

5528 Posts
Default

I'm frequently looking at the TWOK (to below two thousand) report on https://www.gpu72.com/twok/
Each row links to James' wonderful TF status page e.g. https://www.mersenne.ca/status/tf/0/3/5/1460
Which in turn link to the list of unfactored exponents e.g. https://www.mersenne.org/report_fact...xp_hi=14619999


I was wondering if it would be possible when looking at a comparison with X days ago to link to the report_factors when I click on the factored column? e.g. https://www.mersenne.org/report_fact...xp_lo=14600000
Attached Thumbnails
Click image for larger version

Name:	professional_grade_photoshop_mockup.png
Views:	16
Size:	143.6 KB
ID:	25596  
SethTro is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Small inconsistencies between mersenne.org and mersenne.ca factor databases GP2 mersenne.ca 44 2016-06-19 19:29
mersenne.ca (ex mersenne-aries.sili.net) LaurV mersenne.ca 8 2013-11-25 21:01
Gaussian-Mersenne & Eisenstein-Mersenne primes siegert81 Math 2 2011-09-19 17:36
Mersenne Wiki: Improving the mersenne primes web site by FOSS methods optim PrimeNet 13 2004-07-09 13:51

All times are UTC. The time now is 20:26.


Tue Sep 28 20:26:18 UTC 2021 up 67 days, 14:55, 3 users, load averages: 1.38, 1.44, 1.57

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.