機率新手如何減少犯錯的機會(EXCEL、Program)

在製作EXCEL完後,我們通常要自行驗證自己的試算表是否正確,但驗證的路遠而寬廣,是你的程式寫錯,還是你的EXCEL出錯,我該怎麼判斷,是不是有一些規則可循?因為自認為目前只能算個初階機率而已,我想就讓我分享我在大海撈BUG時的一些技巧跟邏輯,希望之後的機率工程師可以更快的上手。

機率新手如何減少犯錯的機會(EXCEL、Program)
Photo by Joshua Hoehne / Unsplash
程式
  1. Feature類(Locked Wild 盤面變形)的程式邏輯先後要非常清楚,先算分還是先變化的處理上要非常小心,前後搞錯模擬出來會差很多
  2. Pay Table寫入數值正確很重要(曾經200寫成20炸掉過)
  3. 自然機率滾輪抽取後寫入盤面的位置正確很重要(曾經Reel 2抽完寫到Reel 3的位置)
  4. 盤面上有Locked Wild時,Scatter出現在同一位置的變化 (假設我的盤面把Locked Wild 預設為數字15,Scatter預設為數字16,我會設定數字17做為Locked Wild跟Scatter同時出現時使用)
  5. Line Game 及 Way Game的算分邏輯正確很重要(通常這比較少錯因為寫過一次基本上就是一直沿用)
Excel
  1. 盡量不要使用複製貼上(剛開始製作Excel時會因為貪圖方便,而使用複製貼上如下圖,我會直接把A3複製到B3,但當你A3做更改時B3會維持原樣,因此後來都會盡量使用在B5表格內填入 =A5 的方法減少錯誤)
  2. Way Game的滾輪表(因 Way Game的計算方式會在滾輪表最後補上相對應的圖示,數量是否正確)
  3. Way Game的滾輪表與計算Way Game數量長度是否相等(假設盤面是2*3)
  4. 馬可夫鍊是否有拉錯(通常數字差距大我會先從這部分開始檢查)
結論

當程式模擬與Excel都完成後,但最後模擬結果與Excel對不起來

  • 我都會先從Excel檢查起,像MID找出來的值是否正確,範圍抓得對不對,檢查完覺得都沒問題了,才會去程式裡面除錯
  • 程式先從宣告類下手(像是上面提到的Pay Table),之後才會去檢查程式邏輯,如果檢查到頭昏腦脹發現邏輯順不出來加入一些printf(C#是Console.WriteLine)去驗證先後順序,若是使用像C#有個更強大的功能是單步執行搭配使用斷點,其實就不需要土法煉鋼的printf,直接單步執行針對想看的dictionary或是值去看就可以了

希望可以幫助跟我一樣除錯除到快瘋掉的機率工程師們。

Read more

AI 與負責任博弈

AI 與負責任博弈

在當今的數位博弈時代,AI 已經慢慢開始帶來一些影響,例如AI可以把客製化遊戲推薦做到最佳自動化,為玩家帶來前所未有的沉浸式體驗。然而,在這項強大技術的光環之下,一個深刻的道德悖論正在浮現。 同一套用於最大化玩家參與度的演算法,也被宣傳為保護弱勢玩家、促進負責任博弈 (Responsible Gaming, RG) 的工具。這引出了一個關鍵問題:當一項技術的設計初衷是為了讓玩家持續遊玩時,它能否真正有效地保護他們免於傷害?本文將深入探討人工智慧在負責任博弈中的雙重角色,剖析其作為數位守護者的巨大潛力,同時揭示其背後潛藏的利益衝突與道德困境。 第一部分:AI 的承諾——新一代的數位守護者 傳統的負責任博弈措施多為被動式,依賴玩家的自覺,例如自行設定存款上限或申請自我排除。然而,AI 的出現徹底改變了這一模式,將玩家保護從被動回應轉變為主動預防。 數據驅動的早期預警系統 AI 的核心優勢在於其處理和分析海量玩家數據的能力。每一筆存款、每一次下注、每一次點擊以及遊戲時長,都成為 AI 演算法的分析對象。透過機器學習模型,AI 能夠識別與問題博弈相關的特定行為模式或「傷害指標」。

By 根博之樂