Nat*_*sha 6 python python-3.x random-seed
l_new我使用以下代码行来填充from的条目l。
import random
l = [11.1, 22.2, 33.3, 11.1, 33.3, 33.3, 22.2, 55.5]
l_new = random.choices(l, k=30)
print(l_new)
Run Code Online (Sandbox Code Playgroud)
l_new我可以通过使用固定种子来生成特定的始终
random.seed(1)
l_new = random.choices(l, k=30)
Run Code Online (Sandbox Code Playgroud)
现在,我想知道当种子在生成 之前未固定时是否可以找到给seed定的。l_newl_new
编辑:
根据下面的建议我可以做什么
import sys
import random
l = [11.1, 22.2, 33.3, 11.1, 33.3, 33.3, 22.2, 55.5]
for i in range(10):
seed = random.randrange(sys.maxsize)
print("Seed:", seed)
random.seed(seed)
l_new = random.choices(l, k=30)
print(l_new)
Run Code Online (Sandbox Code Playgroud)
并保存以便稍后seed检索所需的内容?l_new
这是不可能的,因为randomRNG 的输出是通过映射的floor,并且该关系不是注入:
return [population[floor(random() * n)] for i in _repeat(None, k)]
Run Code Online (Sandbox Code Playgroud)
因此,即使您知道从原始列表中选择了哪些元素l,您也无法知道random产生了什么输出,因此无法推断出 RNG 的内部状态。
| 归档时间: |
|
| 查看次数: |
7636 次 |
| 最近记录: |