AI is all over the place and this edition of AtomicIdeas...brings you decision making lessons one can learn from computers.
First of all, if you find this comparison between computers and our problems funny, here is a list of problems we often face..and analogy from computers :)
Sorting (organising emails, entering competitions, organising your kitchen cupboards etc.)
Caching (remembering things or having things easily available),
Communication (messaging)
Searching (finding things quickly)
Hope you get the drift.
The book I am talking about is Algorithms to Live By, by Brian Christian. This is a practical guide to the algorithms we use in our day to day life without even realising it.
Sharing 5 ideas from the book (highly recommended if you have been tinkering with computer science).
A quick announcement:
We are moving out of Substack (hopefully by next week).
Your (paid) subscription will be carried forward.
In case you haven’t yet subscribed, go ahead and subscribe using this link.
Optimal Stopping
When to stop looking.
Time is an important factor in decision making. There is often a cost to taking too much time when making a decision. Knowing when to stop looking is a huge attribute, but there is an algorithm to it.
A famous optimal stopping problem is the Secretary Problem.
The problem involves finding the best person for a secretary role from n applicants. Each candidate is interviewed in order and after each interview you have to make a decision to hire the candidate or not. The decision is irrevocable - i.e. at what point should you stop interviewing candidates and take the next best applicant you find (even if there is potentially a better one later in the list of applicants).
The best algorithm for solving this problem is only correct 37% of the time - surprisingly low!
How to apply in the ‘secretary problem’ statement
The best stopping rule defines an arbitrary search period where you assess the search space before making any hiring decisions.
After this period (i.e. the first 30 candidates), you should immediately hire the next applicant you see that was better than any of the previous applicants already interviewed.
Instead of thinking about only the next decision you will make, think about all of the decisions you are going to make about the same options in the future.
Explore vs Exploit
When should you be exploring new options and when should you start settling for the best option you already know?
Give yourself enough time to explore. Exploration has a higher payoff than exploitation in the early stages. However, when time is running out, exploit what you know!
Consider these concepts:Â
Regret Minimisation Framework: When you look back on your life when you’re 80, what will you regret least?
Exploring and Ageing
Exploring: In decision making, we consider the single highest pay-off on our single decision, but in the long term, it’s way more efficient to first explore your options, before exploiting the highest pay-off decision.
Ageing: Deepest insight about later life is that you can exploit knowledge acquired over decades — life should get better over time.
Sorting
Sorting is one of the most fundamental problems that computers solve for us.
Bubble sort + Insertion sort: when you put the book alphabetically against a shelf of books, there are a billion different permutations and options.
Mergesort: when you compare two sets against each other and sort each time, then compare them against the next set
Bucketsort: putting things into buckets/classifying
Single elimination: all it tells you is the 1st place, but all other places in the ranking are not truly representative
Round robin: gives you full information, but also requires the most effort.
Caching - Forget About it
Least Recently Used (LRU) algorithm is the most effective form of caching. Keep documents or items you used recently close to you as you are most likely to use them again in the near future
Scheduling - First Things First
Optimal scheduling is hard and sometimes impossible. Identify blockers, beware of context switching overheads and use heuristics to identify which tasks to complete first. Don’t stress about it - starting in the wrong order is better than not starting at all!
Before you can have a plan, you must first choose a metric, which metric you choice will directory affect which scheduling approaches are best.
In computer science, there is a concept called blocking . Blocking occurs when the main task is ‘blocked’ because resources are being used by another, less important, task. In which case, the main priority should be to clear the trivial task rather than waiting it out and returning to the main task.
Similarly, in day to day life, sometimes that which matters most cannot be done until that which matters least is finished. There is no choice but to treat that unimportant thing as being every bit as important as whatever it is blocking. Make sure you identify any trivial blockers and get them out of the way!
Hope this was useful :) It definitely gave me a new perspective to think about decision making.
Cheers and Have a great weekend!
ashish.