Reverse engineering options
This weekend I saw a sign in the window of a Burger King that made me think of an interesting problem. If you know the number of possibilities like this, how would you reverse engineer what the options that created the possibilities?
In the example above, there are 211,184 = 213*33 possible answers, and so most likely there are 13 questions that have a yes or no answer, and 3 questions that have 3 possible answers each. But there are other possibilities in principle, a lot of other possibilities.
Maybe there are 15 questions: 1 with 4 possible answers, 12 with 2 possible answers, and 3 with 3 possible answers. Or maybe there are again 15 questions, but one of the questions has 9 answers. If there are 14 questions, maybe one question has 8 answers, or 27 answers, or maybe two questions have 6 answers, ... it gets complicated.
More general problemHow would you address this kind of problem in general?
Suppose there is some list of questions Q1, Q2, ..., Qk where there are qi possible answers to question Qi. Then the product of all the qi equals the total number of possible responses P to the questions. Note that we don't know the number of questions k; all we know is the product P. Let's call the ordered list {q1, q2, ..., qk} of number of responses to questions a survey.
There are as many possible surveys as there are multiplicative partitions of P. The number of possible surveys only depends on the exponents in the prime factorization of P, not on the prime factors themselves. It would make no difference if in the example above we had 513*73 possibilities rather than 213*33 possibilities. We'd reason the same way when counting the possible surveys. The number of questions is somewhere between 1 and the sum of the exponents in the prime factorization.
We have to decide how we want to count surveys. For example, if we do have 13 questions with binary answers and 3 questions with trinary answers, does it matter which questions have three answers? If it does, we multiply the number of possibilities by the binomial coefficient C(16, 3) because we choose which of the 16 total questions have three possible answers. And then we have to reason about the case of 15 questions, 14 questions, etc.
Multiplicative partitions are complicated, and its not possible to write down simple expressions for the number of multiplicative partitions of numbers with many prime factors. But in the special case of only two distinct prime factors, i.e.
then there is a relatively simple expression for the total number of possible surveys, assuming order matters [1]:
This works out to 3,760,128 in the example above. Curiously,
3760128 = 221184 * 17.
But note that our result does not depend on the primes in the factorization of P, only on their exponents. There are no ps in the summation above, only is and js. As we noted earlier, we'd come to the same count if we'd started with P = 513*73. The factors of 2 and 3 in our count arrive for different reasons than being the primes in the factorization of P.
Related posts- Combinatorics, just beyond the basics
- Design theory and design of experiments
- The Chicken McNugget monad
[1] A. Knopfmacher and M. E. Mays. A survey of factorization counting functions, International Journal of Number Theory. Vol. 01, No. 04, pp. 563-581 (2005)
The post Reverse engineering options first appeared on John D. Cook.