WOO logo

在這一頁

「約翰尼克拉普斯」挑戰

簡介

在我發布挑戰後不久,我問了“Johnny Craps” (老玩家指南:如何在賭桌上獲勝)的管理員,他是否願意接受我的挑戰。這個系統的網站已經不存在了,博彩系統通常都是這樣。它的所有者似乎半夜就消失了。

約翰回覆很快,對他的系統及其在十億輪次中盈利的能力非常有信心。他向我講述了幾個使用他的系統贏取巨額利潤的故事,並承認只輸過一次大錢,那是因為他喝醉了,沒有按照系統操作。在我們的討論中,約翰表現得非常紳士,甚至拒絕了我提出的如果他的系統成功挑戰就付款的提議。正是透過他個人的應用以及其他購買他系統的人的見證,他才真正相信了它。

他的系統基於這樣的理念:輸一次之後贏的可能性會更大。此外,他的系統也設定了限制損失的控制措施,最大輸贏線(pass line)僅為最小輸贏線(pass line)的八倍。他只投注pass line,並接受賠率。其謬誤在於他假設輸一次之後贏的可能性會更大。以下結果證實了這一點。

《老玩家指南:如何在擲骰子遊戲中獲勝》的結果

方面結果
擲骰子總數1,000,000,006
投注過線總數296,239,663
總賠率投注197,491,494
投注總單位3,800,921,108
損失單位總數21,266,094
任何時間贏得的最大單位數2,111

輸掉的單位數與投注單位數之比為 0.005595,這與擲骰子遊戲中採用全雙倍賠率時的莊家優勢 0.005720 相差無幾,差異源於隨機變化。每次遊戲的最大贏取單位數差異很大,上述 2111 的結果不應指望輕易複製。以下是基於十個不同遊戲(每次遊戲一百萬次)中任意時刻的最大贏取單位數:224、2521、1226、1199、1298、6130、3123、224、851 和 1314。

下面是該程式的副本。我在某些會洩漏他策略的因素上標註了***符號。由於該程式仍在出售,他肯定不想免費贈送。

我要感謝約翰對這次實驗的參與與合作。

# 包括 <stream.h>
# 包括 <stdlib.h>
# 包含 <string.h>
# 包括 <math.h>

int main(空)
{
int numpass、numodds、numroll、tbet、er、es、point、roll、die[2]、i、n、max、bet、win、num、bil;

cerr << "輸入種子";
cin >> n;

對於(i = 1;i <= n;i++)
{
    num = rand();
}

cerr << "輸入試驗次數";
cin >> n;

滾動數量 = 0;
比爾=0;
勝利=0;
tbet = 0;
最大值=0;
numpass = 0;
numodds = 0;
比爾=0;


do //重複直到實驗結束
{
    es = 0;
    賭注=2;

    do // 重複直到系列結束
    {
        點=0;
        呃= 0;

        //重複直到回合結束
        {
            對於(i = 0;i <= 1;i++)
            {
                num = rand(); // rand() 的最大值為 32767
                die[i] = 1 + int(num * 6 / 32767);
            }

            滾動 = 骰子[0] + 骰子[1];

            數字滾動++;

            如果(點==0)
            {
                數位傳遞++;

                如果((roll == 7)||(roll == 11))
                {
                    贏+=賭注;
                    tbet += 賭注;
                    呃= 1;
                    es = 1;
                }
                否則,若((roll == 2)||(roll == 3)||(roll == 12))
                {
                    呃= 1;
                    贏-=賭注;
                    tbet += 賭注;
                }
                別的
                {
                    點 = 滾動;
                    numodds++;
                }
            }
            否則,如果(roll == point)
            {
                如果((roll == 4)||(roll == 10))
                {
                    贏 += 5 * 賭注;
                    tbet += 3 * 賭注;
                }
                否則,如果((roll==5)||(roll==9))
                {
                    贏 += 4 * 賭注;
                    tbet += 3 * 賭注;
                }
                別的
                {
                    贏 += 4 * 賭注;
                    tbet += 7 * 賭注 / 2;
                }

                呃= 1;
                es = 1;
            }
            否則,若(roll == 7)
            {
                如果((點 == 6)||(點 == 8))
                {
                    贏 -= 7 * 賭注 / 2;
                    tbet += 7 * 賭注 / 2;
                }
                別的
                {
                    贏 -= 3 * 賭注;
                    tbet += 3 * 賭注;
                }

                呃= 1;
            }

        } while (er == 0); //重複直到回合結束

        如果(tbet>1000000000)
        {
            比爾++;
            tbet-= 1000000000;
        }

        如果(勝利>最大)
        {
            最大=勝利;
        }

        如果(es == 0)
        {
            如果 (賭注 == ***) { 賭注 = ***; } 其他
            如果 (賭注 == ***) { 賭注 = ***; } 其他
            如果 (bet == ***) { es = ***; }
        }

    } while (es == 0); // 重複直到系列結束


} while (numroll < n); //重複直到實驗結束

cerr << "總擲骰數 = " << numroll << "\n";
cerr << "總透過線投注 = " << numpass << "\n";
cerr << "總賠率投注 = " << numodds << "\n";
cerr << "總獎金 = " << win << "\n";
cerr << "總投注 = " << bil << " 十億 + " << tbet << "\n";
cerr << "高額獎金 = " << max << "\n";
}