




下面以经典的 FrozenLake 环境(一个 4x4 的网格世界)为例,使用 Python 和 OpenAI Gym 库来实现 Q-learning 算法。
import numpy as npimport gym# 创建FrozenLake环境env = gym.make('FrozenLake-v1', is_slippery=False)# 初始化参数num_states = env.observation_space.nnum_actions = env.action_space.nQ = np.zeros((num_states, num_actions))num_episodes = 1000max_steps = 100alpha = 0.1 # 学习率gamma = 0.99 # 折扣因子epsilon = 0.1 # 探索率for episode in range(num_episodes):state = env.reset()for step in range(max_steps):# 选择动作(ε-贪心策略)if np.random.uniform(0, 1) < epsilon:action = env.action_space.sample()else:action = np.argmax(Q[state, :])# 执行动作,获得下一个状态和奖励next_state, reward, done, info = env.step(action)# 更新Q函数best_next_action = np.argmax(Q[next_state, :])td_target = reward + gamma * Q[next_state, best_next_action]td_error = td_target - Q[state, action]Q[state, action] += alpha * td_error# 状态更新state = next_state# 回合结束if done:breakprint("训练完成后的Q表:")print(Q)
其中:
gym.make('FrozenLake-v1')创建环境;[num_states, num_actions],用于存储每个状态-动作对的价值;为了平衡探索和利用,ε-贪心策略以 ε 的概率进行探索 (随机选择动作),以 1-ε 的概率进行利用(选择当前最优动作)。学习率决定了新获取的信息在多大程度上覆盖旧的信息,较高的学习率意味着对新信息的依赖性更强。折扣因子用于权衡即时奖励和未来奖励的重要性。接近1的折扣因子表示更加看重未来的奖励。在满足一定条件下,如所有状态-动作对被无限次访问、学习率满足罗宾条件等,Q-learning 算法能够保证收敛到最优 Q 函数。Q-learning 是强化学习中最经典和基础的算法之一,它通过学习状态-动作值函数来指导智能体的决策。通过不断地与环境交互和更新 Q 值,智能体最终能够学到一个最优策略,即在每个状态下选择使得长期累积奖励最大的动作。
好文章,需要你的鼓励
谷歌地图将集成Gemini人工智能技术,旨在将其升级为一个"全知型副驾驶"助手。这一整合将大幅提升地图服务的智能化水平,为用户提供更加个性化和全面的导航体验。通过AI技术的加持,谷歌地图有望在路线规划、地点推荐和实时信息服务等方面实现重大突破。
这项由圣母大学和IBM研究院联合开展的研究,开发出了名为DeepEvolve的AI科学助手系统,能够像人类科学家一样进行深度文献研究并将创新想法转化为可执行的算法程序。该系统突破了传统AI要么只能改进算法但缺乏创新、要么只能提出想法但无法实现的局限,在化学、生物学、数学等九个科学领域的测试中都实现了显著的算法性能提升,为AI辅助科学发现开辟了新的道路。
微软研究人员发布新的仿真环境来测试AI智能体,研究显示当前智能体模型容易受到操纵。该名为"Magentic Marketplace"的合成平台让客户智能体与商家智能体进行交互实验。测试包括GPT-4o、GPT-5和Gemini-2.5-Flash等模型,发现智能体在面临过多选择时效率下降,且在协作方面表现不佳。研究揭示了AI智能体在无监督环境下的性能问题。
卡内基梅隆大学研究团队通过3331次大规模实验,系统揭示了代码训练如何提升AI推理能力。研究发现,代码的结构特性比语义内容更重要,适当的抽象形式(如伪代码)可以达到与原始代码相同的效果。不同编程语言产生差异化影响:低抽象语言有利于数学推理,Python更适合自然语言任务。这些发现为AI训练数据的科学化设计提供了重要指导。