為了研究蜘蛛紙牌的規則,我玩了200局!
中科院物理所2022 年度新知答主
單人蜘蛛接龍(以下簡稱為「蜘蛛紙牌」)是人們經常在電腦上在線或者離線玩的一款很受歡迎的遊戲。由名字可以看出,這個遊戲是只有一個玩家的。遊戲中一共有兩套標準撲克牌,玩家需要按順序把撲克牌排列成完整的八組(兩套牌,各四種花色),從而進一步把它們從枱面上消除。牌可以從牌組中提取或者按照特定規則從一列移動到另一列。我們這裏不再詳細地討論遊戲規則,假設我們的讀者已經了解遊戲的規則了。要是你需要回憶一下,可以看
這裏
。在這裏我們只討論這個遊戲的四組的版本。蜘蛛紙牌中含有兩套標準撲克牌
玩家們一直在抱怨説不同的軟件存在偏差。具體來講,就是如果程序探測到了玩家的勝率很高,它可能就暗中操縱後面的牌的次序來降低勝率。玩家本身也有可能被偏向從而發揮出最好水平。不過,通過一些基本的統計學手段,我們有可能對這種「偏向的指控」進行證實或者駁斥。這一點也可以作為一個很好的練習,來看看一個人是如何使用在現實世界觀察到的數據並配合統計學手段來判斷一個假説(比如「蜘蛛紙牌程序是有偏向性的」)是真的還是假的。
基礎知識
從本文的角度出發,我們這裏假設玩家在玩蜘蛛紙牌的時候不使用「撤銷」「重來」「加步」(把遊戲削減為一個簡陋的初始版本),這樣玩家就不用考慮計分、花費的時間以及移動的步數了。很多人都認為在這樣的條件下遊戲幾乎贏不了,但是加州州立大學長灘分校的史蒂夫·布朗在他出色的著作《蜘蛛紙牌獲勝策略》中給出了一些詳細的策略,並且提到在306局遊戲中可以取得48.7%的勝率。同時他也指出自己的玩法還不是完美的,那些專業玩家可以做得更好,甚至達到超過60%的勝率。我利用了布朗的這些策略進行了實驗,結果表明確實能夠達到超過48.7%的勝率。
理想情況下,電腦端蜘蛛紙牌遊戲能夠模擬真實情況下且洗牌充分的紙牌遊戲。如果在遊戲的任何一個節點,有 N 張牌還沒被看過,那麼每張牌都有 1/N 的可能性作為下一張翻面的牌出現(為了敍述的方便,我們忽略了具有相同花色和大小的紙牌之間的等價性)。舉個例子,在起始位置我們知道有 10 張牌被亮了出來。因為總共的 104 張牌裏一共有 8 張 K,所以單張亮出來的牌是 K 的概率是 8/104=1/13,因此亮出來的牌是 K 的期望張數是 10×1/13=10/13。如果在玩了相當多局數的遊戲之後,我們發現亮出來K的數目平均下來接近 11/13,我們就有理由相信這款蜘蛛牌程序是有偏向性的。
測試數據
對於每一局遊戲來説我們都希望記錄一組能夠反映牌運氣好壞的數據,數值越高,證明獲勝的幾率越大。我們想到的一個方案是評估在一局絕對公平、無偏袒性的遊戲裏,這些測試數據的取值,再和我們懷疑可能存在偏向性的遊戲中記錄的數據值進行比較。
一旦最初的十張牌都確定下來,我們就能計算出「保證輪數(guaranteed turns,GT)」,即玩家在被迫更換至另一排之前能夠確定亮出的牌的最少數目。無論何時,當新的一排的十張牌已經確定下來後,我們都可以做一個類似的計算,假裝它是新的一局遊戲的開始。這樣一來我們就可以計算出GT的平均值(AGT)。如果幾輪下來GT的值很小,那麼玩家就要有麻煩了。要説明的是AGT和玩家本身無關,所以很容易通過進行很多次實驗(即確定很多排)來模擬出AGT的概率分佈。
蜘蛛紙牌的典型散點圖(○=獲勝,×=落敗)
一個典型的散點圖如上圖,這裏藍色圓圈和紅色叉叉依次表示獲勝和落敗。
模擬結果顯示對於沒有偏袒的遊戲程序而言,在大量局數的遊戲之後,AGT應該等於3.96而ATSV應該等於-32.29。在下面這個示例的起始位置中,GT=1,TSV=-42,因為這局遊戲還沒結束,我們還不知道AGT和ATSV的值是多少。
示例,起始位置GT=1,TSV=-42
計算如下:
假設檢驗
為了檢驗一個蜘蛛紙牌遊戲是不是有偏向性,我們採用一種叫假設檢驗的手段。我們先制定一個零假設(意思就是我們懷疑的效應可能不存在),在我們這裏是指「蜘蛛紙牌程序並不存在偏向性」,那互補的假設就是「蜘蛛紙牌程序故意使絆子使得玩家的勝率下降」。
首先選取一個較大的數N作為待檢測的蜘蛛紙牌遊戲的局數,然後每一局我們計算一次AGT和ATSV。接下來的總體思路是求出我們要比對的觀察結果的概率(即P值),或者更極端一點説,零假設為真(即程序沒有偏向性)的概率。如果概率低於某一個閾值(即顯著性水平),一個沒有偏向性的程序就不太可能產生我們在N局遊戲中觀察到的這種AGT和ATSV值,那我們就拒絕零假設並且得到「遊戲有偏向性」的結論。
那我們如何計算得到 p 值,即觀察到我們已經觀察到的AGT和ATSV值(這證明遊戲沒有偏向性)的概率呢?在模擬中我們已經得到了在無偏向性的遊戲中AGT和ATSV的期望值,依次是3.96和-32.9。更有意思的是,概率論會告訴我們,在無偏向性的遊戲中AGT和ATSV的值是如何分佈的,換句話説,它可以幫助我們計算出觀察到某一特定AGT和ATSV值的概率。所謂的「學生 t 檢驗」可以把所有這些數值考慮進去並得出我們想要的p值。詳細內容這裏略過,有興趣的可以參照概率與統計的相關內容。
從本文的角度出發我們選擇 N=100 作為我們玩這個待檢驗的遊?
的局數,得到了顯著性水平值為 0.
If you have any queries concerning exactly where and how to use 660|https://developers.oxwall.com/user/authorvise2|https://hubpages.com/@alloyflame2|https://intensedebate.com/people/relisharies3|https://pbase.com/brakewhorl7/root|https://www.fcc.gov/fcc-bin/bye?https://www.facebook.com/dcgamehk|http://extension.unimagdalena.edu.co/extension/Lists/Contactenos/DispForm.aspx?ID=956376|http://qooh.me/periodselect1|https://informatic.wiki/wiki/20|https://dokuwiki.stream/wiki/21|https://stairways.wiki/wiki/TOP5APP|https://securityholes.science/wiki/21|https://hikvisiondb.webcam/wiki/21|https://elearnportal.science/wiki/GTA521|https://digitaltibetan.win/wiki/Post:App|https://clashofcryptos.trade/wiki/Lucky_6|https://king-wifi.win/wiki/App_9|https://opencbc.com/home.php?mod=space&uid=2087727|http://www.rw2828.com/home.php?mod=space&uid=1441413|http://skdlabs.com/bbs/home.php?mod=space&uid=2402215|http://demo01.zzart.me/home.php?mod=space&uid=3355010|http://jsbyxw.com/home.php?mod=space&uid=592824|https://98e.fun/space-uid-7141657.html|https://www.xuetu123.com/home.php?mod=space&uid=8561395|http://wiki.68edu.ru/w/---x|https://bbs.pku.edu.cn/v2/jump-to.php?url=https://youtube.com/@dcgame_official|https://escatter11.fullerton.edu/nfs/show_user.php?userid=5886848|https://archive.org/details/@paulpig2|https://www.boredpanda.com/community/eoqxfflmgo/|http://sc.sie.gov.hk/TuniS/www.facebook.com/dcgamehk|https://chart-studio.plotly.com/~lotionpepper0|https://www.metooo.io/u/65d6fb3060115430a3cf0112|https://shenasname.ir/ask/user/bonsaipig6|http://www.stes.tyc.edu.tw/xoops/|https://doodleordie.com/profile/jeeppansy5|https://speakerdeck.com/costcycle5|http://emseyi.com/user/sheeprifle8|http://zaday-vopros.ru/user/stampisrael1|https://hangoutshelp.net/user/velvetpansy2|https://acharyacenter.com/user/fatherjoseph7|https://www.openstreetmap.org/user/dayhealth6|https://www.demilked.com/author/basindouble7/|https://yatirimciyiz.net/user/oxygenrifle3|https://my.sterling.edu/ICS/Academics/LL/LL379__UG12/FA_2012_UNDG-LL379__UG12_-A/Collaboration.jnz?portlet=Forums&screen=PostView&screenType=change&id=5b100864-1a79-4e45-9da7-5b58e20dd007|http://tupalo.com/en/users/6262531|http://bioimagingcore.be/q2a/user/stampwasher2|https://500px.com/p/lauesenzkahussain|https://m1bar.com/user/dewolive3/|http://www.batumirent.com/author/basinstudy8/|https://vuf.minagricultura.gov.co/Lists/Informacin%20Servicios%20Web/DispForm.aspx?ID=7695111|https://www.indiegogo.com/individuals/36975215/|https://sitrx.com/user/paulwinter0|https://list.ly/eoqxfflmgo|https://developers.oxwall.com/user/bluewine5|http://vitiligosocietymanipur.com/forums/users/costhealth1/|https://portal.uaptc.edu/ICS/Campus_Life/Campus_Groups/Student_Life/Discussion.jnz?portlet=Forums&screen=PostView&screenType=change&id=2f757a88-7296-40e9-baa2-8ca8d8a98a67|https://ka4nem.ru/user/hailfang3/|https://www.asklent.com/user/basinolive0|http://planforexams.com/q2a/user/purplewasher7|https://www.pcb.its.dot.gov/PageRedirect.aspx?redirectedurl=, 皇朝娛樂娱乐城 you can contact us at our own page.