Annealing the Tactical Pattern Stack

by Venkat on October 2, 2012

Human behaviors are complicated things. They are easy to describe, as fragments of narratives, but hard to unpack in useful and fundamental ways. In Tempo, I offered a model of behavior where universal tactics (universal in the sense of arising from universally shared conceptual metaphors, and being enacted in domain-specific ways) form a basic vocabulary, and are enacted through basic decision patterns, which are like basic sentence structures in language.

I suggested that there are four basic kinds of tactical pattern: reactive, deliberative, procedural and opportunistic, that could be conceptualized via this 2×2, where the x-axis represents the locus of the information driving the action (inside/outside your head) and the y-axis represents whether the information has high or low visibility (i.e. whether it is explicit and in awareness, or whether it is part of the frame/background, and below awareness).

While writing the book, I tried to figure out whether these behaviors also form a natural hierarchy of sorts. I was unable to make up my mind, so I did not include the idea in the book. Now I think I have a good model. The stack looks like this (the simplicity is deceptive):

Why? And how should you understand this diagram?

It took me a long time to get to this, so the logic is deceptively simple. Procedural patterns are the most completely learned behaviors inside your head or the most solidly codified and embedded patterns in the environment (via field-flow complexes for instance). Sometimes these patterns have sunk so low that they are not in the brain at all. Inside the body, that corresponds to muscle memory. Outside, it corresponds to things that are not in the form of signage or obvious parts of user experiences, but things that have become very deeply normalized, so that we cannot think of them in other ways except under abnormal circumstances (such as the idea that we call our hand-held computers “phones”).

This layer contains most of the data informing behavior, and is embodied in ways that represent optimization for efficient execution, not comprehension, appreciation or awareness. It is what AI people call “frame information.”

The next level up is deliberative. This is the layer that contains our pre-computed inferences and decisions that arise from explicit mental models. Inside our heads, this maps to “planning” but that’s actually a relatively uninteresting special case.

The most common and rich mapping of deliberative patterns is to work-in-progress rituals that haven’t stabilized. Incomplete learning states in other words. Things that are not unconscious, have a certain visible and comprehended logic to them, and have become robustly algorithmic, thanks to having been repeated countless times, but are not yet automatic.

Finally, the top level is driven mostly by our attractions and aversions. Opportunism is mostly driven by attractions, while reactions are mostly driven by aversions (there is a lot more to say about this, but I’ll leave it at that for now).

Daily Routines as an Example

A good example is your daily routine. It is a relatively predictable behavior, composed of a set of individual behaviors built out to fill out a defined epoch (from sleep to sleep; reboot to reboot).

How do you actually execute a “daily routine”? Is it actually as predictable as the phrase indicates?

Here’s how I do mine (by design, most of my days are empty of hard calendar constraints; I avoid all but the most unavoidable of business meetings and move as much as possible to asynchronous interactions):

Pick a template: You start at the deliberative layer, not the procedural layer, and make up a rough scaffolding for your day, based on a few different templates. For me, for instance, one template is: pack lunch and gym bag, go to cafe #1, eat lunch, go to cafe #2, go to gym. Another is go to cafe #1, come home, eat lunch, nap, go to gym. This template is something I pick without even thinking much, unless it is a “special” day in some sense (I have visitors, evening plans or meetings).

Populate the template: Then I make a tentative commitment to how I am going to fill up that template. This is still deliberative. For instance, I might decide that I’ll spend the morning session working on a blog post, and the afternoon session on putting together some material a client has asked for. While picking out my gym clothes, I generally decide whether I plan to run on the treadmill or do some weights. I usually don’t pick the cafe I want to work out of for the day until I am actually in the car. I’ve sort of trained myself to figure out my mood and pick an appropriate cafe the moment I get into the car.

Navigate Content Disruptions: Then email and news hit, during the breakfast radar check. About a quarter of the time, something happens to derail the content of my plan, but not the template. An urgent request from a client or friend, or a great idea triggered by a news article that I need to capture and flesh out via a brainstorm. These types of disruptions generally happen early in the day for me, if they happen at all.

Navigate Template Disruptions: Templates rarely break due to logical reasons (like an emergency). They usually break for emotional reasons. I might get depressed and lose the motivation to work out at the gym, or my morning session might leave me so frazzled, I have to switch patterns and make it a nap day instead of a non-nap day. Or I get hungrier or more upset than I expected to get and eat junk/eat too much, which derails the rest of the day. Sometimes the disruption is via dissipation, and I get sucked into some sort of online click-click-click pattern of stupidity so that my plans get derailed entirely because of lack of fuel. I still stick to the structure, but the content becomes worthless. In all cases, the key to structural disruption of the template I chose is due to unmanaged emotions. As I get more practice with a new template, it becomes more robust to emotional disruption. This is the heart of ritualization. You build in subtle cues and micro-behaviors that make it emotionally resilient (as opposed to resilient to functional/logical breaks).

