两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種基于多智能體技術(shù)的NPC控制方法與流程

文檔序號:11231374閱讀:726來源:國知局
一種基于多智能體技術(shù)的NPC控制方法與流程

一種基于多智能體技術(shù)的npc控制方法,將人工智能方法用于多人在線角色扮演游戲中自動控制非玩家角色的行為,涉及人工智能、計算機游戲等技術(shù)領(lǐng)域。



背景技術(shù):

多人在線角色扮演游戲,是一種大型網(wǎng)絡(luò)游戲,其中玩家扮演一個虛構(gòu)角色,并控制該角色的各項活動,并與游戲中大量其他玩家扮演的角色交流互動,協(xié)作打敗怪物,完成任務(wù)。不同于單機游戲模式中的人機單獨對抗,在線游戲可以讓多個玩家實時協(xié)作與對抗,游戲內(nèi)容與趣味性得到大幅提高。一款優(yōu)秀的多人在線角色扮演游戲可以吸引大量玩家,通過提供高質(zhì)量的游戲服務(wù),豐富玩家的精神生活,讓人們生活得更快樂。這也催生了一個新興的產(chǎn)業(yè),已產(chǎn)生了巨大的經(jīng)濟(jì)效益。

除了玩家角色,游戲中還存在大量非玩家角色,即npc(non-playercharacters)。除了一類提供游戲功能的npc外,例如物品買賣,任務(wù)引導(dǎo)人物外,游戲中存在大量的怪物npc,這類npc是各項游戲任務(wù)的核心,玩家需要戰(zhàn)勝大量各類怪物從而完成任務(wù)。通過使npc的行為更加智能,來合理地調(diào)整游戲的難度,兼顧公平性、挑戰(zhàn)性與趣味性,是提供優(yōu)秀在線游戲服務(wù)的重要內(nèi)容。各大游戲廠商在每款游戲中均投入大量人力物力來試圖實現(xiàn)這一目標(biāo)。

現(xiàn)有的npc行為大多是通過預(yù)先編制好的腳本進(jìn)行控制。由于人力與時間等開發(fā)資源的限制,游戲開發(fā)人員無法為每個場景下的每個npc編制應(yīng)對每個可能遇到情況的方法。為了逐步增加游戲挑戰(zhàn)性,開發(fā)人員會通過大幅強化npc的物理屬性(比如攻擊力、防御力等)來提高游戲玩家的難度。所以npc常顯得行為呆板但異常強大,且有損游戲的公平性。預(yù)編制腳本的一個重要缺陷是npc只具有被動應(yīng)對玩家的能力,而沒有主動推理能力。也就是說,玩家可以通過多次試探,推斷出其固定的行為模式,從而尋找到戰(zhàn)勝看似強大的npc的策略。更重要的是,這一策略還會在玩家間快速傳播,使得游戲的挑戰(zhàn)性與趣味性大幅降低。為此,游戲開發(fā)人員會根據(jù)游戲日志來頻繁修改npc腳本,從而保證游戲的趣味性,因頻繁修改npc腳本受限于人力成本,所以只會針對重要的怪物進(jìn)行npc腳本修改。如何針對游戲玩家的策略,有效地定量地調(diào)整腳本也非常依賴于游戲開發(fā)人員的經(jīng)驗。



技術(shù)實現(xiàn)要素:

本發(fā)明針對上述不足之處提供了一種基于多智能體技術(shù)的npc控制方法,解決現(xiàn)有技術(shù)中的npc不具有自動推理、自動調(diào)整行為,需要根據(jù)游戲開發(fā)人員的經(jīng)驗來頻繁的修改npc腳本,造成人力成本的浪費等問題。

為了實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:

一種基于多智能體技術(shù)的npc控制方法,其特征在于,包括以下步驟:

步驟(1)、為每個npc定義一個自動推理模型——交互式動態(tài)影響圖,根據(jù)npc自身的特點與場景的特點定義交互式動態(tài)影響圖的參數(shù);

步驟(2)、根據(jù)交互式動態(tài)影響圖的參數(shù),構(gòu)造npc的行為腳本;

步驟(3)、npc在與玩家交互過程中執(zhí)行npc的行為腳本,并記錄每一動作的執(zhí)行結(jié)果,其中動作即指行為腳本;

