A simple formalism illustrates that planning quickly becomes computationally intractable. Borrowing from Lee Merkhofer’s Mathematical Theory for Prioritizing Projects and Optimally Allocating Capital.
Assume there are m potential projects. For now, assume that the projects are independent; that is, it is reasonable to select any combination of projects and the cost and value of any project do not depend on what other projects are selected. Define, for each project i = 1, 2,..., m the zero-one variable . The variable is one if the project is accepted and zero if it is rejected. Let be the incremental value (b for "benefit") of the i'th project and be its cost. Let C be the total available budget. The goal is to select from the available projects the subset of projects with a total cost less than or equal to C that produces the greatest possible total value.
The problem may be expressed mathematically as:
Maximize
Subject to: and 0 or 1 for i = 1, 2,...,m.
This is a zero-one integer optimization problem. It is NP-Complete, i.e. the time required to solve such a problem using any currently known algorithm increases rapidly as the size of the program grows. Naturally, because allocating resources/planning is involves combinations of actions and combinations tend to explode. It can be okay if there the number of possible actions/projects is relatively small, but remember that even 10! is already 3.6 million.
The equation above isn’t comprehensive enough to capture the full detail of real-world planning, but it should suffice to indicate that planning is often of the combinatorially explosive class. (If you want to see how more factors can be included, see the rest of Merkhofer’s paper where he models mutually exclusive/sequential projects, multi-period planning, and sensitivity to delay of projects.)
Note however that this treatment assumes that the benefits and costs are perfectly known when performing the optimization. In the real world, we only have distributions over the benefits and costs. A true formalism of real-world prioritization would be couched in statistical terms.
Plus, the benefits and costs in the above formalism are scalars which can be added and compared, e.g. dollars. In the real world, the benefits and costs we weigh are of disparate types which at best have vague conversion rates between them. So you might imagine that a comprehensive formalism would deal in vectors and would include a complicated function for comparing those vectors.
The point here is not that we should attempt to create or use mathematical models in our planning, but to recognize that it is precisely this math which our brains must find some way of crunching. Understanding that this is the immense problem we are tasked with, we can start to look for ways to handle it better than our default.
And, you know, also give ourselves a bit of break when we find planning hard.
This is a zero-one integer optimization problem. It is NP-Complete
Nitpick: Just because a problem can be formalized as a zero-one integer optimization problem doesn't mean it's NP-complete; you need to show that some NP-complete problem reduces to the planning problem. For example, the problem of finding the largest number in a set is a zero-one optimization problem (it can be formalized as subject to with each being zero or one) but it isn't NP-complete.
That said, the problem you specified is identical to the knapsack problem, which is known to be NP-complete, so your point stands.
That's a fair nitpick, thanks. I was aware it was identical to the knapsack problem, though I do see that my phrasing implied that being a zero-one integer optimization problem automatically makes it NP-Complete. That was sloppy of me.
One other aspect I would include is that even figuring out the set of actions available to you can be difficult. This post seems to be arguing that "thinking inside the box" is already hard; I think figuring out how to "think outside the box" is also both important and hard.
Also, you'll probably enjoy Research as a Stochastic Decision Process.
That's very true. I need to think through that more and figure out how to incorporate into my models. I think there's a lot there which is missing from here.
The discussion of planning across domains seems to ignore the fact that often the best solution to planning a project in a domain with which you're not familiar is to hire/get help from another person. Of course, once you turn planning into a multi-person activity, which I think any comprehensive model of planning should treat it as, you also need to factor in uncertainty about others' plans, which complicates the model quite a bit.
Each plan realisation consists of several stages, which are similar in very different types of tasks:
1) Planning and data gathering about different tasks.
2) Preparation: buying instruments, collecting data for this task, register on Tinder etc.
3) Creating "first draft". Writing the draft, building a prototype, trying to go to the first date.
4) Perfecting the product. Editing, testing with users, many dates.
5) "Selling it" and getting the output. E.g: getting article published and cited, startup becomes unicorn, or stable relation. Selling means that the output of the project becomes useful for some other projects, not necessary money or relation with other people.
6) Ending. It is the moment when you press stop button (or you become internally "peperclipy" by producing more and more thing which you do not need already). For example, you need to stop dating if you get wife. Stopping is not easy, as we tend to do the same things again and again. Stopping is especially difficult if the project fail and I have an option: try more or stop trying.
The most difficult here is the 5th step, selling – this is there plans tend to fail. Because on the first 4 levels I just spend resources and measure the progress by my internal metrics. At the end I finally compare it with the outside world, which could be just my bigger project.
Plans (or tasks) could be presented as blackboxes, which consume X and output Y.
X is:
Y is a desired output, which consists of:
Epistemic confidence: Highly confident. This post doesn’t cover everything relevant to the topic, but I am confident that everything presented is solid.
You may have noticed that planning can be rather difficult. Granted, not all plans are difficult, planning what you’re going to have for dinner isn’t too bad usually; however serious planning can range from merely daunting to seemingly intractable. Think of the challenge of planning towards a satisfying career, a fulfilling relationship, the success of your startup, or the simple preservation and flourishing of human civilization.
I present here a gears-level, reductionist account of planning which makes it starkly clear why planning is hard. The point not being that we should give up because planning is futile. Far from it. With a detailed model of the factors which make planning hard, we can derive a unified roadmap for how to get better at planning and ultimately have a unified, powerful approach to making better plans.
Contents
What is planning?
We can’t talk about why planning is hard before clarify what planning is. It’s pretty simple:
Planning is the selection of actions in order to achieve desired outcomes. [1]
The need for planning arises when the following conditions hold:
These conditions lead to a refinement of the definition above: planning is the selection of actions from among competing alternatives. One must prioritize among one’s available options and allocate resources to whichever options rank most highly.
Often one is allocating resources among multiple options in proportion to their priority, but I think we can still rightly call it prioritization even when one is only deciding between allocating 100% of their resources to only one option of out two. In other words, all of planning is prioritization. [2]
Planning is a Prediction/Information Problem
On what basis should we select or prioritize one action over another? Of course, we should select whichever actions we most expect to lead us to the worlds we most prefer. We should choose actions based on the Expected Value (EV) we assign to them.
And therein lies one of the core challenges of planning. Expecting is just another word for predicting. And predicting is just a word which means assigning each action a probability distribution over the world states it will result in. That’s hard to do well.
Planning is hard because predicting is hard. Of course, predicting is a lot easier when you have more information, but usually we have far less than we’d like, so planning is hard because of limited information. Planning is a prediction problem and an information problem.
People of think of planning as being about “doing”, but in truth planning is just as much about “knowing”. One thing this amounts to is that the instrumental rationality involved in planning is inseparable from the epistemic rationality of having true beliefs, good models, and making accurate predictions. Any planner’s ability is going to be capped by their epistemic skill.
What we can do with this realization is that in any situation where we’re planning, we can pay deliberate attention to the predictions we need to make, the information we have, and ways in which might be able to make better predictions. (I call this the Information Context of a plan.) Alternatively stated, one can begin to approach planning with an uncertainty reduction mindset [3]. Rather than allocating all of one’s resources from the outset, one instead allocates a portion of the resources towards “purchasing” information which improves the subsequent allocation of the rest via improved prediction.
We do this already in many cases (reading reviews, asking friends, trials), but the occasions where we fail to do this can cost us big time: the student who didn’t research before starting law school, the company that spent years developing a product before testing with users, the couple who rushed into marriage, etc. (Not the only cause, but emotions often make us impatient to go all out with an option without adequate consideration.)
Unfortunately, while it’s easy to say that getting more information and reducing uncertainty is a good thing, there’s still a lot of complexity in managing uncertainty. Knowing how much is okay and how to efficiently reduce it. Still, always remembering that prediction is a core challenge of planning is a start.
Planning is a Computation Problem
Unfortunately, even having all the right information and perfect prediction would not be enough to make planning easy. Even when one can perfectly predict the outcome of all alternative options, planning often gives rise to intractably large computational problems which are NP-Complete. (I provide a small mathematical treatment in this comment below.)
We are usually allocating a finite set of resources (our time, our money) amount a set of options in order to accomplish a variety of goals. Example: I might care about my health, entertainment, career, friendships, romance, art, and education. Towards these values, I could in a given week: sleep, play tennis, go to the gym, watch Netflix, work late, call up by bestie, go on Tinder, draw a picture, read a textbook, etc. I get to allocate my time to some combination of activities, but the thing is, the number of possible combinations for allocating my time in a single week is mind-boggling.
A super-simplified example: I have 30 discretionary hours in a week and 10 possible activities I could spend each of those hours on, but I only spend time on activities in two-hour blocks. This results in 10^(30/2) = 10^15 = one thousand trillion different combinations of how I could spend my time that week. Even if I could perfectly predict how much I’d like each combination of time usage, I could never consider them all explicitly.
This computational complexity was very salient to me in my last job as a Product Manager where every six weeks I would choose which projects my team of Data Scientists would work on. Under ideal circumstances, I might get to choose ten projects out of a candidate twenty projects. Choosing was hard, especially since in addition to pure value of each project, I had to juggle the facts that: a) projects were often not independent, b) projects often have future costs, e.g. maintenance and tech debt, c) there are costs to not doing or delaying some projects, d) the benefits of different projects are spread over different time horizons, e) projects aren’t commensurate, e.g. protecting downside risk vs building new functionality, f) some projects are necessary to preserve future optionality, g) budget constraints were soft, I could sometimes steal time from elsewhere it meant I could select a better set of projects.
Even if I’d had perfect information and prediction, which I certainly didn’t, the number of possibilities was large enough to be intractable by any analytical method of prioritization.
I am least certain about how to best tackle the computation problem of planning, but my current guess is that very much relies on effectively using our instinctive, intuitive, System 1 thinking in conjunction with our System 2 thinking. System 1 is better at handling problems too large to be consciously considered, while System 2 can ensure that System 1 is paying attention to all the relevant considerations. I like cost-benefit analyses and decision-matrices not because I think they should make the final decision, but because I think the exercise of creating them loads the right information into System 1.
Planning is a Self-Knowledge & Self-Mastery Problem
In a three-fold manner, planning is a problem of self-knowledge and self-mastery.
Predicting yourself
The first problem of planning stated was that of prediction and information. With the exception of plans made for teams, organizations, countries, and the like, your plans will concern yourself and your actions. That means that invariably one of the most important things to be able to predict is yourself.
Sometimes this is hard because we lack information. It might be hard to predict how you will behave or feel in novel circumstances. Other times it can be hard to predict ourselves because we are averse to making the best possible predictions we could. We refuse to admit that realistically we are not going to get up at 6am to go to the gym.
A particular aspect of yourself which it is key to be able to predict is your motivation. Plans which rely on unrealistic predictions about how motivated you will feel while executing the plans are probably going to be unsuccessful plans.
Advice I have for this aspect of planning is a) start paying attention to yourself and to predicting yourself, fortunately usually you have a lot of data to work with, b) adopt a policy of radical-self honesty, what is true is already so and good predictions are the basis of good plans.
Knowing what you want
This post started with the definition that planning is the selection of actions towards desired outcomes. It is rather important that you correctly identify your actual desired outcomes, otherwise, any actions you select aren’t likely to be worth much. “I thought I wanted X actually but I didn’t” is too often the foil of a supposedly successful plan where the planner evidently lacked good self-prediction.
I’m of the belief that one’s deep-down desired outcomes (personal and moral) are contained inside one’s brain, regardless of whether one has achieved good conscious access to them or inferred all the consequences of them. Much of good planning is reducing uncertainty around what is that you actually want and value.
Self-prediction is a special case of the general prediction/information problem, but it requires different techniques of uncertainty reduction than outside-world prediction does. Introspective methods such as meditation, Focusing, Internal Family Systems, etc. are helpful for having better knowledge of which outcomes you actually want.
Of course, complicating the discovery of what your desired outcomes are is that the notion of you may be a little complicated. I have been persuaded over the years that it can be very useful to think of yourself as being made up of parts or sub-agents, each with their own particular desires. Mastering yourself means coming to understand your parts and their desires leading into an ability to make plans that satisfy all yourself. This can be crucial as making plans which parts of you are not onboard often causes those parts to undermine the plan.
Relatedly, “making yourself do something” should always be a warning sign that some part of you is being disregarded. Sometimes that’s legitimate, but really only if you’re accounting for it in your self-predictions and how it’s going to affect overall success.
Self-mastery of your human brain
Human brains are really, really good, but they’re also really complicated with a lot of different moving pieces and no user manual. Most of us manage, but there are gains to be had from better at operating our own minds.
Heuristics and biases
To get better at predicting, it helps to understand when our brains natively do and don’t make good predictions of their own accord. That leads directly into heuristics and biases and attempts to become a lens which sees its flaws.
Using System 1 (intuition) and System 2 (explicit reason) in harmony
Human brains run on both and each system has its advantages and disadvantages. The human who is leveraging their brain to its fullest extent is using all of their mind in harmony, not privileging or disregarding one kind of thinking inappropriately. This hard though, but really a key part of getting good at planning.
Emotional Mastery
Arguably emotions could be lumped under System 1, but it’s worth calling them out separately. While emotions serve multiple purposes, one of the things they do is carry an important signal of information from your subconscious mind. If you feel anxious about something or having a niggling doubt or whatever, that’s because there’s a part of your mind has been processing raw data and finding it significant. The skilled planner and predictor will be someone who can extract that valuable information from their emotions.
However, emotional mastery is perhaps even more important to planning in another way. Many, many plans are bad plans because people lapse into optimizing for their emotions rather than actual long-term desired outcomes. A person who rushes into a plan with inadequate information because they dislike being in a state of indecision is likely choosing a worse plan because they were unable to handle their unpleasant emotions. Or a person who only executes extremely conservative plans because anything bold makes them too feel anxious. I believe schools of thought which help with emotional mastery such as ACT, CBT, and DBT have a place among the training materials for great planners.
Planning is a Recursive Problem
We’ve covered that planning requires identifying your options, predicting their outcomes, evaluating the goodness of said outcomes, and then somehow crunching through all the different combinations of possible actions to select the best overall set.
Except planning is recursive. Any difficult plan is going to be composed of multiple sub-plans and for each one of those sub-plans the whole process needs to repeated again: identifying options, making predictions, selecting combinations, etc.
First, this adds to the already extensive amount of computation involved in planning. Second, it can often cause plans to span multiple domains straining all but the most versatile generalists. Have pity for the aspiring baker whose plan was to make the best muffins in town, but now has to figure out double-entry accounting and US tax code. Or the physicist-cum-founder who wanted to create clean energy technologies but now needs to figure out a sales and marketing strategy too.
At a base level, the challenges of good planning remain constant between domains, e.g. making good predictions, as well the advisable steps, e.g. reducing uncertainty. Yet the concrete steps for doing these might look very different. The physicist-founder might have been very good at reducing uncertainty in the laboratory with experiments, but the feedback loop for iterating on sales strategy might be completely different, even if in both cases you’re trying to reduce uncertainty.
Shifting between domains is probably a reason why people who are good at reducing uncertainty and planning in some domains are negligent in others. Arguably, the skilled planner is going to figure out the right specific techniques to achieve good plans across all the domains they touch. In some domains, you might have lots of experts you can poll; in others it might be cheap to run experiments; in some you can build good explicit models; in others it’s all about training intuition; and yet in further cases it might not be easy at all and you’re left trying to draw tenuous inferences from historical example.
Summary: What It Takes to Be a Great Planner
We can neatly summarize why planning can be so difficult with a list of all the traits one should have in order to overcome the difficulties.
Endnotes
[1] This broad definition stands in opposition to a common definition which uses planning primarily in contexts of scheduling, e.g. plan your day, plan your week. The broader definition here is essentially synonymous with decision-making, perhaps differing only in connotation. Decisions somewhat imply a one-off choice between options whereas planning implies selection of multiple actions to be taken over time. The term planning also somewhat more than decision-making highlights that there is a goal one wishes to achieve.
[2] I often hear people faced with clear prioritization tasks plead that they need more resource, that resource scarcity is the problem. Sometimes it is, sometimes the best action is to get more resources. But often it is a fallacy to think that if you can't solve prioritization now, it will somehow be easier when you have more resources. However many resources you have, they will be finite and you will still be able to think of things you'd like to do with even more resources, things which feel just as necessary. In short, you should get used to choosing sooner rather than later.
[3] To be technical, uncertainty reduction is about concentrating the probability mass of your prior distribution into narrower bands.