資源簡介 (共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 展開更多...... 收起↑ 資源預覽 縮略圖、資源來源于二一教育資源庫