def take_action(self, action_idx): old_cwnd = self.cwnd op, val = self.action_mapping[ action_idx] # the values are lists ['op', val], such as ['+', '2.0']. self.cwnd = apply_op(op, self.cwnd, val) self.cwnd = max(2.0, self.cwnd)
def action_error(actions, idx, cwnd, target): """ Returns the absolute difference between the target and an action applied to the cwnd. The action is [op, val] located at actions[idx]. """ op = actions[idx][0] val = actions[idx][1] return abs(apply_op(op, cwnd, val) - target)
def take_action(self, action_idx): old_cwnd = self.cwnd op, val = self.action_mapping[action_idx] self.cwnd = apply_op(op, self.cwnd, val) self.cwnd = max(2.0, self.cwnd)