É possível gerar números aleatórios através de simulação de processos físico?

StackOverflow https://stackoverflow.com/questions/620921

  •  05-07-2019
  •  | 
  •  

Pergunta

É possível gerar números aleatórios através de simulação de processos físico?

Se eu simular o rolo física de um dado (ou seja, você pegá-la, apertando-o em sua mão, liberando-o para a mesa e gravação fins que lado para cima "para cima" ...) isso vai produzir um "aleatório" número ou eu só tenho uma simulação complexo que realmente não leva a nada.

Foi útil?

Solução

Você teria uma simulação complexo que realmente não leva a nada.

(excepto para retornar o mesmo valor cada vez, ou adicionar complexidade desnecessária para um PRNG existente)

A menos que você semear o ambiente simulado com variáveis ??"aleatórios" (ou seja, dependem de diferentes meios de geração de números aleatórios), você sempre vai ter o mesmo valor de volta, porque cada passo no processo acontecerá da mesma forma todas as vezes.

Say você fez uso de um gerador de base pseudo número aleatório (PRNG):

Desde sua simulação só seria tão aleatório como o outro PRNG que você estava usando, você pode também apenas usar o outro PRNG diretamente, sem todo o trabalho extra! (Na verdade, a simulação não pode fazer nada além de tornar a saída menos aleatória do que os valores do seu PRNG base)

Outras dicas

Sim, você seria "só tem uma simulação complexo que realmente não leva a nada".

Por simular um processo físico aleatório, quando você poderia realmente usar um real?

Há pilhas de perguntas sobre geradores de números aleatórios no SO. Aqui estão apenas alguns:

verdadeiro gerador de números aleatórios

Do apátrida existem geradores de números aleatórios?

Que tipo de números aleatórios Generator é usado no Casino Gaming Industry?

O seu algoritmo será um gerador de números pseudo-aleatório, isto é, que levará em uma semente aleatória e produzir potencialmente grandes cadeias numéricas que se parecem bastante aleatória.

Não há garantia, porém, que sua saída aleatória será da qualidade que você precisa para criptografia ou outros fins. Eu estaria inclinado a pensar que haverá padrões repetidos indesejáveis ??em sua saída, e que muito trabalho irá para a física do problema, e não o suficiente para produzir pseudo aleatoriedade. (Desculpem a insipidez wishy, ??mas é isso em poucas palavras.) Existem geradores de números pseudo eficazes, e gostaria de usar um da prateleira.

Dito isto, esta pode ser uma experiência interessante e informativo para seus próprios fins.

O mais tarde.

A menos que você injetar um pouco aleatória (ou pseudo aleatório) Factores a simulação irá produzir os mesmos resultados de cada vez.

Ele ainda vai ser um número pseudo-aleatório, porque provavelmente você estará usando um gerador de números pseudo-aleatórios para simular toda a saltar em torno do dado em suas mãos.

Primeiro você precisa definir 'aleatória'. Você pode gerar números trivialmente imprevisíveis usando um estranho conjunto de cálculos, com certeza. Mas você não vai conseguir aleatoriedade útil ou uma distribuição uniforme de números.

A simulação física como você descreve seria realmente necessitam de algum tipo de gerador de números aleatórios em algum ponto no cálculo. Felizmente, random () é fácil de usar.

A menos que você está preparado para modelar o estado quântico de dois dies inteiras você não terá nada aleatório ...

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