本研究选择某中学高一年级的241名学生为研究对象,在计算机教室完成了“挑战Alpha井字棋”6个课时的学习。在学习“挑战Alpha井字棋”内容前,他们已经掌握Python语言的基本知识,体验编程解决问题的基本过程,能够运用顺序、选择和循环三种结构编写程序,具备利用计算机解决问题的基本能力。本项目由一名经验丰富的信息技术教师教学,已具备人工智能学科知识与专业技能,以及游戏化教学实践能力。
像井字棋这样的谜题涉及到逐步填满棋盘,而至少从16世纪开始使用的一大类谜题则涉及到从棋盘上移走棋子。典型的规则是棋子能够跳过一个中间的棋子进入一个洞,然后中间的棋子被移除。目标是最终在棋盘上只剩下一个棋子。
像井字棋这样的游戏,实际上在每一步都要移动到几个可能的新棋盘状态中的一个——我们可以把它看作是在「游戏状态空间」中的不同「位置」。但是,如果我们不考虑棋盘状态,而只是把我们的状态看作是一个栅格(lattice)上的位置,如:
我们已经研究了「经典井字棋」和一些特定的变体。但最终还有各种可能的变体。一种来表示任何类似井字游戏的「棋盘」的方便的一般方法是,给出一个「扁平化」的数值列表——0代表空白位置,i代表玩家i添加的一个符号。
多路图的大部分核心结构实际上已经很明显了,即使这在「单人井字棋」这种看似不起眼的情况下,在这种情况下,人们只是在逐步填满棋盘上的格子: