Quão difícil é contar o número de fatores de um número inteiro?


30

Dado um número inteiro de comprimento bits, quão difícil é produzir o número de fatores primos (ou o número alternativo de fatores) de ?n NNnN

Se soubéssemos a fatoração primária de , isso seria fácil. No entanto, se soubéssemos o número de fatores primos ou o número de fatores gerais, não está claro como encontraríamos a fatoração primordial real.N

Este problema é estudado? Existem algoritmos conhecidos que resolvem essa questão sem encontrar a fatoração primária?

Esta questão é motivado por curiosidade e parcialmente por uma questão math.SE .


3
Se o número de fatores primos for grande, isso implicaria que N possui um fator pequeno que pode ser encontrado facilmente. Por outro lado, se o número de fatores primos de N for pequeno, digamos 2, é semelhante ao problema de fatorar um produto de dois primos e saber que o número de fatores é 2 não parece ajudar. Veja esta pergunta de Omid sobre sua dureza média.
— Kaveh

11
Mais uma coisa, como a divisão é uniforme , o problema de contar todos os fatores (não apenas os fatores primos) está em # T C 0 e, portanto, também está em P (e provavelmente também está completo em # T C 0 em A Reduções de C 0 ). TC0#TC0P#TC0AC0
— 19411 Kaveh

11
Kaveh, se você pudesse expandir seu comentário acima em uma resposta, isso seria ótimo. Não vejo exatamente como a divisão no leva você a contar fatores no # TC 0 sem também implicar que o fatoramento está no TC 0 . Esse mal-entendido provavelmente se deve às minhas próprias falhas, mas uma resposta mais detalhada ajudaria. TC0#TC0TC0
— Derrick Stolee

11
conhecido AFAIK! e isso é muito fácil. Mas não vejo onde o argumento termina. ps: Eu acho que sei ver, minha definição de não é boa (é a mesma que # P ) e esse é o problema. #TC0#P
— Kaveh

11
@Artem, é definido como o número de percursos de aceitação de uma N G máquina, e um N G máquina pode utilizar apenas logarítmica (em | y | ) quantidade de espaço para adivinhar x . Estamos adivinhando muitos bits se usarmos a definição que escrevi; um cálculo de A C 0 com muitas suposições polinomialmente capturaria N P , contando da mesma forma o número de x s de tamanho polinomial que uma máquina A C 0 aceita n dará # P#LNLNL|y|xAC0NPxAC0#P(adivinhe também o cálculo e verifique se é realmente um cálculo aceitável).
— precisa saber é o seguinte

Respostas:


16

Esta não é a minha resposta, mas Terrence Tao deu uma bela resposta a esta pergunta no MathOverflow.

Aqui estão as primeiras linhas de sua resposta. Para ler a resposta completa, siga o link.

Há uma observação do folclore de que, se alguém fosse capaz de contar rapidamente o número de fatores primos de um número inteiro n, provavelmente seria capaz de fatorar rapidamente n completamente. Portanto, acredita-se que o problema dos fatores primos da contagem tenha dificuldade comparável à fatoração em si.

(Eu não tinha certeza se isso deveria ser uma resposta ou um comentário. Mas é realmente uma resposta, embora não tenha sido escrita por mim. Fiz a resposta Wiki da comunidade para que possa ser votado ou aceito sem necessidade desnecessária me dando reputação.)


5
Na minha opinião, um ponteiro para uma resposta como essa merece pontos de reputação (portanto, não deve ser um wiki da comunidade), mas entendo que pessoas diferentes têm opiniões diferentes.
— Tsuyoshi Ito

Mas esta não é uma redução formais ....
— arnab

11
@arnab: Não, não é. É por isso que ele escreveu "então seria possível fatorar rapidamente n completamente". #
— Tsuyoshi Ito

1

Como outros já declararam, contar os fatores provavelmente exigiria o fatoramento n. No entanto, a divisão de teste pode limitar o número de fatores. Você sabe, por exemplo, que possui no máximo n fatores, uma vez que nenhum fator pode ser menor que 2. Testando se N é divisível por 2, você também sabe que N possui no máximo log 3 ( N ) fatores, etc. A desvantagem é que cada redução no tamanho é progressivamente mais difícil - você precisa testar até N 1 / p para excluir N contendo mais do que fatores p .NnNNlog3⁡(N)N1/pNp

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.