在这一页
“约翰尼·克拉普斯”挑战
简介
在我发布挑战后不久,我问了“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"; }