有一个名为PokerPirate的新开源扑克机器人。我对任何一种创造性的方法感兴趣,可以检测/挫败/打败扑克机器人。 (这是纯粹的学术讨论,与编写PokerPirate的精神相同。)
有一个名为PokerPirate的新开源扑克机器人。我对任何一种创造性的方法感兴趣,可以检测/挫败/打败扑克机器人。 (这是纯粹的学术讨论,与编写PokerPirate的精神相同。)
从服务器端的角度打败机器人
许多在线扑克网站使用弹出式验证码输入,这些输入是由可疑活动触发的。
一些扑克网站监控玩牌时间和模式(即最坏情况下是一个24小时不停地玩16张桌子的玩家,有极小的机会是真正的人类。 (然而有些玩家确实有能力玩很大的手牌量,对于没有经验的人来说,这似乎是一个机器人)
遇到故障。如果你怀疑一个玩家是机器人,可以将他们所有的打牌位置在屏幕上稍微调整几个像素,使它们变为不同的颜色/设计/图案,以便在1/100手中查看是否有异常。如果它无法截屏,则会超时进行所有决策,这是相当确定的机器人证据。
时间提示,如果电脑玩家在毫秒级别的时间内响应选项,在大决策上没有思考暂停,这可能是可疑的
自我监测。扑克网站pokertableratings.com挖掘了许多大型网站的数据。它的反响不一,有些人喜欢透明度,其他人讨厌它。然而,好处是,曾经有可疑玩家统计数据(VPIP百分比,PFR百分比是众多可量化的统计数据之一)已经导致了作弊结论
人工智能分类网络可以监控可量化的统计数据,以分类流氓作弊或机器人玩家。
当在线扑克还是一个相对新的实体时,有传言和谈话有限的证据表明,一些扑克客户端软件会截屏可疑玩家的桌面,以查看他们是否正在运行辅助程序。然而(即使这是真的)运行两台计算机以独立执行两个任务将规避此问题。
在多个网站之间的重复违规行为者之间共享信息对于该行业将是有益的,如果只有他们是诚实的并由有能力负责任的人运行
一些机器人可能设计得相当简单,如果您可以发现它们的打牌风格并查看它们在相同情况下的表现(请注意,这仅适用于玩基本策略的不成熟机器人),则可以相对快速地发现它们。
程序功能的不一致使用会倾向于真诚的玩家。例如,许多扑克网站在游戏中都有一个“轮到我时弃牌”按钮。如果你被发了一手糟糕的牌,并且正在等待另一个玩家决定如何做,很多玩家会点击这个按钮。机器人可能会使用这些按钮。区别在于,机
从玩家角度击败机器人
尝试使用PokerTracker等软件记录和收集尽可能多的数据。
尝试识别其打牌风格中的模式。
尝试找出下注金额与底池/玩家数和手牌强度之间的关系。
尝试计算其手牌范围。低赌注机器人可能不会频繁地虚张声势,因此构建高度准确的手牌范围不应该太棘手。
通过数据分析和试错尝试找到其游戏中的漏洞/模式。一旦发现漏洞/模式,尝试反复利用它们并避免其他情况。
如果说人类能够进行适应,那么机器人的能力可能会较弱,而人类受到倾斜、结果导向思维和挫败的束缚,而机器人则不会。您可以利用这一点。
因此,如果机器人足够聪明,能够模拟实际决策过程中的真实时间延迟,并创建合理和现实的游戏模式,那么您将无法阻止它。加入一些随机条件和简单的回复(扑克玩家的词汇表通常相对有限),您就会得到一个非常难以检测的AI玩家。
机器人可能采取的避免被检测的方法
避免被检测的关键是尽可能多地从各个角度考虑问题。你正在尝试在一个非常小而受限的世界中模拟智能人类行为。你可以运行的大多数行为模拟都是相当明显的,但你的机器人越不一致和不可预测,就越不容易被发现。打败扑克机器人可以采取两种形式:您可以尝试识别它们并将其禁止使用系统,或者您可以在扑克游戏中击败它们。在扑克游戏中击败机器人是更有趣的学术问题。
有关击败扑克机器人的一些论文,请参见此处:http://www.cs.cmu.edu/~sganzfri/
关于干扰屏幕使其难以扫描的另一个想法:
使用许多不同颜色的卡片 - 在人眼术语中接近但不相同。这将使挑选要阅读的内容变得更加困难。另一方面,在卡片的另一面,使用人眼无法从背景中分离的颜色来写假字。
看一下Ajax Control Toolkit NoBot:
NoBot采用了几种不同的反机器人技术:
* Forcing the client's browser to perform a configurable JavaScript calculation and verifying the result as part of the postback. (Ex: the calculation may be a simple numeric one, or may also involve the DOM for added assurance that a browser is involved)
* Enforcing a configurable delay between when a form is requested and when it can be posted back. (Ex: a human is unlikely to complete a form in less than two seconds)
* Enforcing a configurable limit to the number of acceptable requests per IP address per unit of time. (Ex: a human is unlikely to submit the same form more than five times in one minute)
如果您有大量比赛的访问权限,可以采用数据挖掘方法。人工智能的游戏实力应该相当稳定,而人类可能存在简单的模式——在前几个热身回合中较弱,在长时间游戏后实力会下降。此外,当涉及更多资金时,人类的决策时间可能会增加。
如果您可以访问鼠标移动(或至少是点击位置,即使是网络应用程序也是如此),那么识别机器人应该相当简单,除了最复杂的机器人之外。人类不会以精确的直线移动鼠标,他们有加速和减速周期,统计上可描述的点击位置分布等。