更新于 10 6 月 26

从博弈论的角度分析诈唬

介绍

这篇文章的主要内容

  • 数学背景
  • 最佳策略
  • 纳什均衡点

诈唬是扑克游戏中的重要组成部分,每一个优秀的玩家都应该牢记它。从不诈唬或者太频繁地诈唬,对一个扑克玩家来说都是巨大的错误。如何找到适当的平衡点?什么时候诈唬才是理想的选择?什么时候,以什么样的频率对某些玩家诈唬才能打出有收益的扑克呢?

这篇文章会涉及到诈唬的数学背景,并利用博弈论阐述一些可能的策略。

我应该诈唬吗?

你正处在河牌圈,牌面是 6s9hKsAd5c

你很确定你的对手有一手成手牌。从他的行动你认为他可能持有AA,KK或AK。你持有JsTs

你的牌是一手失败的听牌。底池是$100,你和对手还各有$100。你首先行动。如果你过牌,你就输了。(你的对手也过牌,直接赢得摊牌,或者他下注,而你没有足够的钱去诈唬他。)

让我们假设你的对手已经对你做出了正确的解读,在河牌出现之前,他认为你有一手听型牌。为了简便,我们同时假设他认为你的同花或内听顺子听型牌失败的可能性是80%,有20%的可能你持有87,河牌让你拿到了顺子。

如果你有87,拿到了顺子,你应该做价值下注。但不幸的是你并没有87.你有两个选择:你放弃这手牌,选择过牌,或者试着用诈唬拿下底池。让我们假设当你诈唬时,你会用所有的$100全押,也就是一个底池大小的下注。你应该多久诈唬一次?

我们该如何回答这个问题?

为此我们需要利用一些数学工具。别担心,这不会太复杂。只需一点代数知识和一些常识。差点忘了,还有博弈论,但是只用到属于常识的部分。

把问题转化为数学

我们需要一些符号。P代表底池大小,B代表下注大小。q代表你的对手认为你会赢得这手牌的概率。所以在我们的列子中,P=$100,B=$100,q=0.20.如果你不喜欢我们设定的20%,可以改变这个数字,计算仍会是一样的,只是结果会改变。同样的,你也可以改变底池大小和下注大小。

我们需要用一些方式表示我们诈唬的频率,和对手会跟注的频率。前者用x,后者用y表示。所以x表示我们诈唬的概率。例如,如果我们有30%的概率诈唬(x = 0.3),那从长期来看我们诈唬的频率就是30%。同样的,y表示对手会跟注我们的下注的概率。

所以我们初始的问题就变成了求x的最佳值。

预期回报和纯策略

首先,让我们追溯到最初始的问题。我们打扑克的目标是什么?是赢钱。更准确地说,是赢尽可能多的钱。在做决定的时候,我们要问问自己,哪个行动会有最大的预期回报?

在我们的例子中,如果你有一手能获胜的牌,你会做价值下注。在你下注以后,你的对手可能跟注(y),也可能弃牌(1 – y)。当他跟注时,你会赢下现有的底池,加上你的对手跟注的钱,也就是P + B。当他弃牌时,你只会赢得现有的底池,也就是P。(`现有底池` 通常指在你下注之前,初始的底池大小。) 因此,如果你有一手获胜牌,你的预期回报Ew (w代表`获胜winning`)会是

Ew = y(P + B) + (1 – y)P.

如果是一手会失利的牌(你的听牌失败了),情况就会变得更复杂一些。你有可能诈唬(x),也可能过牌放弃这手牌(1 – x)。

如果你选择诈唬,你的对手还是有可能跟注(y),或弃牌(1 – y)。当他跟注时,你会损失这次下注,所以你的净回报是负的,也就是–B。 当他弃牌时,你会赢得现有底池,也就是P。所以当你诈唬时,你的预期回报由这两部分组成:

(1 – y)P – yB.

如果你选择过牌(放弃这手牌),你不会赢到一分钱,所以这种情况你的预期回报是0.综合这些,在你持有一手会失利的牌时,你的预期回报 El (l代表`失败losing`)会是

El = (1 – x)0 + x[(1 – y)P – yB]

(综合以上几种情况的可能性).

第一部分是0,我们可以直接忽略,公式变为

El = x[(1 – y)P – yB].

如果你知道你的对手从来不跟注(y = 0),你的预期回报公式会简化为:

El, y=0 = xP

为了最大化你的预期回报,你必须让x = 1,这意味着你应该一直诈唬。

而如果你的对手总是跟注(y = 1),你的预期回报公式变为

El, y=1 = – xB

在这种情况下,为了最大化你的预期回报,你必须让x = 0,也就意味着你应该永远不要诈唬。(记住这条法则`永远不要诈唬一个跟注站`)

用博弈论的方法,我们只计算了你的最佳状况,知道你的对手在两种特殊情况时的策略。但是这是两种非常极端的情况,所以这被称为纯策略。在现实的扑克游戏中,对手们会更加难以预料。他会有一定的概率跟注你的下注(y不是0也不是1)。他会有一种混合策略。

