Breadth or Depth-First?


In which I consider the problem of finding meaningful work, recognize its parallel in the startup world, and close some branches of exploration

A couple of years ago I was looking for a central metaphor for a book I was working on about the problem of finding meaning in one’s life choices. My core question was, “Knowing that you could do all sorts of things, which will make you more or less happy, or successful, or fulfilled, how do you decide what you should do?”

While considering myths that might yield some fruit, I stumbled upon a search algorithm called “Ariadne’s thread.”

This is an approach to finding possible solutions to a complex problem. Imagining the world of “all possible solutions” as a branching tree, you venture down a path. At each branch you note where you are and add it to a list of where you have been, so that if you run out of options on this branch, you can return to the last branching point.

Like all metaphors, it has its limitations: you can’t, in fact, return to the branching points in your life and try something different.(1) You can decide to do something that you previously chose not to do, but the system will not be in the same state.(2)

It has an obvious drawback, though, even just as a search algorithm that’s just using CPU cycles, and not burning up years of your limited time on this planet – if you don’t have a way to stop going down a path and turn around, you have no way of knowing that the “right” (best) solution was down another branch entirely.

Interestingly, the vaguely defined problem of “making a living” is pretty much the same problem that startups face: How do you find an interesting problem that you are equipped to work on? How do you know if it is the “best” thing to work on? (Hint: you don’t.) Alright, then… how do you know if it is “good enough” to work on? When do you pivot (move into a connected branch) and when do you close up shop, abandon the job or the business, and shift your energies to something completely different?

Even more interesting, it is mathematically the same problem as solving crystal structures from first principles, namely: traversing a phase space without getting caught in local minima.


Allow me to lean on wikipedia for a moment to consider the merits of the two approaches:

In this context, a search method is described as being complete if it is guaranteed to find a goal state if one exists. Breadth-first search is complete, but depth-first search is not. When applied to infinite graphs represented implicitly, breadth-first search will eventually find the goal state, but depth-first search may get lost in parts of the graph that have no goal state and never return.

https://en.wikipedia.org/wiki/Breadth-first_search

Let’s assume, at least, that there are (in life) ways for each person to be happy, fulfilled, and successful. Enough. Somewhere in the world, there exist (as my son puts it) “islands of potential happiness.” Let’s assume also that there are unsolved problems which contain potential benefits and might allow a company to make some money while solving them. What one needs in either case is a way to declare, “Hey, this thing I’m doing is good enough (for now). It it time to stop traversing the tree and start executing.”

Teasing out a couple more details from these articles, both approaches take about the same time, but only the breadth is protected from getting caught in indefinitely exploring unfruitful branches. Note, though, that a breadth approach will only “eventually” find the solution… if one exists… there is no promise on timeline. Arguably, therefore, there is merit in taking some time to survey the terrain before committing to a particular course in life, but you do need to be able say, “OK. Time’s up on that scanning part. Let’s get down to business.”

If, on the other hand, you are constitutionally inclined to the depth-first approach,3 you also need a way to say, “Hey! This isn’t working… Stop looking and go back up!”4

This is where the sense of metrics comes into play… what are we going to consider a good enough solution? It should probably be decided before the search is started, but we rarely have that luxury. Also, if the happiness literature is to be believed, we suck at guessing what those good-enough solutions are going to look like for our future selves. We need to keep checking in then: does this seem to be working? Is there good reason to believe that we are about to turn a corner, or is it wishful thinking? Do we, in fact, know what we are doing?


The additional layer of complexity is this: many (many) people/businesses are exploring the same space simultaneously, and as they explore it, it changes. Consider, for example, that there may be dozens of people for whom a particular job is a genuinely good fit. Once somebody fills that job, it closes that branch off for all the other people. We can have several food delivery apps, but we probably can’t have dozens or hundreds. That branch is closed for further exploration (unless somebody manages to go past the existing solutions). There is no “next Facebook,” there is only something we haven’t thought of yet. It’s on a different branch of the tree.

Unfortunately, there is no obvious way of getting to it, because we don’t know what we’re trying to get to.

More on this later… because it is something essential about the world.


  1. “What if I had gone to medical school back there when I was 27?”
  2. If you are now 36 with two children, the only question you can answer is, “What if I go to medical school now that I am 36?”
  3. Like, you decided what you were going to be at 14 and have never looked back
  4. “I hate my life,” is a good example. Also, “We’re running out of money and have no real revenue model.”