步驟(4)、根據(jù)步驟(3)中記錄的每一動作的執(zhí)行結(jié)果,更新交互式動態(tài)影響圖的參數(shù),重新構(gòu)造npc的行為腳本應(yīng)用于新的玩家交互中。

進(jìn)一步,所述步驟(1)中,根據(jù)npc自身的特點與場景的特點定義交互式動態(tài)影響圖的參數(shù)的具體步驟如下:

步驟(11)、在交互式動態(tài)影響圖中,根據(jù)npc的可執(zhí)行動作定義動作集合根據(jù)玩家角色的可執(zhí)行動作定義動作集合

步驟(12)、根據(jù)npc所處場景的性質(zhì)、npc與玩家角色的位置與屬性定義狀態(tài)集合s*

步驟(13)、根據(jù)步驟(11)和步驟(12)定義從時間t到時間t+1,狀態(tài)st∈st通過npc動作和玩家角色動作轉(zhuǎn)移到狀態(tài)st+1∈st+1的可能性的條件概率函數(shù),即狀態(tài)轉(zhuǎn)移函數(shù)

步驟(14)、根據(jù)npc角色的行為風(fēng)格與偏好,定義在時間t,npc通過動作和玩家角色動作從狀態(tài)st∈st轉(zhuǎn)移到狀態(tài)st+1∈st+1的效用函數(shù)

步驟(15)、根據(jù)現(xiàn)有的經(jīng)驗知識,初始化狀態(tài)轉(zhuǎn)移函數(shù)與效用函數(shù)的參數(shù);

步驟(16)、根據(jù)先驗在npc的交互式動態(tài)影響圖中包含有若干個刻畫玩家角色行為的策略描述每個策略描述表示玩家角色在不同狀態(tài)下將執(zhí)行不同動作的條件概率即玩家角色在狀態(tài)st時執(zhí)行動作的概率將n個策略描述存儲于玩家行為模式的集合具體如下:

進(jìn)一步,所述步驟(2)的具體步驟如下:

步驟(21)、根據(jù)步驟(1)中所構(gòu)造的交互式動態(tài)影響圖和所需npc行為腳本長度,將交互式動態(tài)影響圖擴展成包含t步推理的交互式動態(tài)影響圖;

步驟(22)、采用經(jīng)典的動態(tài)規(guī)劃求解算法求解步驟(21)得到的包含了t步推理的交互式動態(tài)影響圖,最大化npc的即時期望效用與遠(yuǎn)期期望效用的加權(quán)和,尋找到能夠最大化npc角色期望效用的策略,即尋找到能夠最大化npc在每一時刻針對各種情形所應(yīng)采取的動作的條件概率最大化npc的即時期望效用與遠(yuǎn)期期望效用的加權(quán)和的公式如下:

其中,是即時期望效用,是遠(yuǎn)期期望效用,λ是折扣因子,用來減弱遠(yuǎn)期效用對當(dāng)前動作的影響,eri是總效用值,即npc的即時期望效用與遠(yuǎn)期期望效用的加權(quán)和;

步驟(23)、將步驟(22)得到的最大化npc期望效用的策略轉(zhuǎn)換成兼容當(dāng)前游戲的行為腳本格式。

進(jìn)一步,所述步驟(3)的具體步驟如下:

步驟(31)、npc在與玩家角色交互過程中,針對不同玩家角色的不同動作采用npc動作即采用步驟(23)中得到的行為腳本;

步驟(32)、記錄每次npc動作執(zhí)行的結(jié)果:在每個時刻,包括玩家角色執(zhí)行的動作npc執(zhí)行的動作對狀態(tài)的改變,即從狀態(tài)st遷移到狀態(tài)st+1和狀態(tài)st遷移到狀態(tài)st+1下動作對應(yīng)的效用值

進(jìn)一步,所述步驟(4)的具體步驟如下:

步驟(41)、根據(jù)步驟(3)記錄每次動作執(zhí)行的結(jié)果,統(tǒng)計出npc在每個狀態(tài)st∈st時,玩家角色執(zhí)行的各個動作的頻率,將頻率歸一化處理,得到在各個狀態(tài)下的行為頻率的條件概率即可以看作是npc基于當(dāng)前玩家的行為對npc構(gòu)造的策略描述通過與玩家行為模式的集合比較,尋找到最相似的玩家策略描述是最相似的:

