mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > FactorDB

Reply
 
Thread Tools
Old 2021-09-14, 15:47   #12
chris2be8
 
chris2be8's Avatar
 
Sep 2009

2,179 Posts
Default

Flooding factordb with garbage entries is probably illegal in most countries that have laws about computer misuse. But only Syd could tell where the garbage is coming from or start legal action by complaining to the police. I wish he would.

Of course if someone starts bragging about flooding factordb by all means report them to the police.
chris2be8 is offline   Reply With Quote
Old 2021-09-15, 13:58   #13
Dr Sardonicus
 
Dr Sardonicus's Avatar
 
Feb 2017
Nowhere

5,009 Posts
Default

IMO any submission to factordb of a "composite with no known factors" which is "too small" (fewer than 70 decimal digits, say) should be rejected out of hand. IMO those flooding, or trying to flood the site with such submissions should be summarily executed blocked.
Dr Sardonicus is offline   Reply With Quote
Old 2021-09-16, 02:06   #14
LaurV
Romulan Interpreter
 
LaurV's Avatar
 
"name field"
Jun 2011
Thailand

34·112 Posts
Default

Those things are not easy to do.

I am not a fan of Syd either (more specifically, his way to maintain things and his non-communicative person), as I mentioned in some previous posts (the authentication on that site still sucks, and I can login like almost anybody else, which still means nothing, as your work is not credited to you anyhow).

But to be objective, "flooding" of the DB is, most of the times (with only few exceptions of deliberate vandalism or stupidity), accidental. That is because how the DB works, if you look for formulas, it will try to generate the series for you. For example, one user tries "3n^2+69" or other stupidity which is very simple, but pick random constants with a low probability that somebody else tried in the past, and voila!, the DB is filled with over 3000 small composites, because it will try to generate them as high n as you look for, and all of them shatter in smaller pieces. Cutting off those features will be even worse (I use it myself many times, looking for CRUS sequences or aliquots, and it is indeed a VERY useful feature).

So, you would need a kind of very clever algorithm to parse your formulas and know when to fill the DB with all those things and when not. The "wrench" method is way easier to implement: the authentication and crediting the users properly, similar to what PrimeNet and thousands of other sites do (damn, no technical forums around, like stackexchange, etc, would let you post comments to other posts unless your "credit" is high enough, like 50 or so, which is not easy to get!), and allow only "trusted" users (i.e. those who do really work for the DB, like factoring, proving primes, etc) to create more than "n" indexes per "time unit" (n and t to be chosen by the admins). And we are back to my pain, haha, crediting system...

Last fiddled with by LaurV on 2021-09-16 at 02:15
LaurV is offline   Reply With Quote
Old 2021-09-16, 16:00   #15
chris2be8
 
chris2be8's Avatar
 
Sep 2009

2,179 Posts
Default

