中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

英雄聯(lián)盟如何指揮團(tuán)戰(zhàn)?AI幫你做決策

2018-07-25    來源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬Linux鏡像隨意使用
英雄聯(lián)盟是一個(gè)需要默契團(tuán)隊(duì)配合的多人對(duì)戰(zhàn)游戲。在瞬息萬變的戰(zhàn)斗中,如何做出正確的決策非常重要。最近,數(shù)據(jù)分析師 Philip Osborne 提出了一種利用人工智能技術(shù)提升英雄聯(lián)盟中團(tuán)隊(duì)決策水平的方法,并將其開源。該方法不僅參考了大量真實(shí)游戲的統(tǒng)計(jì)結(jié)果,也將當(dāng)前玩家的偏好計(jì)算在內(nèi)。

 

 

該項(xiàng)目由三部分組成,旨在將 MOBA 游戲《英雄聯(lián)盟》的對(duì)戰(zhàn)建模為馬爾科夫決策過程,然后應(yīng)用強(qiáng)化學(xué)習(xí)找到最佳決策,該決策還考慮到玩家的偏好,并超越了簡(jiǎn)單的「計(jì)分板」統(tǒng)計(jì)。

作者在 Kaggle 中上傳了模型的每個(gè)部分,以便大家更好地理解數(shù)據(jù)的處理過程與模型結(jié)構(gòu):

第一部分:https://www.kaggle.com/osbornep/lol-ai-model-part-1-initial-eda-and-first-mdp

第二部分:https://www.kaggle.com/osbornep/lol-ai-model-part-2-redesign-mdp-with-gold-diff

第三部分:https://www.kaggle.com/osbornep/lol-ai-model-part-3-final-output

目前這個(gè)項(xiàng)目還在進(jìn)行當(dāng)中,我們希望展示復(fù)雜的機(jī)器學(xué)習(xí)方法可以在游戲中做什么。該游戲的分?jǐn)?shù)不只是簡(jiǎn)單的「計(jì)分板」統(tǒng)計(jì)結(jié)果,如下圖所示:

 

 

動(dòng)機(jī)和目標(biāo)

英雄聯(lián)盟是一款團(tuán)隊(duì)競(jìng)技電子游戲,每局游戲有兩個(gè)團(tuán)隊(duì)(每隊(duì)五人),為補(bǔ)兵與殺人展開競(jìng)爭(zhēng)。獲得優(yōu)勢(shì)會(huì)使玩家變得比對(duì)手更強(qiáng)大(獲得更好的裝備,升級(jí)更快),一方優(yōu)勢(shì)不斷增加的話,獲勝的幾率也會(huì)變大。因此,后續(xù)的打法和游戲走向依賴于之前的打法和戰(zhàn)況,最后一方將摧毀另一方的基地,從而贏得比賽。

像這種根據(jù)前情建模的情況并不新鮮;多年來,研究人員一直在考慮如何將這種方法應(yīng)用于籃球等運(yùn)動(dòng)中(https://arxiv.org/pdf/1507.01816.pdf),在這些運(yùn)動(dòng)中,傳球、運(yùn)球、犯規(guī)等一系列動(dòng)作會(huì)導(dǎo)致一方得分或失分。此類研究旨在提供比簡(jiǎn)單的得分統(tǒng)計(jì)(籃球中運(yùn)動(dòng)員得分或游戲里玩家獲取人頭)更加詳細(xì)的情況,并考慮建模為時(shí)間上連續(xù)的一系列事件時(shí),團(tuán)隊(duì)?wèi)?yīng)該如何操作。

以這種方式建模對(duì)英雄聯(lián)盟這類游戲來說更為重要,因?yàn)樵谠擃愑螒蛑,玩家補(bǔ)兵和殺人后可以獲得裝備并升級(jí)。例如,一個(gè)玩家拿到首殺就可以獲取額外金幣購(gòu)買更強(qiáng)的裝備。而有了這些裝備之后,該玩家變得更加強(qiáng)大進(jìn)而獲取更多人頭,如此循環(huán),直到帶領(lǐng)其隊(duì)伍獲取最后的勝利。這種領(lǐng)先優(yōu)勢(shì)被稱為「滾雪球」,因?yàn)樵撏婕視?huì)不斷積累優(yōu)勢(shì),不過很多時(shí)候,該玩家在游戲中所在的隊(duì)伍并不一定是優(yōu)勢(shì)方,野怪和團(tuán)隊(duì)合作更為重要。

