DRMacIver's Notebook

Life as an anytime algorithm

Life as an anytime algorithm

In computer science we have the (slightly obscure) notion of an anytime algorithm. This is an algorithm that is trying to find some solution to a problem (say, a configuration of a problem that gives the highest score, or a plan that minimizes a cost) and will run to completion if you let it, but also at any point when you get bored you can stop it and ask it for its current best answer and it will give it to you.

An important feature of anytime algorithms is that although they are trying to achieve a specific goal, they make meaningful progress towards that goal along the way, and are designed on the assumption that they might be interrupted at any point and fail to achieve that goal, so do their best to ensure that regardless of when you stop them the effort has not been wasted.

This is often a good way to structure goals in life as well as in algorithm design.

For one thing, this is a partial antidote to the problem of grind. Grinding for a goal in the distant future is unrewarding, but grinding where you are seeing meaningful progress along the way which makes things progressively better on an ongoing basis.

The daily notebook blogging I am doing at the moment is an example of this approach. I think it is likely that I will turn some large fraction of it into a book at some point, but if I were to just work on the book then it would be a giant project that would fail to motivate me due to its size and lack of feedback, while by posting these daily people will riff off them, and respond to them, and they will be useful to the world almost immediately even if I never write that book.

Another example is that of properly investing in capabilities rather than just making a beeline for the goal. Do more or less the opposite of the how to quickly become effective strategy, and invest carefully in the skills that will allow your goal to be more readily achievable. That way if you abandon the goal, for whatever reason, you will retain the skills and may repurpose them in other contexts.