Email is a wonderful thing for people whose role in life is to be on top of things. But not for me; my role is to be on the bottom of things
Donald E. Knuth1
Any software engineer worth their salt has learned about different types of search algorithms, particular two of the most basic: Depth First Search and Breadth First Search. One goes deep into each path in search of answers whereas the other spans all paths at the same level before going another level deep.
To choose one over the other[^For pratical matters, one would use, depending on each situation, more sophisticated search techniques like A*. But this is not an article to explore search algorithms.], there are a few considerations2:
In general, usually, you would want to:
- use BFS - when you want to find the shortest path from a certain source node to a certain destination. (Or more generally, the smallest number of steps to reach the end state from a given initial state.)
- use DFS - when you want to exhaust all possibilities, and check which one is the best/count the number of all possible ways.
More importantly: if the tree/graph is very wide, a BFS might need too much memory, so it might be completely impractical.
Let’s talk about the human brain and how we store data.
A Soviet psychologist named Bluma Zeigarnik went to lunch and met a waiter whose memory allowed him to remember the whole table’s order without using any written notes. The story tells that, after the meal, unfortunately Zeigarnik forgot her jacket and had to return to the restaurant. She found then that the waiter with remarkable memory didn’t remember her. As she discussed this with the waiter, he explained that all the waiters had no problem remembering the orders and matching them with the guests at the table. But the very second diners left the restaurant, the waiters all forgot them completely and focused on the next group.
She found this to be a generalized human trait through further experimentation. Namely she found that open tasks occupy our short term memory until they are done.
This means that, as humans, switching between different open topics is more costly storage wise in our brains than completing each task and then moving on. So we have real switching costs.
Now, making the parallel between machine and humans it would seem that it would be ideal for Humans to use a Deep First Search approach when solving problems (taking one at a time, solving it, pass to the next one) considering:
Given that our memory is limited and the graph of problems is very wide, a BFS approach is non ideal.
From another perspective, I think that, when we’re making decisions, we should look to exhaust possibilities, leaving us to make solid decisions. Let’s look at an example of someone who does this well.
Let’s look the strategy employed by Charlie Munger from Berkshire Hathaway (with his partner, the legendary Warren Buffet) in investments and acquisitions of businesses over time4. Charlie’s strategy has been one, over 55 years, of Extreme patience + extreme decisiveness. The decision to invest in a business takes a comprehensive and extensive darwinistic checklist that includes all the external and internal aspects of a company. Once they decide that they a particular company passes the first extensive part of checklists, to avoid follow their ‘affection’, and before they “pull the trigger”, they further challenge a decision by going deep into another checklist which maps competitive advantages, opportunity cost of capital, continent exit strategies, current price/volume/trading considerations etc. On the unlikely scenario that a business does survive this extensive diligent process, by virtue of having gone deep into the details, they make a large investment since their conviction is very high.
So, in a sense, they do all the really hard work of understanding if a business is good. And because they went deep, they have high conviction.
On the other hand, and logically so, Charlie believes that diversification does not make sense for investors given that it is a broad strategy and that “any idiot could diversify a portfolio”.5
Mapping back to how machines solve problems, Charlie would prefer the DFS strategy given that he wants to be right and exhaust all possibilities before making an investment.
In this way, Charlie is fully owning the decision to invest. Alternatively, when you rent a problem and you don’t go deep enough in understanding your decision, you need to de-risk it by diversifying.
By going deep into each decision, you become an owner of the problem you’re solving. You become a driver. By going broad (and, inevitably, shallow), you rent the problems. You become a passenger.
With this mental model, decisions should be made as if we could not remake them. This is the true way to make work happen.6 This forces us to have full attention to details and go deep into the topics. If you approach each decision in “decide once” way, you’ll have high conviction, like Charlie does.