該項(xiàng)目的目標(biāo)很簡(jiǎn)單:我們是否可以根據(jù)游戲前情計(jì)算下一步最好的打法,然后根據(jù)真實(shí)比賽數(shù)據(jù)增加最終的勝率。

然而,一場(chǎng)游戲中影響玩家決策的因素有很多,沒那么容易預(yù)測(cè)。不論收集多少數(shù)據(jù),玩家獲得的信息量始終多于任何一臺(tái)計(jì)算機(jī)(至少目前如此!)。例如,在一場(chǎng)游戲中,玩家可能超水平發(fā)揮或發(fā)揮失常,或者偏好某種打法(通常根據(jù)他們選擇的英雄來界定)。有些玩家自然而然地會(huì)變得更加好斗,喜歡殺戮,有些玩家則比較被動(dòng)一直補(bǔ)兵發(fā)育。因此,我們進(jìn)一步開發(fā)模型,允許玩家根據(jù)其偏好調(diào)整建議的打法。

讓模型「人工智能化」

在第一部分中,我們進(jìn)行了一些介紹性的統(tǒng)計(jì)分析。例如,假設(shè)隊(duì)伍在比賽中補(bǔ)到第一個(gè)和第二個(gè)兵,我們能夠計(jì)算出獲勝的概率,如下圖所示。

有兩個(gè)組成部分,使我們的項(xiàng)目超越簡(jiǎn)單的統(tǒng)計(jì)的人工智能:

首先,在未預(yù)先設(shè)想游戲概念時(shí),模型會(huì)學(xué)習(xí)哪些行動(dòng)是最好的。

第二,它試圖了解玩家對(duì)影響模型輸出的決策的偏好。

我們定義馬爾可夫決策過程及收集玩家喜好的方式會(huì)決定模型學(xué)習(xí)和輸出的內(nèi)容。

 

 

根據(jù)匹配統(tǒng)計(jì)信息對(duì)馬爾科夫決策過程進(jìn)行預(yù)處理和創(chuàng)建

AI 模型 II:引入打錢效率

我從第一個(gè)模型的結(jié)果中意識(shí)到,我們沒有考慮到負(fù)面和正面事件對(duì)未來都可能產(chǎn)生累積的影響。換句話說,無論在當(dāng)時(shí)時(shí)間點(diǎn)之前還是之后,當(dāng)前的 MDP(馬爾科夫決策過程)概率都有可能發(fā)生。在游戲中,這是不正確的。一旦落后,殺人、拿塔、補(bǔ)兵都會(huì)變得更難,我們需要考慮到這一點(diǎn)。所以,我們引入隊(duì)伍間的打錢效率來重新定義狀態(tài)。當(dāng)前目標(biāo)是建立一個(gè)定義狀態(tài)的 MDP,這個(gè)狀態(tài)可能是事件發(fā)生順序,或者隊(duì)伍是否落后或領(lǐng)先。我們將金幣差值分為以下幾類:

相等:0–999 金幣差值(平均每個(gè)隊(duì)員 0-200)
略落后/領(lǐng)先:1,000–2,499(平均每個(gè)隊(duì)員 200–500)
落后/領(lǐng)先:2,500–4,999(平均每個(gè)隊(duì)員 500–1,000)
遠(yuǎn)遠(yuǎn)落后/遙遙領(lǐng)先:5,000(平均每個(gè)隊(duì)員 1,000+)

我們也需要考慮沒有任何事件發(fā)生的情況,并把其歸為『無』事件中,以保證每分鐘都有事件發(fā)生。這個(gè)『無』事件表示一個(gè)隊(duì)伍決定拖延游戲,以將那些在早期游戲中更善于獲得金幣的隊(duì)伍區(qū)分出來,而不需要?dú)⑺?或通過小兵殺死)他們。然而,這樣做也會(huì)大大增加數(shù)據(jù)量。因?yàn)槲覀優(yōu)槠ヅ淇捎闷ヅ漤?xiàng)已經(jīng)添加了 7 個(gè)類別,但如果我們能訪問更常規(guī)的匹配項(xiàng),那數(shù)據(jù)量就已足夠了。如前所述,我們可以通過以下步驟來概述:

 

 

