I have a team responsible for maintaining services. I want to split responsibility for these services to 3 sub-teams. How many ways are there to split these services such that each team bears responsibility for services?
It’s immediately clear that the number of options is less than . With a bit more thought, it’s also clear that the count is less than . To get a better upper bound, let’s first get a lower bound by assuming . I’ll use Stirling’s approximation to get the count of ways to partition items into two groups of size and , and then count the ways to partition the group of into two groups of each.
Thus, the number of ways to partition items into 3 groups is . Because we allow “almost-equal” groups, we must consider the number of ways to partition the services into groups of size within of . This count grows quadratically with and leaves us with as an upper bound.
— I’m using to mean the Stirling number of the second kind, i.e. the number of ways to partition items into non-empty subsets. I’m using the Wikipedia approximation to get this first (loose) upper bound.
Using a little intuition, I’d conjecture that this upper bound generalizes to for sub-teams and services. Just for good measure, let’s confirm this with the multinomial theorem.