资源简介 (共27张PPT)(义务教育版)五年级全一册第30课生命游戏的算法学习目标激趣导入学习活动思考-讨论实践探究课堂小结拓展-提升单元主题单元主题单元名称 课名称 核心内容第八单元 人工智能中的算法 第28 课 认识决策树算法 人工智能应用中的决策树算法,决策树算法的应用场景。第 29 课 智能工具再体验 生成式人工智能及其应用。第 30 课 生命游戏有规则 生命游戏中的进化规则及其算法思想。学习目标激趣导入【趣味故事】在遥远的数字王国里,有一片神秘的土地。在这片土地上,生活着一群特殊的 “居民”。它们没有实体的身体,却有着自己的生存法则。有一天,一个勇敢的小数字探险家来到了这片土地,他发现这些 “居民” 的生活方式非常奇特,它们的诞生、繁衍和消亡都遵循着一套神秘的规律。同学们,你们想不想知道这个规律是什么?激趣导入【建构】这个规律就是我们今天要学习的生命游戏算法。让我们跟随小数字探险家的脚步,一起去揭开这个神秘算法的秘密 。学习活动学习活动活动1:生命游戏中的算法规则一学习活动一、生命游戏中的算法规则最初的生命游戏模拟的是一种原始形态的“生命”如何按照特定的规则一代接一代地进行演化,并由此得名。在生命游戏中,有很多小方块,每个小方块都有两种状态。我们可以把这些小方块看作是灯泡,两种状态分别对应着灯泡的“点亮”或“熄灭”。学习活动一、生命游戏中的算法规则游戏开始时,在一个平面网格中,可以设置若干个点亮的灯泡,表示原始状态的“初始构型”,下图所示就是一个初始构型的例子。接着设定表示进化的“代”数,这两个部分构成算法的输入。学习活动一、生命游戏中的算法规则生命游戏的算法规则(即进化规则)可以归纳为两条。规则 1 :一个点亮的灯泡周围有 2 个或 3 个点亮的灯泡,就会继续点亮;它周围有少于 2 个或多于 3 个点亮的灯泡,就会熄灭。例如,下图中心位置的灯泡,用规则 1 来检查它周围的状态,也就是作用规则 1,发现它仍然可以保持点亮状态。学习活动一、生命游戏中的算法规则生命游戏的算法规则(即进化规则)可以归纳为两条。规则 2:一个熄灭的灯泡周围刚好有 3 个点亮的灯泡,才会被点亮。否则,它周围有少于 3 个或多于 3 个点亮的灯泡,就会保持熄灭状态。例如,下图中心位置的灯泡,作用规则 2 后保持熄灭状态。学习活动一、生命游戏中的算法规则【注意】作用规则到指定的代数后进化就会停止,停止之后的网格构型就可以认为是算法的输出。学习活动活动2:体验生命游戏进化规则二学习活动二、体验生命游戏进化规则以下图中的 4 个初始构型为例,进一步学习了解如何作用这些规则。*(注:图中的绿色方格代表点亮状态,空白代表熄灭状态)学习活动二、体验生命游戏进化规则第 1 步:把图中的 4 个构型作用于进化规则,完成第一代进化。例如,左上角的构型有三个点亮的灯泡,作用规则 1 后,一个继续点亮、两个变成熄灭状态。同时作用规则 2 后中间一个被点亮。图中的橙色和蓝色用来临时表示进化的过程,橙色方格表示该位置即将由点亮变为熄灭,蓝色表示该位置即将由熄灭变成点亮。学习活动二、体验生命游戏进化规则下图是对 4 个初始构型分别作用一轮进化规则后的状态。学习活动二、体验生命游戏进化规则第 2 步:把第一代进化的结果作为初始构型,继续作用进化规则,就会得到第二代、第三代,也会产生一些更有趣的现象。例如,对第一代进化后右下角的构型继续作用规则,得到第二代、第三代的进化结果,如下图所示。思考-讨论二、体验生命游戏进化规则【想一想】同学们,到现在为止,你们有没有发现什么规律?学习活动二、体验生命游戏进化规则【小试牛刀】继续用其他几个构型尝试,观察发生的变化。学习活动活动3:试玩“生命游戏”程序三实践探究三、试玩“生命游戏”程序【玩一玩】第 1 步:打开“生命游戏”的 Python 程序。第 2 步:运行这个程序,试着玩一玩。第 3 步:观察、体会游戏中的算法及其进化规则。实践探究【附——参考程序】import numpy as npimport matplotlib.pyplot as pltimport matplotlib.animation as animationdef update(frame_num, img, board, N):new_board = board.copy()for i in range(N):for j in range(N):total = int((board[i, (j - 1) % N] + board[i, (j + 1) % N] +board[(i - 1) % N, j] + board[(i + 1) % N, j] +board[(i - 1) % N, (j - 1) % N] + board[(i - 1) % N, (j + 1) % N] +board[(i + 1) % N, (j - 1) % N] + board[(i + 1) % N, (j + 1) % N]))if board[i, j] == 1 and (total < 2 or total > 3):new_board[i, j] = 0elif board[i, j] == 0 and total == 3:new_board[i, j] = 1img.set_data(new_board)board[:] = new_board[:]return img,def main():N = 50update_interval = 50board = np.random.choice([0, 1], N * N, p=[0.2, 0.8]).reshape(N, N)fig, ax = plt.subplots()img = ax.imshow(board, interpolation='nearest')ani = animation.FuncAnimation(fig, update, fargs=(img, board, N,),frames=100,interval=update_interval,save_count=50)plt.show()if __name__ == '__main__':main()课堂小结2体验生命游戏进化规则3试玩“生命游戏”程序1生命游戏中的算法规则第 1 步:把图中的 4 个构型作用于进化规则,完成第一代进化。第 2 步:把第一代进化的结果作为初始构型,继续作用进化规则,就会得到第二代、第三代,也会产生一些更有趣的现象。第 3 步:继续用其他几个构型尝试,观察发生的变化。规则 1 :一个点亮的灯泡周围有2个或3个点亮的灯泡,就会继续点亮;它周围有少于2个或多于3个点亮的灯泡,就会熄灭。规则 2:一个熄灭的灯泡周围刚好有3个点亮的灯泡,才会被点亮。否则,它周围有少于3个或多于3个点亮的灯泡,就会保持熄灭状态。拓展-提升使用生成式人工智能工具,输入下面的语句,阅读获得的内容,进一步了解生命游戏的规则。为我解释生命游戏,要有简单的说明性实例,适合青少年阅读。https://www.21cnjy.com/recruitment/home/fine 展开更多...... 收起↑ 资源预览