卞玉龍,劉箴
(寧波大學(xué)信息科學(xué)與工程學(xué)院,浙江寧波315211)
人的行為模型[1-2]是虛擬仿真領(lǐng)域的一個熱門方向,特別是人類行為博弈[3]的研究,仍是具有挑戰(zhàn)性的課題.實(shí)際上,已有的博弈理論大多考慮人類決策中的理性因素,而實(shí)際上人的決策也受情緒的影響,是理性和情緒因素綜合的過程.人類的追逐行為是一種常見的博弈行為,體現(xiàn)了體力和心理的較量,對于追逐行為模型系統(tǒng)性的研究至今尚未見其相關(guān)文獻(xiàn).目前在虛擬仿真領(lǐng)域中的追逐模型仍未考慮虛擬人的生理和心理因素,追逐行為的表現(xiàn)難以令人信服.本文結(jié)合已有的行為動畫研究[4-13],重點(diǎn)研究繞障礙物追逐的虛擬人行為模型,充分考慮了情緒因素對虛擬人的追逐行為的影響,并結(jié)合人體生物力學(xué)原理、環(huán)境心理學(xué)原理和物理學(xué)原理,建立了人體的情緒模型、速度模型和體力模型;根據(jù)非合作動態(tài)博弈原理提出了情緒影響人的行為和決策的算法,并根據(jù)算法進(jìn)行模擬仿真,驗(yàn)證了該算法的合理性.
根據(jù)心理學(xué)和人工智能科學(xué)[14-15]研究,虛擬人的認(rèn)知結(jié)構(gòu)設(shè)計如圖1所示.首先通過各種感知器官接收環(huán)境中的各種刺激,然后將刺激傳入大腦,大腦經(jīng)過處理后產(chǎn)生情緒[16].情緒可以影響人的決策,也可以直接影響人的行為.例如,人在激動的時候就很難做出合理的決策.行動后的結(jié)果通過感知器官再次傳入大腦,影響人的情緒.
根據(jù)OCC情緒理論,被追者的情緒類型來自于對事件(追逐事件)、對象(圓柱體)和追逐者的評價,所產(chǎn)生的情緒是對被追者最有利的.
圖1 虛擬人的認(rèn)知結(jié)構(gòu)Fig.1 Cognitive structure of a virtual human
但是在追逐的環(huán)境下,被追者的感知只關(guān)注追逐者的位置,因此情緒評價只依賴于對追逐者的評價.也就是說,在有限的時空條件下,對事件和對象的評價來不及進(jìn)行.至于產(chǎn)生何種情緒,也是依賴劇情的.OCC的情緒類型(22種)可以和Ekman的面部表情類型建立映射關(guān)系(見表1).Ekman認(rèn)為人有6種最基本的情緒表現(xiàn),分別是喜悅、氣憤、悲傷、驚訝、厭惡、恐懼,其他的復(fù)雜情緒表現(xiàn)都是由這6種基本情緒復(fù)合而成的.
表1 OCC情緒類型和Ekman的情緒表現(xiàn)對映關(guān)系Table 1 The mapping of OCC emotion type and Ekman’s emotion type
為了方便表示情緒,引入一個情緒集合e={e1,e2,e3,e4,e5,e6}.其中 e1、e2、e3、e4、e5、e6分別表示厭惡、氣憤、恐懼、驚訝、悲傷、喜悅這6種基本情緒的表現(xiàn)強(qiáng)度,e表示復(fù)合的情緒強(qiáng)度值.同樣引入一個刺激集合 si={si1,si2,si3,si4si5,si6}.sij表示刺激強(qiáng)度值.
對于一個行為,不同的情緒源于不同的刺激強(qiáng)
同樣,對于同一種情緒表現(xiàn),刺激虛擬人產(chǎn)生ej情緒的刺激源也可能有多種,假設(shè)這些刺激源為s1,s2,…,sn.但是每種刺激源驅(qū)使虛擬人產(chǎn)生ej情緒的強(qiáng)度也不同,所以同樣要引入權(quán)值,假設(shè)刺激源si(i=1,2,…,n)刺激虛擬人產(chǎn)生ej情緒的權(quán)值為bij,則經(jīng)過這些事件的刺激后,虛擬人的ej可表達(dá)為度.如針對逃跑這個行為,恐懼的情緒更容易使虛擬人做出逃跑的決策.所以要引入權(quán)值.以被追者為例,假設(shè)被追者的基本情緒值為 ej(j=1,2,…,6),該情緒促使被追者做出逃跑決策的權(quán)值為aj,則被追者在刺激的作用下做出逃跑行為的情緒值為
對于運(yùn)動中的虛擬人,情緒值越大,表示虛擬人越興奮,這樣更有利于虛擬人的運(yùn)動.在動物世界的追逐游戲中,追逐者總是希望盡快追到目標(biāo),為此,可能采取以下的策略:1)加快追趕速度;2)放慢逃跑的速度使被追者放松警惕.但在現(xiàn)實(shí)世界的各種追逐事件中,追逐者必須采取上述混合策略.例如,非洲獅子潛伏獵殺其他動物,開始時悄悄靠近(而不是快速奔跑),為的是不驚動其他動物(使其情緒值盡可能小).當(dāng)目標(biāo)開始警惕時(情緒值上升),獅子開始加快速度追趕.但歸根結(jié)底,追逐者和被追者總是希望自己的情緒表現(xiàn)比對手大,這樣在追逐中對自己更有利.因此,當(dāng)對手情緒值小時,自己的情緒也小.
本文的追逐劇情,與上述情況相類似.情緒博弈體現(xiàn)在把情緒因素引入到追逐的過程中,追逐雙方總是希望對方的情緒值比自己的低,因?yàn)榍榫w值降低不利于對手快速采取行動,從而有利于自己的收益.
在一個封閉的院子里發(fā)生了一起兇殺案,院子中間有2個豎直放置的圓柱形糧倉,糧倉的半徑為R.案發(fā)前,受害者為了逃避兇手的傷害,繞著糧倉和兇手進(jìn)行周旋.兇手也只好繞著糧倉追逐受害者.本文以繞著糧倉追逐的過程為研究對象,將2人分別命名為追逐者(chaser)和被追者(escaper).為了盡量準(zhǔn)確地模擬這個追逐過程,需要考慮虛擬人的情緒變化、策略和虛擬人的體力、體質(zhì)量、速度等因素.各因素之間的關(guān)系如圖2所示.
圖2 追逐過程中各因素間的關(guān)系Fig.2 The relationship of the factors concerned
對于追逐者,驅(qū)動追逐者的追逐行為主要是氣憤的情緒,暫且忽略其他情緒對逃跑行為的影響.假設(shè)在追逐的過程中,追逐雙方都可以觀察到對方的情緒變化.本文中,使追逐者產(chǎn)生氣憤情緒的刺激源有2個:兩者之間的距離變遠(yuǎn);被追者的情緒表現(xiàn)強(qiáng)度增強(qiáng).并且這2個刺激源使追逐者產(chǎn)生氣憤情緒的刺激強(qiáng)度是不同的.所以追逐者氣憤的情緒值可表示為
式中:dis表示兩者之間的當(dāng)前距離,dismax表示兩者之間的最大距離,eescaper表示被追者的情緒表現(xiàn)強(qiáng)度,b11、b21分別表示2個刺激源促使虛擬人產(chǎn)生氣憤情緒的權(quán)值.
對于被追者,驅(qū)動被追者產(chǎn)生做出逃跑行為的是恐懼和厭惡的情緒.使被追者產(chǎn)生恐懼情緒的刺激事件有3個:兩者之間的距離變小;追逐者的情緒表現(xiàn)強(qiáng)度比較強(qiáng);被追者自身體力的下降.使被追者產(chǎn)生厭惡情緒的刺激事件有2個:追逐者總是緊追不放;追逐者情緒表現(xiàn)強(qiáng)度比較強(qiáng).被追者恐懼的情緒值可表示為
式中:pescaper表示被追者的當(dāng)前體力,pescaper(max)表示被追者的最大體力,b12、b22、b32表示3個刺激源促使虛擬人產(chǎn)生恐懼情緒的權(quán)值.b12、b22、b32的值由式(1)求出.被追者厭惡的情緒值表示為
式中:b13、b23是2個刺激源促使虛擬人產(chǎn)生厭惡情緒的權(quán)值.
所以,刺激被追者做出逃跑事件的情緒值為
為了簡單起見,本文將人體比作一個交通工具,設(shè)人的最大牽引力為Fmax,人在跑步的時候要克服各種各樣的阻力,如重力和摩擦力,并且速度越大,需要克服的阻力越大,消耗的能量也就越多.
根據(jù)人體生物力學(xué)原理,隨著人體的運(yùn)動,體能逐漸消耗,呼吸變得急促,然后獲得更多的氧,體能得到恢復(fù).體能的恢復(fù)速度與當(dāng)前的體力多少有關(guān),體能越少,體能的恢復(fù)速度越快,但是人的肺活量和人體的供氧能力有限,所以體能恢復(fù)速度也就有限.虛擬人的速度為
式中:v0為初速度,F(xiàn)為虛擬人當(dāng)前的牽引力,m為虛擬人的體質(zhì)量,f為虛擬人在當(dāng)前時刻所受的阻力.虛擬人的牽引力與虛擬人當(dāng)前的情緒值、體力值和決策值有關(guān),情緒值的強(qiáng)度越強(qiáng),體力越充沛,F(xiàn)的值越大.模型如下:
式中:Fplan為虛擬人的計劃牽引力,大小與虛擬人所用的策略有關(guān),最大不超過虛擬人的最大牽引力;z為虛擬人的神經(jīng)質(zhì)指數(shù),z越大,表示虛擬人越神經(jīng)質(zhì).根據(jù)物理學(xué)知識,跑步過程中所受的阻力的大小與速度的大小和體質(zhì)量成正相關(guān),模型為
式中:q1、q2、q3為控制參數(shù).
虛擬人在追逐過程中,體力的消耗速度與虛擬人的速度、加速度和體質(zhì)量成正相關(guān).體力的變化模型如下:
式中:pmax表示虛擬人的最大體力,sp表示虛擬人當(dāng)前速度的大小,rad表示虛擬人的體力恢復(fù)速度.根據(jù)人體生物力學(xué)原理,人的體力的恢復(fù)速度與當(dāng)前的自身體力值和肺活量的大小有關(guān),肺活量越大,體力值越小,體力的恢復(fù)速度就越快,模型如下:
式中:vc表示虛擬人通過呼吸實(shí)現(xiàn)的體力恢復(fù)速度,u為控制參數(shù).
博弈的過程必定涉及到策略的選擇,所以給追逐者和被追者設(shè)定了幾個可以供他們選擇的策略.追逐者的策略集:{守株待兔,欲擒故縱,聲東擊西}.被追者的策略集:{走為上計,以逸待勞}.如圖3所示.
圖3 虛擬人的博弈樹Fig.3 Game tree of virtual human
守株待兔:追逐者原地等待被追者自己送上門,當(dāng)被追者送上門的時候迅速發(fā)力.該策略的過程包括2個階段:1)原地等待被追者的出現(xiàn);2)當(dāng)被追者出現(xiàn)的時候,迅速發(fā)力,以最快的速度去追被追者.
欲擒故縱:追逐者在進(jìn)攻前故意放慢速度,以迷惑對方,等待合適的機(jī)會迅速出擊.該策略的過程包括2個階段:1)首先悄悄靠近被追者,此時,虛擬人的計劃牽引力人為定為Fplan=0.5×Fmax;2)當(dāng)被追者進(jìn)入追逐者的攻擊范圍或者被追者提前行動的時候,迅速發(fā)力,以最快的速度追被追者,此時,虛擬人的計劃牽引力為Fplan=Fmax.
聲東擊西:追逐者佯裝從一個方向去追被追者,實(shí)際上是計劃從另一個方向堵截被追者.該策略過程也包括2個階段:1)佯裝去追被追者,迫使被追者迅速逃跑,計劃牽引力為Fplan=Fmax;2)當(dāng)被追者逃出追逐者的視線范圍之外的時候,迅速反向從另一側(cè)包抄被追者,計劃牽引力為Fplan=Fmax.
走為上計:看到追逐者靠近的時候,馬上逃離追逐者,計劃牽引力為Fplan=Fmax.
以逸待勞:被追者不先出擊,靜待追逐者的動靜,養(yǎng)精蓄銳,以對付疲憊的追逐者,此時的計劃牽引力為0.
假設(shè)2個參與者在每次行動之前只能考慮到一步策略,并且2個人并不知道哪個策略是最優(yōu)策略,只能逐個嘗試,如果遇到效果比較好的策略則一直用該策略,否則換其他策略.
3.1 .1 參與者的支付函數(shù)
支付函數(shù)是參與者從博弈中獲得的效用水平,它是所有參與者戰(zhàn)略或行動的函數(shù),是每個參與者真正關(guān)心的東西.每個參與者都想通過最小的體力消耗得到盡可能好的結(jié)果.本文中,根據(jù)劇情的設(shè)計,追逐者首先采取行動,所以一次博弈所用的時間是追逐者采用一種策略所持續(xù)的時間,也就是從這一個策略被開始應(yīng)用的時刻到該策略結(jié)束的時刻.追逐者支付函數(shù)為
式中:disstart為一次博弈開始的時候兩者之間的距離,disend為這次博弈結(jié)束的時候兩者之間的距離,p(chaser)start為一次博弈開始的時候追逐者的體力值,p(chaser)end為這次博弈結(jié)束的時候追逐者的體力值,m1、m2為控制參數(shù).
被追者支付函數(shù)為
支付函數(shù)是求參與者利益的函數(shù),此處的利益是指“客觀利益”,也就是不帶情緒色彩的利益.但是,通常同一個人在不同的時候?qū)ν瑯永娴闹饔^評價是不一樣的.所以要引入?yún)⑴c者對事物的主觀評價因素.
3.1 .2 參與者對利益的主觀評價函數(shù)
對一個事物的主觀評價是有情緒成分的,根據(jù)經(jīng)驗(yàn),心情好時候的評價會好于心情壞時候的評價.這個主觀評價又會影響到下一步的策略選擇.
追逐者的評價函數(shù)為
被追者的評價函數(shù)
如果評價函數(shù)大于一定值則說明參與者對該結(jié)果滿意,下次還會選擇該策略;否則,說明參與者對該結(jié)果不滿意,下次會選擇其他策略.
由于人的精力有限,所以在追逐過程中,不能在同一時刻對所有的影響因素都高度關(guān)注,只能將注意力分散到各個因素中去.以被追者的恐懼情緒為例,如果被追者感覺自己的情緒表現(xiàn)強(qiáng)度較高,并且引起了追逐者的注意,那么b22的值會變大,相應(yīng)的b12和b32的值會減小.虛擬人注意力分配如下:
1)首先衡量各種情緒的刺激事件,并且給這些刺激事件賦予初始的權(quán)值.
2)在追逐過程中根據(jù)虛擬人對各種刺激事件投入的注意力的變化來調(diào)節(jié)權(quán)值的大小.調(diào)節(jié)權(quán)值的方法為
重復(fù)2)直到追逐者追上被追者或者追逐者體力耗盡為止.
實(shí)驗(yàn)中參數(shù)的取值如表2所示.
表2 模型中參數(shù)的取值Table 2 The value of parameters
a1=0.25,a3=0.75,追逐者的體質(zhì)量為80 kg,被追者的體質(zhì)量為95 kg;假設(shè)追逐者的最大體力為41 820 J,被追者的最大體力為41 820 J,追逐者和被追者的初始速度都為0.追逐者和被追逐者相應(yīng)的z值分別為0.33和 0.5,vc為200 J/s.本文設(shè)計了 2個實(shí)驗(yàn)場景,一個是2個虛擬人繞一個糧倉追逐,另一個是虛擬人繞2個糧倉追逐.當(dāng)虛擬人繞2個糧倉追逐的時候,追逐者的追逐行為受到氣憤和驚奇這2種情緒的影響,假設(shè)追逐者驚奇的情緒受被追者速度的影響,表示為
在此情況下,追逐者的情緒強(qiáng)度為
實(shí)驗(yàn)中,a2、a4的取值分別為 0.9 和 0.1.實(shí)驗(yàn)采用OpenSceneGraph圖形庫實(shí)現(xiàn)了動畫虛擬過程的三維仿真,如圖4所示,實(shí)驗(yàn)結(jié)果如圖5~12所示.
圖4 虛擬人追逐過程的三維仿真Fig.4 The 3-D simulation of chasing behavior
圖5 繞1個糧倉追逐時兩者之間的距離變化趨勢Fig.5 The change of the distance when chasing around a barn
圖6 繞1個糧倉追逐時被追者的情緒的變化趨勢Fig.6 The change of Escaper's emotion when chasing around a barn
圖7 繞1個糧倉追逐時被追者速度的變化趨勢Fig.7 The change of escaper’s speed when chasing around a barn
圖8 繞1個糧倉追逐時被追者體力的變化趨勢Fig.7 The change of escaper’s physical strength when chasing around a barn
圖9 繞2個糧倉追逐時兩者之間的距離變化趨勢Fig.9 The change of the distance when chasing around two barn
圖10 繞2個糧倉追逐時被追者的情緒變化趨勢Fig.10 The change of Escaper's emotion when chasing around two barn
圖11 繞2個糧倉追逐時被追者的體力變化趨勢Fig.11 The change of escaper’s energy when chasing around two barn
圖12 繞2個糧倉追逐時被追者的速度變化趨勢Fig.12 The change of escaper’s speed when chasing around two barn
從圖5~12可以看出,當(dāng)被追者感覺到自己的體力下降,并且追逐者距離自己越來越近的時候,被追者的情緒值迅速增加,最終徘徊在一個較高的情緒值;情緒值迅速增加的時候,被追者的速度也迅速增加,但是隨著被追者體力的下降,被追者的速度也下降.在繞2個糧倉追逐時,被追逐者的運(yùn)動方向有變化.這大體上符合人的追逐行為的特點(diǎn).本實(shí)驗(yàn)中追逐者的實(shí)驗(yàn)結(jié)果與被追者的實(shí)驗(yàn)結(jié)果類似.
構(gòu)建人類追逐行為模型是一個令人感興趣的研究方向,追逐過程很好地體現(xiàn)了個體間的體力和心智的博弈,而情緒是描述追逐過程的一個重要參量.以往對追逐問題的研究多采用運(yùn)動學(xué)方法,缺少有關(guān)情緒仿真方面的研究.由于追逐模型在虛擬仿真領(lǐng)域具有廣泛的應(yīng)用價值,因此亟需從智能科學(xué)的角度重新審視追逐過程.
本文考慮了追逐過程中人的情緒參數(shù)和生理參數(shù),建立了人物追逐過程中的情緒強(qiáng)度計算公式,定量描述了速度和體力變化,并提出了一個情緒博弈的算法.在計算機(jī)上進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明:虛擬人在追逐過程所表現(xiàn)出的相互距離、體力和情緒的變化與真實(shí)生活的觀察經(jīng)驗(yàn)相符合.
由于時間和水平所限,本文僅考慮了心理參數(shù)中的情緒變量,而實(shí)際上人的行為參數(shù)還有很多,研究結(jié)果仍需要進(jìn)一步深化.下一步的工作擬考慮虛擬人的其他參數(shù)(如動機(jī)和個性),采用基于物理引擎的人體動畫技術(shù),完善本文的工作.
[1]楊征南.虛擬演兵——兵棋、作戰(zhàn)模擬與仿真[M].北京:解放軍出版社,2007:204-207.
[2]蔡紅霞,胡小梅,愈濤.虛擬仿真原理與應(yīng)用[M].上海:上海大學(xué)出版社,2010:28-33.
[3]吳廣謀,呂周洋.博弈論基礎(chǔ)與應(yīng)用[M].南京:東南大學(xué)出版社,2009:190-202.
[4]LOOMES G,SUGDEN R.Regret theory:an alternative of rational choice under uncertainty[J].Economic Journal,1982,92:805-824.
[5]BELL D E.Regret in decision making under uncertainty[J].Operations Research,1982,30:961-981.
[6]MELLERS B A,SCHWARTZ A,HO K,et al.Elation and disappointment:emotional responses to risky options[J].Psychological Science,1997,8:423-429.
[7]LOEWENSTEIN G,WEBER E,HSEE C,et al.Risk as feelings[J].Psychological Bulletin,2001,127(2):267-286.
[8]TU X,TERZOPOULOS D.Artificial fishes:physics,locomotion,perception,behavior[C]//Proceedings of Special Interest Group for Computer Graphics.Orlando,USA,1994:43-50.
[9]FUNGE J,TU X,TERZOPOULOS D.Cognitive modeling:knowledge,reasoning and planning for intelligent pedestrians[C]//Proceedings of Special Interest Group for Computer Graphics.Los Anheles,USA,1999:29-38.
[10]BLUMBERG B,DOWNIE M,IVANOV Y,et al.Integrated learning for interactive synthetic characters[J].ACM Transactions on Graphics,2002,21(3):417-426.
[11]劉箴,潘志庚.虛擬人動機(jī)驅(qū)動的自主情緒模型研究[J].中國圖象圖形學(xué)報,2009,14(5):773-781.
LIU Zhen,PAN Zhigeng.Research on motivation-driven based autonomous emotion model for virtual human[J].Journal of Image and Graphics,2009,14(5):773-781.
[12]BOURG D M,SEEMANN G.游戲開發(fā)中的人工智能[M].O’Reilly Taiwan公司譯.南京:東南大學(xué)出版社,2006:14-28.
[13]李力,周昌樂.基于范德波爾方程的情緒模型[J].廈門大學(xué)學(xué)報:自然科學(xué)版,2011,50(4):703-706.
LI Li,ZHOU Changle.Models of emotions based on van der pol equation[J].Journal of Xiamen University:Natural Science,2011,50(4):703-706.
[14]涂序彥,韓力群,王洪泊.廣義人工生命[M].北京:科學(xué)出版社,2011:43-51.
[15]史忠植.智能科學(xué)[M].北京:清華大學(xué)出版社,2006:372-380.
[16]王志良.人工情感[M].北京:機(jī)械工業(yè)出版社,2009:60-76.