根據(jù)統(tǒng)計得到的玩家行為策略描述更新交互式動態(tài)影響圖中最相似的玩家策略描述在各種情況下采取各種行為的條件概率得到更新后的策略描述的具體公式如下:

其中,是現(xiàn)有交互式動態(tài)影響圖中玩家行為的策略描述,是從交互數(shù)據(jù)中得到的策略描述,α是策略更新率,表示當(dāng)前策略描述被更新的速度;

步驟(42)、根據(jù)步驟(3)記錄的每次動作執(zhí)行的結(jié)果,統(tǒng)計當(dāng)npc執(zhí)行動作與玩家執(zhí)行動作時、當(dāng)前狀態(tài)從st轉(zhuǎn)移到狀態(tài)st+1的頻率的條件概率和動作對應(yīng)的期望效用值更新npc交互式動態(tài)影響圖的狀態(tài)轉(zhuǎn)移函數(shù)和效用函數(shù)更新的具體公式如下:

其中,是現(xiàn)有交互式動態(tài)影響圖中的條件概率,是現(xiàn)有交互式動態(tài)影響圖中的效用函數(shù);

步驟(43)、將步驟(41)和步驟(42)得到的結(jié)果更新交互式動態(tài)影響圖,用于步驟(2)-步驟(4)。

綜上所述,由于采用了上述技術(shù)方案,本發(fā)明的有益效果是:

1、本發(fā)明中的交互式動態(tài)影響圖是人工智能最新研究成果之一,擁有強大的針對個體建模能力,能夠準(zhǔn)確的刻畫玩家的行為,并且基于模型的腳本生成算法運行效率與腳本質(zhì)量都滿足實際應(yīng)用的要求;

2、本發(fā)明可以通過預(yù)先為怪物npc定義的交互式動態(tài)影響圖,實現(xiàn)行為腳本的自動在線更新與生成,大幅降低游戲開發(fā)人員的工作負(fù)擔(dān);

3、在本發(fā)明中,怪物npc所包含的交互式動態(tài)影響圖的更新基于真實在線數(shù)據(jù),所以npc腳本的更新對玩家更有針對性,更進(jìn)一步地,通過每種怪物npc在多個副本之間共享數(shù)據(jù)與玩家策略描述,生成的npc行為腳本具有良好的通用性。

附圖說明

圖1是本發(fā)明包含2步推理的交互式動態(tài)影響圖;

圖2是本發(fā)明策略描述示意圖;

圖3是本發(fā)明執(zhí)行記錄數(shù)據(jù)示例。

具體實施方式

為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

步驟(1)、為每個npc定義一個自動推理模型——交互式動態(tài)影響圖(以下簡稱影響圖),根據(jù)npc自身的特點與場景的特點定義影響圖的參數(shù)。

步驟(2)、根據(jù)影響圖的參數(shù),構(gòu)造npc的行為腳本。

步驟(3)、npc在與玩家交互過程中執(zhí)行行為腳本,并記錄每一動作,其中動作即指行為腳本。

步驟(4)、根據(jù)步驟(3)中記錄的每一動作的執(zhí)行結(jié)果,更新影響圖參數(shù),并重新產(chǎn)生npc的行為腳本應(yīng)用于新的玩家交互中。

所述步驟(1)中,根據(jù)npc自身的特點與場景的特點定義影響圖的參數(shù)具體如下:

