Recently I was talking with my good friend,
when they made the mistake of bringing up Occam’s Razor. After 30 minutes of
rousing debate, we arrived at two concrete examples that we both thought proved
our argument. In the interest of friendship and the sanity of the folks sitting
around us at the coffee shop, we decided to agree to disagree. However, I think
they are both so interesting, that I decided, with the permission of my friend,
to write up a two part post about both examples. Here is part one:
Part one: Occam’s razor and the automobile
One of the key tenants of the social construct we call
occam’s razor is that simpler systems will have better reliability then complex
ones. This seems obvious as more complex systems will have more points of
failure and therefore, will fail more often. This self explanatory belief is
what drives many of the incantations of Occam’s razor during pitches and
brainstorms. “The reliability of that system is going to be terrible because
its too complex”.
In previous posts I have tried to show how any incantation
of Occam’s razor is flawed and destructive. I wont dwell more on the
irrationality of Occam’s razor here. Instead, I want to analyze
the relationship between complexity and reliability. Can we always fall back on
the idea that apparent complexity leads to more failures? In short, no. In
fact, when it comes to technology many systems with higher levels of complexity
have better reliability. The changes in automobiles over the past 20 years can
help us.
Under the hood of a 1990 Volvo 240 (my first car)
Under the hood of a 2012 honda fit (the car I drive now)
Over the past 20 years the number of parts in a car has
exploded to over 30,000. Furthermore, electronic systems inside those cars have
grown exponentially more complicated with the modern car operating on more then
10,000,000 lines of code. Modern automobiles are immensely more complex than
their 20 year old counterparts. We have all watched the engine compartments
out our new cars fill up with tanks, motors, compressors, and
tubes. We now worry about our oxygen and tire pressure sensors in addition to
our oil filters. And we can all remember the recent Toyota recalls that gave
electronic complexity such a bad name.
For the technically minded it is easy to be repulsed by this
complexity. The idea that complexity and reliability are inversely related is
so engrained in our technical society that what I am going to say next is going
to hard to stomach, but cars today are more reliable and have higher levels of
dependability then at any point in history. They have higher levels of initial
quality and 3 year dependability then their simpler brethren of the past. Let me be clear, this data takes into account the explosion of vastly more complicated hybrid drivetrains, electronic control systems, advanced electronic features like automatic cruise control, and record fleet fuel efficiency marks.
This flies in the face of everything we are taught as engineers, but when you think about it rationally, it makes a lot of sense. When we look at other systems with exploding complexity, we find similar trends. Airplanes, computers, harddrives, and refrigerators today are more reliable and more complex then their older counterparts.
A great example of how increased complexity can directly lead to increased reliability can be found in almost all modern cars: the low tire pressure sensor. This is an amazingly complex piece of technology. A small wireless sensor powered off a tiny Li-ion battery, rides along in each of the car's tires. The device reads the tire pressure and transmits its readings wirelessly to one of the cars many onboard computers. When the tire pressure gets low a light on the dashboard tells the driver to top off the tires. This system has a huge number of failure points. What happens if the wireless signal is lost, the sensor looses power, the battery corrodes, the onboard computer confuses the signal, a cellphone in the car interferes with the wireless signal, the user overfills the tires, the dashboard indicator fails, or the car is driving in very hot or cold road conditions. All these failure points would seem to make the argument that the added complexity of the system will lower the overall reliability of the machine. But the opposite is true. The feedback given to the driver allows the car to spend significantly less time running with low tire pressure. This leads to longer tire life, higher mpgs, and lower wear and tear on the engine and drivetrain. While sensor failures surely do happen, the reliability improvements elsewhere in the vehicle outweigh their effects on on overall system reliability. And thus, a significant increase in complexity can lead to a dramatic increase in reliability.
The point is not that all increases in complexity lead to increased reliability. Certainly some systems that add complexity can reduce reliability. The point is that the two are simply not related. There is no fall back, easy way to assess the reliability of a system based on its complexity. Even if we, as humans, were capable of truly understanding what systems are complex and what systems are simple, we could not judge their resulting reliability by that metric alone. Instead, as always, we have to analyze new ideas fully to completely understand what the real effects on reliability may be.
No comments:
Post a Comment