Pergunta

Não é facilmente possível construir um PRNG em tal forma um? Por que não é feito?

Isto é, tanto quanto eu sei que poderia simplesmente ter um PRNG que leva uma semente n. Quando você pedir um pouco aleatório, leva-se o dígito enésimo da expansão binária do número normal computável, e incrementos n.

Meu primeiro pensamento foi que talvez não tivéssemos encontrado um número normal computável, mas nós Have . O pensamento restante é que há uma razão boa não a-- quer há alguma propriedade PRNGs que eu não estou familiarizado com esse tal método um não tem, ou seria impraticável alguma forma, ou for ultrapassado por outros métodos.

Foi útil?

Solução

Isso faria prever a saída realmente simples.

Digamos, por exemplo, você gerar o 0x54a30b7f inteiro. Se você tem 4GiB de pi (ou ruído aleatório ou um número normal real), as chances são de que há só vai ser um (ou talvez um punhado) ocorrência desse inteiro particular e posso prever com razoável probabilidade elevada todos os números futuros. Este é um problema grave no caso de PRNGs criptograficamente fortes. Se em vez de simples seqüencial verificar, você usar alguma função, eu só tenho que seguir a função que se é difícil o suficiente para seguir ele se transforma em um PRNG em seu próprio direito.

Se você não está preocupado com a força criptográfica do seu gerador, então há muito mais compacto formas de geração de números aleatórios. Mersenne tornado , por exemplo, tem um período muito maior sem a necessidade de uma tabela de pesquisa 4GiB.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top