認真閱讀下面的文章,並思考文末互動提出的問題,嚴格按照 互動:妳的答案 格式在評論區留言,就有機會獲得由 機械工業出版 社 提供的優質科普書籍 《天才與算法》 壹本。
單人蜘蛛接龍 (以下簡稱為“ 蜘蛛紙牌 ”)是人們經常在電腦上在線或者離線玩的壹款很受歡迎的 遊戲 。由名字可以看出,這個 遊戲 是只有壹個玩家的。 遊戲 中壹***有兩套標準撲克牌,玩家需要按順序把撲克牌排列成完整的八組(兩套牌,各四種花色),從而進壹步把它們從臺面上消除。牌可以從牌組中提取或者按照特定規則從壹列移動到另壹列。我們這裏不再詳細地討論 遊戲 規則,假設我們的讀者已經了解 遊戲 的規則了。要是妳需要回憶壹下,可以看這裏。在這裏我們只討論這個 遊戲 的四組的版本。
蜘蛛紙牌中含有兩套標準撲克牌
玩家們壹直在抱怨說不同的軟件存在偏差 。具體來講,就是如果程序探測到了玩家的勝率很高,它可能就 暗中操縱 後面的牌的次序來降低勝率。玩家本身也有可能被偏向從而發揮出最好水平。不過,通過壹些基本的 統計學手段 ,我們有可能對這種“偏向的指控”進行證實或者駁斥。這壹點也可以作為壹個很好的練習,來看看 壹個人是如何使用在現實世界觀察到的數據並配合統計學手段來判斷壹個假說(比如“蜘蛛紙牌程序是有偏向性的”)是真的還是假的。
基礎知識
從本文的角度出發,我們這 裏假設玩家在玩蜘蛛紙牌的時候不使用“撤銷”“重來”“加步”(把 遊戲 削減為壹個簡陋的初始版本),這樣玩家就不用考慮計分、花費的時間以及移動的步數了。 很多人都認為在這樣的條件下 遊戲 幾乎贏不了,但是加州州立大學長灘分校的史蒂夫·布朗在他出色的著作《蜘蛛紙牌獲勝策略》中給出了壹些詳細的策略,並且提到在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的概率分布。
經驗來談, 如果卡牌的整體分布比較糟糕的時候,玩家同樣會陷入麻煩 。比如說有七張Q但是只有兩張J沒有打出來的時候,即使妳有壹列或者多列已經清空,仍然會有問題出現。因此在這裏定義壹個 整體方差(total square variation,TSV) ,取值為相鄰大小的牌的數目的負的平方之和。在剛才的例子裏,七張 Q 和兩張 J 在求和時會貢獻出 -(7-2) 2 =-25 壹項。這裏取負值是為了確保 TSV 的增減性與獲勝概率的增減性壹致,就和AGT壹樣。每亮出壹張新牌我們就計算壹下TSV,這樣我們可以算出來單局 遊戲 的 平均TSV(ATSV) 。要提起註意的是ATSV同樣與玩家無關,我們假定玩 遊戲 的玩家會按照壹個隨機順序把所有扣著的牌都亮出來(盡管玩家可以選擇先亮哪張牌,但是亮出的每張牌概率是壹樣的)。幸運的是這壹點可以通過模擬很容易就做到。
蜘蛛紙牌的典型散點圖(○=獲勝,×=落敗)
壹個典型的散點圖如上圖,這裏藍色圓圈和紅色叉叉依次表示獲勝和落敗。
模擬結果顯示對於沒有偏袒的 遊戲 程序而言,在大量局數的 遊戲 之後,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.05。
勝率估計
除了AGT和ATSV之外,我們也想評估壹下 對於“無偏向性”的蜘蛛紙牌程序來講,“真正的”獲勝概率。 壹個明顯的困難在於勝率是和玩家有關的,所以很難驗證“壹個玩家能贏50%的 遊戲 ”這種說法。另壹個情況是我在不同的蜘蛛紙牌 遊戲 程序中得到了從45%到60%的勝率,而且沒有證據顯示我在使用這些程序的過程中勝率有所提高(也就是說,我的勝率並不隨著時間增加而呈現出正相關)。
壹個比較有意思的免費在線紙牌 遊戲 網站 Pipkin's Idiot's Delight Solitaire Server,這裏面包含了許許多多的紙牌 遊戲 。它允許玩家在從1到999999的數字中指定壹個“種子數”。舉例來說,如果種子數為142857,起始的10張牌就總是2J56J9JQ59這幾張,但是組合方式會不同。要註意的是,要是玩家在 遊戲 之前隨機生成壹長串種子數,那麽程序就不能根據玩家的勝率來調整難度水平了。正是因為這個原因,可以選擇這個網站來估計勝率。
在零假設為真的時候拒絕零假設被稱為第壹類錯誤,它出現的概率等於顯著性水平。假說檢驗中的另壹類錯誤被稱為第二類錯誤,它是指在零假設為假的情況下接受零假設。
我在Idiot's Delight上玩了100局 遊戲 ,使用了從1到100的種子數。最終我贏了59局,輸了41局。所以我估計我在玩“無偏向性”的蜘蛛紙牌 遊戲 的時候勝率會在59%左右。
估計值
我在Free Spider Solitaire上玩了100局蜘蛛紙牌 遊戲 。雖然選擇了在這裏玩 遊戲 但是試驗之後,這裏的 遊戲 體驗真的很“糟糕”:盡管可以贏,但是就算高手玩家玩起來也會很困難。每壹局 遊戲 記錄下 遊戲 的輸贏結果以及AGT和ATSV數據。我觀察到AGT和ATSV的p值依次是 0.115 和 0.201。這意味著AGT和ATSV的數據都要低於預期(也就是說,玩家會吃虧),但是因為這兩個數值都高於我們的0.05的閾值,它們在統計上都不顯著: 這可能是因為偶然變化導致了較低的值的出現 。
不幸的是我只贏了其中的46局,比預期少了13局。這說明可能 還需要進壹步測試驗證 。然而要知道每個玩家的勝率都不壹樣,我很有可能在這100局裏還沒有發揮出最佳狀態。
從中我給出的結論是沒有足夠的證據證明Free Spider Solitaire上的程序是有偏向性的。 46局的勝局數是有壹點讓人沮喪,但是確實, 這次這個程序經受住了考驗 。然而其他的蜘蛛紙牌程序可能就沒這麽幸運了。
作者:Trevor Tao
翻譯:Dannis
審校:Nuor
原文鏈接:
https://plus.maths.org/content/spider-solitaire
tian
福
tian
利
xiang
時
shang
間
今天我們將送出由 機械工業出版社 提供的優質科普書籍 《天才與算法》 。
美、英兩國雙料院士馬庫斯·杜·索托伊先生巔峰作品。我們即將進入壹個由算法主導世界,AI將在繪畫、音樂、寫作等向人類發起挑戰,作者用數學幫我們理解算法及創造力的本質,幫助人類去創造壹個人與機器***存的美好未來。
閱讀本書,妳將會驚嘆思維之美妙、見識之廣博,更會驚嘆人類的創造力有著如此嚴密的邏輯和音符般的節奏。
互動問題: 妳在生活中還運用過哪些具體的統計學知識?
請大家嚴格按照 互動:問題答案 的格式在評論區留言參與互動,格式不符合要求者無效。
*本活動僅限於微信平臺
↓ 點擊標題即可查看 ↓
1. 套娃嗎?妳先看這個島中湖中島中湖中島
2. 都靠這位天才科學家20歲時的論文,妳才能用手機拍照發朋友圈
3. 朝天空開槍,子彈掉下來還有殺傷力嗎?| No.206
4. 樂高還能懸浮在半空中?上百萬人已看懵!
5. 古裝片的射箭動作把物理學家看笑了,導演咱能不能專業點?
6. 即使被它淹沒也不會窒息,這是什麽神奇液體?
7. 數學課上撿了個橡皮,勾股定理就看不懂了
8. 物理學寫給妳的情書
9. 唯壹兩次獲得諾貝物理學獎的人,妳卻不壹定認識他
10. 媽媽問我的桌子為什麽這麽亂!