The airline industry has had a number of incidents lately in which its operations have come to a halt because of a computer glitch. This past July, United Airlines delayed and canceled several flights because of a problem they eventually attributed to a faulty router. A few weeks later, the Polish air carrier Lot fell prey to a cyber attack that compromised their flight plans. Today, American Airlines experienced long delays and cancellations due to a computer problem that prevented passengers from checking in. Officials are still investigating the cause for this outage. In all three cases, and in many others like them, the computer systems on which the airlines depend have experienced problems that cost the airlines a lot of money and their passengers a great deal of frustration.
Computer systems are very difficult to design, build, and deploy. System builders make difficult decisions at every step of the process, usually with only incomplete or estimated data, and testing the validity of these decisions is an imperfect and costly business. Until a system is actually deployed and placed under full operational load, it is impossible to predict precisely how it will behave, much like it is impossible to predict how the human body will behave in response to changes in diet or medication. Complex dynamical systems, whether biological or computer in nature, are too intricately woven to characterize fully, particularly as the conditions in which they function change.
At first, it may seem strange to compare a biological system to a computer system, but the two are more similar than you would think. The body’s various systems carry out specific, separate functions, but they depend on each other and are interwoven. “Bugs” in one system can interfere with the function of another. Changes in inputs to the body can have a dramatic impact on its performance and output. If it sounds to you like I’m describing a computer system, then you understand my point about how similar the two kinds of systems are. And, just like humans can break down at the worst of times and therefore develop a reputation for being unreliable, so, too, can computers.
Our dependence on computers has grown to a point where their complexity-induced unreliability causes crippling disruptions. And yet, we’ve lived with problems caused by human errors for as long as humans have collaborated in groups. It has taken millennia for us to accept that our species is imperfect and that the roles we play in life sometimes fall flat. Perhaps we need to come to the same level of acceptance of imperfection for the computers that have taken over many of those same roles.