預(yù)處理

1. 輸入殺人數(shù)、塔數(shù)、野怪和金幣差值的數(shù)據(jù)。

2. 將『地址』轉(zhuǎn)為 ID 特性。

3. 移除所有舊版本的游戲。

4. 從金幣差值開始,按照事件的時(shí)間、匹配 ID 和與以前一致的團(tuán)隊(duì)進(jìn)行合計(jì)。

5. 追加(助攻的)人頭數(shù)、怪?jǐn)?shù)和塔數(shù)到此末尾,為每個(gè)事件創(chuàng)建行并按發(fā)生的時(shí)間對(duì)事件進(jìn)行排序(平均人頭數(shù))。

6. 添加「事件序號(hào)」特性,顯示每次匹配中的事件順序。

7. 為行上的每個(gè)事件創(chuàng)建一個(gè)統(tǒng)一的「事件」特性,包括人頭、塔、怪或者『無』事件。

8. 每次匹配時(shí)將其轉(zhuǎn)化為行,現(xiàn)在是用列來表示每個(gè)事件。

9. 只考慮紅隊(duì)的視角,以便合并列,視藍(lán)隊(duì)增益為負(fù)紅隊(duì)增益。同時(shí)增加紅隊(duì)的游戲長(zhǎng)度和結(jié)果。

10. 將所有空白值 (即在前面步驟中結(jié)束的游戲) 替換為匹配的游戲結(jié)果,以便所有行中的最后一個(gè)事件是匹配結(jié)果。

11. 轉(zhuǎn)換為 MDP,其中 P(X_t | X_t-1)用于每個(gè)事件數(shù)和由金幣差值定義的狀態(tài)之間的所有事件類型。

 

 

馬爾科夫決策過程輸出

使用簡(jiǎn)易英語的模型 V6 偽代碼

我們最終版本的模型簡(jiǎn)單總結(jié)如下:

1. 引入?yún)?shù)

2. 初始化啟動(dòng)狀態(tài)、啟動(dòng)事件、啟動(dòng)操作

3. 根據(jù) MDP 中定義的首次提供或基于其發(fā)生可能性的隨機(jī)選擇操作

4. 當(dāng)行動(dòng)贏或輸時(shí),結(jié)束

5. 跟蹤事件中所采取的行動(dòng)和最終結(jié)果(贏/輸)

6. 根據(jù)最終結(jié)果所用的更新規(guī)則來更新操作

7. 重復(fù) x 次上述步驟

引入獎(jiǎng)勵(lì)偏好

首先,我們調(diào)整模型代碼,把獎(jiǎng)勵(lì)歸入回報(bào)計(jì)算中。然后,當(dāng)我們運(yùn)行模型時(shí),引入了對(duì)某些行為的偏置,現(xiàn)而不是簡(jiǎn)單地使獎(jiǎng)勵(lì)等于零。

在第一個(gè)例子中,我們顯示了如果對(duì)一個(gè)動(dòng)作進(jìn)行積極的評(píng)價(jià),會(huì)發(fā)生什么;在第二個(gè)例子中,顯示對(duì)一個(gè)動(dòng)作進(jìn)行消極的評(píng)價(jià),會(huì)發(fā)生什么。

 

 

如果我們積極評(píng)價(jià)動(dòng)作『+KILLS』的輸出

 

 

如果我們消極評(píng)價(jià)動(dòng)作『+KILLS』的輸出

更真實(shí)的玩家偏好

現(xiàn)在我們可以嘗試近似模擬玩家的真實(shí)偏好。在這個(gè)案例中,我們隨機(jī)化一些獎(jiǎng)勵(lì)以允許遵守以下兩條規(guī)則:

玩家不想錯(cuò)過任何補(bǔ)兵
玩家優(yōu)先補(bǔ)兵而不是殺人

因此,我們對(duì)人頭和補(bǔ)兵的獎(jiǎng)勵(lì)都是最小值-0.05,而其它行動(dòng)的獎(jiǎng)勵(lì)都在-0.05 和 0.05 之間隨機(jī)生成。

 

 

隨機(jī)化玩家獎(jiǎng)勵(lì)后的輸出。

 

 

隨機(jī)化玩家所有動(dòng)作的獎(jiǎng)勵(lì)后所獲得的輸出。

 

 