在影響圖中,根據(jù)npc的可執(zhí)行動作定義動作集合(例如,npc的可執(zhí)行動作如攻擊、防御、逃跑、追擊動作等),根據(jù)玩家角色的可執(zhí)行動作定義動作集合玩家角色的可執(zhí)行動作如輕拳、重拳、逃跑等;根據(jù)所處場景性質(zhì)、npc與玩家角色的位置與屬性定義狀態(tài)集合s*;從時間t到時間t+1的狀態(tài)轉(zhuǎn)移函數(shù)根據(jù)npc的行為風(fēng)格與偏好(例如兇悍型npc攻擊得到的效用會被設(shè)置的較高以鼓勵攻擊,而保守型角色采取防守的時候得到的效用相對較高),定義npc的效用函數(shù)其中,狀態(tài)集合s*中的狀態(tài)包含了npc和玩家角色的基本信息:如npc與玩家位置和屬性值等。狀態(tài)轉(zhuǎn)移函數(shù)是一種條件概率函數(shù),具體的說,狀態(tài)轉(zhuǎn)移函數(shù)量化地表達(dá)了從時間t到時間t+1,狀態(tài)st∈st,通過npc動作和玩家角色動作轉(zhuǎn)移到狀態(tài)st+1∈st+1的可能性,即概率;效用函數(shù)量化地表示npc每次動作執(zhí)行的結(jié)果,具體的說,效用函數(shù)表示了在時間t,npc通過動作和玩家角色動作從狀態(tài)st∈st轉(zhuǎn)移到狀態(tài)st+1∈st+1所得到的效用值。當(dāng)npc執(zhí)行動作后,玩家角色受到的傷害是npc的正效用;npc自身受到的傷害是npc的負(fù)效用,該動作的總效用為這兩部分之和。npc動作的效用還同時依賴于初始狀態(tài)st、目標(biāo)狀態(tài)st+1和玩家角色的動作圖1中是包含2步推理(t和t+1)動態(tài)影響圖,當(dāng)需要第3步推理時,第t+2步的模型可以通過復(fù)制t+1時間片(即所有以t+1為上標(biāo)的節(jié)點)和節(jié)點之間的鏈接來構(gòu)造,重復(fù)此過程,可以構(gòu)造出包含t步推理的動態(tài)影響圖。根據(jù)現(xiàn)有的經(jīng)驗知識,初始化狀態(tài)轉(zhuǎn)移函數(shù)與效用函數(shù)的參數(shù)。

根據(jù)先驗知識,npc的影響圖中包含有若干個刻畫玩家角色行為的策略描述每個策略描述表示玩家角色在不同狀態(tài)下將執(zhí)行不同動作的條件概率具體的說,定義了玩家角色在狀態(tài)st時執(zhí)行動作的概率。將n個策略描述存儲于玩家行為模式的集合公式如下:

所述步驟(2)的具體步驟如下:

步驟(21),針對步驟(1)中所構(gòu)造的影響圖,根據(jù)所需腳本長度,擴展成包含t步推理的影響圖。因為在t時刻,npc執(zhí)行的動作會產(chǎn)生效用值這里的效用值也同時依賴于當(dāng)前狀態(tài)st、目標(biāo)狀態(tài)st+1和玩家角色的動作這里的效用值量化地刻畫了npc在一個特定情形下(包括當(dāng)前狀態(tài)、新狀態(tài)和玩家的動作)執(zhí)行動作的結(jié)果。此外,npc所執(zhí)行的動作還會隨機地導(dǎo)致對戰(zhàn)態(tài)勢的變化,即狀態(tài)遷移的變化,繼而影響未來可能得到的效用值。所以,求解這個包含t步推理的影像圖的目標(biāo)是最大化npc的即時期望效用與遠(yuǎn)期期望效用的加權(quán)和,加權(quán)是為了降低未來效用對現(xiàn)在效用的影響。

步驟(22)、采用經(jīng)典的動態(tài)規(guī)劃求解算法求解步驟(21)得到的包含了t步推理的交互式動態(tài)影響圖,最大化npc的即時期望效用與遠(yuǎn)期期望效用的加權(quán)和,尋找到能夠最大化npc角色期望效用的策略,這里的策略指定了npc在每一時刻針對各種情形(包括自身的狀態(tài)、玩家的狀態(tài)、位置等)所應(yīng)采取的動作每一次采取的動作同時取決于當(dāng)前的狀態(tài),這里策略采用條件概率函數(shù)進(jìn)行描述。當(dāng)前的狀態(tài)取決于之前的狀態(tài)與玩家和npc之前采取的動作的概率玩家和npc之前采取的動作又被稱為觀測信息;其中,最大化npc的即時期望效用與遠(yuǎn)期期望效用的加權(quán)和的公式如下:

其中,是即時期望效用,是遠(yuǎn)期期望效用,λ是折扣因子,用來減弱遠(yuǎn)期效用對當(dāng)前動作的影響,eri是總效用值,即npc的即時期望效用與遠(yuǎn)期期望效用的加權(quán)和。期望效用值是各種特定情形下效用值與各種情形出現(xiàn)的可能性,即當(dāng)前狀態(tài)為st,npc執(zhí)行動作目標(biāo)狀態(tài)st+1,且玩家角色執(zhí)行動作時得到的具體效用值與出現(xiàn)這一情形的概率的加權(quán)和,式中需要考慮每種可能的組合。

