SimTower was an elevator simulation game.
OK, it actually had other things in it, not just elevators. But the elevators were the heart of it—they were the most engaging part of the gameplay, with the most complex game mechanics—and, more than anything else, it was mastery of the elevator design that would bring a player success in SimTower.
I played SimTower a lot when I was younger. I never did manage to build a tower that reached the coveted “Tower” rating (the one beyond even “five stars”), but I spent many hours optimizing the elevators in my virtual office towers—and watching the tiny silhouettes of simulated people queue up for the next animated elevator car.
Today, in honor of that wonderful game, I give you a little puzzle of “elevator experience design”.
Many elevators have two call buttons: an UP button and a DOWN button. If the elevator car is currently at rest (for simplicity, we’re going to assume that there’s only a single car), then pressing either button will summon the car to your floor.
However—in a well-designed elevator system—the behavior of the buttons changes when the car is already in motion. If the car is currently moving toward your floor—having been summoned on a floor that’s past yours—then pressing one of the call buttons will cause the car to stop on your floor only if you press the button corresponding to the direction in which the car is moving. If you press the other button, the car will first proceed to wherever it’s going—moving right past your floor on its way there—and only then, reversing direction, will it proceed to your floor.
(An example: suppose the car is currently at ground level; it then gets summoned by floor 9. However, right as it’s passing floor 3, you—located on floor 5—press the UP button. The car will, then, stop at your floor (5) before proceeding onward to floor 9 and/or whatever floor you select. But if you had pressed DOWN instead, then the car would’ve sped past floor 5, stopped at 9, and only then considered your summon.)
So far, so good. Now we come to the puzzle:
Suppose that, instead of two buttons—one UP, one DOWN—there’s actually only one button. Should this button act like an UP button or like a DOWN button?
Come up with your own answer before scrolling down…
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
The first part of the answer is that it’s a bit of a trick question.
The question implies that there are only two possibilities for the button’s behavior. But of course there’s at least one other possibility (leaving aside bizarre designs, such as ones that involve randomization, etc.): that the button combines the behavior of an UP button and a DOWN button—in other words, that the single call button causes the elevator car to stop on your floor whenever it’s going to pass your floor, regardless of the direction in which the car is currently heading. (Let’s call a call button with this sort of behavior a “BOTH” button.)
So there are three possibilities for a single call button’s behavior: UP, DOWN, and BOTH.
You might suspect, now, that the answer I’m going to give is “BOTH”. That’s the point of the trick question, isn’t it? The possibility we didn’t think of, is the correct answer. This is a lesson about being careful in considering all possible options. Right?
Wrong.
The correct answer is DOWN.
Why is this? I’ll reveal the answer in the next post, and give my readers a chance to think about it in the meantime.
Comments
Unless we're worried about very fine-scale optimization (like the fact that people are likely to enter from Ground at the same time in the morning etc), this problem seems symmetric. If DOWN can be the answer, so can UP.
Did you ever post the solution you had in mind?