Wednesday, May 02, 2012

Hidden Assumptions

If it takes 5 machines 5 minutes to make 5 widgets, how long would it take 100 machines to make 100 widgets?

This is a common kind of riddle that's put forward as a trick question. Most people will simply jump in and say 100 minutes; the reason almost certainly being simply that it gives you the closest-fitting pattern of numbers. Then people say "Aha! It's only five minutes. In the second case you have twenty times the machines, and thus they would make twenty times the widgets (=100) in the same amount of time!" And that's all right as far as it goes.

However, all such questions presuppose background information. I noted this point some time ago with the Anne-George-Jack puzzle, the 'real' answer of which requires assuming that Anne, George, and Jack are all people and that they each fit clearly into either the class of married people or the class of unmarried people (not both and not neither). I always find this interesting: the hidden assumptions. This is a really good example. In the strictest logical sense the question doesn't give us enough information to answer it without making assumptions. Consider the following logically possible scenarios.

(1) Five machines make five widgets in five minutes. But these machines are each one-shot and can only work in series, not in parallel. That is, they make the five machines by the first machine making a widget (at which point the machine is used up), and then (and only then) the second machine makes the second widget (at which point the second machine is used up), and so on down the lines. Each machine takes one minute to make its widget. All of the hundred machines work in exactly the same way. How long will it take 100 machines to make 100 widgets? 100 minutes, because each machine makes one widget in one minute, and the minutes are not overlapping. What hidden assumption is uncovered by this scenario? That the machines can in some way do their work simultaneously.

(2) Five machines make five widgets in five minutes. But the machines are all very different, just as you would often expect in real life: some are old and creakingly slow, some are very new and fast and efficient. How long will it take 100 machines to make 100 widgets? We don't know, because for all we know our five-minute machines are the very best and it's all down hill from there. What hidden assumption is uncovered by this scenario? That the machines are all the same.

(3) Five machines make five widgets in five minutes. But, you know, the thing about widgets is that they get made faster if you have more machines working on them -- fewer redundant actions, and so forth. So increasing the number of machines always improves the rate at which they make widgets. How long will it take 100 machines to make 100 widgets? Less than five minutes, but we don't know exactly, because we don't know how the increase affects the rate. Or go the other way: the more machines you have, the worse your rate. As the saying goes, too many cooks spoil the broth. They just keep getting in each other's way, or become increasingly hard to organize. (That's often what the result would be if you had five people working on a project and increased it to a 100, after all.) How long will it take 100 machines to make 100 widgets? More than five minutes, although we don't know how much more. What hidden assumption is uncovered by this scenario? That the ability of the machines to produce the effect is not affected by the number of machines.

These are, of course, all entirely reasonable assumptions, at least for practical purposes, in many cases, although how many will vary for each one. In practice assumption (2) could get potentially very worrisome, whereas I suspect assumption (1) is rarely going to be a big issue. In any case, the assumptions are all needed because we don't know how the machines work, and this is a pretty big gap in our knowledge. If Wal-Mart originally has five check out lanes that always check out five people in five minutes, it doesn't, in the real world, following that 100 check out lanes will always check out 100 people in five minutes; indeed, we know it would never happen, because they would only actually use them all at really busy times and in any case the more people you have to check out, the more likely it is that something will go wrong (fights in lane, stupid customers, stupid employees, etc.) , etc., etc. How check out lanes work is relevant to whether 100 check out lanes is a good way to check out 100 people in five minutes; indeed, it may be relevant to whether it's even a good idea to try. Likewise, how machines produce widgets is something that could potentially be relevant here. Since we don't know anything about it, we're expected to make the simplest assumptions: the machines are the same in both cases, that the rates are the same in both cases, that the machines can work in parallel, and so forth. But they are assumptions.

As I said, I suspect that most people who answer 100 minutes to the question are just treating it as a pattern recognition exercise because they don't see any point to the question or any reason to think that getting a right answer is important. I also suspect, however, that some people would give as their reason a scenario similar to (1). It's certainly true that the assumptions will hold quite often; but it's also true that there can be times when those assumptions give you the wrong answers. In general, I find that it's never very interesting to discover that people are getting the wrong answer (or the 'wrong' answer); the really interesting question is why.