Пример #1
0
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
Пример #2
0
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
Пример #3
0
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
Пример #4
0
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)
Пример #5
0
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
Пример #6
0
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
Пример #7
0
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()
Пример #8
0
    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')