При создании генератора карт на Java я обнаружил довольно неприятную проблему с их генератором случайных чисел: когда два ГПСЧ имеют очень похожие семена (отличающиеся небольшими целыми числами), их первое выходное значение станет очень похожим!
Пример кода:
Random r = new Random();
long n = 100000; //Choose any number
r.setSeed(n);
System.out.println(r.nextInt());
r.setSeed(n+1);
System.out.println(r.nextInt());
Это практически разрушило мою веру в оригинальный Java RNG, поскольку я использую координаты для генератора карт.
Не мог бы кто-нибудь предложить либо переопределение метода Random.next(int bits)
, либо какое-то другое решение этой проблемы?
Спасибо за помощь!