The Zero One Infinity (ZOI) rule in computer science, is a heuristic proposed by early computing pioneer Willem van der Poel, urging against the use of arbitrary limits in system design. The principle suggests that when deciding how many instances of an entity to allow in a design, the best choice should be one of the values zero, one, or infinity. Although this rule was originally intended to be applied in the contex of designing computer systems, I believe it can be applied more broadly to the design of our lives, and that doing so can help reduce mental strain and increase wellbeing.
The example provided on Wikipedia is a clear application of the principle in the context of designing a computer’s file system. The rule is applied as follows:
- Zero: The topmost directory has zero parent directories; that is, there is no directory that contains the topmost directory.
- One: Each subdirectory has exactly one parent directory.
- Infinity: There is no arbitrary limit on the number of subdirectories that a directory can contain.
Obviously, there are practical limits to the number of subdirectories that can be contained in a directory (constrained by the amount of storage available to the system), but in principle this could be infinite. It is important to point out that the ZOI rule is just a heuristic, not a law. In fact, dogmatically applying it in all circumstances will likely lead to worse outcomes than if it were simply ignored. That said, it is still a useful guideline to keep in mind when designing any sort of system.
When I think about the ZOI rule, I like to view the “one” case through a slightly more abstract lens. Instead of thinking about it as the strict rule that exactly one instance of an entity should exist, I interpret it to mean that there can be any fixed limit on the number of instances, but that there should be only one “correct” choice for what that limit is—i.e., the limit should be determined by the requirements of the system, not by arbitrary constraints. For example, for a system modelling a family tree, it is reasonable to model each child as having exactly two biological parents. Admittedly, it is often possible to reframe this relaxed interpretation under the original strict rule (e.g. a child has exactly one Parent1
and one Parent2
), but I find it helpful to think about it in this way.
So what does this have to do with living a better life?
Although the ZOI rule was originally conceived as a tool to be used when designing computer systems, there is nothing stopping it from being applied to the design of productivity and wellbeing systems, or even more abstractly, the design of our lives. The path that led me to adopt this system, was driven by two key readings:
The first is the notion of System 1 and System 2 thinking laid out in Daniel Kahneman’s fantastic book Thinking, Fast and Slow. The book is worth a read in its entirety, but the key takeaway is that our brains have two modes of thinking: System 1, which is fast, automatic, and intuitive, and System 2, which is slow, deliberate, and analytical. System 1 is responsible for most of our day-to-day decision-making such as driving a car or reading simple text, while System 2 is called upon when we need to make more complex decisions. The trouble is that System 2 thinking is expensive in terms of mental energy, and our brains are wired to avoid using it whenever possible, defaulting to the more approximate, biased and myopic System 1.
I have personally come to make analogy between the System 1/2 thinking and the relationship between an employee and their boss. The employee (System 1) is responsible for most of the day-to-day work, while the boss (System 2) is called upon when more complex decisions need to be made in the pursuit of longer-term goals. Importantly, the boss’s attention is a limited resource, and so they are unable to micro-manage the employee, just as our brains are unable to constantly engage System 2 thinking.
In the same way that an employee may not be the most passionate about their work and may be tempted to slack off, relying on System 1 thinking can lead to suboptimal decisions. The boss may overcome this issue by implementing guidelines and systems to ensure that the employee is able to make the right decisions without needing to be constantly supervised. In a similar way, we can engage our System 2 on a one-off basis to design a system that guide our System 1 thinking in the right direction (I’ll elaborate on what this looks like in a moment), reducing the mental strain of needing to constantly make decisions and increasing the likelihood of making the right ones.
This frame of thinking is also related to the concept of “ego depletion”; the idea that self-control is a limited resource that can be depleted through use. This is why it is so hard to resist eating a piece of cake when you’re tired, or to resist the urge to check your phone when you’re trying to focus on work. By designing systems that guide our System 1 thinking in the right direction, we can reduce the need for self-control and avoid ego depletion.
These ideas have important relevance to the formation of good habits or the avoidance of bad ones, and explains why the approach of “just try harder” is often doomed to fail. This approach is entirely dependent on either System 1 making the right decision, or on System 2 constantly monitoring and correcting System 1. Instead, we should aim to design systems that guide System 1 in the right direction, reducing the need for System 2 to intervene.
(It’s worth making a quick note that both Thinking, Fast and Slow and the concept of ego depletion have been subject to some criticism in recent years, both accused of being subject to the Replication Crisis. That said, I still feel that they provide a useful framework for thinking about productivity, even if their specific studies to do hold up to statistical scrutiny.)
With these guiding principles in mind, let’s see how we can apply the ZOI rule in the context of productivity and wellbeing. We’ll do this by considering the example of cutting out unhealthy food, say cake, from one’s diet. In this case, the question that we wish to apply the ZOI rule to is “how many times per week should I allow myself to eat cake?”.
The ZOI rule suggests that there are only three “valid” answers to this question: zero, one, or infinity. The “zero” case is the most obvious; this is the nuclear option where you refuse to eat cake at all. For some, this may be a workable approach, but it is certainly not a general strategy. Instead, the recommended case would be “one”. This does not mean that you should eat cake exactly once per week, but rather that you should set a fixed limit on the number of times you allow yourself to eat cake, or alternatively, that you should set a fixed rule for when you are allowed to eat cake. For example, you might decide that you are only allowed to eat cake when you go out to eat. Importantly, this rule should be clearly defined with no ambiguity. For example, the rule “I’ll cake whenever I’ve had a tough day at work” does not fit into the “one” case.
This leaves the “infinity” case. Obviously, eating an infinite amount of cake is not inline with the goa we are trying to achieve, and so should not be considered as a valid choice. Instead, this case should be viewed as the default case you will fall into when you do not follow either the “one” or “zero” cases. That is to say, if you don’t have a clear rule for when you are allowed to eat cake, you might as well be saying you can eat cake whenever you want.
Another way to view this is that “zero”, “one” and “infinity” are the only three stable states of some dynamical system, and that the “infinity” case is an attrator to all states that are not “zero” or “one”. In other words, if you do not have a clear rule for when you are allowed to eat cake, you will inevitably fall into the habit of eating cake whenever you want.
The beauty of the “one” case is that it does not require on constant System 2 thinking. Because the rule is pre-defined and unambiguous, System 1 can follow it without needing to engage System 2. In my personal experience, I have found that setting such a clear “one”-case rule, has helped me to be more strict with my goals without introducing additional mental strain that would eventually lead to me giving up on pushing for new habits after a few weeks.