Prove impressões digitais


7

Deixei absejam dois inteiros do intervaloSeja um primo aleatório comProve que [1,2n].p1pnc.

PrpPrimes{ab(modp)}cln(n)/(nc1).

Dica: Como conseqüência do teorema do número primo, exatamente muitos números de são primos.n/ln(n)±o(n/ln(n)){1,,n}

Conclusão: podemos comprimir n bits em O(log(n)) bits e obter uma taxa falso-positiva bastante pequena.

Minha pergunta é como posso provar que

PrpPrimes{ab(modp)}cln(n)/(nc1)
?

Como a dificuldade parece estar na parte matemática, acho que essa pergunta seria mais à vontade na matemática . No entanto, dada a aplicação à compactação, acho que a pergunta também pode ser aceitável aqui. Estou aberto a migrar a pergunta porque ela se encaixa melhor em outro lugar ou a deixar aqui porque foi feita aqui e não é muito fora de tópico.
Gilles 'SO- stop be evil'

2
Isto é publicado em Matemática .
Kaveh

Respostas:


4

A probabilidade que um primo aleatório uniformemente escolhido entre e satisfaça é o número de primos nesse intervalo que satisfazem dividido pelo número total de primos nessa faixa. Escrevendo se for verdadeiro e se for falso e para o número de primos menor que : P1ncabmodpabmodp[C]=1C[C]=0Cπ(x)x

P=pnc[p prime][p(ab)]π(nc)

Desde , existem no máximo primos distintos que dividem . O teorema do número primo fornece diretamente um limite superior para o denominador. Assim: |ab|2nnab

Pnnc/ln(nc)+o(nc/ln(nc))=cln(n)nc1(1+o(1))

Você não terá um limite exato de uma versão assintótica do teorema do número primo. Um limite exato, se não me engano, é para . Usando esse limite, vemos que se então π(x)>xln(x)x11nc11

Pcln(n)nc1

Aplicação: podemos compactar (que leva bits para representar exatamente) armazenando para vários números primos aleatórios . Se usarmos primos escolhidos independentemente do valor de , então a representação requer bits para armazenar os valores modulo a cada escolha prime. A probabilidade de uma colisão em cada primo é no máximo . Avaliar como a precisão aumenta com exigiria uma análise mais aprofundada.a2nnamodppikakclog2(n)=O(klog(n))cln(n)/nc1=O(ln(n)/nc1)k

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.