Страница 1 из 1

Как задать начальные условия для генератора случайных чисел (аналог numpy.random.seed)?

Добавлено: 28 июл 2020, 11:07
Igor_G
Нужно чтобы генератор случайных чисел, инициализированный одними и теми же начальными условиями, выдавал абсолютно идентичные случайные последовательности.
Т.е. др. словами создать аналог этого простенького кода python.

Код: Выделить всё

import numpy as np
np.random.seed(1)

a = np.random.random((3, 4))
b = np.random.random((3, 4))

print('It is result_a \n', a, '\n')
print('It is result_b \n',  b)
Есть идеи?

Re: Как задать начальные условия для генератора случайных чисел (аналог numpy.random.seed)?

Добавлено: 28 июл 2020, 11:59
Artem.spb
Igor_G писал(а): 28 июл 2020, 11:07 Нужно чтобы генератор случайных чисел...выдавал абсолютно идентичные случайные последовательности.
что-то не вяжется, не находите?
Да, я в курсе, что все программные генераторы - псевдослучайные. Но запрос звучит странно.

Возьмите любой алгоритм псевдослучайной последовательности и закодируйте его.

Re: Как задать начальные условия для генератора случайных чисел (аналог numpy.random.seed)?

Добавлено: 28 июл 2020, 12:29
Igor_G
Посмотрите тут:

https://pyprog.pro/random_sampling_functions/seed.html

и/или запустите код python. Всё равно сколько раз вы его будете запускать всё время будете получать один и тот-же 2-х мерный массив. Как только вы исключите numpy.random.seed() из кода то начнёте получать 2-х мерный массив со случайными числами.

Seed с заданным значением запускает последовательность псевдослучайных чисел с одного и того же места. А при инициализации random без параметра место начала выбирается с помощью вспомогательных инструментов (например, показаний таймера). Кстати какой из вспомогательных инструментов использует LabVIEW random для генерации случайных чисел?

Re: Как задать начальные условия для генератора случайных чисел (аналог numpy.random.seed)?

Добавлено: 28 июл 2020, 13:27
IvanLis
Igor_G писал(а): 28 июл 2020, 11:07 Нужно чтобы генератор случайных чисел, инициализированный одними и теми же начальными условиями, выдавал абсолютно идентичные случайные последовательности.
Если на входе функции ПСП есть параметр seed, то можно его задать вручную, тогда всегда последовательность будет совпадать.
Это аналог инициализирующего значения регистров полинома, посредством которого генерируется ПСП.
Снимок экрана от 2020-07-28 13-25-18.png
Снимок экрана от 2020-07-28 13-25-18.png (14.39 КБ) 1358 просмотров

Re: Как задать начальные условия для генератора случайных чисел (аналог numpy.random.seed)?

Добавлено: 28 июл 2020, 14:33
Igor_G
Спасибо IvanLis. Работает.

Кстати можно использовать для этой цели ещё Uniform White Noise PtByPt и Continuous Random.

https://forums.ni.com/t5/LabVIEW-Idea-E ... anguage=en

Посмотрю что для меня лучше подходит.

Re: Как задать начальные условия для генератора случайных чисел (аналог numpy.random.seed)?

Добавлено: 28 июл 2020, 15:50
Igor_G
Так генератор случайных чисел каждый раз генерирует одну и ту же псевдослучайную последовательность.
Что-бы иметь другую псевдослучайную последовательность, нужно изменить начальное значение (seed).
Когда начальное значение равно нулю, генератор случайных чисел генерирует случайные числа, как обычный генератор случайных чисел.