Monday, March 25, 2013


My latest non-fiction is Daniel Kahneman's Thinking, Fast and Slow. The book is an exposition of the work that won him a Nobel Memorial Prize, and that work has by now permeated much of psychology, economics and antropology, so the ideas were not especially strange to me. His fundamental argument is that the mind has two systems that work in parallel, the fast part that makes instinctive decisions and a slow part that can do calculations and logical analysis.

This notion is not even slightly surprising to the designer of robots. Robotic control systems (and other complex control systems) are designed in layers. Typically there will be a layer that performs some routine task (like go to a goal) and above it a layer that is called on only when some condition threatens the accomplishment of the goal seeking. The higher layer is responsible for switching to alternate behaviors when called for (avoid obstacle, etc). Still higher layers will perform higher level tasks like route planning.

Even simple animals like insects are more complex than robots, but they incorporate similar mechanisms. Both of the kinds of tasks Kahneman considers are pretty high level, but I don't doubt that many lower level layers exist as well.

One theme Kahneman promises to address is how trusting the wrong layer leads us into mistakes. One tidbit already mentioned (pg 37) is that recognizing other peoples mistakes is easier than recognizing our own - another good reason for arguing, in my opinion.