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)

richs 2011-09-05 23:54

Who or why is the database generating hundreds (if not thousands) of C70's and C80's that all share an identical factor?

schickel 2011-09-06 06:14

[QUOTE=richs;270915]Who or why is the database generating hundreds (if not thousands) of C70's and C80's that all share an identical factor?[/QUOTE]I'm sure we can all think of a few suspects (check near the bottom of this [URL="http://www.mersenneforum.org/showthread.php?t=12945&page=20"]thread[/URL]....)

[SIZE="1"]Maybe someone was worried about the distributed DB workers running out of easy work![/SIZE]

LaurV 2011-09-06 10:05

1 Attachment(s)
[QUOTE=wblipp;270825]:tu: :bow:

Looking at the [URL="http://factorization.ath.cx/stat_1.php"]distribution of composites[/URL] this afternoon, I see that there are no 89 nor 90 digit composites left, and that 88 and 91 digit ones are dropping rapidly.
[/QUOTE]

with yoyo's script walking around it is easier for many of us to contribute, and that is one of the reasons.

I will take this opportunity to ask yoyo again for a small... big favor... I modified the second part of the script to output the report result in a nicer form. Like a small table, and include all possible situations for the answer I could get from the server. It looks much nicer now.

However, I am really missing the "partial" reports of yafu. When it says "120/200 curves tested", and so on. If you run yafu separate, you can see the difference. With the script, specially for big numbers available now (C90++), the script is waiting long times without any outputs, giving you a feeling that "it is stuck". I really miss SIQS partial outputs from yafu "xxxx/yyyy relations found", etc).

I tried to "fix" this part too, but I ran in something called "buffering I/O's" in perl and I stuck my ears there.... No way to go forward in reasonable amount of time, maybe after few years when my perl knowledge will grow, I would be able to make some progress... :D... I tried to use sys** functions, and other "artifacts" available in perl but my knowledge of perl still crawling, and not fully walking. So, I could not get the effect I wanted.

Yoyo, if you have some time, please check my comments inside of the script that I attached here. Hope you understand what I want...

Well, now you will say "this guy is difficult to please" or "if you give him a finger..." whatever, if you decide for middle finger it would be ok with me. I just tried :D The script is ok as it is now, but I am a bit of perfectionist, especially when it come to programming...

[p.s. rename .zip to .rar if you can't open, the forum won't let me to attach .rar, my winzip/winrar/totalcmd can open the file without rename, but I don't know in your case]

yoyo 2011-09-06 15:05

Hello,

I took over the second part of your changes (beautifying the output), but wrote it a bit shorter.

[CODE]
#!/bin/perl

use warnings;
use strict;
use LWP::Simple;

while(1){
print "get composites\n";
my $rand=int(rand(1000));
my $contents = get("http://factorization.ath.cx/listtype.php?t=3&mindig=70&perpage=1&start=$rand&download=1");
if (!defined $contents or $contents =~ /[a-z]/ ){
print "$contents\n";
print "Error, no composites fetched\n";
sleep(60);
}

my @composites=split(/\s/, $contents);
foreach my $composite (@composites) {
print "Factoring ".length($composite)." digits: $composite\n";
my @results;
open(YAFU, "yafu factor($composite) |") or die "Couldn't start yafu!";
while (<YAFU>) {
print "$_";
chomp;
if (/^[CP].*? = (\d+)/) {
push( @results, $1 );
print "*****\n";
}
}
close(YAFU);

if ( scalar(@results) > 0 ) {
print "===========================================================================\n";
print "report factors\n";
my $url="http://factorization.ath.cx/report.php?report=".$composite."%3D".join('*',@results);
#print "$url\n";
$contents=get($url);
#print "$contents\n";

my $nofactors = ($contents =~ s/Does not divide//g);
my $already_known = ($contents =~ s/Factor already known//g);
my $added = ($contents =~ s/Factor added//g);
my $small = ($contents =~ s/Small factor//g);

print "\tNew factors added: " . ($added ? $added : 0) . "\n";
print "\tFactors already known: " . ($already_known ? $already_known : 0) . "\n";
print "\tSmall factors: " . ($small ? $small : 0) . "\n";
print "\tErrors (does not divide): " . ($nofactors ? $nofactors : 0) . "\n";
print "===========================================================================\n";
}else {
print "Error, no result found\n";
sleep(60);
}
}
}
die;
[/CODE]

The issue with the continous output of YAFU is, that the while(<YAFU>) loop reads the output line by line. But yafu doesn't finish a line instead it just overwrites the line, no line end is printed. Therefore while() waits until a line end is written by yafu.
Don't know yet how to handle yafu output different. I think the YAFU filehandle must be read in binmode() and not line by line anymore, which makes the further processing more complicated.
yoyo

RichD 2011-09-07 01:28

[QUOTE=yoyo;270712]... I set up a small Boinc server ...
Currently C88 and C89 are handled.[/QUOTE]

Hmm, now all we need is an ECMNet server to handle the ~C96-C130. If the number survives a full ECM run then it gets moved to the poly select queue, then onto the sievers and beyond.

This could be a fascinating assembly line process...

P.S. There was an earlier post suggesting an automated process for identifying and creating an SNFS poly if the number is warranted.

Andi47 2011-09-07 04:25

[QUOTE=cmd;271007]... [URL="http://www.mymovies.it/trailer/?id=21176"]c_able n°g[/URL]..[/QUOTE]


¿¿¿¿¿¿¿¿¿¿¿¿¿¿

Syd 2011-09-07 18:07

@yoyo

wow, this project is working perfectly! I added my homecomputer a few days ago and it has done dozens of numbers so far.

[QUOTE=RichD;270857]I attempted an inquiry for Aliquot sequence 1840896 and it took several seconds. I was using all the default values. The footnote shows:which is an extremely long time. Is there an index that is not in order?[/QUOTE]

Thats normal if the sequence is queried the first time, say first time since I had to delete the index table a few weeks ago.


[QUOTE=richs;270915]Who or why is the database generating hundreds (if not thousands) of C70's and C80's that all share an identical factor?[/QUOTE]

not only C70 and C80, C90 to C130. Had to remove ~10k numbers with this factor.
[QUOTE=cmd;271050]s![/QUOTE]

Missing the proper error message.

smh 2011-09-07 18:26

[QUOTE=Andi47;271033]¿¿¿¿¿¿¿¿¿¿¿¿¿¿[/QUOTE]I deleted cmd's posts.

I think it's time for a new ban....

richs 2011-09-07 21:31

@Syd,

There were a large number of composites introduced today all with the factor 10^40-17.

LaurV 2011-09-09 03:57

[QUOTE=cmd;271220]... C_D ... \o/[/QUOTE]

Man, what are you trying to show? I can't get it, and you totally puzzled me. You made a habit in walking my paths and showing it in public, or what? We know that flaw, and if one is reporting factors, I see no reason why he should report wrong factors, beside of the case when he is sick. Are ye sick or what? Careful when eating those mushrooms. I don't believe that the small numbers are stored in factor lists in the DB. It would make no sense. It is faster to compute them, than to search for them. They are just discarded, factors or not factors. Why are you wasting your time?

Andi47 2011-09-09 13:57

Edit: some mod was faster...


All times are UTC. The time now is 22:58.

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