孤獨接龍(以下簡稱“蜘蛛接龍”)是壹種非常流行的遊戲,人們經常在電腦上在線或離線玩。從名字就可以看出,這個遊戲只有壹個玩家。遊戲中有兩套標準撲克牌,玩家需要將撲克牌排列成八個完整的組(兩套牌,每套四種顏色),以便進壹步將其從桌面上消除。可以根據壹定的規則從卡片組中抽取卡片,或者將卡片從壹列移到另壹列。這裏不詳細討論遊戲規則,假設讀者已經知道遊戲規則。如果需要回憶,可以看這裏。這裏我們只討論這個遊戲的四個版本。
蜘蛛牌包含兩套標準撲克牌。
玩家壹直在抱怨不同的軟件有偏見。具體來說,如果程序檢測到玩家的勝率很高,它可能會暗中操縱後面牌的順序,以降低勝率。球員本身也可能偏向發揮自己的最佳水平。但是,通過壹些基本的統計手段,我們有可能證實或反駁這種“偏頗的指責”。這也可以作為壹個很好的練習,看看壹個人是如何利用現實世界中觀察到的數據,配合統計手段來判斷壹個假設(比如“蜘蛛卡程序有偏差”)的真假。
基礎知識
從本文的角度來看,我們假設玩家在玩蜘蛛卡時不使用“撤銷”、“重做”和“加步”(將遊戲簡化為壹個粗糙的初始版本),因此玩家不必考慮得分、花費的時間和移動的步數。很多人認為遊戲在這樣的條件下幾乎不可能贏,但是加州州立大學長灘分校的史蒂夫·布朗在他的優秀著作《蜘蛛牌制勝策略》中給出了壹些詳細的策略,提到在306場比賽中勝率可以達到48.7%。同時他也指出自己的玩法並不完美,那些職業選手可以做得更好,甚至達到60%以上的勝率。我利用布朗的這些策略進行了實驗,結果顯示我確實可以達到48.7%以上的勝率。
理想情況下,基於計算機的蜘蛛紙牌遊戲可以模擬真實的紙牌遊戲,並進行充分的洗牌。如果在遊戲的任意壹個節點,有N張牌沒有被看到,那麽每張牌都有1/N的可能性作為下壹張翻牌(為了敘述方便,我們忽略同花色同大小的牌之間的等價性)。比如在起始位置,我們知道10的牌是高亮的。因為在總共* * 104張牌的a * * *中有8張K,所以單張西恩牌是K的概率是8/104=1/13,所以是K的牌的期望個數是10 × 65438+。如果在玩了相當數量的遊戲後,我們發現高亮K的數量平均接近11/13,我們有理由相信這個蜘蛛程序是有偏差的。
測試數據
對於每壹場比賽,我們都想記錄壹組能夠反映該卡運氣的數據。數值越高,中獎幾率越大。我們想到的壹個解決方案是,在壹個絕對公平和公正的遊戲中評估這些測試數據的值,然後與我們懷疑可能有偏見的遊戲中記錄的數據值進行比較。
壹旦確定了前十張牌,我們就可以計算“保證回合數(GT)”,即玩家在被迫換到另壹排之前可以確定展示的最小牌數。每當決定了新的壹排十張牌時,我們可以進行類似的計算,並假裝這是新遊戲的開始。這樣,我們就可以計算出GT的平均值(AGT)。如果幾個回合後GT值小了,那麽玩家就麻煩了。需要註意的是,AGT與玩家本身無關,所以通過進行多次實驗(即確定多排)很容易模擬出AGT的概率分布。
從經驗來看,如果卡的整體分配很差,玩家也會陷入困境。例如,當有七個Q但只有兩個J沒有鍵入時,即使已經清除了壹個或多個列,仍然會有問題。因此,這裏定義了壹個總平方變化量(TSV ),它的值是相鄰大小的牌的數量的負平方之和。在剛才的例子中,七個Q和兩個J求和時會貢獻-(7-2) 2 =-25。這裏的負值是保證TSV的增減與獲勝概率的增減壹致,就像AGT壹樣。每出壹張新卡,我們都會計算TSV,這樣就可以計算出單場的平均TSV(ATSV)。需要註意的是,ATSV也是獨立於播放器的。我們假設玩遊戲的玩家會以隨機的順序展示所有被扣留的牌(雖然玩家可以選擇先展示哪張牌,但展示每張牌的概率是壹樣的)。幸運的是,這可以通過模擬輕松實現。
蜘蛛牌的典型散點圖(○ =贏,× =輸)
上面顯示了壹個典型的散點圖,藍色圓圈和紅色十字依次表示勝利和失敗。
仿真結果表明,對於大量遊戲後無偏的遊戲程序,AGT應該等於3.96,ATSV應該等於-32.29。在下面這個例子的起始位置,GT=1,TSV=-42,因為遊戲還沒有結束,所以我們不知道AGT和ATTV的值是多少。
例如,起始位置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.05。
勝率估計
除了AGT和ATSV,我們還想評估“無偏”蜘蛛卡程序的“真實”獲勝概率。壹個顯而易見的難點是勝率與玩家有關,所以很難驗證“壹個玩家可以贏50%的比賽”的說法。另壹種情況是,我在不同的蜘蛛卡遊戲程序中獲得了45%到60%的勝率,並且沒有證據表明我的勝率在使用這些程序的過程中有所提高(即我的勝率與時間不呈現正相關)。
壹個有趣的免費在線紙牌遊戲網站,Pipkin的白癡的喜悅紙牌服務器,包含許多紙牌遊戲。它允許玩家指定壹個從1到999999的“種子號”。比如種子數是142857,前10張牌永遠是2J56J9JQ59,只是組合不同。需要註意的是,如果玩家在遊戲前隨機生成了壹長串種子,那麽程序就無法根據玩家的勝率來調整難度等級。正是因為這個原因,妳可以選擇這個網站來估算勝率。
當零假設為真時拒絕該假設稱為第壹類錯誤,其概率等於顯著性水平。假設檢驗中的另壹種錯誤稱為第二類錯誤,指的是當零假設為假時接受零假設。
我在《白癡的喜悅》上玩了100個遊戲,使用的種子數量從1到100。最終我贏了59場,輸了41場。所以我估計我玩“無偏”蜘蛛牌遊戲的勝率會在59%左右。
測定值
我在免費的蜘蛛紙牌上玩了100次蜘蛛紙牌遊戲。雖然我選擇在這裏玩遊戲,但是經過實驗,這裏的遊戲體驗真的很“差”:雖然我能贏,但是即使是專家級玩家玩起來也會很吃力。每場比賽記錄了比賽的勝負結果以及AGT和ATSV的數據。我觀察到AGT和ATSV的p值分別是0.115和0.201。這意味著AGT和ATSV的數據低於預期(也就是玩家會吃虧),但由於這兩個值都高於我們的閾值0.05,所以在統計上並不顯著:這可能是由於偶然的變化導致了更低值的出現。
可惜我只贏了46個,比預期少了13。這表明可能需要進壹步的測試和驗證。但是,知道每個玩家的勝率都不壹樣,這100局我大概還沒有發揮到最好。
我給出的結論是,沒有足夠的證據證明免費蜘蛛接龍上的程序有偏差。46場的勝數有點令人沮喪,但這檔節目確實經受住了考驗。但是,其他蜘蛛卡程序可能就沒這麽幸運了。
作者:陶哲淵
翻譯:丹尼斯
修訂:Nuor
原始鏈接:
https://plus.maths.org/content/spider-solitaire
蒂安菜
快樂
蒂安菜
利益
向
時間
商
在/分開/在/房間之間的空間
今天,我們將送出由機械工業出版社提供的高質量科普讀物《天才與算法》。
美國和英國雙重院士Marcus du Seautois的巔峰之作。我們即將進入壹個由算法主導的世界。AI將在繪畫、音樂、寫作等方面挑戰人類。作者用數學幫助我們理解算法和創造力的本質,幫助人類創造壹個人和機器共存的美好未來。
讀完這本書,妳會驚嘆於思維的奇妙和知識的廣博,更會驚嘆於人類創造力的嚴密邏輯和音樂節奏。
互動問題:妳在生活中用過哪些具體的統計學知識?
請嚴格按照問題答案的格式在評論區留言參與互動。格式不符合要求的作廢。
*本活動僅限微信平臺。
↓點擊標題查看↓
1.它是壹個洋娃娃嗎?先看這個島,湖,島,湖,島。
2.20歲只有靠這篇天才科學家的論文,才能用手機拍照,才能交到朋友。
3.射向天空,如果子彈掉下來是否還有殺傷力?|第206號
4.樂高還能懸浮在半空中嗎?幾百萬人都驚呆了!
5.古裝片的射箭讓物理學家們笑了。導演可以專業嗎?
6.即使被淹沒,也不會窒息。這是什麽神奇的液體?
7.數學課上拿起了橡皮擦,看不懂勾股定理。
8.物理學給妳的情書
9.唯壹兩次獲得諾貝爾物理學獎的人,但妳可能不認識他。
10.媽媽問我為什麽我的桌子這麽亂!