- Python AI游戲編程入門:基于Pygame和PyTorch
- 肖凱
- 1140字
- 2024-10-25 14:10:44
前言
有人說,未來是代碼的世界,也是AI的世界。
這種說法或許有些絕對,但從信息技術發展的速度及趨勢來看,會編寫程序代碼和懂AI(artificial intelligence,人工智能)技術,確實是技能跟上科技發展的必要條件。而毋庸置疑的是,要想真正理解AI技術,會編程是基礎之一。
回望歷史,從某種意義上說,AlphaGo的誕生是AI時代到來的標志,因為人們普遍承認下圍棋是一種高級別的智能過程——而當AlphaGo擊敗李世石、柯潔等世界頂尖圍棋高手之后,人們感受到了圍棋機器人“大腦”的強大。AlphaGo通過蒙特卡羅模擬使用不同的落子方案進行預演,不斷刷新落子方案,進而不斷增加勝算。東京大學電子信息學專業教授伊庭齊志曾說,研究游戲AI或許是解密人類大腦思考方式的方法之一。游戲AI領域里的經典算法一邊計算資源消耗,一邊計算如何獲得游戲勝利,這種兼顧成本與收益的規劃方式已經初步具備與人類“權衡”活動相似的評估眼前與未來的能力。
計算機程序背后的代碼本身是抽象而枯燥的,但游戲是趣味橫生的。為了讓更多對AI技術感興趣的讀者步入AI的世界,本書以Python為開發環境,以小游戲開發為載體,對編程思想及AI技術進行講解,讓讀者同時點亮這兩種技能。希望讀者能通過本書欣賞和領悟到代碼世界的奇妙。
本書共16章,可分為4個部分。
第1部分為第1~3章,介紹了基于Python環境進行游戲編程所需要的基礎,分別是編程、游戲和AI,Python環境準備和預備知識及Pygame基礎知識。
第2部分為第4~7章,為游戲編程案例講解,包含貪吃蛇、打磚塊、笨鳥先飛和五子棋4個游戲。
第3部分為第8~12章,介紹了AI的部分基礎知識,分別是神經網絡和PyTorch基礎、蒙特卡羅模擬、強化學習入門、深度強化學習算法DQN和遺傳算法。
第4部分為第13~16章,介紹了第2部分講解的4款游戲引入AI如何進行編程。
就內容主線來講,本書先通過Pygame編寫小游戲讓讀者熟悉Python代碼編寫,然后引入神經網絡、強化學習、DQN算法及PyTorch工具,讓讀者了解AI基礎知識后對游戲代碼進行改編,從而實現AI游戲編程。
需要說明的是,本書中的代碼均用淺灰色底紋標識,代碼運行的輸出結果以上下虛線邊框標識。
Pygame是一個開源的Python庫,主要用于2D游戲的開發。Pygame提供了豐富的功能,如圖像渲染、聲音播放、鍵盤和鼠標操作、像素操作、碰撞檢測等,這些功能讓游戲開發更加簡單。PyTorch則是開源的深度學習框架,以出色的靈活性和易用性著稱,用于構建深度學習模型的功能完備,通常用于圖像識別和語言處理等應用程序的機器學習。對于想以Python為工具理解游戲開發和AI技術的讀者來說,學好這二者的使用是一個非常具有性價比的選擇。
另外,本書提及的文件均提供下載,請在嗶哩嗶哩網站/App搜索“肖老師的退休生活”,從UP主個人主頁獲取下載方式。
在本書寫作過程中,筆者力求簡潔、精確,但囿于水平,書中難免存在疏漏之處。若讀者在學習中遇到問題,請發送E-mail至jiahongfei@ptpress.com.cn與我們聯系。
編者
2024年2月
- Mastering OpenLayers 3
- Java EE 6 企業級應用開發教程
- Cocos2d-x游戲開發:手把手教你Lua語言的編程方法
- Java高手真經(高級編程卷):Java Web高級開發技術
- Java Web及其框架技術
- Python高級編程
- Python Geospatial Development(Second Edition)
- C語言從入門到精通(第4版)
- Java深入解析:透析Java本質的36個話題
- 重學Java設計模式
- Highcharts Cookbook
- 機器學習與R語言實戰
- Tableau 10 Bootcamp
- Machine Learning in Java
- Python Machine Learning Blueprints:Intuitive data projects you can relate to