How Many Steps Do You Really Look Ahead?

The planning/decision-making literature focuses a great deal of attention on computing actions many steps ahead. But it recently struck me that looking ahead is not actually a very natural behavior for humans in most real-time domains (which is most domains).

A simple illustration is the problem of adding milk or cream to your coffee in a self-serve situation. We all recognize that putting the milk in first and then pouring in the coffee eliminates the need for stirring (and therefore saves a wooden stirrer or a spoon-washing). But few people do it. I myself forget about half the time.

Even if you discount the people who prefer to put the milk in later for whatever reason (in order to use the changing color as feedback, perhaps), I bet there’s a sizable number of coffee drinkers who don’t care about the milk-coffee sequence but don’t choose the simpler and less wasteful sequence.


You can find examples everywhere. In cooking, there are dozens of little, local sequencing hacks you can use to reduce the amount of clean up after. For example, in chopping vegetables, if the sequence doesn’t matter, you should do onions and garlic last, so the pungent smell doesn’t contaminate other ingredients. If you need a spoon to stir in a dry and a wet ingredient into a dish, use it first for the dry ingredient to avoid an intermediate washing or the need for a clean spoon. Many such little hacks have now become second nature for me. But I notice that people who cook less frequently, or pay less attention (or simply don’t worry about the cleanup because that’s someone else’s job) don’t do these things.

In driving, only a tiny fraction of drivers try passing maneuvers that require thinking two lane changes ahead rather than one (these admittedly require more than 2x situation awareness to pull off safely).

In most practical real-time domains, I bet that simply going from 1-step look ahead to 2-step look-ahead would create huge gains.

The point of these examples isn’t to preach the virtues of sequencing hacks. They are a matter of taste. You either like thinking about them as little puzzles in everyday life, and get a kick out of learning them, or you don’t.

The actual point I want to make is that we generally suck at thinking about real-time planning more than one step ahead. Not because it is hard (that depends on the context) but because it is not the path of least resistance. And most of the time, we are in path-of-least-resistance mode. The only time we notice and start to optimize is when we repeat a sequence a large number of times.

I’d say we typically do a sequence optimization only when we expect to repeat a sequence at least a few dozen times in the future. So our behavior reveals something: the subjective cost of computing even the simplest local sequencing tweak is high enough that we want to amortize it over at least a few dozen repetitions.

In fact, I’d say the median look-ahead window for most high-variability real-time domains is probably 1. Outside of narrow domains like chess, or highly repetitive and unvarying actions like putting on your shoes, most people don’t in fact look ahead at all. Putting milk in coffee is just high variability enough as a behavior that the milk-before-coffee sequencing does not stabilize for most people.

So how do we get long sequences of actions done right?

We rely on externalized cues that make sure we do things in the right order (or better still, make it impossible to do in the wrong order) — what I called a stable field-flow complex in Tempo, or we practice repeatedly until the right sequence becomes muscle memory.

A stable field-flow complex of sequencing cues is not the same thing as a logical plan.

If you’ve ever tried to follow a  logical, but not psychologically least-effort/intuitive plan (like Ikea assembly instructions) you know how hard it can be to actually do things in the right order.  For at least half the population (probably Myers-Briggs xxxP types), there is a temptation to dive right in and intuitively figure things out one step at a time. It took me being burned a couple of times to develop a proper respect for instructions. I still find them painful though.

2-step-ahead thinking is an acquired habit. You have to acquire it separately in every domain. If you are 2-step-ahead in the kitchen, it does not mean you’ll automatically be that way when doing household repairs.

But in my experience, it is always worth acquiring this habit. I’ve never regretted it.

Get Ribbonfarm in your inbox

Get new post updates by email

New post updates are sent out once a week

