20/03/2025
回應魔風集會所「洗牌次數與隨機性的探索:魔法風雲會玩家該洗幾次牌才夠亂?」一文
上個月這篇文發的時候,某裁判在某群組tag了另一位數學系裁判詢問意見。我對數學系裁判最深的印象是某個週日比賽早上八點多我走進會場看到他在看一本書,封面寫著Algebra。
週日,早上八點,代數學。這只讓我想到:「我是誰,我在哪,我在這裡幹嘛?」
當然某裁判的tag被發了張無聲卡。好人的宣判的創始人也拿到了一張。
—
我當時自己是沒有看那一篇文章,直到了昨天我因故需要找一些資料時連到了這一篇文章。
嘛,我沒有學過大學等級的數學,研究法與統計學不是可以說嘴的等級也不是吃飯的工具。以下就一個已經退到山崖邊還沒死透的裁判回應一下這一篇文章。
粗糙地隨意寫寫,有錯誤請指正🙏
—
一、關於探討隨機,以及洗牌幾次的文章
在談內容之前我想先聊一聊動機以釐清為什麼大家想研究這個,以及一位裁判(我)的立場是什麼。
玩家想談論這個無可厚非,畢竟實體卡牌賽事中洗牌佔據三五分鐘,魔術師高手大有人在。找到一個方法(method)來最小化洗牌時間與監控可能的對手出招情形是有效益的,即便這樣做脫離了卡牌遊戲的本質與初衷。
我覺得有趣的是,玩家要追求充分隨機化的同時 #其實希望套牌不是隨機的。
我個人立場是不願意深究這個題目詳細到成為標準答案。一方面是要執行蒙地卡羅方法(模擬研究)要格外注意垃圾進垃圾出(garbage in, garbage out, GIGO)的議題,參數設立好就只能在這個參數底下詮釋,光是聊研究方法就沒完沒了;另一方面是「玩家以為的隨機與比賽官員的認知是兩件事情。」
即便如此,我個人是很喜歡這類型的文章。於私來說在電腦前想著這文章太座看到一臉臭就不會來搭話,於公來說這樣的文章其實是有助於整個社群發展的,尤其魔風又是個凋零中的市場。以下就這兩個議題成為第二點與第三點回應。
二、文章中的方法論問題
先聊定義問題,隨機(randomness)是什麼?我用The New Oxford American Dictionary (NOAD)的定義:the quality or state of lacking a pattern or principle of organization; unpredictability來解,中文來說就是「樣式」少或是不可預測。
在此先再拾一位加拿大裁判Isaac King的牙慧,他認為探究「洗七次」的說法與研究有一些概念上的迷思以及誤解,引用的文獻也與魔風集會所的文章相同:
(一)Bayer & Diaconis(1992)的文章實際上為52張牌的隨機化要求為8.55次,也就是實務為9次以上。
(二)兩篇文章並沒有聲稱洗多少次可以達成完全隨機。7次與8.55次是符合研究人員設定的條件,用這樣的研究方法在其他數學演算法仍然可以找到pattern。
(三)兩個論文都是52張為基底(但我覺得這比較minor,因為已知套牌數量增大洗牌數量要增加)
(四)魔法風雲會(以及其他卡牌遊戲)套牌內的牌張除非是一刀流賽制否則並非是獨一無二的,與這些研究的標的不同。
回到這篇文章,我提一些對於統計方法的看法:
(一)使用chi-square原則上沒有問題,有一些瑕疵
卡方是探究實際觀察值與理論觀察值差異的統計考驗,所以使用距離分佈與完全隨機的距離分佈的差異是可以理解的。然而帶入下一個問題:「完全隨機」是什麼?這篇文章並沒有說明。
再者,卡方的自由度(df)數字是49這怎麼來的也沒有交代。我預設他是使用(k-1)好了,也就是說不同洗牌次數的試驗數量是50次。
(二)取樣方式說明不清楚
把重複牌張的議題拋一邊,這邊想要看一下riffle shuffle的取樣方法。
文中提到「程式會先從左堆拿 1~3 張放到新牌堆,再從右堆拿 1~3 張放到新牌堆,如此交錯進行,直到兩堆牌都放完。」然而少了說明牌堆是從原先牌堆下方抽取放到新牌堆下方,或是從原先牌堆上方抽取放到新牌堆下方。前者是正確的riffle shuffle模擬,後者則不是一個實務上會出現的洗牌方式就無法類推到實務上。若是正確的riffle shuggle方法,且結論是『實際模擬結果顯示,隨機洗牌次數約在 6~7 次 就已經能使 「整副 60 張牌的重新排列」和「理想的完全隨機排列」間無顯著差異。』的話,這落入了一個統計的缺失中:
「卡方檢定看的是群體差異而非個體」。不只卡方檢定如此,統計學常見的Z, t, ANOVA都是如此。說明在下個段落。
三、套牌隨機化不止看整體也看個體,以及洗牌方法
這段落要說明以裁判立場來說為什麼單純riffle shuffle的隨機化這是不能接受的。
把riffle shuffle的動作細部分解來看,就是數次在牌堆之間小距離的移動。若現在拿起手邊任一套牌或撲克牌,將這個牌堆分成上、中、下三堆,執行了一次riffle shuffle後在牌庫頂的那一張牌(上堆)是不可能到達中堆甚至下堆,同理牌堆最下方的那一張牌也不會因一次洗牌進入中堆或是上堆。
再拉回看前段的研究方法,單純使用riffle shuffle會讓套牌隨機性增高固然沒錯,然而這樣洗牌方法使某一張牌的絕對位置的變動是少的。僅經由數次的riffle shuffle之後,牌庫頂的牌張還是有可能出現在前七張牌。
畢竟,「你不會反對起手有攫取思緒(Thoughtseize)的」,是吧?
回來看隨機化這件事情,裁判在乎的是「套牌任意牌張與牌張之間的相對位置與絕對位置是否可能被知道」。也就是說裁判並不在意以母群(套牌)的角度看這套牌是否足夠隨機,更在意的是個體(個別牌張或是n張牌)之間是否有關聯以及可被預知。
故此,有一些洗牌上的建議如下:
(一)需要洗牌時合併數種洗牌方式,riffle shuffle, pile shuffle, hindu shuffle等等。
(二)只要知道某牌張的位置,就需要充分地洗牌。「知道」包括但不限於:洗牌過程翻開一張牌、找牌庫看到牌庫底。
至於文章的統計方法,我的想法有一些不同:我不會用卡方看洗幾次後是否達到完全隨機,而是洗幾次後對於增進隨機的效果變得太少就是「夠隨機」了。也就是說,考驗的是power而非significance。
有遊戲規則或比賽方針問題歡迎私訊!