Q学习算法中,选择的动作会以一定概率发生。这是由于在更新Q值的过程中,使用了ε-贪心策略,即一定概率随机探索未知动作,而不是仅依赖已学习到的最优动作进行选择。具体实现可参考以下代码示例:
import random
# 定义 ε 值
epsilon = 0.1
# Q 表格初始化
q_table = {}
# ε-贪心策略选择动作
def epsilon_greedy(q_table, state, epsilon):
if random.uniform(0, 1) < epsilon:
# 随机选择动作
action = random.choice(list(q_table[state].keys()))
else:
# 选择最优动作
action = max(q_table[state], key=q_table[state].get)
return action
在训练过程中,调用 epsilon_greedy()
函数执行动作选择操作,从而实现指定概率的随机探索。