如何在运行M次的循环中随机执行N次任务?

时间:2019-04-18 07:46:15

标签: python reinforcement-learning

要求:我需要在一个玩了500回合的游戏中完成T次N次任务。

我有一个循环,可以运行与游戏相关的某些任务500次。在此范围内,我想随机执行N次任务T。另外,N <500。

如何做到这一点?

我知道如何在循环内执行T,N次。但是,我想在游戏的500回合中将它随机化并执行N次。

3 个答案:

答案 0 :(得分:0)

出什么问题了?只需在循环中实现随机化:

sql_mode=""

答案 1 :(得分:0)

在500个循环中。不要忘记随机导入

for i in range (random.randrange(500)):
    your T task

答案 2 :(得分:0)

当然,我假设您希望T的N次执行在您的500回合中正确分配,并且每次执行都不同。

如果您对N表示满意,那么就地解决方案是每轮运行任务的概率为N / 500。

import random

roundNb = 500
N = 10

for i in range(roundNb):
  if random.random() < N / roundNb:
    T()

如果准确地执行此任务对您很重要,那么最好生成N个不同的随机数<500,并使用它们来确定是否应在本轮执行该任务。

import random

roundNb = 500
N = 10

# random.sample takes N elements of range(roundNb), so N valid roundNumbers
# Convert it to a set so `i in doTaskOn` runs in constant time
doTaskOn = set(random.sample(range(roundNb), N))

for i in range(roundNb):
  if i in doTaskOn:
    T()