Python AI 遊戲編程入門 — 基於 Pygame 和 PyTorch
肖凱
- 出版商: 人民郵電
- 出版日期: 2024-09-01
- 售價: $474
- 語言: 簡體中文
- 頁數: 196
- ISBN: 7115645809
- ISBN-13: 9787115645807
-
相關分類:
Python、程式語言、DeepLearning
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
-
$500$395 -
$505白話強化學習與 PyTorch
-
$760$570 -
$352邊做邊學深度強化學習:PyTorch 程序設計實踐
-
$580$458 -
$630$536 -
$520$411 -
$398深度強化學習實戰 用OpenAI Gym構建智能體
-
$560$549 -
$474$450 -
$680$510 -
$650$507 -
$594$564 -
$479$455 -
$419$398 -
$354$336 -
$479$455 -
$1,134$1,077 -
$600$474 -
$500$450 -
$690$483 -
$479$455 -
$480$379 -
$650$429 -
$420$332
相關主題
商品描述
本書以Python為開發環境,以小遊戲開發為載體,對編程及人工智能技術進行講解,讓讀者同時學習編程及人工智能知識。 本書共16章,可分為4個部分。第1部分為第1~3章,分別是編程、遊戲和AI,Python環境準備及Pygame基礎知識。第2部分為第4~7章,分別講解了貪吃蛇遊戲編程、打磚塊遊戲編程、笨鳥先飛遊戲編程和五子棋遊戲編程。第3部分為第8~12章,分別介紹了神經網絡和PyTorch基礎、蒙特卡羅模擬、強化學習入門、深度強化學習DQN及遺傳算法。第4部分為第13~16章,分佈介紹了貪吃蛇AI編程、打磚塊AI編程、笨鳥先飛AI編程和五子棋AI編程。 本書內容系統性強,語言精練,適合對AI遊戲編程感興趣的讀者閱讀,也適合作為青少年遊戲編程培訓的參考用書。
作者簡介
肖凱,螞蟻集團大安全事業群算法專家,經濟學碩士,長年工作於因特網行業,專註於因特網大數據挖掘和機器學習相關領域的研究。B站“肖老師的退休生活”,不定期更新的UP主,眼下致力於講解人工智能/遊戲設計/批判性思維。目前從事風控算法開發,精通機器學習算法理論和編程應用。
目錄大綱
第1章 編程、遊戲和AI 1
1.1 代碼的世界 1
1.2 什麼是編程 2
1.3 什麼是AI 2
1.4 遊戲編程和遊戲AI 3
1.4.1 遊戲主循環 3
1.4.2 二維圖形顯示 4
1.4.3 輸入處理 5
1.4.4 遊戲AI
1.5 本章小結 6
第2章 Python環境準備和預備知識 7
2.1 Python編程環境安裝 7
2.2 編寫第一個小遊戲 8
2.3 面向對象編程 11
2.4 使用Python模塊 14
2.4.1 random模塊 15
2.4.2 NumPy模塊 15
2.4.3 matplotlib模塊 16
2.4.4 copy模塊 17
2.4.5 collections模塊 17
2.5 本章小結 18
第3章 Pygame基礎知識 19
3.1 Pygame的Hello World 19
3.2 顯示圖形 21
3.3 鍵盤和鼠標交互 22
3.4 加載圖片和文字資源 24
3.5 增加音效和運動 25
3.6 連續鍵盤控制 27
3.7 碰撞檢測 28
3.8 一個完整的遊戲 29
3.9 本章小結 34
第4章 貪吃蛇遊戲編程 35
4.1 貪吃蛇遊戲介紹 35
4.1.1 遊戲規則 35
4.1.2 遊戲資源 36
4.2 遊戲功能和程序設計 37
4.2.1 遊戲功能 37
4.2.2 程序設計
4.3 代碼實現 38
4.3.1 模塊加載、位置和方向 38
4.3.2 Snake類 38
4.3.3 Berry類 40
4.3.4 Wall類 41
4.3.5 Game類定義 42
4.3.6 碰撞檢測 43
4.3.7 繪圖輸出 43
4.3.8 遊戲主循環 44
4.4 本章小結 45
第5章 打磚塊遊戲編程 46
5.1 打磚塊遊戲介紹 46
5.1.1 遊戲規則 46
5.1.2 遊戲資源 47
5.2 遊戲功能和程序設計 47
5.2.1 遊戲功能 47
5.2.2 程序設計 48
5.3 打磚塊遊戲代碼實現 48
5.3.1 Bat類 48
5.3.2 Ball類 49
5.3.3 Bricks類 50
5.3.4 Game類 51
5.3.5 碰撞檢測 52
5.3.6 繪圖輸出 53
5.3.7 遊戲主循環 54
5.4 雙人對戰遊戲 55
5.5 本章小結
第6章 笨鳥先飛遊戲編程 61
6.1 笨鳥先飛遊戲介紹 61
6.1.1 遊戲規則 61
6.1.2 遊戲資源 62
6.2 遊戲功能和程序設計 62
6.2.1 遊戲功能 62
6.2.2 程序設計 62
6.3 代碼實現 63
6.3.1 Bird類 63
6.3.2 Pipe類 66
6.3.3 Button類 67
6.3.4 Game類 68
6.3.5 玩家輸入處理 69
6.3.6 碰撞檢測 69
6.3.7 遊戲數據更新 70
6.3.8 繪圖輸出 72
6.3.9 遊戲主循環 72
6.4 本章小結
第7章 五子棋遊戲編程 74
7.1 五子棋遊戲介紹 74
7.1.1 遊戲規則 74
7.1.2 遊戲資源 74
7.2 遊戲功能和程序設計 75
7.2.1 遊戲功能 75
7.2.2 程序設計 75
7.3 代碼實現 76
7.3.1 Board類 76
7.3.2 Button類 78
7.3.3 Board_Area類 78
7.3.4 Message_Area類 79
7.3.5 Game類 79
7.4 本章小結 84
第8章 神經網絡和PyTorch基礎 85
8.1 最優化方法 85
8.1.1 什麼是最優化 85
8.1.2 梯度下降算法 86
8.2 PyTorch基礎知識 89
8.2.1 什麼是PyTorch 89
8.2.2 PyTorch的張量操作 90
8.2.3 自動計算梯度 92
8.2.4 用PyTorch進行最優化 93
8.3 神經網絡 94
8.3.1 神經網絡是什麼 94
8.3.2 矩形周長問題 95
8.3.3 用PyTorch解決矩形周長問題 99
8.3.4 用PyTorch解決矩形面積問題 100
8.4 使用神經網絡玩井字棋遊戲 101
8.5 本章小結 104
第9章 蒙特卡羅模擬 105
9.1 什麼是隨機模擬 105
9.2 骰子的模擬實驗 107
9.3 硬幣的模擬實驗 109
9.4 撲克牌的模擬實驗 111
9.5 使用蒙特卡羅方法玩井字棋遊戲 112
9.6 本章小結 116
第10章 強化學習入門 118
10.1 什麼是強化學習 118
10.2 冰湖迷宮問題 120
10.3 用蒙特卡羅方法解決冰湖迷宮問題 123
10.4 SARSA算法 127
10.5 Q-Learning算法 129
10.6 本章小結 132
第11章 深度強化學習算法DQN 133
11.1 什麼是深度強化學習 133
11.2 用DQN解決冰湖迷宮問題 135
11.3 DQN的完整結構和優化 138
11.4 本章小結
第12章 遺傳算法 143
12.1 什麼是遺傳算法 143
12.2 用遺傳算法解決最優化問題 144
12.3 用遺傳算法解決背包問題 148
12.4 用遺傳算法訓練神經網絡 150
12.5 本章小結
第13章 貪吃蛇遊戲AI編程 156
13.1 整體設計思路 156
13.2 貪吃蛇遊戲環境改造 157
13.2.1 環境改造思路 157
13.2.2 改造代碼 158
13.3 AI引擎的設計和編寫 162
13.3.1 DQN回顧 162
13.3.2 編寫AI引擎 162
13.4 AI環境與AI引擎的組裝運行 165
13.5 本章小結 168
第14章 打磚塊遊戲AI編程 169
14.1 打磚塊遊戲環境改造 169
14.1.1 環境改造思路 169
14.1.2 代碼實現 170
14.2 AI引擎的設計和編寫 172
14.3 AI環境和AI引擎的組裝運行 174
14.4 本章小結 176
第15章 笨鳥先飛遊戲AI編程 178
15.1 基於DQN的AI引擎 178
15.1.1 笨鳥先飛遊戲代碼改造 178
15.1.2 笨鳥先飛遊戲的AI引擎的組裝 181
15.2 基於遺傳算法的AI引擎 182
15.2.1 整體設計思路 182
15.2.2 Linear_Net類的改造 182
15.2.3 Bird類的改造 183
15.2.4 Game類的改造 184
15.2.5 遺傳算法函數編寫 186
15.2.6 算法效果 188
15.3 本章小結 188
第16章 五子棋遊戲AI編程 189
16.1 MCTS的整體思路 189
16.2 MCTS代碼實現 191
16.3 五子棋遊戲程序改造 196
16.4 本章小結 196