You need to enable JavaScript to run this app. Python强化学习井字棋AI异常行为问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Python强化学习井字棋AI异常行为问题求助

核心异常成因与修正方向

先手玩家偏好角落落子、不优先选择中间位置的根因

  • 缺少探索-利用平衡机制:当前逻辑仅通过正反馈强化已选中的落子权重,初始随机探索阶段一旦偶然出现某角落第一步赢下对局的情况,该位置权重会直接获得+10的大额正奖励,与其他未被选中、权重维持初始值的位置形成极大差值,后续落子选择会永远偏向该高权重角落;中间位置从未被偶然选中、获得正反馈,权重长期停留在初始低位,永远无法进入高概率选择区间,形成“偶然选择→奖励强化→重复选择→持续强化”的死循环。
  • 信用分配逻辑缺失:当前代码将整局最终结果的奖励平均分摊给每一步落子,没有根据落子在对局中的先后顺序做折扣计算(比如终局直接导致获胜的落子应获得最高权重奖励,初期落子的奖励权重应随回溯距离衰减),导致第一步的偶然选择直接获得和终局制胜步同等的+10奖励,进一步放大了初始随机偏差的影响。
  • 动作选择逻辑存在漏洞:如果权重未做概率归一化计算,且没有设置最低随机探索概率,高权重位置的选择概率会被无限放大,不会再给其他低权重位置留出被探索的机会。

先手玩家胜率随训练局数持续升高的根因

  • 奖励与惩罚设计存在不对称缺陷:
    • 平局奖励无差别发放给所有落子:当前逻辑中不管是先手X的落子还是后手O的落子,只要最终对局为平局,统一给所有对应位置权重+5,没有按玩家身份做合理的奖励区分。
    • 惩罚触发后的权重清零逻辑放大策略偏差:当X获胜时,O方所有对局内的落子权重会被减去10,低于0就直接清零;而先手X天然具备规则优势,每次X获胜后,O方所有可选落子的权重会被快速清零,无法积累有效策略权重;反观X方的落子,会在每一次获胜、平局场景中持续累加奖励,权重越滚越高,最终形成X策略强度远高于O策略的不对称局面,直接表现为X胜率随训练轮次持续攀升。
  • 单一状态树共用造成策略混淆:当前代码初始化仅用单一ai_player对象作为状态树入口,X和O的所有对弈步骤共用同一套权重树,没有为两个玩家维护独立的策略权重空间,导致O方落子的惩罚会连带影响同状态下X方的落子选择,进一步放大先手的优势偏差。
  • 代码遍历落子的循环过程中,未动态校验对局的最终胜负状态,存在权重更新和实际对局结果错位的可能,进一步扭曲权重调整的方向。

可落地的优化方向

  • 加入标准ε-贪心探索机制:训练初期设置较高的随机探索概率(比如ε从0.9随训练轮次线性降低到0.1),强制给所有合法落子位置留出被探索的机会,打破初始偏差的正反馈循环,保证中间等理论上的优解位置能被选中、获得对应奖励。
  • 修正信用分配逻辑:对每一步的奖励做时间折扣,越接近终局的落子获得的奖励权重越高,初期落子的奖励按折扣率折算(比如每回溯一步奖励打9折),避免偶然的初期随机选择获得过高奖励。
  • 对称化奖励惩罚规则:
    • 平局奖励按玩家身份合理分配,避免无差别累加权重
    • 为X和O分别维护独立的策略状态树与权重空间,避免不同玩家的策略权重互相干扰
    • 惩罚逻辑保持严格对称,杜绝出现一方被过度清零、另一方持续积累奖励的偏差
  • 调整权重计算逻辑:对所有可选落子的权重做softmax归一化,保证选择概率和权重正相关的同时,不会出现某一位置被100%选中的极端情况。

内容的提问来源于stack exchange,提问作者Peatherfed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.04 16:54:03