mersenneforum.org

mersenneforum.org (https://www.mersenneforum.org/index.php)
-   FactorDB (https://www.mersenneforum.org/forumdisplay.php?f=94)
-   -   Factoring database (https://www.mersenneforum.org/showthread.php?t=11119)

schickel 2011-07-16 14:38

[QUOTE=Syd;266592]Thank you! These limits were determined by experiment, so they are not 100% accurate. But they dont need to be.



Sure:

[url]http://factordb.com/stat_1.php?prp[/url][/QUOTE]Thanks for that!

BTW, in case I haven't said it this week yet, great resource you have....it's making things over at the Aliquot forum very easy to manage!

10metreh 2011-08-06 08:54

The DB is being incredibly slow and is getting lots of "server is taking too long to respond" errors on Firefox. Is someone dumping loads of useless numbers into the DB again?

EdH 2011-08-06 13:57

[QUOTE=10metreh;268485]The DB is being incredibly slow and is getting lots of "server is taking too long to respond" errors on Firefox. Is someone dumping loads of useless numbers into the DB again?[/QUOTE]
At this time, for me, all seems fine - normal (quick) response time, about 22M composites without known factors... [Fedora - Firefox]

LaurV 2011-08-08 09:15

How actual the "Smallest numbers without known factors (sorted by digits only)" are? I have no idea about the things you are talking here, and where that numbers are coming from (I did not read all the thread, just followed last links) but some of that numbers seems quite easy to factor (under 100 digits) and I could dedicate some CPU time to factor some of them if they are really needed. For example this one took under 10 minutes on Dario's applet:

[CODE]
4728913920212267541311160316535971501621745162863049097438144927735315373737931=
612275446716620701510495422889598831071 x
7723507361876867225411296165036058400661.
[/CODE](listed on position 2 on the list, 79 digits)

kar_bon 2011-08-08 09:35

[QUOTE=LaurV;268621]How actual the "Smallest numbers without known factors (sorted by digits only)" are?[/QUOTE]


See [url=http://factordb.com/stat_1.php]here[/url] for the countinge of small composites and [url=http://factordb.com/listtype.php?t=3]here[/url] for a list.

See also [url=http://www.mersenneforum.org/showpost.php?p=230762&postcount=894]this post[/url] for a automated scripts to get, factor and submit those small composites.

PS: The workers of the FactorDB will factor those small composites by time. You can do this best with the script above, or using yafu (it's faster than the applet) manually.

PPS: Sorry, fire :D

firejuggler 2011-08-08 09:36

This list list all the composite which are not fctored in the db, thats all. there is a script written in perl that grab 100 number of that list, factor them and send them back to the database. you need to have yafu/msieve and wget installed
[code]
#!H:\strawbery\perl
use strict;

print("FactorDB Helper 1.4 with yafu\n");

# wget executable
my $wget = "H:/Docume~1/Vincent/Bureau/script/wget --no-check-certificate";

## min and max number of digits to factor
my $mindig = 5;
my $maxdig = 75;

$| = 1;
$/ = undef;

sub shuffle {
for ( my $i = 0 ; $i < @_ ; $i++ ) {
my $j = rand( @_ - $i ) + $i; # pick random element
( $_[$i], $_[$j] ) = ( $_[$j], $_[$i] ); # swap 'em
}
}

while (1) {

my @todo;

# getting 100 random unfactored numbers
$_ = `$wget -O - "http://factordb.com/getrandom.php?n=100&t=3&mindig=$mindig&maxdig=$maxdig"`;

# or getting 100 smallest unfactored numbers
#$_ = `$wget -O - "http://factordb.com/listtype.php?t=3&scriptmode=1"`;

while (/(\d{19})\s(\d+)/gs) {

my $id = $1;
my $digits = $2;

if ( ( $digits >= $mindig ) && ( $digits <= $maxdig ) ) {
push( @todo, $id );
}
}

print( "Todo size: ", scalar(@todo), "\n" );

if ( scalar(@todo) == 0 ) {
print("No suitable numbers. Resting for a while.\n");
sleep 60;
next;
}

shuffle(@todo);

foreach (@todo) {
my $id = $_;

# checking status and getting the number in decimal
$_ = `$wget -O - http://factordb.com/getnumber.php?id=$id`;
if ( !/(\S+)\s(\d+)/ ) {
print("Error 1\n");
sleep 60;
next;
}

if ( $1 != "C" ) {
print("\nid=$id has known factors / is already factored.\n\n");
next;
}

my $number = $2;
my $digits = length($number);

print("Factoring $digits-digit number (id=$id)\n");

my $yafu = "H:/Docume~1/Vincent/Bureau/script/yafu \"factor($number)\" >joo.log";
system($yafu);

my $text = do { local ( @ARGV, $/ ) = "joo.log"; <> };
print "Num: $number\nResults:\n";
my @results;

my @out = split( "\n", $text );
for (@out) {
if (/P.*? = (\d+)/) {
push( @results, $1 );
print "$1\n";
}
}

unlink "joo.log";

if ( scalar(@results) > 0 ) {
my $factors = join("\n",@results);
$_ = `$wget --post-data "report=$factors&format=0" -O - http://factordb.com/index.php?id=$id`;
}
else {
print("Error 2\n");
sleep 60;
}
}
}
[/code]this code is in the earlier answer of this thread.
edit : damn you kar_bon, damn you!

LaurV 2011-08-08 09:48

Thanks both of you. Meantime I figured it out how it works and reported a bunch of the small already (including the one mentioned in my previous post). It is a bit boring to do it by hand, but it is fun and I found it out that it takes about the same time to factor one of the smallest numbers from the database using yafu as it would take to play a freecell game (I am quite a fast player :P) and I will return to this database from time to time when I have nothing to do for a couple of minutes. I believe it is more useful then playing freecell hehe. I bookmarked it.

cmd 2011-08-08 13:46

[QUOTE=LaurV;268625]Thanks both of you. Meantime I figured it out how it works and reported a bunch of the small already (including the one mentioned in my previous post). It is a bit boring to do it by hand, but it is fun and I found it out that it takes about the same time to factor one of the smallest numbers from the database using yafu as it would take to play a freecell game (I am quite a fast player :P) and I will return to this database from time to time when I have nothing to do for a couple of minutes. I believe it is more useful then playing freecell hehe. I bookmarked it.[/QUOTE]

Math can do all !

schickel 2011-08-08 14:57

[QUOTE=LaurV;268621]How actual the "Smallest numbers without known factors (sorted by digits only)" are? I have no idea about the things you are talking here, and where that numbers are coming from (I did not read all the thread, just followed last links) but some of that numbers seems quite easy to factor (under 100 digits) and I could dedicate some CPU time to factor some of them if they are really needed. [/QUOTE]The "smallest composites" are the leftovers from factoring larger numbers. If you click through to a lot of them they have the form ([i]expression[/i])/x/y/z. <[i]expression[/i]> is the original number, while [i]x, y,[/i] & [i]z[/i] are other factors found by various means.

Don't worry about anything under 70 digits, the DB-local workers will factor those quicker than you can download, factor, and upload them.

For numbers over that, you have a couple of options. kar_bon mentioned and firejuggler posted scripts that you can run that factor numbers >70 digits. There are several forum members that do that.

Or you can go to the download tab and grab a larger set. What I do when I have some time on a non-dedicated PC is download the 1000 numbers, trim out the smaller ones, and then run "[b]msieve -e[/b]" against them.

Depending on how much ECM has been run against them by the DB and/or uploader, sometimes you can factor quite a few in a couple of hours...

LaurV 2011-08-09 01:39

[QUOTE=schickel;268653]
Don't worry about anything under 70 digits...[/QUOTE]

I don't, because I did not see any. It seems that only "over 70" are added to that list, most probably "under 70" are automatically taken care by the server without adding them to that list. Or at least that was my impression after spending a couple of hours on database yesterday. In fact it is said somewhere there that the exponents under 70 digits are factored by I don't know which machine on that list. So I took care yesterday (gmt+7 here) of everything that appeared under 82 bits. That was fun, and quite suitable task for me, who I am quite impatient and don't like waiting days to see some factors :D

(running yafu and Dario's applet, manually, in "stealing clocks" mode, that means: they don't have their own core, as all cores are busy with other - longer - tasks)

P.S. love your avatar!

Syd 2011-08-09 02:30

[QUOTE=10metreh;268485]The DB is being incredibly slow and is getting lots of "server is taking too long to respond" errors on Firefox. Is someone dumping loads of useless numbers into the DB again?[/QUOTE]

This time it was the googlebot. I had no robots.txt ready to avoid it crawling the page so it also "crawled" lots of scan-buttons. When I logged in on the server the load average was >300, lots of ecm jobs running.
I dont see any need to have the factordb in google, therefore disabled it completely.

[QUOTE=LaurV;268733]I don't, because I did not see any. It seems that only "over 70" are added to that list, most probably "under 70" are automatically taken care by the server without adding them to that list. Or at least that was my impression after spending a couple of hours on database yesterday. In fact it is said somewhere there that the exponents under 70 digits are factored by I don't know which machine on that list. So I took care yesterday (gmt+7 here) of everything that appeared under 82 bits. That was fun, and quite suitable task for me, who I am quite impatient and don't like waiting days to see some factors :D
[/QUOTE]

Smaller numbers can get on that list, but they are factored too quick to be on that list for longer than a few seconds.

I'm wondering if it would make sense to factor some numbers around 90 digits with a good snfs poly using snfs. Just factored (2^298*419+911)/281 (90 digits) as a test, it took ~5 minutes to get 1M relations + 1 minute for postprocessing using msieve, yafu/siqs took >30 minutes.


All times are UTC. The time now is 23:02.

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