def mcEpisode(maxsteps=10000): "Runs one episode of mountain car" global rli if rli == None: rli = RLinterface(mountainAgent, mountainEnv) rli.episode(maxsteps) st, ep, epst = curStats() print "Used", epst, "steps" return epst
def mcEpisode (maxsteps=10000): "Runs one episode of mountain car" global rli if rli == None: rli = RLinterface(mountainAgent, mountainEnv) rli.episode(maxsteps) st, ep, epst = curStats() print "Used", epst, "steps" return epst
def main(): envconf = { 'BOARDWIDTH': 10, 'BOARDHEIGHT': 20, 'FPS': 10 } env = TetrisEnv(envconf) agent = RandomAgent(env) rli = RLinterface(agent.agentFn, env.envFn) # run two episodes of tetris and print state, action, reward for every step episode = rli.episodes(1) print episode
def maintInit(n=10, p=.9, q=.9, alpha=.01, gamma=.99, epsilon=.1, init=0.0, \ interval=1000, verbose=1): global rli, agt env = getMaintEnv(n, p, q, verbose) agt = getMaintAgent(env.num_states, env.num_actions, alpha, gamma, epsilon, \ init, interval, verbose) rli = RLinterface(agt.agentFunction, env.envFunction)
def mcInit(epsil=0.01, alph=0.5): "Initializes the agent and gets ready to run" global rli setAlpha(alph) setEpsilon(epsil) setupAgent() rli = RLinterface(mountainAgent, mountainEnv) return rli
def mcEpisodes(numEpisodes, maxsteps=2000): "Simulates num episodes of mountain car" global rli if rli == None: rli = RLinterface(mountainAgent, mountainEnv) eps = [] for i in range(numEpisodes): eps.append(mcEpisode(maxsteps)) return eps
def simInit(sim, agent, env, verbose=False): global SIM SIM = sim sim.episodenum = 0 sim.episodestepnum = 0 sim.stepnum = 0 sim.rlsim = RLinterface(lambda s, r=None: agent.agentfn(verbose, s, r), \ lambda a=None: env.envfn(verbose, a)) sim.agent = agent sim.env = env env.sim = sim agent.sim = sim agent.agentInit()
def __init__(self, wwidth=340, wheight=660): global mcarTopView, mcarSideView, GDEVICE gwidth = GDEVICE.wwidth gheight = GDEVICE.wheight if wheight >= gheight: wwidth = int((gheight - 100) / float(wheight) * wwidth) wheight = gheight - 100 SimulationWindow.__init__(self, wwidth, wheight) gSetTitle(self, "Mountain Car") self.rlsim = RLinterface(mountainAgent, mountainEnv) gSetCS(self, 0, 20, 340, 680, 'lowerLeft') mcarTopView = Gview(self) gSetViewport(mcarTopView, 20, 360, 320, 660) gSetCS(mcarTopView, minPosition, -maxVelocity, maxPosition, maxVelocity) mcarSideView = Gview(self) gSetViewport(mcarSideView, 20, 100, 320, 345) gSetCS(mcarSideView, minPosition, -1.1, maxPosition, 1.1) gClear(self, 'blue')