in reply to [Answered; thanks.] Can this be explained in layman's terms?
Hi BrowserUk,
I'm a lackluster mathematics student, but perhaps I can volunteer an explanation that doesn't stray too far from the rigor.
First, I think I would like to recast your statement as "For any set of n elements the number of ways to partition the set into k non-empty subsets is denoted S(n,k) and these numbers are known as Stirling numbers of the second kind."
- S(0,0) = 1 : There is only one way to make no partitions out of nothing.
- S(n,0) = 0 if n>0 : If you have a set of something, you cannot have a partition with no subsets--the elements of the non-empty set have to go somewhere.
- S(n,1) = S(n,n) = 1 : There is only one way to partition a non-empty set into one non-empty subset--the subset being the set itself. There is only one way to partition a set of n elements into n non-empty subsets--each element has to be in its own subset (a singleton set).
- S(n,k) = S(n-1, k-1) + kS(n-1,k) : Every partition of a set of n elements into k non-empty subsets can be created from one of the partitions of a set of n-1 elements. The sum comes about by looking at the two ways a new, identified, element can be added to the partitions (thus making a new partition that is of a larger set of n elements)
- You can add the singleton set containing just the new element to any partition of n-1 elements into k-1 subsets, thus creating a partition of a set of n elements into k subsets. There are S(n-1, k-1) partitions that we can do this to.
- You can add the new element to any non-empty subset of a partition of n-1 elements into k non-empty subsets. There are S(n-1, k) partitions that we can do this to and since we have k subsets in any partition, we have k ways to modify each of the S(n-1, k) partitions, i.e., there are k*S(n-1, k) ways to get to a partition of a set of n elements into k non-empty subsets this way.
Sometimes the rule S(n,k) = 0 if k>n is given for completeness, i.e., you can't partition something up into more non-empty subsets than for which it has elements, but this is considered obvious and you won't run into the need for it if you start with any reasonable case where n>=k.
In Section
Seekers of Perl Wisdom