老黄小舍-探索世界新奇事
你的位置: 首页 > 世界百态 >

电脑游戏纸牌怎么玩(为了研究蜘蛛纸牌的规则)

2021-02-22 17:35:49老黄小舍

单人蜘蛛接龙(以下简称为“蜘蛛纸牌”)是人们经常在电脑上在线或者离线玩的一款很受欢迎的游戏。由名字可以看出,这个游戏是只有一个玩家的。游戏中一共有两套标准扑克牌,玩家需要按顺序把扑克牌排列成完整的八组(两套牌,各四种花色),从而进一步把它们从台面上消除。牌可以从牌组中提取或者按照特定规则从一列移动到另一列。我们这里不再详细地讨论游戏规则,假设我们的读者已经了解游戏的规则了。要是你需要回忆一下,可以看这里。在这里我们只讨论这个游戏的四组的版本。

为了研究蜘蛛纸牌的规则,我玩了200局!

蜘蛛纸牌中含有两套标准扑克牌

玩家们一直在抱怨说不同的软件存在偏差。具体来讲,就是如果程序探测到了玩家的胜率很高,它可能就暗中操纵后面的牌的次序来降低胜率。玩家本身也有可能被偏向从而发挥出最好水平。不过,通过一些基本的统计学手段,我们有可能对这种“偏向的指控”进行证实或者驳斥。这一点也可以作为一个很好的练习,来看看一个人是如何使用在现实世界观察到的数据并配合统计学手段来判断一个假说(比如“蜘蛛纸牌程序是有偏向性的”)是真的还是假的。

基础知识

从本文的角度出发,我们这里假设玩家在玩蜘蛛纸牌的时候不使用“撤销”“重来”“加步”(把游戏削减为一个简陋的初始版本),这样玩家就不用考虑计分、花费的时间以及移动的步数了。很多人都认为在这样的条件下游戏几乎赢不了,但是加州州立大学长滩分校的史蒂夫·布朗在他出色的著作《蜘蛛纸牌获胜策略》中给出了一些详细的策略,并且提到在306局游戏中可以取得48.7%的胜率。同时他也指出自己的玩法还不是完美的,那些专业玩家可以做得更好,甚至达到超过60%的胜率。我利用了布朗的这些策略进行了实验,结果表明确实能够达到超过48.7%的胜率。

理想情况下,电脑端蜘蛛纸牌游戏能够模拟真实情况下且洗牌充分的纸牌游戏。如果在游戏的任何一个节点,有 N 张牌还没被看过,那么每张牌都有 1/N 的可能性作为下一张翻面的牌出现(为了叙述的方便,我们忽略了具有相同花色和大小的纸牌之间的等价性)。举个例子,在起始位置我们知道有 10 张牌被亮了出来。因为总共的 104 张牌里一共有 8 张 K,所以单张亮出来的牌是 K 的概率是 8/104=1/13,因此亮出来的牌是 K 的期望张数是 10×1/13=10/13。如果在玩了相当多局数的游戏之后,我们发现亮出来K的数目平均下来接近 11/13,我们就有理由相信这款蜘蛛牌程序是有偏向性的。

测试数据

对于每一局游戏来说我们都希望记录一组能够反映牌运气好坏的数据,数值越高,证明获胜的几率越大。我们想到的一个方案是评估在一局绝对公平、无偏袒性的游戏里,这些测试数据的取值,再和我们怀疑可能存在偏向性的游戏中记录的数据值进行比较。

一旦最初的十张牌都确定下来,我们就能计算出“保证轮数(guaranteed turns,GT)”,即玩家在被迫更换至另一排之前能够确定亮出的牌的最少数目。无论何时,当新的一排的十张牌已经确定下来后,我们都可以做一个类似的计算,假装它是新的一局游戏的开始。这样一来我们就可以计算出GT的平均值(AGT)。如果几轮下来GT的值很小,那么玩家就要有麻烦了。要说明的是AGT和玩家本身无关,所以很容易通过进行很多次实验(即确定很多排)来模拟出AGT的概率分布。

经验来谈,如果卡牌的整体分布比较糟糕的时候,玩家同样会陷入麻烦。比如说有七张Q但是只有两张J没有打出来的时候,即使你有一列或者多列已经清空,仍然会有问题出现。因此在这里定义一个整体方差(total square variation,TSV),取值为相邻大小的牌的数目的负的平方之和。在刚才的例子里,七张 Q 和两张 J 在求和时会贡献出 -(7-2)2=-25 一项。这里取负值是为了确保 TSV 的增减性与获胜概率的增减性一致,就和AGT一样。每亮出一张新牌我们就计算一下TSV,这样我们可以算出来单局游戏的平均TSV(ATSV)。要提起注意的是ATSV同样与玩家无关,我们假定玩游戏的玩家会按照一个随机顺序把所有扣着的牌都亮出来(尽管玩家可以选择先亮哪张牌,但是亮出的每张牌概率是一样的)。幸运的是这一点可以通过模拟很容易就做到。


推荐文章

猜你喜欢

网友关注