首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个牌手都有一组可能的牌

每个牌手都有一组可能的牌
EN

Stack Overflow用户
提问于 2017-08-16 09:21:23
回答 1查看 53关注 0票数 0

在戏法游戏中,通常很容易跟踪每个玩家可能留下的牌。例如,如果跟随是强制性的,而玩家没有遵循,这是很明显的球员没有任何其他卡的特定的西装。

这意味着,在游戏期间,你可以积累知识,了解每个玩家可能拥有的牌。

是否有一种方法可以有效地计算(相当准确的)特定玩家实际拥有某一张牌的机会?

一种天真的方法是只生成所有剩下的卡片的所有排列,并检查在前面提到的约束条件下这些排列中的哪一个是可能的。但这并不是一种非常有效的方法。

另一种方法是检查有多少其他人可以拥有一张特定的卡。例如,如果3名玩家可能有一张特定的牌,你可以使用1/3作为特定玩家拥有某一张牌的机会。但这往往是不准确的。

例如:

  • 每位玩家还有两张牌
  • 玩家A可以拥有AS,KS。
  • 玩家B可以拥有AS,KS,AH和KH。

算法1将正确地发现机会玩家B有AS为0。算法2会错误地发现机会玩家B的AS为0.5。

是否有一种更好的算法,既合理准确,又合理快速?

EN

回答 1

Stack Overflow用户

发布于 2017-08-16 12:00:36

从量子力学书上拿出一页。假设每一张卡都处于概率混杂的状态--例如x|AS>+y|KS>+z|AH>+w|KH>。对于36张卡片,得到36x36矩阵,其中所有的值都等于1/36。约束条件是一行中所有值之和等于1(每张卡片都在某处),列中所有值之和为1(每张卡片都是某个值)。对于你的小例子来说,初始矩阵是

代码语言:javascript
复制
0.25 0.25 0.25 0.25 (AS)
0.25 0.25 0.25 0.25 (KS)
0.25 0.25 0.25 0.25 (AH)
0.25 0.25 0.25 0.25 (KH)
(0)  (1)  (2)  (3)

设A牌为0,1为B牌,B牌为2,3,B牌的概率为0.5。现在您观察到P(0 = AH) = 0,然后将相应的元素设置为0,并按比例更改列和行值,然后所有其他值保持1:

代码语言:javascript
复制
0.33 0.22 0.22 0.22 (AS)
0.33 0.22 0.22 0.22 (KS)
0.00 0.33 0.33 0.33 (AH)
0.33 0.22 0.22 0.22 (KH)
(0)  (1)  (2)  (3)

添加观察值P(0 = KH) = 0,P(1 = AH) = 0,P(1 = KH) =0得到如下矩阵:

代码语言:javascript
复制
0.50 0.50 0.00 0.00 (AS)
0.50 0.50 0.00 0.00 (KS)
0.00 0.00 0.50 0.50 (AH)
0.00 0.00 0.50 0.50 (KH)
(0)  (1)  (2)  (3)

如您所见,P(2 = As或3= AS) = 0,这是应该的。请注意,大多数游戏允许玩家在他或她的手中洗牌(即当B玩一张牌时,你不知道它是(2)还是(3))。假设A和B交换卡(1)和(2) -这使得矩阵相同-然后当B洗牌时,矩阵变成

代码语言:javascript
复制
0.50 0.25 0.00 0.25 (AS)
0.50 0.25 0.00 0.25 (KS)
0.00 0.25 0.50 0.25 (AH)
0.00 0.25 0.50 0.25 (KH)
(0)  (1)  (2)  (3)

还要注意的是,模型并不完美--它不允许注意诸如"B有(AS,KH)或(AH,KS)“这样的观察。但在某些“合理准确”的定义中,它可能是。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45709720

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档