There are loads of entries like http://factordb.com/index.php?id=1100000002692465505
Code:
(10^256*2-1)*(10^256-1)*(10^240*9-1)*(10^240*6-1)*(10^240*2-1)*(10^240*8-1)*(10^240*3-1)*(10^240*7-1)*(10^240*5-1)*(10^240*4-1)*(10^240-1)*(10^224*2-1)*(10^224*3-1)*(10^224*8-1)*(10^224*4-1)*(10^224*6-1)*(10^224*5-1)*(10^224*7-1)*(10^224*9-1)*(10^224-1)*(10^208*8-1)*(10^208*6-1)*(10^208*9-1)*(10^208*4-1)*(10^208*7-1)*(10^208*2-1)*(10^208*5-1)*(10^208*3-1)*(10^208-1)*(10^192*6-1)*(10^192*2-1)*(10^192*3-1)*(10^192*4-1)*(10^192*5-1)*(10^192*7-1)*(10^192*8-1)*(10^192*9-1)*(10^192-1)*(10^176*2-1)*(10^176*3-1)*(10^176*5-1)*(10^176*4-1)*(10^176*6-1)*(10^176*8-1)*(10^176*9-1)*(10^176*7-1)*(10^176-1)*(10^160*7-1)*(10^160*5-1)*(10^160*3-1)*(10^160*8-1)*(10^160*2-1)*(10^160*4-1)*(10^160*6-1)*(10^160*9-1)*(10^160-1)*(10^144*8-1)*(10^144*7-1)*(10^144*9-1)*(10^144*6-1)*(10^144*5-1)*(10^144*3-1)*(10^144*2-1)*(10^144*4-1)*(10^144-1)*(10^128*8-1)*(10^128*7-1)*(10^128*6-1)*(10^128*9-1)*(10^128*4-1)*(10^128*5-1)*(10^128*2-1)*(10^128*3-1)*(10^128-1)*(10^112*2-1)*(10^112*3-1)*(10^112*4-1)*(10^112*5-1)*(10^112*6-1)*(10^112*7-1)*(10^112*8-1)*(10^112*9-1)*(10^112-1)*(10^96*4-1)*(10^96*5-1)*(10^96*2-1)*(10^96*3-1)*(10^96*8-1)*(10^96*9-1)*(10^96*6-1)*(10^96*7-1)*(10^96-1)*(10^80*5-1)*(10^80*3-1)*(10^80*4-1)*(10^80*2-1)*(10^80*6-1)*(10^80*7-1)*(10^80*8-1)*(10^80*9-1)*(10^80-1)*(10^64*4-1)*(10^64*2-1)*(10^64*6-1)*(10^64*3-1)*(10^64*7-1)*(10^64*9-1)*(10^64*8-1)*(10^64*5-1)*(10^64-1)*(10^48*5-1)*(10^48*3-1)*(10^48*4-1)*(10^48*7-1)*(10^48*2-1)*(10^48*6-1)*(10^48*8-1)*(10^48*9-1)*(10^48-1)*(10^32*8-1)*(10^32*2-1)*(10^32*4-1)*(10^32*5-1)*(10^32*3-1)*(10^32*6-1)*(10^32*7-1)*(10^32*9-1)*(10^32-1)*(10^16*2-1)*(10^16*9-1)*(10^16*8-1)*(10^16*7-1)*(10^16*4-1)*(10^16*3-1)*(10^16*5-1)*(10^16*6-1)*(10^16-1)/21128027404011231796679987089238683164672043293734347282046280057193578894183767468329620622544976128153932421099218866770930355449282470547961374258627439180859183715567849104301257593632410818381900850357635788687184944699005395305846125992782125646438379456783974431565945347773333727609172924231625208211073348271485590689601479896188418548048611004717961244263035178689788728093220777991652289635813714618985588702795302640770263683408799558625395552914001305755973519700612728726378790223516800452270166696383487690764601947182978363725409783610645988676885563368463566022779975430626504037923008352840277848048708195248393785202569233498062611501282107375250866615538851656557685739743650316737240235134070184036122044090690553835467078159298298814982749061154507518662758331480931/2686547288053565305126143066170755136583589822324669440338472283271083^3/310000000000000031^8/223232321^16/3^68/7^30/11^17
It was probably added as just the product of the small bits in brackets, then factordb searched for small factors and found the divisors.

Could something like that be added accidentally?
chris2be8 is offline   Reply With Quote
Old 2021-09-19, 12:01   #16
Happy5214
 
Happy5214's Avatar
 
"Alexander"
Nov 2008
The Alamo City

75910 Posts
Default

We also have the formula "64^63%(2^63-1)*3969", which FactorDB has decided to store as not 1, not 2, but 3 different IDs, despite the formula resolving to a 4 digit number! These are now cluttering the unfactored composites list, since by the way it can't tell that 3^4 * 7^2 is a complete factorization.

Edit: It also displays those composites as 23 digits on the status pages. What?

Edit 2: Any guess who entered those numbers into the database?

Last fiddled with by Happy5214 on 2021-09-19 at 12:18 Reason: Who added them?
Happy5214 is offline   Reply With Quote
Old 2021-10-23, 16:57   #17
MattcAnderson
 
MattcAnderson's Avatar
 
"Matthew Anderson"
Dec 2010
Oregon, USA

911 Posts
Default

Hi all,

I really appreciate the informative replies about the number of prime factors in a 100 digit number. I read more from the Wikipedia article linked above.
Look at - Erdos-Kac theorem and see the numerical examples.

You will see that a 66 digit number has on average 5 distinct primes in its full prime factorization.

Enjoy,

Matt

Last fiddled with by MattcAnderson on 2021-10-23 at 16:59 Reason: changed URL to include anchor mid page
MattcAnderson is offline   Reply With Quote
Old 2021-10-23, 20:51   #18
retina
Undefined
 
retina's Avatar
 
"The unspeakable one"
Jun 2006
My evil lair

33·233 Posts
Default

Quote:
Originally Posted by chris2be8 View Post
Flooding factordb with garbage entries is probably illegal in most countries that have laws about computer misuse.
Forget about the police, or other legality "solutions". They are not the way to deal with it.

