强化学习实例1:简单最短路径学习

import numpy as np
import pandas as pd
import time
 
np.random.seed(2)
 
N_STATES = 6  # 假设只有5步远
ACTIONS = ['left', 'right']
EPSILON = 0.9
ALPHA = 0.1
GAMMA = 0.9
MAX_EPISODES = 13
FRESH_TIME = 0.3
 
# 构建Q表格
def build_q_table(n_states, actions):
	table = pd.DataFrame(
		np.zeros((n_states, len(actions))),
		columns=actions,
	)
	return table
# 选择行为
def choose_action(state, q_table):
	state_actions = q_table.iloc[state, :]
	if (((state_actions==0).all())
		or (np.random.uniform() > EPSILON)  # ? 为什么加
		):
		# 两个状态都为零或一个随机概率
		action_name = np.random.choice(ACTIONS)
	else:
		action_name = state_actions.idxmax()
	return action_name
# 获取环境反馈
def get_env_feedback(S, A):
	# agent与环境的交互
	if A == 'right':
		if S == N_STATES - 2:
			S_ = 'terminal'
			R = 1
		else:
			S_ = S + 1
			R = 0
	else:
		R = 0
		if S == 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值