About Tempo


  1. I find that these “small optimizations of daily routine” is something more common in the big city dwellers. As any hard-core Bombayite would know, it is not just something that is a time-saving device in everything you do, it becomes a mindset of minimal effort & time. No wasted step. To achieve it you need to anticipate the next 2 or 3 steps.

    A somewhat similar attitude is at play when one pauses to consider automating a seemingly one-off task. At times you may choose to just do it off but often you opt for the joy of finding an ingenious approach, of creating a repeatable & efficient method…

  2. Ho-Sheng Hsiao says

    When you say most people do real-time decision making, this is not true.

    When you are merely reacting to things, you are actually 1 step *behind*. Real-time is very difficult, though it lets you act when people are still reacting.

    You also conflate two different types of planning scenarios. If you have a specific objective, then resequencing is easy (though not many do it). When you are cooking something or making some coffee, you have an end condition. You can shuffle things around. In Go, you see this kind of optimization in the end-game where you try to find the longest sente chains (moves that forces the other player to react to it, which lets you make another move in sente) and shuffle them like puzzle pieces. When looked at it this way, you’re not really optimizing on n-steps. You still only have *one* objective that you are mindful of, even if there are n sub-steps you can shuffle around.

    However, in the real time domain, you do not have this luxury. You don’t have objectives, you have intentions. You don’t have “two moves ahead”, you have potentials. Driving a car is an example of a real-time domain, one where you are performing something rather than making something.

    In real-time, if you are reacting to things, you are n-steps behind. If you are spending a lot of time planning, then you are artificially imposing a model of what is happening, and then reacting to that model. You are still n-steps behind, though you might trick yourself thinking that you are n-steps ahead.

    There’s a particular trick to acting (not reacting) in real-time that still takes advantage of n-step planning. It requires first, being mindful and being present in the moment. Then you extend your mindfulness out into the *potentials* while keeping the center of your awareness in the present moment. Like looking at things out of the corners of your eyes, you process potentials in the same area of the brain that processes peripheral vision. It is much better at processing motion than your foveal focus.

    Muscle memory is not the end-goal of practice and training. It’s the minimum, a prerequisite. Once you get into that real-time, mindful presence, muscle memory gives enough to be functionally fluid. Like a Jazz improvisionist.

    • Good points :)

      Yeah, I was talking much more basic stuff. 1 step ahead of your current decision is 1 step behind the current state of the physical environment.

    • CHoPSTiX says

      The comparison to improvisation is really accurate – jazz pianists don’t practice so they immediately know what to do next. They practice so that they can think about the next steps while playing.
      Muscle memory is about planning while acting.

  3. What kind of unthinking, unoptimized, chaotic heathen puts milk in first? Obviously it goes in last because sugar dissolves more readily in hot liquid, than in lukewarm. As well, the visual feedback of the color change may confer only a secondary benefit from delayed milkification, but its importance should not overlooked.

    Whatever your personal preference, I hope we can all agree there’s a special place in heck for people who set up coffee fixing stations such that the stirrers are the *last* item one can obtain, as opposed to the first. I mean, really, a three-year old could figure that one out!

  4. I feel like I used to do this, but then felt that living too far ahead in the future led to things like not being fully aware of what’s going on immediately around me. But… now that you have brought this notion up, I think I should give it a go again. There are tradeoffs with both approaches. Time to dust it off

  5. Hybrid solution: pour the milk last and stop being so fussy about the stirring. It will have stirred itself before you take your second sip. Stirring coffee is one of those silly pointless behaviors that survives purely through imitation. Cooking and eating seem to involve a lot of those…what the hell is the point of preheating? Have you ever had a meal where the food turned out really poorly and your first thought was – “I wonder s/he preheated the oven?”

    Last one, why do so many otherwise intelligent people cut their meat, then switch their fork and knife to opposite hands, and then switch hands again to cut the next piece? You really can’t stab a piece of meat and accurately convey it to your mouth with the fork in your weak hand?

    Moving on to the larger point, and setting the above comments aside…
    We may be ignoring the possibility that sequenced behaviors are relatively less difficult for some people. It is a bit counter-intuitive but often it is the activities that we perform least well for which we find clever shortcuts. It was *relatively* easy for me to train myself to cut with my strong hand and eat with my weak hand…that is to say, *relative* to how cognitively painful it would be for me to juggle my utensils dozens of times over the course of a meal.

    By contrast, my girlfriend often seems determined to use as many redundant steps/implements when cooking as possible. It would be easy to point out how much extra clean-up this requires (and I have), but I’ve come to realize that the sequencing of these activities is not so much of an obstacle for her. A few extra cooking+clean-up steps for her is like a book with 50 extra pages for me…economy/efficiency is basically irrelevant to the quality of the experience.

  6. sharad reddy says

    This is quite a coincidence, always use milk in my coffee, before I pour the coffee in, so that I can eliminate the stirrer. But again, that’s because I am a militant environmentalist and it feeds my ego, somehow makes me feel better than the people around me. But I have since managed to convert a few people’s behaviors.