This is one of my favorite problems:
You’re planning a huge party for tomorrow, which will include a toast exactly 24 hours from this moment. You have 1000 bottles of wine, but one of them is contaminated with a slow-acting poison that will kill any living thing within 24 hours of being ingested. You happen to have 10 altruistic mice on hand who have volunteered to test the poison. How many bottles of wine can you safely serve at the toast?
I’ve given it to a number of classes, ranging in age and strength, and it’s produced wonderful discussions every time. Here’s a reconstruction of how many of these have gone.
Right off, several students come up with the idea of splitting up the 1000 bottles evenly among the 10 mice. When one of the mice dies, they explain, you would know that the poisoned bottle was among the 100 that it drank, and so the remaining 900 would be safe to serve.
At this point, Alice asks, “What if you gave less to each mouse?” Bob, who originally articulated the 900-bottle solution, begins to protest that you wouldn’t be able to test all the bottles… but, mid-sentence, he realizes: “Oh! But then if no mice died, then you’d know it was one of the ones you didn’t serve!” The rest of the class jumps in quickly, working to figure out how many bottles you could safely serve using this refinement. They determine that they can now guarantee being able to serve 909 bottles, because the most that any mouse needs to sample is 91 bottles.
Now, this is the part I’m not sure about. Students are usually pretty satisfied at this point, but, as it turns out, they can actually do even better. What I’ve typically done has been to praise the wonderful refinement they just made, and then put on my best mischievous teacher face and told them that it’s possible to serve even more than 909 bottles. I always wonder, though, whether I should really be letting them determine whether or not to go further. I could ask, for example, whether they’re convinced this is the best possible guarantee. If they said yes, and I asked them to justify it, they wouldn’t be able to. Would that be enough to prompt them to look for a better guarantee? I suppose I’ll have to try it sometime. Ultimately, if it doesn’t work, I don’t think I’ll be able to resist nudging them to go further, because the next piece is the real gem…
So, after I tell the class that there’s an even better solution, they are appropriately outraged, and they go to work in their small groups. At some point, Cate realizes that you can “overlap” the sets of 91 bottles that you’re feeding the mice. So, for example, bottles 1 through 91 go to mouse #1, and bottles 91 through 182 go to mouse #2, etc. Now, if mouse #1 dies but mouse #2 doesn’t, you only have to eliminate 90 bottles, instead of 91!
Now, the floodgates are open. The key assumption that they’d been working with—that each bottle is tasted by only one mouse—has been overturned. Before long, they’re trying out different arrangements, having different sets of mice tasting different sets of bottles. It’s a lot to keep track of, though, and so Dave pauses to step back. He realizes something, and tells his group: “All we really need to do is figure out how many different groups of mice we can make from the ten!”
I had a professor in college, Professor Steven Rudich, who always hammered on this one point: the key to good problem solving is to find the right representation of the problem. Dave’s move, of realizing that this problem is really a problem about counting subsets, is a perfect example of this. When the rest of the class hears it, they instantly appreciate its elegance… and thus, I hope, they see Professor Rudich’s point in action.