什麼是重複組合?
重複組合(英文常稱為「multichoose」)計算的是:當選取的順序不重要、且同一種類型可以重複選取時,從 n 種不同類型中挑出 r 個項目共有幾種方法。每一種結果都是一個「多重集合(multiset)」。舉例來說,從 3 種口味中挑 2 球冰淇淋並允許重複時,可能的組合包括 {香草、香草} 或 {香草、巧克力}。
如何使用本計算機
輸入 \(n\)(可供選取的不同物件或類型數量)與 \(r\)(你想抽取的樣本數量)。兩者都必須是非負整數。按下計算後,工具會回傳 \(C^R(n,r)\),也就是大小為 \(r\) 的相異多重集合總數。
公式解析
其數量等於二項式係數 \(C(n + r - 1, r)\),展開後為 $$C^R(n, r) = \binom{n + r - 1}{r} = \frac{(n + r - 1)!}{r!\,(n - 1)!}$$ 這正是經典的「隔板法(stars and bars)」結果:把 \(r\) 顆相同的星星分配到由 \(n - 1\) 條隔板分隔出的 \(n\) 個箱子中。為了避免階乘過大造成溢位,本計算機會讓累乘的乘積依序乘以 \((n - 1 + i)\) 再除以 \(i\),其中 \(i\) 從 1 跑到 \(r\)。 $$C^R(n,r) = \prod_{i=1}^{r} \frac{n - 1 + i}{i}$$
實際範例
當 \(n = 10\)、\(r = 3\) 時: $$C^R(10,3) = C(12,3) = \frac{12 \times 11 \times 10}{3 \times 2 \times 1} = \frac{1320}{6} = 220$$ 也就是說,從 10 種類型中允許重複地選取 3 個項目,共有 220 種方法。
常見問題
這跟一般的組合有什麼不同?一般的組合 \(C(n,r)\) 不允許重複;重複組合則允許同一個項目被多次選取,因此計算出的數量通常會比較大。
如果 \(r = 0\) 呢?「什麼都不選」恰好只有一種方式,因此對任何 \(n \geq 1\) 來說,\(C^R(n,0) = 1\)。
如果 \(n = 0\) 呢?沒有任何項目且 \(r > 0\) 時,結果為 0;而空集合的情況 \(n = 0\)、\(r = 0\) 則依慣例定義為 1。