最終輸出,顯示給定當(dāng)前金幣差值狀態(tài)和分鐘的每個(gè)動(dòng)作的值

總結(jié)及玩家對(duì)獎(jiǎng)勵(lì)的反饋

我過分簡(jiǎn)化了某些特征(如「kills」實(shí)際上并不代表人頭的數(shù)量),數(shù)據(jù)也不太可能表示正常的匹配。然而,我希望本文能夠清晰地展現(xiàn)一個(gè)有趣的概念,鼓勵(lì)更多人討論這一領(lǐng)域今后的走向。

首先,我將列出在實(shí)現(xiàn)之前需要作出的重要改進(jìn):

1. 使用更多能夠代表整個(gè)玩家群體(而不只是競(jìng)爭(zhēng)性比賽)的數(shù)據(jù)計(jì)算 MDP。

2. 提高模型效率,將其計(jì)算時(shí)間控制在更合理的范圍。蒙特卡洛以耗時(shí)著稱,因此我們將探索更高效的算法。

3. 采用更高級(jí)的參數(shù)優(yōu)化以進(jìn)一步改進(jìn)結(jié)果。

4. 捕捉、映射原型玩家對(duì)更真實(shí)的獎(jiǎng)勵(lì)信號(hào)的反饋。

我們引入了針對(duì)影響模型輸出而給予的獎(jiǎng)勵(lì),但該如何獲得獎(jiǎng)勵(lì)?我們可以考慮幾種方法,但是根據(jù)我之前的研究,我認(rèn)為最好的方法就是考慮一種既涉及到行動(dòng)的個(gè)體質(zhì)量又考慮到轉(zhuǎn)變質(zhì)量的獎(jiǎng)勵(lì)。

這變得越來越復(fù)雜,我不會(huì)在此文中展開,但簡(jiǎn)而言之,我們想為玩家匹配決策,其中下一個(gè)最佳決策取決于最新情況。比如,如果一隊(duì)玩家將對(duì)方全部殲滅,他們可能會(huì)去拿大龍。我們的模型已經(jīng)將一個(gè)序列中事件發(fā)生的概率考慮在內(nèi),因此,我們也應(yīng)該用同樣的方式思考玩家的決策。這一想法來自一篇論文《DJ-MC: A Reinforcement-Learning Agent for Music Playlist Recommendation》,該論文闡釋了如何更加詳細(xì)地將反饋映射出來。

反饋的收集方式?jīng)Q定了我們的模型能有多成功。依我之見,我們這么做的最終目標(biāo)是為玩家的下一步?jīng)Q策提供最佳實(shí)時(shí)建議。如此一來,玩家就能從根據(jù)比賽數(shù)據(jù)算出的幾條最佳決策(根據(jù)獲勝情況排序)中做出選擇。可以在多個(gè)游戲中跟蹤該玩家的選擇,以進(jìn)一步了解和理解該玩家的偏好。這也意味著,我們不僅可以追蹤決策的結(jié)果,還能預(yù)測(cè)該玩家的意圖(例如,該玩家試圖拆塔結(jié)果卻被殺了),甚至還能為更高級(jí)的分析提供信息。

當(dāng)然,這樣的想法可能造成團(tuán)隊(duì)成員意見不符,也可能讓游戲變得沒那么令人興奮。但我認(rèn)為這樣的想法可能對(duì)低水平或者常規(guī)水平的玩家有益,因?yàn)檫@種水平的游戲玩家難以清楚的溝通游戲決策。這也可能幫助識(shí)別「毒瘤」玩家,因?yàn)閳F(tuán)隊(duì)指望通過投票系統(tǒng)來統(tǒng)一意見,然后就能看出「毒瘤」玩家是不是一直不遵循團(tuán)隊(duì)計(jì)劃,忽略隊(duì)友。

 

 

實(shí)時(shí)游戲環(huán)境中的模型推薦投票系統(tǒng)示

原文鏈接:https://towardsdatascience.com/ai-in-video-games-improving-decision-making-in-league-of-legends-using-real-match-statistics-and-29ebc149b0d0

標(biāo)簽: 代碼 數(shù)據(jù)分析

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:如何在機(jī)器學(xué)習(xí)項(xiàng)目中使用統(tǒng)計(jì)方法的示例

下一篇:中國(guó)AI企業(yè)吸金旺但90%虧損 今年將迎倒閉潮