Wie schwer ist es, die Anzahl der Faktoren einer ganzen Zahl zu zählen?

30

Wie schwer ist es bei einer ganzen Zahl einer Länge von Bits, die Anzahl der Primfaktoren (oder alternativ die Anzahl der Faktoren) von auszugeben ?n NNnN

Wenn wir die Primfaktorisierung von , wäre dies einfach. Wenn wir jedoch die Anzahl der Primfaktoren oder die Anzahl der allgemeinen Faktoren wüssten, ist nicht klar, wie wir die tatsächliche Primfaktorisierung finden würden.N

Ist dieses Problem untersucht? Gibt es bekannte Algorithmen, die diese Frage lösen, ohne die Primfaktorisierung zu finden?

Diese Frage wird durch Neugier und teilweise durch eine mathematische Frage motiviert .

Artem Kaznatcheev
quelle
3
Wenn die Anzahl der Primfaktoren groß ist, würde dies bedeuten, dass N einen kleinen Faktor hat, der leicht gefunden werden kann. Wenn andererseits die Anzahl der Primfaktoren von N klein ist, sagen wir 2, dann ähnelt dies dem Problem, ein Produkt aus zwei Primzahlen zu faktorisieren, und es scheint nicht hilfreich zu sein, zu wissen, dass die Anzahl der Faktoren 2 ist. Siehe diese Frage von Omid über ihre durchschnittliche Härte.
Kaveh
1
Eine weitere Sache ist , dass das Problem des Zählens aller Faktoren (nicht nur der Primfaktoren) in # T C 0 und daher auch in P vorliegt (und wahrscheinlich auch für # T C 0 unter A vollständig ist), da die Division in einheitlicher vorliegt C 0 -Reduktionen). TC0#TC0P#TC0EINC0
Kaveh
1
Kaveh, wenn Sie Ihren obigen Kommentar zu einer Antwort erweitern könnten, wäre das großartig. Ich verstehe nicht genau, wie die Division in Sie dazu bringt, die Faktoren in # TC 0 zu zählen, ohne auch zu implizieren, dass Factoring in TC 0 ist . Dieses Missverständnis ist wahrscheinlich auf meine eigenen Fehler zurückzuführen, aber eine detailliertere Antwort würde helfen. TC0#TC0TC0
Derrick Stolee
1
bekannte AFAIK! und das ist zu einfach. Aber ich sehe nicht, wo die Auseinandersetzung aufhört. ps: Ich glaube, ich weiß, dass meine Definition von nicht gut ist (es ist dasselbe wie # P ) und das ist das Problem. #TC0#P
Kaveh
1
@Artem, wird als die Anzahl der Annahme von Pfaden einer definierten N L - Maschine, und eine N L Maschine nur logarithmisch verwenden kann (in | y | ) Menge an Speicherplatz für Erraten x . Wir raten zu viele Bits , wenn wir die Definition verwenden ich schrieb, eine A C 0 Berechnung mit polynomial vielen Vermutungen würden erfassen N P , in ähnlicher Weise die Anzahl der Zählung x s von Polynom Größe , dass eine A C 0 Maschine akzeptiert sie geben # P#LNLNL|y|xAC0NPxAC0#P(Errate die Berechnung auch und überprüfe, ob sie wirklich akzeptabel ist).
Kaveh

Antworten:

16

Dies ist nicht meine Antwort, aber Terrence Tao hat diese Frage auf MathOverflow wunderschön beantwortet .

Hier sind die ersten Zeilen seiner Antwort. Um die vollständige Antwort zu lesen, folgen Sie dem Link.

Es gibt eine Folklorebeobachtung, dass man n wahrscheinlich schnell vollständig faktorisieren könnte, wenn man in der Lage wäre, die Anzahl der Primfaktoren einer ganzen Zahl n schnell zu zählen. Es wird angenommen, dass das Problem der Zählprimfaktoren vergleichbare Schwierigkeiten hat, sich selbst zu faktorisieren.

(Ich war mir nicht sicher, ob dies eine Antwort oder ein Kommentar sein sollte. Aber es ist wirklich eine Antwort, obwohl sie nicht von mir geschrieben wurde. Ich habe die Antwort im Community-Wiki so erstellt, dass sie ohne unnötigen Grund hochgestuft oder akzeptiert werden kann gib mir einen guten ruf.)

Robin Kothari
quelle
5
Meiner Meinung nach verdient ein Zeiger auf eine Antwort wie diese Reputationspunkte (es sollte also kein Community-Wiki sein), aber ich verstehe, dass verschiedene Menschen unterschiedliche Ansichten haben.
Tsuyoshi Ito
Aber dies ist keine formale Reduktion ....
Arnab
1
@arnab: Nein, das ist es nicht. Deshalb schrieb er: "Dann könnte man wahrscheinlich schnell n vollständig
Tsuyoshi Ito
1

Wie andere angegeben haben, würde das Zählen der Faktoren höchstwahrscheinlich das Faktorisieren von n erfordern. Die Aufteilung in Studien kann jedoch die Anzahl der Faktoren begrenzen. Sie wissen zum Beispiel, dass höchstens n Faktoren hat, da kein Faktor kleiner als 2 sein kann. Wenn Sie testen, ob N durch 2 teilbar ist, wissen Sie auch, dass N höchstens log 3 ( N ) Faktoren usw. hat Der Nachteil ist, dass jede Größenverringerung zunehmend schwieriger wird - Sie müssen bis zu N 1 / p testen, um auszuschließen, dass N mehr als p Faktoren enthält.NnNNLog3(N)N1/pNp

Foo Barrigno
quelle