Recentemente, me deparei com um comentário afirmando que quase todos os pesquisadores que usam os métodos de Monte Carlo estão fazendo errado. Em seguida, foi elaborado que a simples escolha de sementes diferentes para diferentes instâncias de um PRNG, como o Mersenne Twister, não é suficiente para garantir resultados imparciais, pois podem ocorrer colisões ruins . O artigo da Wikipedia sobre o Mersenne Twister parece corroborar:
Múltiplas instâncias do Mersenne Twister que diferem apenas no valor da semente (mas não em outros parâmetros) geralmente não são apropriadas para simulações de Monte-Carlo que requerem geradores de números aleatórios independentes, embora exista um método para escolher vários conjuntos de valores de parâmetros.
Eu tenho que admitir, eu sou culpado como acusado. Mas assim como todas as outras implementações de bibliotecas paralelas de Monte Carlo que eu vi até agora, em particular o ALPS .
O artigo da Wikipedia também faz referência a dois artigos que oferecem remédio:
- O esquema de criação dinâmica (DC) (1998) seleciona conjuntos de parâmetros para os MTs com base na hipótese de que eles são independentes se os polinômios das características correspondentes forem coprime.
- A Ahead Salte para a -linear RNG (2008). Eu acho que é semelhante ao método de salto de sapo para LCGs.
Ambos os métodos foram co-orientados por Matsumoto e Nishimura, os autores originais do algoritmo Mersenne Twister.
Receio não ter muito conhecimento de teoria dos números ou álgebra e não entender completamente os esquemas acima ou a matemática por trás do Mersenne Twister. Minhas perguntas são principalmente de natureza prática:
- Quanto realmente preciso me preocupar em introduzir viés nas minhas simulações quando não estou empregando esse esquema se quase ninguém se importa com ele na prática (pelo menos na minha comunidade)?
- Se eu implementasse uma dessas contramedidas, estou certa em supor que a Jump-Ahead é mais adequada, pois se baseia em uma teoria firme e é o método mais moderno?