gym-MountainCar-v0离散状态的Q-Learning

本文深入解析了Q-Learning算法在MountainCar-v0环境中的应用,通过离散化状态空间,实现对连续环境的有效控制。文章详细介绍了关键参数设置、离散化处理方法、Q表更新策略及算法优化技巧,最后展示了算法的实际运行效果。

周老师课程推荐的程序解析

gym-MountainCar-v0离散状态的Q-Learning

一、关键点

一、关于eta
在这里插入图片描述
二、关于离散化
在这里插入图片描述离散为40个状态(二维)
三、关于_
表示某个变量是临时的或无关紧要的
四、关于列表解析

    solution_policy_scores = [run_episode(env, solution_policy, False) for _ in range(100)]

二、代码块

import numpy as np

import gym
from gym import wrappers

off_policy = True # if True use off-policy q-learning update, if False, use on-policy SARSA update

n_states = 40 # Discrete value
iter_max = 5000

initial_lr = 1.0 # Learning rate
min_lr = 0.003
gamma = 1.0
t_max = 10000
eps = 0.1

测试策略函数

def run_episode(env, policy=None, render=False):
    obs = env.reset()#reset env
    total_reward = 0
    step_idx = 0
    for _ in range(t_max):#we know it can end the game in 10000 step
        if render:
            env.render()#fresh env

        if policy is None:
            action = env.action_space.sample()
        else:
            a,b = obs_to_state(env, obs
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值