牌
CardLab
扑克与纸牌工具集
首页
概率

超几何抽牌概率计算器

牌堆里有多少张好牌、这次要抽几张、抽到几张才算成牌——这三个数定了,答案就是一个超几何分布。多数人算听牌时用的「剩余好牌 ÷ 剩余总牌」只是最粗略的一次抽样近似,一旦要抽两张以上、或者其中包含自己手里已知的牌,误差就出来了。这个工具用完整的组合数公式给出精确值,并把组合数的四个因子都列出来,方便你核对手算得对不对。

张
张
能成牌的牌,含你手里已知的
张
张
结果

怎么用

STEP 1

先确定牌堆总数 N:一副 52 张的扑克是 52;加上大小王是 54;德州扑克里只算公共牌加你手里的牌时,N 通常是 47。

STEP 2

再数目标牌 K:能让你成牌的那几张牌,要把手上已经有的算进去。例如手里有 4 张同花听牌,牌堆里还有 2 张同花没出现,那 K = 4 + 2 = 6。

STEP 3

填抽牌张数 n:接下来这一轮会发出几张牌。一张牌只填 1,两张牌填 2,翻牌加河牌就是 2。

STEP 4

填命中张数 k:你需要至少凑到几张才算成牌。听两张成牌就填 2;只想抓一张大的填 1。工具会同时给出「至少 k 张」和「恰好 k 张」两个概率。

易错:三类高频错法

  • 目标牌数忘了加上自己手里的牌。最常见的错误:手里有 4 张听牌,却把 K 填成「还剩 2 张」,算出来的成牌率会直接偏低一半以上。
  • 牌堆总数没减掉已知牌。公共牌发出来之后,它们已经从牌堆里被移走了,却还留在 N 里,分母偏大,概率偏低。
  • 把「至少命中 k 张」当成「恰好命中 k 张」。需要两张成牌时,「至少 2 张」包含了恰好 2 张和 3 张以上,是两个不同的数,工具会分开显示。
  • 用有放回公式代替超几何。抽走的牌不会再出现,所以不能用 (K/N)^n 这样的独立抽样公式。工具里那个「有放回近似值」只是用来展示误差有多大,不能拿来用。

超几何分布:为什么不是「好牌占比」

独立抽样(有放回)假设每一次抽牌互不影响,好牌出现的概率恒定是 K/N。但真实牌堆里,抽走一张好牌之后,剩下的好牌占比就变了。抽得越多,这个偏差越大。超几何分布的正确写法是:

P(X = k) = C(K,k) · C(N−K, n−k) / C(N, n)

分子是「命中 k 张目标牌」的组合数乘以「其余 n−k 张从非目标牌里选」的组合数,分母是「从 N 张里选 n 张」的全部可能。工具里列出的四个数就是这几个因子,你可以逐个核对。

什么时候粗略估计够用?当 n 很小(1–2 张)、K/N 不大(低于 5%)时,单张比例乘以抽牌数的误差通常在 1–2 个百分点内,足以支持一个下注决策。当你在追听牌、或者 K/N 超过 10% 时,请一定用精确值。

从「命中概率」到「摊牌胜率」

超几何给出的是「我能不能成牌」,不是「我能不能赢」。这两者之间隔着两件事:一是成牌后能不能压过对手,二是没成牌时对手是不是已经比你大。

  • 只有一种听牌时,成牌率基本等于摊牌胜率(前提是对手范围里没有更大的牌)。
  • 同时有两听(听顺子又听同花)时,成牌率会显著提高,需要用容斥而不是简单相加。
  • 如果对手的下注范围里存在更大的牌,你的成牌率里有相当一部分会在摊牌时被打掉。可以粗略理解为:对手范围越宽,你的实际胜率越低。

所以正确的用法是:用本页工具得到「成牌率」,再用范围工具得到「对手范围中能压过你的比例」,两者结合才是完整的胜率。缺了第二步,所有成牌率都只是上限。

三个典型的算例

  • 翻牌圈听一张:N = 52 − 3 = 49(公共牌已发出),K = 9(4 张手里 + 5 张未现),n = 1, k = 1 → P = 9/49 ≈ 18.4%。
  • 转牌圈听两张成牌:N = 46,K = 9,n = 2, k = 2 → P = C(9,2)/C(46,2) = 36/1035 ≈ 3.5%。这就是经典的 4.5% 抽牌率缺一张的口诀来源:9 张好牌(9/46 ≈ 19.6%)再乘一次机会(8/45 ≈ 17.8%),相乘约 3.5%,与组合数结果几乎一致——但注意这两张牌不是独立的,组合数才是严格的。
  • 成手只有一张:K = 9, n = 2, k = 1 → P = C(9,1)·C(37,1)/C(46,2) ≈ 14.8%,明显高于单张比例的直觉值,因为两张牌里只要有一张好牌就行。

把这三个算例代入工具,结果应该能对上。对不上的时候,先检查 N 有没有减掉已知牌。

常见问题

N 到底填多少?52 还是 47?
取决于「牌堆」指的是什么。如果你把公共牌也算进牌堆(比如算「从 52 张里发 5 张」),N 就填 52;n 填 5。如果你的意思是「已知 3 张公共牌之后,还剩多少张未知牌」,那 N = 49,n = 1(河牌)。两种口径都对,但必须前后一致:被抽走的牌要从 N 里减掉,不要既留在 N 里又算进抽牌张数。
我手里有 4 张听牌,K 应该是 4 还是 9?
取决于你算的是哪一步。如果是「现在再发一张,我成牌的概率」,N = 46,还需要从剩下的 42 张未知牌里抽 1 张(K = 9 已经包含你手里的 4 张),所以 K = 9、N = 46。如果算「我手里这 4 张已经凑齐了没有」,那是 0 或 1 的问题,不需要用本页工具。最常见的错误就是 K 只填了「还剩的几张」而漏掉手上的,那样会把成牌率算低一半。
「有放回近似值」到底能不能用?
看你的决策精度要求。如果 n = 1(只发一张牌),近似值和精确值几乎一样,直接用也没问题。如果 n ≥ 2,偏差会明显放大,工具页里会直接显示两者的差值。常见经验是:当 K/N 小于 5% 且 n 不超过 3 时,误差通常在 1 个百分点左右;一旦要下大注,就必须用精确值。
能不能用它算同时听顺子和听同花?
不能直接算,但可以手工组合:用「至少命中 k 张」的模式分别算两次(一次按同花的目标牌、一次按顺子的目标牌),再用容斥减去两者重叠的部分。更省事的办法是用专门的「双听成牌率」工具,或者用范围与权益类工具直接输出胜率。
为什么每次重新抽牌我都得改 N?
因为牌堆在变小。每发一张牌,那张牌就从牌堆里被移走了,既减少了剩余总张数,也可能正是那张成牌的牌(这时候你的 K 也要跟着减一)。这正是超几何分布比「好牌占比」更准的地方:它天生考虑了「抽走的牌不会再出现」这件事。

边界说明

  • 本工具计算的是组合数学层面的抽牌概率,不读取任何牌局信息,也不包含任何下注建议。
  • 输出的是「成牌率」而非「摊牌胜率」,后者还需要结合对手范围,本页不提供范围功能。
  • 假设每张牌被发出的概率相同且随机,不考虑发牌过程中的作弊、牌序记忆或其他异常情况。
  • 仅适用于不放回的抽牌场景(标准扑克、牌堆类游戏)。掷骰子、抽签等有放回或等概率独立场景请使用对应的分布,不要套用本页公式。