当前位置:   article > 正文

Q-learning的python实现举例_q-learning 示例 博客 python

q-learning 示例 博客 python

以下是一个简单的Q-learning算法的Python实现示例:

import numpy as np

# 定义环境
# 假设状态空间包含3个状态,动作空间包含2个动作
num_states = 3
num_actions = 2

# 初始化Q表格
Q = np.zeros((num_states, num_actions))

# 定义超参数
num_episodes = 1000  # 迭代次数
max_steps = 100  # 每个episode的最大步数
epsilon = 0.3  # ε-greedy策略中的ε
alpha = 0.5  # 学习率
gamma = 0.9  # 折扣因子

# Q-learning算法
for episode in range(num_episodes):
    state = 0  # 初始状态为0
    
    for step in range(max_steps):
        # 选择动作
        if np.random.uniform(0, 1) < epsilon:
            action = np.random.randint(num_actions)  # ε-greedy策略中的随机动作
        else:
            action = np.argmax(Q[state, :])  # 根据Q表格选择最优动作
        
        # 执行动作,观察下一个状态和奖励
        if state == 0 and action == 0:
            next_state = 1
            reward = -1
        elif state == 0 and action == 1:
            next_state = 2
            reward = 1
        else:
            next_state = state
            reward = 0
        
        # 更新Q值
        Q[state, action] = Q[state, action] + alpha * (reward + gamma * np.max(Q[next_state, :]) - Q[state, action])
        
        # 更新状态
        state = next_state
        
        # 到达终止状态,结束当前episode
        if state == num_states - 1:
            break

# 打印学到的Q表格
print("Learned Q-table:")
print(Q)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52

在这个示例中,我们定义了一个简单的环境,包含3个状态和2个动作。然后,我们使用Q-learning算法来学习Q表格。在每个episode中,我们选择当前状态下的动作,并执行该动作,观察下一个状态和奖励。然后,我们使用Q-learning的更新公式更新Q表格中的Q值。最后,我们输出学到的Q表格。

请注意,这只是一个简单的示例,并且可能无法处理更复杂的问题。在实际应用中,可能需要对算法进行更多的改进和优化,例如使用近似方法、调整超参数等。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/647624
推荐阅读
相关标签
  

闽ICP备14008679号