Combinatorics – Secret Santa Problem

algorithmscombinatoricsrecreational-mathematics

We decided to do secret Santa in our office. And this brought up a whole heap of problems that nobody could think of solutions for – bear with me here.. this is an important problem.

We have 4 people in our office – each with a partner that will be at our Christmas meal.

Steve,
Christine,
Mark,
Mary,
Ken,
Ann,
Paul(me),
Vicki

Desired outcome

Nobody can know who is buying a present for anybody else. But we each
want to know who we are buying our present for before going to the
Christmas party. And we don't want to be buying presents for our partners.
Partners are not in the office.

Obvious solution is to put all the names in the hat – go around the office and draw two cards.

And yes – sure enough I drew myself and Mark drew his partner. (we swapped)

With that information I could work out that Steve had a 1/3 chance of having Vicki(he didn't have himself or Christine – nor the two cards I had acquired Ann or Mary) and I knew that Mark was buying my present. Unacceptable result.

Ken asked the question: "What are the chances that we will pick ourselves or our partner?"

So I had a stab at working that out.

First card drawn -> 2/8
Second card drawn -> 12/56

Adding them together makes 28/56 i.e. 1/2.

i.e. This method won't ever work… half chances of drawing somebody you know means we'll be drawing all year before we get a solution that works.

My first thought was that we attach two cards to our backs… put on blindfolds and stumble around in the dark grabbing the first cards we came across… However this is a little unpractical and I'm pretty certain we'd end up knowing who grabbed what anyway.

Does anybody have a solution for distributing cards that results in our desired outcome?


I'd prefer a solution without a third party..

Best Answer

If each of you just draws a random name out of the hat, the probability that nobody gets their own or their partner's name is

$$\frac{4752}{40320} = \frac{33}{280} \approx 11.8\%.$$

Thus, the expected number of times you'll need to repeat the process before getting "a solution that works" is $280/33 \approx 8.5$. This could get a bit tedious, but it'll hardly take "all year", at least unless you're both really slow and really unlucky with the draw.


Ps. I went and calculated the odds for other numbers of couples too:

  • $2$ couples: $\frac{4}{24} = \frac{1}{6} \approx 16.7\%$ chance of nobody getting their own or their partner's name
  • $3$ couples: $\frac{80}{720} = \frac{1}{9} \approx 11.1\%$
  • $4$ couples: $\frac{4752}{40320} = \frac{33}{280} \approx 11.8\%$
  • $5$ couples: $\frac{440192}{3628800} = \frac{3439}{28350} \approx 12.1\%$
  • $6$ couples: $\frac{59245120}{479001600} = \frac{16831}{136080} \approx 12.4\%$

If I'm not mistaken, as the number of couples involved tends to infinity, the probability of nobody getting their or their partner's name should tend towards the limit $e^{-2} \approx 13.5\%$, and thus the expected number of retries needed should tend towards $e^2 \approx 7.4$.

Related Question