游戏的概率计算(2)——期望【 棒球娛樂城:為棒球迷帶來全新的娛樂體驗】
페이지 정보
본문
文章目錄
游戏的概率计算(2)——期望
遊戲的概率計算(2)——期望-騰訊遊戲學堂
-
首頁
-
出海助力
-
開發者社區
-
大獎賽
-
同行
-
合作案例
-
關於我們
登錄
中文
開發者社區
> 策劃遊戲的概率計算(2)——期望
發表於2016-04-05 評論 瀏覽 遊戲的概率計算(2)——期望先推薦一本書《全景遊戲設計》,本文會引用書中的部分例題,展開我對遊戲各種場合期望值的計算的一些不同看法,拋磚引玉,與各位探討。
隨機帶來偶然性,偶然性有時候就是驚喜,最不濟也是挫折,適當的挫折帶給人挑戰的動力,讓人擺脱無聊的體驗。
1.1.從一個賭徒説起1654年,法國貴族Antoine遇到了一個問題。他是一名狂熱的賭徒,他曾經玩過一種賭法,擲4次骰子,賭能夠至少有一次擲出6點。他從這種賭博中賺了大錢,但是他的朋友們已經厭倦了失敗,並且拒絕再與他玩這個遊戲。
為了找到一種新的方法來繼續榨取他朋友們的錢財,他發明了一種新的玩法,並相信這種玩法與前一種擁有相同的勝算。在這種新玩法中,他擲24次骰子(每次投擲2個骰子),賭至少有一次能擲出12點(2個6點)。他的朋友們起初都對這個玩法心存疑慮,但很快就都開始喜歡上這個新遊戲——因為Antoine開始飛快的輸錢。Antoine感到很迷茫,因為他通過自己的計算,得出兩個遊戲擁有相同的勝算:
第一種玩法:擲一個骰子4次,如果至少擲出一次6,則Antoine贏。
他的理由是,單獨擲一次6點的概率是1/6,因此如果擲4次骰子出6點的概率是:4x(1/6)=66%,這也就説明了他容易贏錢的原因。
第二種玩法:擲一對骰子24次,如果至少擲出一次12點,則Antoine應。
Antoine判定用一對骰子擲出12點的概率是1/36,接着他推論,擲24次骰子的概率應該是24*(1/36)=66%,與之前玩法擁有相同的勝算。
因為輸了錢而茫然的Antoine給數學家帕斯卡寫了一封信,希望能夠得到一些建議。帕斯卡發現這個問題很有趣——當時已有的數學方法還不能回答這些問題。於是帕斯卡給費馬寫信尋求幫助。兩人漫長的書信往來,伴隨着越來越多問題的解決和相應的解決方法的不斷發現,誕生了數學的新分支——概率論。
故事講完,長話短説開始計算,順便介紹一下Excel中容易被忽視的概率統計函數:
1>第一種玩法:擲一個骰子4次,至少擲出一次6。
這是一個成功率為p=1/6的二項分佈,在excel中有2種計算方法:
方法1,使用combin組合函數,利用公式ans=c(m,n)p^n(1-p)^(m-n),
先求出4次擲骰中,4次都沒有6的幾率,然後用1去減。
方法2,使用二項分佈BINOM.DIST函數,直接求解,
先求出,4次擲骰中,正好0次6的幾率,然後用1去減。
BINOM.DIST函數的使用説明如下:
2>第二種玩法,擲一對骰子24次,至少擲出一次12點
數據 | 説明 | |
試驗成功次數 | ||
獨立試驗次數 | ||
每次試驗的成功概率 | ||
公式 | 説明 | 結果 |
4次試驗正好成功 0 次的概率。 |
使用同樣的方法,所求結果ans=1-0.509=0.491,這就是第2種賭法,Antoine會輸錢的原因。
那麼Antoine究竟在哪裏犯了錯?擲一個骰子4次,得到6的個數期望值確實是4*(1/6),但這並不是贏的次數的期望值,因為無論在一把4次的投擲骰子時,無論是1個6還是4個6,都只能算作贏一場。
注:excel還有其它幾個常用分佈的計算,如泊松分佈用函數Poisson,超幾何分佈用Hypgeomdist。
1.2.遊戲中的期望值1.2.1.技能的期望傷害同樣的,在遊戲裏,我們也經常有意無意的犯了同樣的「錯」,比如下表的技能:
技能名稱 | 命中率 | 傷害值 |
風 | ||
火球 | ||
閃電球 |
我們很容易就把這3個技能的期望值分別算出,風=100%*4=4;火球=80%*5=4;閃電球=20%*40=8。
和1.1賭博的例子類似,當被這些技能攻擊的角色,生命值低於技能傷害時,會有傷害的浪費,但這部分傷害,在上一段的計算方法中,被計入了。
以雙方均為20生命為例,閃電球在命中成功時,有效的傷害也只有20點而已。似乎,我們應該考慮用20作為閃電球的傷害值,來進行期望傷害的計算,20%*20=4。
期望值的計算調整為,Edam=Min(技能傷害值,目標生命值)*命中率。這也是《全景遊戲設計》中介紹的方法。
在遊戲的平衡設計中,我們常使用期望值來作為實際的遊戲體驗的——勝負——情況的參考的利器,但實際上他總與實際情況有着差異。
以技能風,傷害值4,命中率100%和閃電球傷害值20,命中率20%的2個技能比較為例,分別攜帶這2個技能的生命值均為hp(1<=hp<=100)的2個角色互相PK為例,將風的勝利統計為1,風的失敗統計為-1,平局統計為0(注:模擬時,認為雙方總是同時出手,勝利條件為,某個回合後自己的生命值大於0,但對方的生命值小於等於0;失敗條件則完全相反;平局意味着,某個回合自己和對方生命值一起小於等於0)。
則進行大量實驗的結果x(x的取值為-1,0,1)的平均值ave,ave越接近0表示雙方的勝負情況越接近。對hp=1,2,…,100分別進行10萬次的統計,得到如下的結果:
(每個縱坐標x的值表示的是勝利比失敗多出的比例)
可以看到隨着生命值hp的提高,x的取值以周期震蕩形態逐漸的靠近0。這意味着平衡性隨着生命值的提高而變好。
我們如果深入下去,很多值得思索的地方:周期看起來非常像是20,這是偶然嗎;各周期的波峯波谷絕對值逐漸減少這是必然嗎;每個周期內的均值是多少,能夠計算嗎?
儘管這幾個問題很值得探討,但本文並不打算深入下去。本文主要的目的,是指出一些「標準流程」中容易過度自信的地方,指出實際情況與計算結果之間產生誤差的原因,並儘可能圈出「安全範圍」。
對於這個問題,我們看到,只要提高生命值到一定的程度,誤差就可以被控制在一定的範圍之內。對上述技能風與閃電球的比較中,我們可以粗略的認為,每次的波峯衰減至80%左右。基於此,在10個周期內,偏差會小於0.8的10次方(約為10%),即,200點生命值對於期望值為4的傷害,是足夠精確的。
到這裏,我們還需要對偏差產生的原因,定性的分析一下,(順便也解釋一下,上文圖中呈現試驗數據並不是由於代碼錯誤之類的原因造成的,它真的是這樣)。我們理一下思路,風(攻擊4,命中100%)和閃電球(攻擊20,命中20%)比較,第一次交手,雙方都能有機會出手,但在第2次交手時,風的技能能否出手,取決於閃電球前面的交手是否命中了他——如果第一次交手就被閃電球命中,第2回合就無法出手。所以,風的5個回合內的平均傷害=4,4*0.8,4*0.8^2,4*0.8^3,4*0.8^4/5=2.7。
1.2.2.武器的期望傷害和擲骰子武器的期望有2種情形,1種是暴擊,另1種是武器攻擊力的上下限。
我們在計算時,會認為50點攻擊的武器——劍,和40點攻擊並且25%的幾率發生2倍的暴擊傷害的武器——匕首,具有同樣的期望傷害50點。在實際的屬性投放時,基於某些考慮(比如1.2.1中的傷害溢出,或是和其它帶暴擊效果的比如技能等模塊的疊加規則,以及生命值的設置等),暴擊的發生概率和暴擊的傷害倍率會酌情調整,參考Dota的幾個暴擊技能(排除了幻影刺客的大招、熊貓和賞金的帶閃避暴擊複合技能):
骷髏王,15 % 的幾率造成2 .75 倍傷害的致命一擊,期望傷害126%
小娜迦,45 % 的幾率造成1 .5 倍致命一擊,期望傷害122.5%
劍聖,36 % 的幾率造成2倍致命一擊,期望傷害136%
骷髏王,由於是力量影響,血量和攻擊頻率與敏捷英雄有差異,也排除掉,觀察劍聖和小娜迦,看到dota在這個場合下,對爆率更低的單位給予了更多的期望傷害的補正。
與暴擊類似的,是武器的攻擊上下限,這和D&D規則中的nDm,以及多次擲骰的期望和相似,也可以將之認為是前面武器或技能的暴擊的推廣。
以下面的一個賭博玩法為例:
遊戲內置了一個賭博玩法,在一個有分支的路線上,散佈着玩家可見的寶箱,玩家通過投擲一個範圍[1,6]的骰子,來隨機距離的進行移動,並獲得沿途經過的格子上的寶箱,參考下圖:
為簡化計算,我們先以一個10格長賭的線性路徑為例,平均投擲多少次骰子,才能到達終點(點數和大於等於10)。
如果用期望值,1~6的骰子,每次的期望投擲點數=(1+2+3+4+5+6)/6=3.5,直覺上,平均投擲10/3.5≈2.86次骰子。
到這裏大家應該已經能夠習慣偏差了,是的,在擲出1次6之後,無論擲出4還是5、6,都能夠到達終點,但5和6的出現拉高了擲骰的期望點數,就像拉高我們的平均工資一樣。。
解決這個問題,我們先要解決的問題是,n次擲骰,剛好點數和為s的概率,之後就可以通過求n次擲骰子的點數和為10,11,12,…,6n的概率和,來分別計算n次骰子能夠到底終點的概率,對這組概率再進行簡單的計算,就能夠求出擲骰子次數的期望值了。
計算n次擲骰,剛好點數和為s的概率,有不下7種方法,這裏列出操作性較高的幾種方法:
n離散多重卷積公式
n求(1+x+x^2+...+x^5)^n中x^(s-n)的係數
n函數遞歸
n程序模擬
n馬可夫過程
這裏用程序模擬的方法,最終分別10萬次模擬到達終點,求出10組分別的平均擲骰子的次數如下:3.32491,3.3225,3.32618,3.32693,3.32595,3.32468,3. pp88娛樂城 32445,3.32322,3.32175,3.32769
這個結果的精確值是3.32369,與開始的2.86差距還是有些大的。
1.3.蒙特卡洛模擬上個月圍棋界的李世石VS阿發狗,讓很多人聽到了「蒙特卡洛」這個名詞,其實大多數數值策劃都用過這個模擬方法——我們使用vba或是其它的工具,進行若干次數的循環模擬計算結果,就是蒙特卡洛模擬的一種應用方式。
雖然最早認為這種方法的應用,是蒲豐投針試驗,但是我個人認為最早的應用可能是在占卜。另外,中學的生物課裏學過的孟德爾豌豆實驗,也是使用了蒙特卡洛方法。
蒲豐投針試驗
孟德爾豌豆實驗
現在,隨着計算機性能的提高,這種模擬、統計和計算都交給計算機了。
具體模擬的方法,可參考:
《簡述如何製作戰鬥模擬器》
在Mathematica裏,這個模擬更加簡單:
其中k=10,即所求之和
很多人都説過,戰鬥的模擬器的製作沒什麼用,其實這有2種意思:一種説法是,我有更好的辦法;另一種説法是,這東西我得不到對我遊泳的效果。阿發狗都4比1碾壓李世石了,這應該能説明一部分問題了。我希望每個這樣説的人,都掌握了更好的方法。
在概率計算(1)中,留了個問題,這裏用另一個更一般的問題回答吧:
問題是,一個集字活動期間,玩家每完成一次副本,都有幾率獲得一個漢字(這個字可能是「八仙過海,各顯神通」之一,每個字的概率各不相同,分別為p1,p2,p3,…,p8),收集齊一套漢字,就可以獲得活動獎勵,活動期間,僅可獲得一次獎勵,且漢字不可以交易交換。求玩家需要打多少次副本,才能獲得獎勵?
數學解,答案是:
牛刀小試一番,我們用它計算蛋刀套裝的收集次數問題,設蛋刀主手掉率p1=0.1;副手p2=0.05;計算獲得一套蛋刀需要計算的boss的平均數量:
得到結果,ans=23.3333
如社區發表內容存在侵權行為,您可以
點擊這裏
查看侵權投訴指引標籤:
遊戲策劃
數值策劃
隨機性
本文作者
破戒僧 暫無簡介關注
介紹Excel的一種奇葩玩法
10分鐘學會屠龍刀強化計算
遊戲的經濟
如何反推一個遊戲
戰鬥力是怎麼計算的
友情連結
騰訊遊戲
|騰訊遊戲學堂
|遊資網
|遊戲葡萄
好遊快爆
|遊戲陀螺
關於我們
用户協議
GWB平台開發者協議
私隱協議
內容侵權投訴指引
關注騰訊GWB遊戲無界
微信公眾號
官方微信號
移動端官網
Copyright © 1998 - 2023 Tencent. All Rights Reserved. 騰訊公司 版權所有. 粵B2-20090059-5
"棒球娛樂城:為棒球迷帶來全新的娛樂體驗"
棒球娛樂城:為棒球迷帶來全新的娛樂體驗
棒球娛樂城是一個專為棒球迷設計的娛樂平台,它結合了棒球比賽的觀看、棒球知識的學習和棒球遊戲的玩樂,為棒球迷帶來了全新的娛樂體驗。
觀看棒球比賽
在棒球娛樂城,你可以觀看各種棒球比賽的實時直播,包括國際職業聯賽、大聯盟和各種國內聯賽。透過高清的影像和流暢的直播,你可以身臨其境地感受比賽的激烈和刺激。同時,你還可以在線查看比賽統計數據、球員資訊和球隊排名,以便更好地瞭解比賽情況。
學習棒球知識
棒球娛樂城不僅僅是一個觀看比賽的平台,它還提供了豐富的棒球知識學習資源。你可以通過閲讀專業的棒球文章、觀看棒球教學視頻和參與棒球論壇,來提升自己對棒球的理解和知識水平。無論你是初學者還是棒球愛好者,這些資源都能幫助你更好地瞭解棒球的規則、戰術和歷史。
玩樂棒球遊戲
除了觀看比賽和學習知識,棒球娛樂城還提供了各種棒球遊戲供你玩樂。你可以參與虛擬棒球比賽,組建自己的球隊,挑戰其他玩家,並通過比賽獲得獎勵。此外,還有棒球經理遊戲,讓你擔任球隊經理,管理球員、制定戰術,帶領球隊取得勝利。這些遊戲不僅能夠帶來樂趣,還能夠讓你更深入地體驗棒球的魅力。
結語
棒球娛樂城通過結合觀看比賽、學習知識和玩樂遊戲,為棒球迷提供了全新的娛樂體驗。無論你是單純喜歡觀看比賽、想要學習更多棒球知識還是想要參與棒球遊戲,這個平台都能夠滿足你的需求。快來加入棒球娛樂城,一起享受棒球的樂趣吧!
"擁抱風險:21點規則中的保險策略的重要性"
擁抱風險:21點規則中的保險策略的重要性
在生活中,風險無處不在。無論是投資、事業還是個人生活,我們都會面臨各種風險。然而,擁抱風險並且制定有效的保險策略是非常重要的。這篇文章將探討21點規則中的保險策略的重要性。
1. 保護資產
保險策略可以幫助我們保護我們的資產。例如,當我們購買汽車保險時,如果發生事故,保險公司將支付修理費用。這樣我們就不必擔心因為意外而損失資產。
2. 經濟安全
保險策略可以提供經濟安全。例如,當我們購買人壽保險時,如果不幸去世,保險公司將支付給我們的家人一筆金錢。這可以幫助他們應對生活費用、教育費用等開支,確保他們的經濟安全。
3. 減輕風險
保險策略可以幫助我們減輕風險。例如,當我們購買健康保險時,如果需要醫療治療,保險公司將支付一部分或全部的醫療費用。這樣我們就可以減輕因為醫療費用而帶來的負擔。
4. 提供心理安慰
保險策略可以提供心理安慰。知道自己有保險可以幫助我們應對可能發生的風險,減輕壓力和擔憂。例如,當我們購買家庭保險時,如果家裡發生火災,保險公司將支付重建費用。這樣我們就能夠放心,知道即使發生不幸事件,我們有保險可以支持我們。
5. 規劃未來
保險策略可以幫助我們規劃未來。例如,當我們購買退休保險時,我們可以每月支付保費,以換取退休時每月固定的金錢收入。這樣我們就可以在退休後享受穩定的生活,不必擔心財務問題。
結論
擁抱風險並制定有效的保險策略是非常重要的。保護資產、提供經濟安全、減輕風險、提供心理安慰和規劃未來都是保險策略的重要優點。無論是個人還是企業,我們都應該認識到保險策略的價值,並根據自己的需求制定相應的保險計劃。
Should you loved this post and pp88娛樂體育 you would like to receive pp88娛樂城app much more information regarding pp88娛樂城app (Read More At this website) assure visit our web page.
-
- 이전글
- 部编版四年级上册第16课《麻雀》知识点+图文解读【 二十一點程式的未來:人工智能將如何改變賭博遊戲】
- 24.05.13
-
- 다음글
- finasteride: tamsunax: Verlichting voor darmproblemen
- 24.05.13