def getRealAction_real(self, state, actVars=None): Program.execute(state, self.registers, self.program.instructions[:, 0], self.program.instructions[:, 1], self.program.instructions[:, 2], self.program.instructions[:, 3]) return self.registers[:self.actionLength]
def bid(self, state, memMatrix): Program.execute(state, self.registers, self.program.instructions[:, 0], self.program.instructions[:, 1], self.program.instructions[:, 2], self.program.instructions[:, 3], memMatrix, memMatrix.shape[0], memMatrix.shape[1]) return self.registers[0]
def getRealAction_real_mem(self, state, actVars=None): Program.execute(state, self.registers, self.program.instructions[:, 0], self.program.instructions[:, 1], self.program.instructions[:, 2], self.program.instructions[:, 3], actVars["memMatrix"], actVars["memMatrix"].shape[0], actVars["memMatrix"].shape[1], Program.memWriteProbFunc) return self.registers[:self.actionLength]
def bid_def(self, state, actVars=None): # exit early if we already got bidded this frame if self.frameNum == actVars["frameNum"]: return self.registers[0] self.frameNum = actVars["frameNum"] Program.execute(state, self.registers, self.program.instructions[:,0], self.program.instructions[:,1], self.program.instructions[:,2], self.program.instructions[:,3]) return self.registers[0]
def bid_mem(self, state, actVars=None): # exit early if we already got bidded this frame if self.frameNum == actVars["frameNum"]: return self.registers[0] self.frameNum = actVars["frameNum"] Program.execute(state, self.registers, self.program.instructions[:,0], self.program.instructions[:,1], self.program.instructions[:,2], self.program.instructions[:,3], actVars["memMatrix"], actVars["memMatrix"].shape[0], actVars["memMatrix"].shape[1], Program.memWriteProbFunc) return self.registers[0]
def getLearnersInsOuts(self, learners, clearStates=True): inputs = [] outputs = [] for lrnr in learners: lrnrInputs = [] lrnrOutputs = [] for state in lrnr.states: regs = np.zeros(len(lrnr.registers)) Program.execute(state, regs, lrnr.program.modes, lrnr.program.operations, lrnr.program.destinations, lrnr.program.sources) lrnrInputs.append(state) lrnrOutputs.append(regs[0]) if clearStates: # free up some space lrnr.states = [] inputs.append(lrnrInputs) outputs.append(lrnrOutputs) return inputs, outputs
def bid(self, state): Program.execute(state, self.registers, self.program.modes, self.program.operations, self.program.destinations, self.program.sources) return self.registers[0]