数学 / 排列组合 · 从计数原理到 P(n,k) 与 C(n,k) / 可重复选取 待审核 9 / 25
with replacement · nᵏ / C(n+k−1, k)

可重复选取

还有一种「重复」的来路:源仍是 nn 个不同的类型,但每次取完放回,可以反复取同一个。此时次序算不算数给出两个不同的公式,有序是 nkn^k,无序是 C(n+k1,k)C(n+k-1, k),后者由隔板法(stars and bars)给出。它俩正好补齐四种取样模型里剩下的两格。

1 · 有序与无序的两个公式

with replacement · nᵏ / C(n+k−1, k)

有序时每一格都独立地从全部 nn 个类型里选一个,允许与别的格相同,kk 格相乘得 nkn^k。无序时只看每种类型各取了几个,用隔板法数成 C(n+k1,k)C(n+k-1, k)

图 1-1 · 放回取样的有序与无序计数。可拖动类型数 nn 与取的个数 kk,对照两个公式的取值与枚举结果。

隔板法的构造是这样的。把要取的 kk 个想成 kk 颗星,另拿 n1n-1 根竖线把它们隔成 nn 段,第 ii 段里的星数就是第 ii 种类型取的个数,可以是 00。于是每一种「无序可放回的取法」都唯一对应一排星与竖线;总长为 k+(n1)k + (n-1),只需选哪些位置放隔板:

C(n+k1,  n1)=C(n+k1,  k)C(n+k-1,\; n-1) = C(n+k-1,\; k)

2 · 四种取样模型

「从 nn 个类型里取 kk 个」按是否讲次序与是否放回交叉,恰好四种:

次序 放回 方案数 本系列
有序 不放回 P(n,k)=n!/(nk)!P(n, k) = n!/(n-k)! 排列
有序 可放回 nkn^k 本页 §1
无序 不放回 C(n,k)C(n, k) 组合
无序 可放回 C(n+k1,k)C(n+k-1, k) 本页 §1

这四种都建立在 nn 个不同类型之上,只是取法不同。它与多重集排列是两个维度的问题:多重集说的是源自带相同元素,要排全部且须除掉同组互换;本页说的是取的过程能否重复、讲不讲次序。

3 · 参考文献

  1. Combinations with repetition. Wikipedia. 可重复组合 C(n+k1,k)C(n+k-1, k) 的推导。https://en.wikipedia.org/wiki/Combination#Number_of_combinations_with_repetition
  2. Stars and bars. Wikipedia. 隔板法:把分配与取样化归成排星与竖线。https://en.wikipedia.org/wiki/Stars_and_bars_(combinatorics)