步驟(23)、將步驟(22)得到的最大化npc期望效用的策略轉(zhuǎn)換成兼容當(dāng)前游戲的行為腳本格式。即將得到的由條件概率函數(shù)表達(dá)的策略,轉(zhuǎn)換成兼容當(dāng)前游戲的基于條件判斷的行為腳本格式。

所述步驟(3)的具體步驟如下:

(31)npc在與玩家角色交互過程中,執(zhí)行步驟(22)中針對不同玩家不同動作定義的行為腳本。每一次采取的動作同時取決于當(dāng)前狀態(tài)st,這里st也可以看作npc在不同時刻觀測到的信息。

(32)記錄每次動作執(zhí)行的結(jié)果:在每個時刻,包括玩家角色執(zhí)行的動作npc執(zhí)行的動作對狀態(tài)的改變,即從狀態(tài)st遷移到狀態(tài)st+1和從狀態(tài)st遷移到狀態(tài)st+1下動作對應(yīng)的效用值數(shù)據(jù)格式如圖3所示。

所述步驟(4)的具體步驟如下:

(41)從步驟(32)記錄的每次動作執(zhí)行的結(jié)果,統(tǒng)計出npc在每個狀態(tài)st∈st時,玩家角色執(zhí)行的各個動作的頻率,將頻率通過歸一化,繼而得到在各個狀態(tài)下的行為頻率的條件概率即npc基于當(dāng)前玩家的行為對玩家構(gòu)造的策略描述通過與玩家行為模式的集合比較,尋找到最相似的一個玩家策略是最相似的:

根據(jù)統(tǒng)計得到的玩家行為策略描述更新交互式動態(tài)影響圖中最相似的玩家策略描述在各種情況下(即不同的當(dāng)前狀態(tài)st,不同的玩家角色動作)采取各種行為的條件概率得到更新后的策略描述的具體公式如下:

其中,是現(xiàn)有交互式動態(tài)影響圖中玩家行為的策略描述,是從交互數(shù)據(jù)中得到的策略描述,α是策略更新率,表示當(dāng)前策略描述被更新的速度;

通過基于交互數(shù)據(jù)更新現(xiàn)有交互式動態(tài)影響圖中玩家角度的策略描述,能夠更加準(zhǔn)確地在行為腳本生成中預(yù)測玩家的行為,使得npc的行為在之后的對戰(zhàn)中更加智能。

(42)根據(jù)步驟(32)記錄的每次動作執(zhí)行的結(jié)果,統(tǒng)計當(dāng)npc角色執(zhí)行動作與玩家執(zhí)行的動作當(dāng)前狀態(tài)從st轉(zhuǎn)移到狀態(tài)st+1的頻率的概率和動作對應(yīng)的期望效用值這里的期望效用值是各種特定情形下效用值與各種情形出現(xiàn)頻率的加權(quán)和。更新怪物npc影響圖的狀態(tài)轉(zhuǎn)移函數(shù)和效用函數(shù)更新的方法與步驟(41)類似:

通過基于交互數(shù)據(jù)更新現(xiàn)有影響圖中的狀態(tài)轉(zhuǎn)移函數(shù)與效用函數(shù),能夠更加準(zhǔn)確刻畫npc所處游戲場景,使得生成的npc行為在之后的對戰(zhàn)中更加智能。

(43)將步驟(41)和步驟(42)得到的結(jié)果更新交互式動態(tài)影響圖,用于步驟(2)-步驟(4)。

以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
扶风县| 新河县| 都江堰市| 德兴市| 东辽县| 博野县| 江源县| 金乡县| 青川县| 开鲁县| 桃园市| 炉霍县| 玛多县| 年辖:市辖区| 鲜城| 宁德市| 靖边县| 克山县| 唐山市| 万荣县| 万年县| 沿河| 游戏| 波密县| 米易县| 水富县| 威远县| 泰安市| 大邑县| 霍城县| 敦煌市| 开江县| 云南省| 延寿县| 岚皋县| 云南省| 长岭县| 涪陵区| 年辖:市辖区| 隆林| 浮山县|