“Algorithm” is a term most often associated with software programming. The concept, however, can be fairly universal, since it basically just describes a set of rules that, if followed, will yield a predictable outcome. Since a cooking “recipe” also shares these features, recipes are frequently used as examples when teaching algorithm concepts to programming novices.
Naturally occurring algorithms are also found in and around us. Our morning routine of waking, going to the washroom, and preparing breakfast, for example, is a “getting ready” algorithm for humans. Flowers blooming in the spring is “nature’s renewal” algorithm.
Similarly, every microprocessor includes manmade algorithms that control computer reactions to states of nature. A modern automobile, for example, has more than five microprocessor controlling the radio, climate, engine combustion, traction, and airbags. Algorithms can execute linearly, loop (i.e., “keep doing this until, or while…”), and, if needed, “jump” to other pieces of the code.
A very simple algorithm politely opens the supermarket door automatically for you after stepping on sensors hidden under its black mat, or in the elevator that takes you to your floor on request. Wal-Mart uses more sophisticated algorithms to anticipate shopper interests, such as strawberry Pop-Tarts when a hurricane is imminent, or to anticipate the devastation from Hurricane Katrina and order trucks of water be shipped to New Orleans.
Mistakes when creating algorithms, and associated controls, can be disastrous. For example, dozens of children were suffocated in accidents involving poorly designed automobile window switches.
Algorithms are increasingly used to augment human decision making, especially in situations where the inputs are too great for human sense making, or where delays needed for human comprehension creates disadvantages. As such, Wall Street’s “time is money” creed quickly became a hotbed for automated trading.
Although carefully crafted investing algorithms can be quite lucrative, they can also lead to nonsensical outcomes. For example, it is believed automated “program trading” (i.e., rapid computer stock trades based on inputs such as related security prices) mayhem led to the “Black Monday” market crash of October 19, 1987. In one day the Dow Jones lost 22.6 percent of its value, its largest-ever percentage loss.
The solution to trading computers running amuck was to create an offsetting control algorithm. Software “circuit breakers” were developed to step in and halt all trading if signs of trouble began to emerge. This seemed to work until the “Flash Crash” of May 6, 2010 caused the Dow Jones to drop nine percent in just a few minutes.
Similarly, book-pricing algorithms can also run amuck. Shipping was NOT included when Amazon’s algorithms decided to price a book on flies at $23,698,655.93.
What we are seeing is an increase in boundary-blurring between naturally occurring algorithms and those that we create. This is the thesis of Kevin Slaven’s popular Ted Talk video (below), and his warning that algorithms need “adult supervision.” This was suggested somewhat in the January 2007 Youtube video, “The Machine is Us/ing Us.”
There is no doubt in my mind that we are at the early stages of the intersection of nature, culture and software algorithms. The “Wal-Mart Effect” describes the retail giant’s role as cultural gatekeeper, partly enforced by size, and partly by algorithms. I do not think there is a need for alarm yet, only a call for vigilance.