Bill 现在很会玩 Skat 了!
Bill 和 Mike 练习 Skat 已经有一段时间了,他们终于达到了可以和人类一较高下的水平!
实际上,事情的经过是这样的:我需要暂时从平时的项目中抽身休息一下。我一直不太满意 Skat 电脑对手的水平,所以决定认真研究一下电脑 Skat 玩家究竟是如何运作的——包括目前最先进、最广受认可的策略、思路和算法。其中一些内容超出了我的理解范围,但最终我还是对这个领域有了足够的掌握,决定试试看。
结果呢?Bill 和 Mike 开始在每一局中彻底压制我。不过话说回来,我自己也不太擅长 Skat,所以需要一个更好的衡量标准:A/B 测试。在过去一周里,一半玩家使用旧机器人,另一半玩家使用新机器人。结果已经出炉,而且非常令人鼓舞。
一些统计数据!
A/B 测试运行一周后,结果已经十分明显:新机器人在各项指标上都胜过了旧机器人。它们赢下的牌局更多、得分更高、防守更好,叫出的定约也有更多能够完成,因此赢下的牌局总数也更多。结论很简单:新机器人的水平不逊于在我们网站上玩 Skat 的普通人类玩家,甚至还略胜一筹。
牌局得分
以前,机器人平均处于亏损状态。在一局普通牌局中,机器人要么一分未得,要么叫出定约后输掉太多定约,导致罚分超过了它们勉强赚到的分数。它们每局的平均得分为负数,而人类玩家通常能拿到相当不错的分数。这很可能是因为人类更擅长叫出合适的定约,同时机器人也不太会防守人类叫出的弱定约。
然而,新机器人要强得多。它们会非常谨慎,不会叫出自己认为无法赢下的定约;如今,机器人得分的次数多于失分的次数,因此每局平均得分相当不错。另一方面,人类玩家面对的是防守能力更强的机器人,所以冒险定约更难完成,导致每局得分下降。不过仍然是盈利的!
叫出的定约与赢下的定约
从牌局得分图表中应该已经很明显了:现在的机器人已经足够聪明,知道应该叫到多高,也知道赢得定约后如何完成它。
一般来说,你至少要完成自己叫出的三分之二的定约,因为输掉定约的罚分是赢得定约所得分数的两倍。可以肯定地说,旧机器人没有达到这个不低的目标。
旧电脑玩家通常叫得太高,因此有许多定约没能完成。倒也不是大多数定约都失败了,但失败得足够多,没能达到摆脱负分所需的神奇 66%。
新机器人谨慎得多。它们知道哪些叫牌可能完成,因此不会叫得更高。Bill 的设定比 Mike 更喜欢冒险,但叫牌通常会在接近亏损线之前很久就结束。
因此,新机器人叫出定约后几乎总能完成。凭借良好的配合和一点运气,它们绝非无法击败——只是不像以前那样轻松得令人发笑了。
赢下的牌局
最后,也是我踏上这段旅程的全部原因:试图修正极度失衡的胜率。坦率地说,旧机器人并不怎么样。与它们对战的人类玩家赢下了绝大多数牌局:77%。这实在太离谱了,即使按照我们“提供轻松休闲游戏的网站”这一总体理念,也无法为如此悬殊的差距辩护。
经过重做后,我可以自豪地说,电脑对手的胜率已经与人类玩家大致相同,甚至还略高一些——人类玩家只赢下了所有牌局列表的 30%。这让 Bill 和 Mike 轻松成为我们整个网站上最强的电脑玩家!此前表现最好的游戏是 Cribbage,它的电脑对手在状态好的时候也只能赢下 51% 的牌局。
现在,新机器人可能会让人觉得调得太强、太难了。我们并不是要制作一个专业级的 Skat 电脑玩家。虽然我相信真正厉害的 Skat 爱好者可以轻松击败新机器人,但它们无疑相当具有挑战性。不过,这为我们逐步调低难度提供了一个绝佳起点,直到整体胜率更接近均等的 33%。这就留待未来的 A/B 测试和我未来的项目来决定了!
新机器人上线了!
从这篇文章发布起,所有人都可以与新机器人对战了。
新机器人默认通过“困难电脑对手”选项启用。不过,像我一样需要先练习一番再挑战它们的休闲玩家,可以在选项菜单中关闭该选项。关闭后会切换到较简单的对手:它们使用与新机器人相同的系统,但经过了调整,使它们两者合计只应赢下 50% 的人类玩家牌局列表。当然,我会继续关注它们的表现;如果它们仍然太难,我会进一步降低难度,直到人类玩家能赢下半数牌局。这个 50% 并不是通过专门的 A/B 测试得出的,我只是让较简单的机器人与较难的机器人对战(后者充当人类玩家),然后不断调整参数,直到困难机器人击败简单机器人的比例大致合适。
由于采用了全新的策略,Bill 和 Mike 的 Skat 算法可能是我们网站所有机器人玩家中最复杂、最完善的一个。不过,如果这次进展顺利,也许能说服我把它改编到更多游戏中。让我们拭目以待!
希望大家喜欢新机器人,它们能为所有人带来更具挑战性、更有趣的体验!
如果你想试试新机器人,只需前往 Skat here on Cardgames.io;如果你对新机器人有任何意见或反馈,也欢迎通过 support@cardgames.io 或我们的任一社交媒体渠道联系我。
下次再见!