Navigate bugs: If your chosen template is relatively new, it is probably buggy. For instance, I recently moved to a home that was relatively far from my favorite cafes and gym, compared to my old home. So coming home for a lunch and a nap became expensive in terms of time/gas. After eating out for lunch a little too often over a week, I started packing lunch. After realizing that I didn’t like to do the longer drive home in sweaty clothes, and that I wanted to sometimes work out during the lunch break between cafe sessions, rather than the end of the day, I started packing a change of clothes and showering at the gym. These “bugs” in a new template need to be worked out while it is settling into a ritual. Once it is ritualized, it becomes harder to change.

Navigate deep breaks: And sometimes, the disruption is serious enough that I go meta and start thinking about my framing routines and procedures. If I don’t exercise discipline, this can regress into pointless introspection. If I end up spending too many days in a row failing in a predictable way (for instance, planning to do two 4-hour work sessions, but consistently lacking the energy to get through the second one, which happened recently), I end up analyzing what is going on and modifying my behaviors appropriately at a deeper level. This is the only time I dive into the procedural layer of the stack, which contains the implicit logic assumed by the various deliberative templates. For instance, I used to work out thrice a week, but now I try to get in four or five workouts if I can, even if it is only some quick calisthenics. This solved my “enough energy for two sessions a day” problem.

People have different constraints, and bring different levels of discipline to daily routine development. Some have packed calendars that drains them of energy but requires less thinking daily. Others try to explicitly write down their plans for the next day at bedtime. Others don’t find the “morning derail” as valuable as I do (reactive and opportunistic patterns are how I get a lot of value captured, and are low cost for me, but for others it is expensive and low-value), and discipline themselves not to look at email until late in the day.

The Logic of the Stack

When you actually analyze a routine this way, you realize why the patterns are stacked the way they are. The stack reflects logical dependencies and obvious, overt abstraction layers in generating behaviors, but also sustains an entire range of learning, emotion-management, stabilization, error-correction and robustification behaviors. Good rituals don’t just happen. In our complicated times, they cannot even be reliably copied or imitated. You have to develop the meta-cognitive skills to constantly improve your routines consciously, otherwise they will fall apart. This is the deliberate practice of life itself, rather than of a particular skill like piano playing.

The stack as I’ve drawn it is similar to the natural architecture of the brain (fast, more unconscious inner feedback loops enveloped by slower more conscious, and more open loops, with feedforward). It is also similar to what is known as the “subsumption” architecture, a common high-level way to organize robots. It is also the usual way to construct abstraction hierarchies in computers.

Why is this stack so common?

It is because you have to think about two aspects of information in a behavior. The cost of handling it, and the predictability of the information. High cost, high predictability information gravitates (or sinks) to procedural layers. Low predictability behaviors, whether or not it is costly, necessarily has to live near the top of the stack. A good system has very few things being handled by the top and a lot being handled by the bottom. If things are flipped, you are living a very behaviorally expensive life.

There is really no low-cost way to handle truly unpredictable things. But you can evolve to anticipate more and more (so you can make things more predictable as you learn). Your meta-cognition can become more efficient as well, so that the process of setting up a stack and “turning it on” in a new environment takes less time, each time (this is adaptability basically).

The procedural layer is something most of us aren’t good at hacking. Some people become extreme creatures of habit, and eliminate or block out environmental information flows that might destabilize the procedural layer.

Others are good at hacking the layer, but get so addicted to it that they never stabilize a procedural pattern long enough to use it effectively to sustain activity at the higher layers (higher is “more distant from the environment” in the diagram).

In OODA loop terms, the idea of getting “inside the tempo” of an opponent generally relies on hacking the procedural layer. I will be talking about this idea at the upcoming Boyd and Beyond conference in a couple of weeks.

Ritualization as Behavior Integration

Let’s take a stab at understanding this in a more advanced way.

Learning to manage this stack is not easy at all, and it is best to start with simple and short templates at the deliberative layer. So using something like the Pomodoro technique might be a starting point for some. Others might want to start with bedtime or morning rituals. Or whole-day rituals that are artificially constrained in complexity through external aids (this is what any sort of “school” achieves).

