Jak trudno policzyć liczbę czynników całkowitych?

30

Biorąc pod uwagę liczbę całkowitą długości n bitów, jak trudne jest wyprowadzenie liczby czynników pierwszych (lub alternatywnie liczby czynników) N ?NnN

Gdybyśmy znali podstawową faktoryzację , byłoby to łatwe. Gdybyśmy jednak znali liczbę czynników pierwszych lub liczbę czynników ogólnych, nie jest jasne, w jaki sposób ustalilibyśmy faktyczne czynniki pierwsze.N

Czy ten problem jest badany? Czy znane są algorytmy, które rozwiązują to pytanie bez znalezienia faktoryzacji pierwotnej?

To pytanie jest motywowane ciekawością, a częściowo pytaniem matematycznym .

Artem Kaznatcheev
źródło
3
Jeśli liczba czynników pierwszych jest duża, oznaczałoby to, że N ma mały czynnik, który można łatwo znaleźć. Z drugiej strony, jeśli liczba czynników pierwszych N jest niewielka, powiedzmy 2, to jest to podobne do problemu faktorowania iloczynu dwóch liczb pierwszych, a świadomość, że liczba czynników wynosi 2, nie wydaje się pomóc. Zobacz to pytanie Omida dotyczące ich średniej twardości.
Kaveh
1
Jeszcze jedna rzecz, ponieważ podział jest w jednolitej , problem zliczania wszystkich czynników (nie tylko liczb pierwszych) występuje w # T C 0, a zatem występuje również w P (i prawdopodobnie jest również kompletny dla # T C 0 pod A Redukcje C 0 ). TC0#TC0P#TC0AC0
Kaveh
1
Kaveh, gdybyś mógł rozwinąć swój powyższy komentarz w odpowiedź, byłoby świetnie. Nie do końca rozumiem, jak podział w prowadzi do liczenia czynników w # TC 0, nie sugerując również, że faktoring jest w TC 0 . To nieporozumienie jest prawdopodobnie spowodowane moimi własnymi niepowodzeniami, ale pomocna byłaby bardziej szczegółowa odpowiedź. TC0#TC0TC0
Derrick Stolee,
1
znany AFAIK! i to jest zbyt łatwe. Ale nie widzę, gdzie argument się załamuje. ps: Chyba wiem, że moja definicja nie jest dobra (jest taka sama jak # P ) i na tym polega problem. #TC0#P
Kaveh
1
#LNLNL|y|xAC0NPxAC0#P(zgadnij również obliczenia i sprawdź, czy naprawdę jest to obliczenie akceptujące).
Kaveh

Odpowiedzi:

16

To nie jest moja odpowiedź, ale Terrence Tao udzielił pięknej odpowiedzi na to pytanie na MathOverflow.

Oto kilka pierwszych linii jego odpowiedzi. Aby przeczytać pełną odpowiedź, kliknij link.

Istnieje obserwacja folklorystyczna, że ​​jeśli ktoś byłby w stanie szybko policzyć liczbę liczb pierwszych liczby całkowitej n, to prawdopodobnie byłby w stanie szybko obliczyć liczbę całkowitą n. Uważa się zatem, że problem czynników liczących pierwsze ma podobną trudność jak samo faktoring.

(Nie byłem pewien, czy to powinna być odpowiedź, czy komentarz. Ale to naprawdę odpowiedź, chociaż nie jest napisana przeze mnie. Udzieliłem odpowiedzi Community Wiki, aby można było ją głosować lub zaakceptować bez niepotrzebnego dając mi reputację).

Robin Kothari
źródło
5
Moim zdaniem wskaźnik do takiej odpowiedzi zasługuje na punkty reputacji (więc nie powinno to być wiki społeczności), ale rozumiem, że różni ludzie mają różne poglądy.
Tsuyoshi Ito,
Ale to nie jest formalna redukcja ....
arnab
1
@arnab: Nie, nie jest. Dlatego napisał „wtedy prawdopodobnie można by było szybko całkowicie uwzględnić czynnik n”.
Tsuyoshi Ito,
1

NnNNlog3(N)N1/pNp

Foo Barrigno
źródło