38

斗地主之推测

 6 years ago
source link: http://mp.weixin.qq.com/s/BJx34dLW-KWu8gZM8WBmPw
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

斗地主之推测

Original 小一 敬惜小一 2017-11-01 00:55 Posted on

经过前面所说的调整和改进,终于进入了打牌水平可随规则数增加的正轨。但不久又出问题了:(

这个问题的现象很简单,解决起来却很复杂:跳打。比如地主出了张2,下家在不清楚小鬼分布的情况下就直接出了大鬼,结果就导致地主的小鬼升级了。

粗看起来应该也比较好解决,增加点规则来判断下小鬼的分布情况就是了。比如:如果地主出了二,最后是门板用大鬼拦截,则说明小鬼都在地主手中。

我们之前也曾讨论过判断问题,比如地主各牌型的强弱、各玩家的意图等等,粗看起来这两个问题都是对某种未知的判断,似乎并没有什么区别。但细细考量下来,这两者还是有着本质的区别的。

之前讨论过,类似意图、牌型强弱这些判断其实并不是对具体事物的判断,而是我们自己设想出来的、是对其他玩家历史行为的概括,目的是为了简化后继的推理。用IT的术语说,就是一种为了简化推理计算从而提前进行了预计算的中间结果,否则我们在书写规则时,就需要从头考虑各个玩家的出牌历史,这会导致规则数量急剧增加同时每条规则也都会非常复杂、难以理解。

而地主手中有没有小鬼,这是一个事实,只不过我们现在还不知道,但终有知道的时候(为了和判断相区别,我们称这种地主有无小鬼的猜测为推测)。所以,这两者的本质区别就是判断和推测存在着一个是否需要证明的问题;

- 判断是基于综合分析各玩家的历次行为做出的概括性表征,其本身是虚拟的概念,也就不需要证明,如果发现判断失误可以立刻就进行调整

- 推测则随着事实的出示而存在着证真或证伪的问题,比如如果我们推测小鬼都在地主手中,那么如果地主出了小鬼则证真、而如果农民出了小鬼则证伪

在很早的时候,这个需要根据事实对推测加以证明的问题就非常困扰着我,因为如果是证真还好,如果是证伪那问题就大了:所有基于这个推测做出的推论全部都要撤销掉。问题的复杂还在于,我们对于推测其实最常用的是非此即彼的推测,比如:如果 门板不顶牌 则 要么 门板想进攻 要么 门板顶不动。这就意味着一旦证伪了某推测,我们不但要撤销掉所有基于该推测衍生出来的各种推论,还要调整被间接证真的结论及其所衍生出来的各种推论的置信度。其它关联的问题就更多、更麻烦了:撤销是否需要回溯、如何回溯到正确的版本、撤销后的一致性问题、循环论证的检测等等。

在试验了多种实现之后,考虑到斗地主的复杂性还不是很大,所以目前采取了一种简化策略来降低推测的复杂性:不基于推测来进行推测或判断。这样就暂时不需要考虑推测的关联问题了,而只要将推测和最新出示的事实之间做一个冲突检测即可:如果推测与最新事实有冲突则将推测撤销掉即可,这就暂时避免了复杂的回溯问题。

在增加推测后,那么我们目前就具有了三种能力:

- 判断:对历史行为进行概括,用虚拟的变量加以代表,用以刻画对象的当前状态

- 推测:根据其历史行为对某对象的未知状态(未知事实)加以猜测

- 决策:根据当前的已知,包括事实、判断和推测,计算出应采取的最为合理的行为,这个计算结果是综合的、可基于短期目标进行加权的

====================================================================================================

关注我的公众号及时获取推送的最新文章

Image

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK