第25课 与机器下井字棋 课件(18张PPT)

资源下载
  1. 二一教育资源

第25课 与机器下井字棋 课件(18张PPT)

资源简介

(共18张PPT)
第25课 
与机器下井字棋
第六单元 AI项目工坊
第25课 课堂导入
问题情境
井字棋是一种常见的规则简单的游戏。行棋时,双方交替行棋不可停手;棋子只能下在空白格中;一方的3颗棋子连成行、列或对角线则可获胜;双方都无获胜可能则和棋。
AI
第25课 课堂导入
利用纸笔或配套资源,参照左边表格尝试下井字棋,熟悉其规则。
问题情境
第25课 学习内容
学习活动
一 井字棋对弈数字化
三 根据棋谱数据学习下棋
二 根据经验学习下棋
四 让机器自主学习下棋
一、井字棋对弈数字化
第25课 学习内容
你认为哪种思路更好?为什么?简要记录你的理解。
根据棋谱和自己的理解还原对弈过程。
一、井字棋对弈数字化
第25课 学习内容
面对井字棋的棋盘,最容易想到的一种思路是给每个格子赋予不同的坐标,这与电子表格大体相仿。而棋谱,即下棋过程,则需记录棋手和下棋的位置。
另一种思路则认为,棋盘9个格子,用数字1到9表示即可。双方交替下棋,奇数步一定是棋手1下的,偶数步一定是棋手2下的,因此无须特意标注。只要将格子对应的数字按顺序排列,下棋过程便一目了然了。
下井字棋时要解决的核心问题是,如何合理地选择一个空白位置落子。下棋时,人们可以依靠已有的下棋经验。
参照下面的先手经验与另一位同学下棋。
①第一步下在中心位置(5)。
②参考下图。若对手下在边角(1、3、7、9),则己方应下在边(2、4、6、8)且紧挨对手棋子的位置。反之同理。
二、根据经验学习下棋
第25课 学习内容
③若对方不封堵,则可获胜;若对方封堵且己方的第2步落在边角,那么下在同边另一边角,就可获胜;若对方封堵且己方的第2步落在边,那么挨着对方第一步的位置下。此后,则大概率和棋。
第25课 学习内容
二、根据经验学习下棋
尝试分析此下棋经验是否有需要改进的地方。
第25课 学习内容
三、根据棋谱数据学习下棋
前面使用的下棋策略是人制定的,要实现更普遍适用的智能,还要让计算机自动学习策略。对井字棋来说,一个简单的方法,就是让计算机根据已有的棋谱学习,对棋谱每一步进行适当评估。针对所有棋谱反复重复这一过程,不断调整得分,最终就可以找出下棋策略了。
第25课 学习内容
三、根据棋谱数据学习下棋
针对井字棋的对弈过程,可参照下面的方法评估关键步骤的价值。
1.每一步,可下棋的位置均赋为0;
2.胜利者获胜的位置+100,失败者失败以外的位置-100;
3.获胜前一步位置+10,失败前一步以外的位置-10;
4.获胜前两步位置+1,失败前两步以外的位置-1。
第25课 学习内容
三、根据棋谱数据学习下棋
以棋谱“15243”为例,从结果出发反向推导,给此棋谱每一步赋值。参照前面的评估方法,将右边的表格填写完整。
第25课 学习内容
三、根据棋谱数据学习下棋
工作过程大体为:
1.根据棋谱1,得到一些状态和状态对应的各个位置的得分。
2.根据棋谱2,得到一些状态和状态对应的各个位置的得分,遇到状态相同的情况,就让对应的各个位置的得分相加。
3.不断重复前述过程,利用棋谱不断扩充状态,同时不断修正某个状态对应的各个位置的得分。
4.遍历已有的棋谱,完成得分表。
第25课 学习内容
三、根据棋谱数据学习下棋
利用足够多的棋谱,让机器参照前面的方法不断扩充状态及调整某个状态剩余位置的得分,就可以得到类似表25.5的对弈位置得分表,其中一对括号表示一个格子。括号内,第1个数字是格子编号,第2个数字是得分。
对弈时,只要根据棋局状态确定相应位置后,从得分高的格子(可能并列)中随机选一个,作为下一步的落子位置即可。
第25课 学习内容
根据前面的分析,要实现让机器自己学会下井字棋,需要准备大量的棋谱。但实际上,由于井字棋比较简单,棋谱最多用9个数字来描述,所以这些数字的组合,就是完备的棋谱。
四、让机器自主学习下棋     
第25课 学习内容
四、让机器自主学习下棋     
1.复制配套资源中的games.csv文件,或者根据之前所学的内容,通过编程生成所需棋谱数据。
2.打开配套资源中的train.py程序,然后适当修改代码,如棋谱文件路径参数、模型保存位置等。
3.运行train.py程序,开始训练模型。
4.训练结束后,打开配套资源中的play.py程序,修改模型位置等参数。
第25课 学习内容
四、让机器自主学习下棋     
5.修改后运行程序,尝试与机器进行博弈。计算机会一边下棋,一边展示其思考过程。
第25课 课堂总结
1.井字棋对弈数字化可以给每个格子赋予不同的坐标;也可将二维坐标转换为一维数字序列。
2.博弈问题可以通过组建规则库来加以解决。这种基于规则的方法,是早期实现人工智能的核心思想——将人类经验转化为规则,让机器模仿专家行为。
3.通过评估关键步骤的价值,可以让计算机根据已有的棋谱学习,对每一步进行适当评估,自行找出相应的下棋策略。
第25课 拓展与提升
近年来出现了很多会下棋的智能模型,有人认为模型可以辅助人们训练以提高棋艺,有助于棋类运动的普及和发展;有人则认为此后人们不得不模仿人工智能下棋,会让棋类运动失去吸引力。
对此你怎么看?
是否需要向人工智能学习如何下棋?
人类之间的棋类比赛,能否使用人工智能?

展开更多......

收起↑

资源预览