最佳策略

你的对手可以选择一个跟注频率y,可以让你无论使用什么策略时(也就是无论x是多少),你的预期回报都不会改变。我们用yopt表示这个跟注频率(在某种意义上yopt是y的最佳值).

yopt很容易计算。你可以在后面的附录里找到它的计算公式:

yopt = P/(P + B).

在我们的例子中,P = B = $100,所以yopt = 1/2。如果你的对手有恰好一半的时候会跟注,你就不能在策略上战胜他了。如果你的对手根据y = yopt的策略打牌,你的预期回报将会是

El,y=yopt = x[PB/(P + B) – PB/(P + B)] = 0.

(就是把yopt带入求El的一般公式中). 如果x没有出现在公式中,结果也不会发生变化,还是0,所以无论你选择什么策略(无论x是多少),你都不能提高或降低你的预期回报。

有趣的是yopt只取决于底池大小和下注大小,不受q的影响。这表明yopt并不总是y的最佳值。例如当q=1时,也就是你的对手确定你有一手获胜牌,他就不会有一半的次数跟注,事实上他根本不会跟注。他会使用y=0的策略。我们会在以后的内容中看到,在什么意义上yopt才是最佳值。

同样的,你也可以选择一个x,而无论对手选择什么样的策略(无论y是多少),他的预期回报都是一样的。我们用xopt表示这个x的特殊值。但是,求xopt的值会更复杂一些,它的公式是

xopt = qB/[(1 – q)(P + B)].

(如果你对细节感兴趣,请参考下面附录的内容)如果你常常用会失败的牌诈唬,对手的预期回报为

Eop = (1 – q)P – qPB/(P + B).

这个公式里没有y,所以你的对手不能改变他的预期回报。

在我们的例子中P = B = $100,q = 0.2,所以xopt = 1/8。如果你有1/8的可能性诈唬,你的对手就不能在策略上战胜你了,即使他非常善于观察,了解你的策略(知道x = xopt)。如果你诈唬的可能性比1/8较多或较少,那些善于观察的对手就会发掘出你策略上的弱点。所以当你面对一个非常优秀的对手时,xopt可以确保你的策略是最佳的。

一个优秀的对手会多么频繁地跟注你的下注?yopt已经给出了答案。如果你根据x = xopt的策略打牌,他可以选择任何策略,但都不能提高或降低他们的预期回报。如果对手不使用y = yopt的策略打牌,作为一个善于观察的玩家,你就可以利用他的错误,选择最佳的回应方式。唯一不能利用他策略上的错误的情况是他的y = yopt,现在无论你使用怎样的策略,你的预期回报都不会改变。要记住,如果你不使用xopt的策略,你的对手也会调整策略来利用你的缺陷。

现在我们知道xopt和yopt在什么时候才是最佳的:在它们可以提供不可被对手利用的策略时。在博弈论中,这两个策略(xopt, yopt )被称为纳什均衡点。这在博弈论和经济学中都是非常重要的概念。(没错,就是电影‘美丽心灵’中的纳什,1994年诺贝尔经济学奖的获得者). 现在我们知道它在扑克中也扮演着重要的角色。

一些特殊情况中的预期回报

下面是两张展示特殊情况中的预期回报的图表。第一张图表显示当你的听型牌失败时的预期回报,用给定的例子计算:

你的策略 对手的策略 预期回报 (El) 备注
x = 0 y = 0 $0 你落后了,如果你不诈唬,你不可能赢.
y = 1 $0
y = yopt $0
x = 1 y = 0 $100 诈唬岩石型玩家!
y = 1 - $100 永远不要诈唬跟注站!
y = yopt $0
x = xopt y = 0 $12.5 xopt不总是最佳的.
如果你知道你会被跟注,不要诈唬!
y = 1 – $12.5
y = yopt $0

你的对手的预期回报是你的预期回报的负数,加上已经在底池中的$100。(他会得到你在下注轮的净损失,加上现有的底池。当然如果你赢下底池的话,你的净损失是– $100,而他不会得到任何东西。来看看最简单的情况:当你的预期回报是0时,你的筹码量不会发生变化。因此你不会赢下底池,赢得底池的是你的对手。因为我们已经玩到了河牌圈,所以这不是一个零和博弈。)

当你知道什么时候诈唬,什么时候价值下注,而对手却不知道时,对他来说(也可能对你),下面的这个图表会更有用。这张表显示的是,综合你的获胜牌和失败牌之后的你的预期回报。在类似的情况中,你有20%的时候会领先,80%的时候会落后。因此你的平均预期回报是 qEw + (1 – q)El. (这个结果的负值加上底池现有的$100是你的对手的预期回报Eop。)

你的策略 对手的策略 预期回报 备注
x = 0 y = 0 $20 我们喜欢跟注站!
y = 1 $40
y = yopt $30
x = 1 y = 0 $100 诈唬岩石型玩家!
y = 1 - $40 不要诈唬跟注站!
y = yopt $30
x = xopt y = 0 $30 xopt是最佳值,你的对手不
会在策略上打败你.
y = 1 $30
y = yopt $30