The real problem is that FactorDB doesn't make it clear that querying a number also places it into the DB. So I suspect that many users are simply not aware that making a query alters the DB. I was not aware of this either until I saw complaints on this board.

Plus, it is not a user's legal obligation to keep FactorDB in a "clean" state. Who decides what is "clean" anyway? That is problem for the FactorDB programmer to decide. You can't blame the user's for "doing it wrong", they don't know what is "right", they just want to look up a number. Any other technical details aren't the user's problem. Stop blaming the users!

Don't be like Apple: "You're holding it wrong."
retina is online now   Reply With Quote
Old 2021-10-23, 22:44   #19
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

37×109 Posts
Default

I was once told how to query the db without adding the queried number, but it is not readily available as a choice. And, Laurv brought up something I was unaware of. Then again, I'm ignorant of many of the db's functions. I think the original intent was actually only to provide for composites in relation to Aliquot Sequences. But, now it's a repository for any number whether associated with anything, or not.
EdH is offline   Reply With Quote
Old 2021-10-24, 02:41   #20
axn
 
axn's Avatar
 
Jun 2003

141F16 Posts
Default

Quote:
Originally Posted by EdH View Post
I think the original intent was actually only to provide for composites in relation to Aliquot Sequences.
No. That was never "the original intent". It was always meant to be repository of factorizations. The sequences feature came later.
axn is offline   Reply With Quote
Old 2021-10-24, 13:00   #21
EdH
 
EdH's Avatar
 
"Ed Hall"
Dec 2009
Adirondack Mtns

37×109 Posts
Default

Quote:
Originally Posted by axn View Post
No. That was never "the original intent". It was always meant to be repository of factorizations. The sequences feature came later.
Thanks for the correction. I did come in quite a bit after the inception. I'm not sure what I was reading. . .
EdH is offline   Reply With Quote
Old 2021-10-24, 18:24   #22
firejuggler
 
firejuggler's Avatar
 
Apr 2010
Over the rainbow

A5F16 Posts
Default

Here is a perl script that automatically fetch a number of composite and use yafu, then send the result back.
This script come from this forum, but the original post is lost to time


Code:
#!/usr/bin/perl

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

my %total;

while(1){
    print "get composites\n";
    my $rand=int(rand(20));
    my $contents = get("http://factordb.com/listtype.php?t=3&mindig=10&perpage=1&start=$rand&download=1");
    if (!defined $contents or $contents =~ /[a-z]/ ){
    print "$contents\n";
    print "Error, no composites fetched\n";
    sleep(10);
    } else {
    
    my @composites=split(/\s/, $contents);
    foreach my $composite (@composites) {
        print "Factoring ".length($composite)." digits: $composite\n";
        my @results;
        open(YAFU, "./yafu \"factor($composite)\" -threads 3|") 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://factordb.com/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);
        $total{'nofactors'}     += $nofactors;
        $total{'already_known'} += $already_known;
        $total{'added'}         += $added;
        $total{'small'}         += $small;
        
        print "\tNew factors added:        " . ($added         ? $added         : 0) . " / $total{'added'}\n";
        print "\tFactors already known:    " . ($already_known ? $already_known : 0) . " / $total{'already_known'}\n";
        print "\tSmall factors:            " . ($small         ? $small         : 0) . " / $total{'small'}\n";
        print "\tErrors (does not divide): " . ($nofactors     ? $nofactors     : 0) . " / $total{'nofactors'}\n";
        print "===========================================================================\n";
        }else {
        print "Error, no result found\n";
        sleep(60);
        }
    }
    }
}
die;
please note that you can modify the value at line 11 or 12, if you wish for a minimum size or a different number of composite.

Last fiddled with by firejuggler on 2021-10-24 at 18:25
firejuggler is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Semiprime Squared Prime Test ¿ ONeil ONeil 8 2020-12-06 06:45
Semiprime and Prime Generator ONeil ONeil 2 2020-12-01 04:14
...factorial(n) plus/minus 1 is semiprime enzocreti enzocreti 3 2020-09-02 16:35
Semiprime counting danaj Computer Science & Computational Number Theory 12 2018-10-14 03:16
Factored my first SemiPrime -Some Questions tal Msieve 31 2011-05-22 18:17

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


Wed Oct 27 08:20:46 UTC 2021 up 96 days, 2:49, 0 users, load averages: 1.41, 1.04, 0.98

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.