From there you can build “out” in complexity and duration to days, weeks, months, years and a lifetime. You can also build “inwards” and make things far simpler and shorter. This is the direction of various meditative practices. I think our home zone is 20-25 minute periods with 2-3 moving parts in the deliberative templates. Both longer/more complicated and shorter/less complicated take effort.

To improve your ability to program yourself, you have to constantly go both inwards and outwards. Build out too much, and you might end up with Jenga towers of instability because the bigger the structure, the more robust and fine-grained the building blocks have to be. Go inwards too much, and you might lose the ability to handle larger ranges of volatility and complexity: like building perfect bricks, but never learning the broader principles of building houses.

It is sort of a fractally multi-scale approach to a mindful life that has a dynamic range from emptiness and tenths of a second on one extreme to extremely cluttered complexity and decade-long attacks on wicked problems at the other.

When you work on a stack repeatedly like this, it is sort of like annealing a piece of metal. The explicit divisions in the stack start to dissolve, and the whole thing slowly becomes one highly resilient, unified and integrated behavior that appropriately blends a potential for reaction, opportunism, deliberation and procedure into one unified whole. The meta cognition itself becomes proceduralized in the middle stages, at which point you hit increasing returns. Towards the end, you exhaust the variety in the local environment and the opportunistic and reactive layers start to atrophy due to lack of use.

So the whole stack slowly collapses into the procedural layer. Since this is the layer that gets “first shot” at reacting to an input, this is like all the logic of the stack gravitating to the surface, in a manner reminiscent of holography and the idea that the information in a volume can live on the surface. If the annealing has been decreasing the “grain” size of your templates and patterns all along, the whole behavior starts to get very dense. All your moves become rich moves in a sense, and achieve extreme narrative density. The metaphor of a neutron star is very compelling here.

The downside is that unless you happen to be the black hole at the center of the universe, this beautifully ritualized state of mindful living is a local optimum. If you are thrown into a sufficiently alien environment, you will struggle and go through the whole process of creating and collapsing a new behavioral stack of patterns.

Accepting this process of discontinuous learning across many local optima is sort of the definition of mindful living. There is a limit to how far you can go though, since you have a finite brain with a design lifetime of about 70 years and high but limited plasticity.

Thanks to Greg Rader and Ho-Sheng Hsiao for useful discussions that helped me lay out the ideas in this post systematically.

I don’t think these are particularly advanced concepts intellectually. They are the sort of thing that you understand logically when you first encounter them, but don’t fully appreciate until you experience them. I’ve learned a lot from stuff that I first read when I was too inexperienced to actually grok, but when I finally got it (sometimes years later), I usually didn’t need to go back and recheck. The memory of weaker learning was enough to deepen.

I was wondering what I contributed to this until I got to that last section. Does this imply for you that we can stay fresh by continuing to redirect the outer layers of the stack after they have been collapsed? I guess that is what you are getting at when you mention the possibility of exhausting variety in the local environment. Even if you push the outer layers towards breadth, at some point the inner layers would then get sufficiently generalized such that truly novel variety would be hard to come by…or you force even truly novel stimuli into existing implicit mental models.

Something like that (you got inner/outer mixed… the bottom is ‘outer’ in the sense of being the first-responder layer… in the ‘rubber meets the road’ sense).

I keep going back to the metaphor of the juvenile sea sprout which Dennett mentions in his book… a creature that has a brain when young, and swims around, but then finds a suitable anchor point, grabs hold, eats its own brain, and turns into a plant-like entity in adulthood. We kinda don’t eat our brains because we are designed for repeated uprootings and rerootings in new domains. But even so, we have a strong instinct to do something like that.

Yes, and I believe that’s really the only way you can be effective. Effectiveness does involve narrowness, even if you cannot see where the narrowness comes in initially. Domain knowledge matters. Boyd himself was narrowly effective in only two domains: fighter aircraft and grand strategy for the military.

Life is too short to get deep expertise in more than a handful of domains. The domains don’t have to correspond to anything anyone else recognizes though.

Extremely dense post that will leave me thinking, but wondering about two connotations:

1) Talking about the “bottom” of the stack being closer the world: as a programmer, I generally think of that part being the “top”. At the same time, we have a “crushed stack” instead of a stack overflow. Would changing these seemingly minor differences in semantics give the narrative a different spin?

2) On “annealing”: once again, as a programmer, “annealing” brings the effects of noise/randomness to mind rather than the thought of metal smelting into something smoother. This one seemed more poignant, since heat is itself a form of benign noise: would you say that our behavior stack is “annealed” by repeated exposure to an environment due to small but constant bombardments by unexpected events?