计算机游戏中的深度学习:Q学习与神经网络应用
在计算机游戏的领域中,Q学习是一种重要的强化学习方法。不过,传统的Q函数存在无限递归的问题,在实际应用中面临诸多挑战。
1. Q函数及其局限性
Q函数原本是一个假设的完美函数,但它是无限递归的,无法直接应用于代码。为了在代码中使用,一种方法是设置向前查看的最大动作数量。以下是一个示例代码:
def q(state, action, reward_func, apply_action_func,
actions_for_state_func, max_actions_look_ahead,
discount_factor=0.9):
new_state = apply_action_func(state, action)
if max_actions_look_ahead > 0:
return reward_func(new_state) + discount_factor \
* max(q(new_state, new_action, reward_func,
apply_action_func, actions_for_state_func,
max_actions_look_ahead-1)
for new_action in actions_for_state_func(new_state))
else:
return reward_func(new_state)
这里, state <
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



