Wednesday, June 9, 2010

Goal Stacks

In the 1960s, AI researchers Allan Newell and Herbert Simon modeled human problem solving as the basis for computer programs that could perform intelligently. One important feature of their model was the goal stack. A goal stack is a prioritized list, usually fairly short, of goals formed by the intelligent entity, whether human or machine. When the goal of highest priority is achieved, it is "popped" from memory, and then the next goal is pursued. Sometimes complex goals are subdivided into more manageable subgoals. Consider the ambitious goal of cooking a Thanksgiving dinner, and it's clear that creating subgoals is the way to go. The prioritized goal stack is quite important to intelligent thought and behavior. In humans, though, it is bounded by the limited capacity and fragile evanescence of short-term memory. Sadly, our conscious processor really can't hold much and is in constant risk of dropping items. This is why we write things down: memos to self, to-do lists, and so on. Even so, I have found that I can be pretty efficient when I can concentrate on just a few high priority items. What's important today? Put it in your goal stack--then start popping.

No comments: