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

Простейшие вопросы в области инженерной разработки
Ответить
Igor_G
assistant
assistant
Сообщения: 126
Зарегистрирован: 06 ноя 2011, 14:10
Репутация: 0
Версия LabVIEW: 2012-2016
Контактная информация:

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

Сообщение 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)
Есть идеи?

Artem.spb

Activity Автор
expert
expert
Сообщения: 1967
Зарегистрирован: 31 июл 2011, 23:05
Награды: 2
Репутация: 0
Версия LabVIEW: 12-18
Контактная информация:

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

Сообщение Artem.spb »

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

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

Igor_G
assistant
assistant
Сообщения: 126
Зарегистрирован: 06 ноя 2011, 14:10
Репутация: 0
Версия LabVIEW: 2012-2016
Контактная информация:

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

Сообщение Igor_G »

Посмотрите тут:

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

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

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

Аватара пользователя
IvanLis

Activity Professionalism Tutorials Gold Man of the year 2012
Автор
professor
professor
Сообщения: 4947
Зарегистрирован: 02 дек 2009, 17:44
Награды: 7
Репутация: 0
Версия LabVIEW: 2015, 2016
Откуда: СССР

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

Сообщение IvanLis »

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

Igor_G
assistant
assistant
Сообщения: 126
Зарегистрирован: 06 ноя 2011, 14:10
Репутация: 0
Версия LabVIEW: 2012-2016
Контактная информация:

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

Сообщение Igor_G »

Спасибо IvanLis. Работает.

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

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

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

Igor_G
assistant
assistant
Сообщения: 126
Зарегистрирован: 06 ноя 2011, 14:10
Репутация: 0
Версия LabVIEW: 2012-2016
Контактная информация:

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

Сообщение Igor_G »

Так генератор случайных чисел каждый раз генерирует одну и ту же псевдослучайную последовательность.
Что-бы иметь другую псевдослучайную последовательность, нужно изменить начальное значение (seed).
Когда начальное значение равно нулю, генератор случайных чисел генерирует случайные числа, как обычный генератор случайных чисел.
Вложения
Number generator witch the seed config.png
Number generator witch the seed config.png (15.33 КБ) 121 просмотр

Ответить

Вернуться в «Для чайников»