Есть ли способ реализовать новый генератор псевдослучайных чисел в Numpy - PullRequest
1 голос
/ 25 мая 2020

Я хотел бы попробовать разные генераторы псевдослучайных чисел (PRNG) в Numpy. По большей части это академическое любопытство, чтобы увидеть, как сравниваются разные алгоритмы. Есть ли у Numpy простой способ указать на другой ГПСЧ, или мне нужно будет изменить исходный код?

1 Ответ

0 голосов
/ 26 мая 2020

Изменение генерации случайных чисел не является предоставленным методом / вещью, которую вы можете сделать с помощью python, однако вы можете изменить начальное число для генерации, но это мало что даст для фактического генерации случайных чисел, Python использует алгоритм Mersenne Twister для генерации своих случайных чисел, если вы хотите изменить алгоритм, вам нужно будет изменить для него исходный код. Я не знаю, где это, но некоторое время назад я провел некоторое исследование по этому поводу. Здесь есть вики-ссылка для всех алгоритмов генерации случайных чисел, я не рекомендую кодировать какой-либо из них, поскольку они должны быть сложными, намекая на идею случайности. link:

https://en.wikipedia.org/wiki/List_of_random_number_generators

Кроме того, python действительно предлагает некоторое разнообразие в формах генерации, однако случайный метод довольно быстр для всего, что вы можете хотите использовать его, если вам нужен более быстрый метод, вы можете go с помощью TinyMT, но вам снова придется кодировать его вручную. Ниже приведена ссылка на все случайные методы, включая семя:

https://docs.python.org/3/library/random.html

Надеюсь, это помогло, и я бы посоветовал не пытаться изменить источник код для генерации случайных чисел, поскольку случайность действительно становится фактором безопасности, и в противном случае базовая c система, такая как MT, подойдет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...