结论

当你面对一个优秀的对手时,最好的选择就是利用纳什均衡点为你提供的策略:xopt。在这种情况你的对手会用yopt的策略打牌。如果他没有,他就犯了错误(也说明他不是一个优秀的玩家),你可以利用他的错误找到最佳的打法。如果他经常跟注,就少诈唬他,如果他很少跟注,就多诈唬他。如果你能猜测他的跟注频率,就可以根据预期回报最大化的原则,计算自己应该诈唬的频率。

附录

计算yopt的值

如果y = yopt,你的预期回报不会改变,无论x是多少。让我们先让x = 0,这时你什么牌也赢不了,公式是:

El, x=0 = 0.

现在让x = 1. El的公式变为

El, x=1 = (1 – yopt)P – yoptB.

因为x=0和x=1时的预期回报是一样的,所以

(1 – yopt)P – yoptB = 0,

所以

(1 – yopt)P = yoptB,
P – yoptP = yoptB,
P = yopt(P + B),

最后

yopt = P/(P + B).

从对手的角度来看

现在让我们以对手的视角看看这个问题。首先我们要列出他的预期回报Eop。因为他不知道你是领先还是落后,所以他的预期回报还受q的影响,因此公式有一点复杂:

Eop = – qyB + q(1 – y)0 + (1 – q)[xy(P + B) + x(1 – y)0 + (1 – x)P].

第一项表示你有能取胜的牌,你下注,他跟注,并损失了这个跟注。第二项表示你持有能获胜的一手牌,但是他弃牌,没有赢到或损失任何东西。剩下的部分表示他领先时的情况。方括号中的第一部分表示你诈唬,他跟注,他赢得底池和你的下注的情况。中间部分表示当你诈唬,他弃牌时的情况,没有盈利和损失,最后一部分表示当你弃牌时,他赢得底池的情况(可能是他在你之后过牌,赢得摊牌,也可能是他下注,迫使你弃牌).

省略其中为0的部分,我们得到

Eop = (1 – q)[xy(P + B) + (1 – x)P] – qyB.

如果你的对手知道你从不诈唬(x = 0),那他的最佳打法是什么?他永远不会跟注,在上面的公式中如果用0代替x,我们得到

Eop x=0 = (1 – q)P– qyB.

为了使结果最大化,我们必须让y = 0 (永远不跟注)。

另一方面,如果你的对手知道你总是诈唬(x = 1),那他最好的回应就不那么明显了。如果x = 1,我们得到

Eop x=1 = (1 – q)y(P + B) – qyB = y[(1 – q)(P + B) – qB].

如果

(1 – q)(P + B) – qB > 0,

y = 1 (总是跟注)会最大化对手的预期回报。

如果

(1 – q)(P + B) – qB < 0,

他就应该使用 y = 0 (永远不跟注)的策略。

(1 – q)(P + B) – qB < 0

意味着

(1 – q)(P + B) < qB,
P + B – qP – qB < qB,
P + B < q(P + 2B),

最后

q > (P + B)/(P + 2B).

在我们的例子中,P = B = $100,如果q > 2/3,你的对手应该永不跟注(即使他知道你总是下注;因此在这种情况中你总是应该诈唬), 当q < 2/3时,他应该总是跟注(如果他知道你总是诈唬)。记住,这个q的值也仅取决于底池大小和下注大小。

计算xopt的值

如果x = xopt,你的对手的预期回报不会改变,无论y是多少。和之前一样,先让y = 0。Eop的公式为

Eop y=0 = (1 – q)(1 – xopt)P.

现在让y = 1。我们得到

Eop y=1 = (1 – q)[ xopt (P + B) + (1 – xopt)P] – qB.

因为y=0和y=1时的Eop是一样,我们得到

(1 – q)(1 – xopt)P = (1 – q)[ xopt (P + B) + (1 – xopt)P] – qB,

因此

qB = (1 – q) xopt (P + B)

(两边都有(1 – q)(1 – xopt)P,因此可以消掉),所以最终我们得到

xopt = qB/[(1 – q)(P + B)].

 

符号 含义 在例子中的值
P ($) 底池大小 100
B ($) 下注大小 100
q 你持有获胜牌
的可能性
(在对手看来)
0,2
x 你诈唬的频率 (可变的)
y 对手跟注的频率 (可变的)
xopt 你的最佳诈唬频率 0,125
yopt 对手的最佳跟注频率 0,5
Ew ($) 当你持有获胜牌时你的预期回报 100 (1 + y)
El ($) 当你持有失败牌时你的预期回报

100x (1 – 2y)

Eop ($) 对手的预期回报 80[2xy + 1 – x] – 20y

当我们讨论可能性时,我们通常用 0.2代替20%,用0.5代替50%等等。一件不可能的事件发生的可能性是0 (0%),一件确定的事发生的可能性是1 (100%)。剩下的其他事件发生的可能性在0和1之间。