The Monty Hall problem is actually a study in requirements engineering.

The Monty Hall problem is actually a study in requirements engineering.

For those unaware of the Monty Hall problem, go have a read, it is a fascinating mathematical style problem that centres around one key question:

Should you change from your original choice based on new information?

Admittedly I've over simplified the issue here, but the key is the 'new information' part. The key, the kernel, the entirety of the Monty Hall problem can be distilled down into the fact that the actions of the Host have a statistically significant affect on the outcome, this point is either ignored or disputed in many cases.

Why is/was it such a controversial topic?

In some ways this type of choice (stick or twist) is analogous with our lives in general, we all make choices and are then presented, later, with new information, a fork in the road. Do we continue with our original choice or change based on the new information, and is there a demonstrable way of deciding which choice is better. I think this is one of the reasons this particular mathematical problem is so divisive, deep in our human need to want to the best outcomes, we feel like we are rational and logical enough to make those choices.

At the time, university professors, professional mathematicians and even Nobel prize winning physicists disagreed with the maths presented, which in itself shows how this issue was as much an issue of accurately being able to describe the problem and solution, as the solution itself.

Reason with me...

Mathematically speaking, you should always switch to the box offered to you.

This is a fact.

The reason so many still disagree is that the problem is often explained in a way that misses key facts, ignores the role of the Host or minimalised the events leading up to the final choice and its effect on the outcome.

Intuitively, this seems odd and here's why its fundamentally, for me, an issue of how you explain the conundrum and thus detail the requirements of this mathematical system.

The primary reason most people disagree that changing boxes will have any outcome on the result is because they see the Monty Hall problem as two separate problems:

1) There are three boxes, one with a prize, two without, you pick one, you have a one in three chance of winning the prize.

2) Regardless of the events leading to this situation: You now have two boxes, one with a prize and one without a prize. You are offered either box, you have a one in two chance of picking the prize.

The issue here, and the crux of the Monty Hall problem is that the act of the host choosing a non-prize (goat) bearing box and eliminating it, is statistically significant. In fact this act alone doubles your chances of success. In order to eliminate this box, the host (who knows the contents of all boxes) must pick a box with a prize. If you have already select a box without a prize, this means the host has only one box left to open and show you the goat.

Break it down for me, explain it like I'm 5

a) In 2 out of 3 cases you will start the game pick a goat.

b) Therefore, 66% of the time the Host has only one box they can open as only one of the two remaining boxes has a goat.

c) Switching boxes is, statistically, always the best option, as in 66% of cases you will be swapping a goat box for a prize box.

What has this got to do with requirements engineering, David James?

When you start a project, being incredibly clear and precise can be hard to do, there are unknowns, research to be completed and plans to be drawn up, not all projects are simply following a simple set of steps, they are complex and intertwined.

Monty Hall shows us, in an extreme example, that if you do not capture and explain the rules of the system, the important factors and dynamics of a system clearly and precisely, you leave room for:

1. Misinterpretation: "Is the Host cheating?"

2. Over simplification: "Ultimately it's just a 50/50 choice"

3. False equivalence: "Its the same as just opening the box straight away"

I love explaining this problem to others and seeing how they break the problem down in their own mind, try it for yourself and get ready for a barage of questions and often strong disagreement until you break the problem down into the three a, b, c steps above.

Final thoughts

Why is winning a car better than winning a goat?

Follow me on Twitter for more fun: @davidjames