Я знаю, что есть другие вопросы, подобные этому, однако следующий вопрос относится к генерации случайных чисел произвольной точности в C для использования в моделировании Монте-Карло.
Как мы можем генерировать случайные числа произвольной точности хорошего качества в C, когда атмосферный шум не всегда доступен, не полагаясь на дисковый ввод-вывод или доступ к сети, которые могут создать узкие места?
libgmp способен генерировать случайные числа, но, , как и другие реализации генераторов псевдослучайных чисел , для требуется начальное число . Как упоминается в руководстве, «системное время довольно легко угадать, поэтому, если требуется непредсказуемость, оно определенно не должно быть единственным источником начального значения».
Существует ли переносимая / портированная библиотека для генерации случайных чисел или начальные числа для случайных чисел? В libgmp также упоминается, что «в некоторых системах есть специальное устройство / dev / random, которое предоставляет случайные данные, лучше подходящие для использования в качестве начального числа». Однако /dev/random
и /dev/urandom
могут только использоваться в * nix системах.