目标效果:
这里贴一下Q-learning的公式:
代码:
import numpy as np
import pandas as pd
import time
np.random.seed() # 计算机产生一组伪随机数列
N_STATES=6 # 有多少个state,即有多少种状态,最开始的距离离宝藏的距离多少步
ACTIONS=['left','right'] # 两个可选动作
EPSILON=0.9 # 90%选择最优的动作,10%选择随机的动作
ALPHA=0.1 # 学习效率
LAMBDA=0.9 # 未来奖励的衰减值
MAX_EPISODES=5 # 只玩15回合
FRESH_TIME=0.1 # 规定走一步花的时间有多长
"""创建价值表格"""
def build_q_table(n_states,actions):
table=pd.DataFrame( # 使用pandas创建一个表格,表示向左走向右走的价值高低
np.zeros((n_states,len(actions))),
co