Concrete Mathematics 6.1 Stirling Number Identities

{ n + 1 m + 1 } = ∑ k ( n k ) { k m } (6.15) \begin{Bmatrix}n+1 \\m+1\end{Bmatrix}=\sum_k \binom{n}{k}\begin{Bmatrix}k \\m\end{Bmatrix} \tag{6.15} {n+1m+1}=k(kn){km}(6.15)

We enumerate the size of the subset which n + 1 n+1 n+1 belongs to, which equals n − k + 1 n-k+1 nk+1. We first choose n − k n-k nk elements that is in the same subset with n + 1 n+1 n+1, which is ( n k ) \dbinom{n}{k} (kn), then allocate the rest k k k elements into m m m non-empty subsets.

[ n + 1 m + 1 ] = ∑ k [ n k ] ( k m ) (6.16) \begin{bmatrix}n+1 \\m+1\end{bmatrix}=\sum_k \begin{bmatrix}n \\k\end{bmatrix}\binom{k}{m} \tag{6.16} [n+1m+1]=k[nk](mk)(6.16)

This looks almost the same as the previous one, but it’s much harder to consider the combinatorial explanation.
What the formula do is obvious. First divide the first n n n elements into k k k cycles, then choose m m m cycles from it, and combine the rest k − m k-m km cycles with n + 1 n+1 n+1 to form a new cycle. But the question is how to proof this approach is not heavy and not leaky.
Consider that we first divide the elements into m + 1 m+1 m+1 subsets A 1 , A 2 , ⋯   , A m + 1 A_1,A_2,\cdots,A_{m+1} A1,A2,,Am+1. We assume that n + 1 ∈ A 1 n+1\in A_1 n+1A1. Say C ( A i ) C(A_i) C(Ai) is a cycle formed with elements in A i A_i Ai. Take any specific C ( A 2 ) , C ( A 3 ) , ⋯   , C ( A m + 1 ) C(A_2),C(A_3),\cdots,C(A_{m+1}) C(A2),C(A3),,C(Am+1),there are ( ∣ A 1 ∣ − 1 ) ! (|A_1|-1)! (A11)! ways to choose C ( A 1 ) C(A_1) C(A1). In our formula, with C ( A 2 ) , C ( A 3 ) , ⋯   , C ( A m + 1 ) C(A_2),C(A_3),\cdots,C(A_{m+1}) C(A2),C(A3),,C(Am+1) fixed(after we times k k k choose m m m), the subset A 1 A_1 A1 is constitute of some of the cycles of its elements, which sum up to exactly ∑ k [ ∣ A 1 ∣ − 1 k ] \sum_k\begin{bmatrix}|A_1|-1 \\k\end{bmatrix} k[A11k] times, which equals ( ∣ A 1 ∣ − 1 ) ! (|A_1|-1)! (A11)!.

你可能感兴趣的:(算法)