官术网_书友最值得收藏!

1.4.4 游戲AI

AI能給予游戲更多的樂趣。從工程角度來看,游戲AI并不是越復雜越好,而是能滿足游戲的需要。AI領域有一個黃金原則——搜索和知識是相互關聯的,當你擁有更多的知識,你就需要更少的搜索;當你擁有更少的知識,你就需要更多的搜索。一個職業圍棋選手擁有相當豐富的對弈知識,通常只需針對幾個落子選項進行少量的計算。而初版的AlphaGo,在沒有足夠豐富的對弈知識的背景下,只能反復在海量選項中進行最優落子方案的搜索。

最早的《吃豆人》游戲中,有4個追逐玩家的幽靈角色,其AI設置相當簡單。它們追逐玩家的路線都是通過硬編碼的規則確定好的,有的是直接追逐玩家,有的是占領某個交通要道,有的是隨機選擇某條通道。這套游戲AI編寫得很簡單,但整體的配合卻讓玩家感覺很智能,因為簡單的規則中包含相當豐富的游戲對抗的知識。因此,需要視情況采用復雜程度不同的游戲AI。有時候,簡單的隨機方法或者貪心算法就可以模擬出一個不錯的NPC。

本書將主要介紹游戲中會用到的3種AI算法,分別是深度強化學習、遺傳算法和蒙特卡羅樹搜索。深度強化學習(deep reinforcement learning)是深度學習與強化學習相結合的產物,它集成了深度學習在函數擬合上的強大能力,以及強化學習基于環境反饋進行試錯和決策的能力。深度強化學習可用來解決現實場景中的復雜問題。遺傳算法(genetic algorithm)是計算數學中用于解決最優化問題的搜索算法,是進化算法的一種。進化算法是借鑒進化生物學中的一些原理而發展起來的,這些現象包括遺傳、突變、自然選擇以及雜交等。蒙特卡羅樹搜索(Monte Carlo tree search)是一種用于決策過程的啟發式搜索算法,它最引人注目的使用場景之一是被用在AlphaGo中。它也用于其他棋牌類等即時電子游戲和不確定性游戲。

主站蜘蛛池模板: 凌云县| 文山县| 昆明市| 庐江县| 栾城县| 平阳县| 叙永县| 台南县| 大同市| 含山县| 枣阳市| 五指山市| 葵青区| 东阳市| 安仁县| 陆丰市| 罗田县| 太和县| 沙坪坝区| 根河市| 贡山| 策勒县| 彰武县| 金秀| 孟连| 正安县| 武陟县| 包头市| 石屏县| 牡丹江市| 峨边| 昆明市| 遂川县| 平和县| 普洱| 麻栗坡县| 繁昌县| 兰坪| 利辛县| 阳东县| 叶城县|