更新掩码这个我知道,去除无效动作,但不清楚为什么这么计算,我查不到
这段代码看起来是在根据"action"数组的值和"last_col"数组的当前状态来更新"omega"和"mask"数组的值。
if语句检查当前"action"数组索引"i"的值是否不存在于"last_col"数组索引"i"中。如果这个条件成立,代码会增加"omega"数组索引"i, action[i] // self.number_of_machines"的值1。这实际上增加了这个特定"action"值在当前"i"值下被观察到的次数。
否则,如果当前"action"数组索引"i"的值已经存在于"last_col"数组索引"i"中,那么代码将"mask"数组索引"i, action[i] // self.number_of_machines"设置为1。这意味着如果已经看到过这个动作,那么就会设置为1,创建一个已经看到的动作的掩码。
总的来说,这段代码是在根据"action"数组的值来更新"omega"和"mask"数组,以便它可以跟踪某些值在"action"数组中的出现次数并且创建已经看到的动作的掩码,并且更新"temp1"数组为任务完成时间。
这段代码可能用于统计某些操作或动作的频率并在需要时对其进行处理,同时跟踪任务完成的时间。
最后一行的代码是将 "temp1"数组索引"i, row, col"的值设置为"startTime_a + self.dur_a"的值。这实际上是将"temp1"数组在此索引处的值设置为任务的完成时间,这是通过加上起始时间"startTime_a"和持续时间"self.dur_a"计算出来的。
总的来说,这段代码是在根据"action"数组的值来更新"omeg
望采纳!!!点击回答右侧采纳即可!!可以参考以下资料: