卡片构造论文题目
孤独接龙(以下简称“蜘蛛接龙”)是一种非常流行的游戏,人们经常在电脑上在线或离线玩。从名字就可以看出,这个游戏只有一个玩家。游戏中有两套标准扑克牌,玩家需要将扑克牌排列成八个完整的组(两套牌,每套四种颜色),以便进一步将其从桌面上消除。可以根据一定的规则从卡片组中抽取卡片,或者将卡片从一列移到另一列。这里不详细讨论游戏规则,假设读者已经知道游戏规则。如果需要回忆,可以看这里。这里我们只讨论这个游戏的四个版本。
蜘蛛牌包含两套标准扑克牌。
玩家一直在抱怨不同的软件有偏见。具体来说,如果程序检测到玩家的胜率很高,它可能会暗中操纵后面牌的顺序,以降低胜率。球员本身也可能偏向发挥自己的最佳水平。但是,通过一些基本的统计手段,我们有可能证实或反驳这种“偏颇的指责”。这也可以作为一个很好的练习,看看一个人是如何利用现实世界中观察到的数据,配合统计手段来判断一个假设(比如“蜘蛛卡程序有偏差”)的真假。
基础知识
从本文的角度来看,我们假设玩家在玩蜘蛛卡时不使用“撤销”、“重做”和“加步”(将游戏简化为一个粗糙的初始版本),因此玩家不必考虑得分、花费的时间和移动的步数。很多人认为游戏在这样的条件下几乎不可能赢,但是加州州立大学长滩分校的史蒂夫·布朗在他的优秀著作《蜘蛛牌制胜策略》中给出了一些详细的策略,提到在306场比赛中胜率可以达到48.7%。同时他也指出自己的玩法并不完美,那些职业选手可以做得更好,甚至达到60%以上的胜率。我利用布朗的这些策略进行了实验,结果显示我确实可以达到48.7%以上的胜率。
理想情况下,基于计算机的蜘蛛纸牌游戏可以模拟真实的纸牌游戏,并进行充分的洗牌。如果在游戏的任意一个节点,有N张牌没有被看到,那么每张牌都有1/N的可能性作为下一张翻牌(为了叙述方便,我们忽略同花色同大小的牌之间的等价性)。比如在起始位置,我们知道10的牌是高亮的。因为在总共* * 104张牌的a * * *中有8张K,所以单张西恩牌是K的概率是8/104=1/13,所以是K的牌的期望个数是10 × 65438+。如果在玩了相当数量的游戏后,我们发现高亮K的数量平均接近11/13,我们有理由相信这个蜘蛛程序是有偏差的。
测试数据
对于每一场比赛,我们都想记录一组能够反映该卡运气的数据。数值越高,中奖几率越大。我们想到的一个解决方案是,在一个绝对公平和公正的游戏中评估这些测试数据的值,然后与我们怀疑可能有偏见的游戏中记录的数据值进行比较。
一旦确定了前十张牌,我们就可以计算“保证回合数(GT)”,即玩家在被迫换到另一排之前可以确定展示的最小牌数。每当决定了新的一排十张牌时,我们可以进行类似的计算,并假装这是新游戏的开始。这样,我们就可以计算出GT的平均值(AGT)。如果几个回合后GT值小了,那么玩家就麻烦了。需要注意的是,AGT与玩家本身无关,所以通过进行多次实验(即确定多排)很容易模拟出AGT的概率分布。
从经验来看,如果卡的整体分配很差,玩家也会陷入困境。例如,当有七个Q但只有两个J没有键入时,即使已经清除了一个或多个列,仍然会有问题。因此,这里定义了一个总平方变化量(TSV ),它的值是相邻大小的牌的数量的负平方之和。在刚才的例子中,七个Q和两个J求和时会贡献-(7-2) 2 =-25。这里的负值是保证TSV的增减与获胜概率的增减一致,就像AGT一样。每出一张新卡,我们都会计算TSV,这样就可以计算出单场的平均TSV(ATSV)。需要注意的是,ATSV也是独立于播放器的。我们假设玩游戏的玩家会以随机的顺序展示所有被扣留的牌(虽然玩家可以选择先展示哪张牌,但展示每张牌的概率是一样的)。幸运的是,这可以通过模拟轻松实现。
蜘蛛牌的典型散点图(○ =赢,× =输)
上面显示了一个典型的散点图,蓝色圆圈和红色十字依次表示胜利和失败。
仿真结果表明,对于大量游戏后无偏的游戏程序,AGT应该等于3.96,ATSV应该等于-32.29。在下面这个例子的起始位置,GT=1,TSV=-42,因为游戏还没有结束,所以我们不知道AGT和ATTV的值是多少。
例如,起始位置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的白痴的喜悦纸牌服务器,包含许多纸牌游戏。它允许玩家指定一个从1到999999的“种子号”。比如种子数是142857,前10张牌永远是2J56J9JQ59,只是组合不同。需要注意的是,如果玩家在游戏前随机生成了一长串种子,那么程序就无法根据玩家的胜率来调整难度等级。正是因为这个原因,你可以选择这个网站来估算胜率。
当零假设为真时拒绝该假设称为第一类错误,其概率等于显著性水平。假设检验中的另一种错误称为第二类错误,指的是当零假设为假时接受零假设。
我在《白痴的喜悦》上玩了100个游戏,使用的种子数量从1到100。最终我赢了59场,输了41场。所以我估计我玩“无偏”蜘蛛牌游戏的胜率会在59%左右。
测定值
我在免费的蜘蛛纸牌上玩了100次蜘蛛纸牌游戏。虽然我选择在这里玩游戏,但是经过实验,这里的游戏体验真的很“差”:虽然我能赢,但是即使是专家级玩家玩起来也会很吃力。每场比赛记录了比赛的胜负结果以及AGT和ATSV的数据。我观察到AGT和ATSV的p值分别是0.115和0.201。这意味着AGT和ATSV的数据低于预期(也就是玩家会吃亏),但由于这两个值都高于我们的阈值0.05,所以在统计上并不显著:这可能是由于偶然的变化导致了更低值的出现。
可惜我只赢了46个,比预期少了13。这表明可能需要进一步的测试和验证。但是,知道每个玩家的胜率都不一样,这100局我大概还没有发挥到最好。
我给出的结论是,没有足够的证据证明免费蜘蛛接龙上的程序有偏差。46场的胜数有点令人沮丧,但这档节目确实经受住了考验。但是,其他蜘蛛卡程序可能就没这么幸运了。
作者:陶哲渊
翻译:丹尼斯
修订:Nuor
原始链接:
https://plus.maths.org/content/spider-solitaire
蒂安菜
快乐
蒂安菜
利益
向
时间
商
在/分开/在/房间之间的空间
今天,我们将送出由机械工业出版社提供的高质量科普读物《天才与算法》。
美国和英国双重院士Marcus du Seautois的巅峰之作。我们即将进入一个由算法主导的世界。AI将在绘画、音乐、写作等方面挑战人类。作者用数学帮助我们理解算法和创造力的本质,帮助人类创造一个人和机器共存的美好未来。
读完这本书,你会惊叹于思维的奇妙和知识的广博,更会惊叹于人类创造力的严密逻辑和音乐节奏。
互动问题:你在生活中用过哪些具体的统计学知识?
请严格按照问题答案的格式在评论区留言参与互动。格式不符合要求的作废。
*本活动仅限微信平台。
↓点击标题查看↓
1.它是一个洋娃娃吗?先看这个岛,湖,岛,湖,岛。
2.20岁只有靠这篇天才科学家的论文,才能用手机拍照,才能交到朋友。
3.射向天空,如果子弹掉下来是否还有杀伤力?|第206号
4.乐高还能悬浮在半空中吗?几百万人都惊呆了!
5.古装片的射箭让物理学家们笑了。导演可以专业吗?
6.即使被淹没,也不会窒息。这是什么神奇的液体?
7.数学课上拿起了橡皮擦,看不懂勾股定理。
8.物理学给你的情书
9.唯一两次获得诺贝尔物理学奖的人,但你可能不认识他。
10.妈妈问我为什么我的桌子这么乱!