Saturday, August 18, 2012

Occam's Razor Examples Part 1: The Automobile


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