Apr 26, 2008 01:38
Today I attended a "distinguished lecture" of the Engineering and Computer Science school of UTD. Typically a distinguished lecture takes place in an auditorium and lasts about an hour. About 10-15 minutes prior to its start, the coordinators serve cookies and coffee at a table near the auditorium entrance.
When I arrived, I took two cookies and took a seat in the auditorium. The lecture was incredibly boring, so I spent about five minutes on the following train of thought.
Each student who arrives for the lecture has two competing and mutually-exclusive goals:
1) to take as many cookies as possible, and yet
2) to leave enough cookies for everyone else.
This is tough. I took two cookies, but I had no idea how many other students would show up. While the boring lecture was underway, I longed to step out and collect some more cookies. I was certain that not all cookies were gone: in my experience most people tend to be overly-polite (overly conservative) rather than overly-aggressive, so inevitably there's a (small) pile of cookies left when the lecture begins.
How can we maximize cookie utilitization?
The solution I came up with is pretty straightforward and does not impose a significant overhead. The first step is to figure out how many students attend these lectures historically. For example, the coordinators could determine that, using the attendance information of the last 10 distinguished lectures, 50 students attend each lecture on average, plus-or-minus some small number. The coordinators know how many cookies they're going to put out; let's say it's 100. Then there is a sign: "Take up to two cookies." Now each student may take two cookies without infringing on some other student's quota.
Simple, right? But many students don't want any cookies, for silly reasons such as concern about their health. Even if two out of 50 students refuse to take any cookies, then the table will be left with four cookies after all students go into the auditorium-four cookies that some other student would have enjoyed otherwise.
The key to solving this crisis is to add a "free" pile to the existing "cookie" pile. Each student who comes to listen to the lecture passes by the coffee/cookie table. At that point each student ponders: "how many cookies do I want?" If the student wants his entire quota, he's welcome to it. If he wants only a part of it or even none of it, then the student donates the cookies by moving the unwanted cookies to which he's entitled from the "cookie" pile to the "free" pile.
If a student wants more than his quota, then he simply can take as many cookies as he wants to from the "free" pile. The distinction between what happens now and what would happen with this system is that the "free" pile is free of guilt and shame. No more reproachful looks!
If exactly the expected number of students shows up to the lecture, then the "cookie" pile will be empty and the "free" pile will be either (hopefully) empty or it'll have cookies that were explicitly rejected. The only downside to this proposed system is that it worsens the situation if more students show up than the coordinators predicted, since now students would be less conservative in their cookie consumption. Well, tough; they should've shown up earlier.
Nevertheless, I maintain that this proposed system would maximize cookie utilization with insignificant downsides.
If you have a better idea, I'd love to hear it.
(Disclaimer: This is not entirely my own invention. My proposed system is slightly related to the Token Bucket algorithm for shaping network traffic.)
cookie,
justice,
fairness