单元六 · AI项目工坊

第25课 与机器下井字棋

任务场景
任务场景:与机器下井字棋

一、学习目标

  • 了解井字棋棋盘及下棋过程的数字化方法。
  • 了解智能解决博弈问题的思想。
  • 了解机器基于数据自主学习下棋策略的方法。

二、情境导入

井字棋规则简单:轮流落子,三子成线获胜,否则可能和棋。

如何把棋盘与对弈过程交给计算机处理,并让机器学会策略?

三、核心讲解

本课学习路径:

1井字棋对弈数字化
2根据经验 / 棋谱学习
3让机器自主学习下棋

1.井字棋对弈数字化

井字棋规则简单:双方轮流落子,三子连线获胜,无法获胜则和棋。要让机器参与,先要把棋盘与过程数字化。

数字化表示:可用二维坐标标记格子;也可用 1–9 编号,按落子顺序记录数字序列——奇数步与偶数步分别对应双方。
  • 坐标思路类似电子表格:记录棋手与位置
  • 一维编号思路:序列本身就表示对弈过程,无需反复标注棋手
  • 在本课 MixAI 井字棋组件中先熟悉规则与界面

想一想:「15243」这样的棋谱,你能还原出每一步落在哪一格吗?

2.根据经验 / 棋谱学习下棋

人可以靠经验选点;机器则可把经验写成规则,或根据棋谱评估每一步价值。

规则与评估:早期人工智能常把人类经验转化为规则库;也可对棋谱反向赋分(胜负相关位置加减分),汇总成策略表。
  • 经验例:先手下中心;再根据对手边角/边线选择封堵与反击
  • 棋谱评估:可下位置初值 0;胜位大加分、败位大减分,并向前若干步衰减赋分
  • 多份棋谱叠加同一状态的得分,逐步得到「状态下各格得分表」

想一想:面对简单博弈,你更信任「人手写规则」还是「从大量棋谱统计」?为什么?

3.让机器自主学习下棋

井字棋状态空间有限,数字组合可覆盖完备棋谱,从而使机器在完备数据上学习策略成为可能。

查表决策:对弈时根据当前状态找到得分表,在高分格子中选择(可随机打破并列),作为下一步落子。
  • 准备/生成足够棋谱 → 扩充状态 → 修正各位置得分 → 形成策略表
  • 与「只靠固定规则」相比,基于数据的评估更能覆盖更多局面

想一想:如果棋类状态空间极大(如下围棋),只靠一张完整得分表还会可行吗?

弄清以上要点后,再进入下方动手体验,用实际操作验证。

四、动手体验 · MixAI 组件

请在下列组件中完成操作,至少体验一个并记录现象。

组件 model_tic_tac_toe_game — 在框内完成操作

五、课堂总结

  • 可用坐标或 1–9 编号序列表示棋盘与对弈过程。
  • 可将人类经验转化为规则,这是早期人工智能的重要思想。
  • 也可通过对棋谱步骤赋分与汇总,让计算机自行形成策略。

六、拓展提升

  • 讨论:智能下棋模型对棋类普及是助力还是让人只剩「模仿 AI」?人类比赛应否允许使用人工智能?

测评

对照本课学习目标作答(客观题练习);选出后点「检查」。答错会显示简短说明。

  1. 用 1–9 表示井字棋格子并按顺序记录落子,其优点是:

  2. 根据棋谱学习策略时,常见做法是:

  3. 判断:把人类下棋经验写成规则让机器执行,体现了基于规则的智能思想。

本节小结

回顾本课要点,完成动手体验与测评。记住:与机器下井字棋。