Algorithms to Live By - Deepstash

Explore the World's Best Ideas

Join today and uncover 100+ curated journeys from 50+ topics. Unlock access to our mobile app with extensive features.

The Computer Science of Human Decisions

The Computer Science of Human Decisions

Algorithms to Live By offers shortcuts and hacks to help streamline your life. Algorithms are inserted into computers and other forms of technology to solve problems. However, there is no reason that we cannot use algorithms in our everyday lives. Brian Christian and Tom Griffiths describe how algorithms have been used for centuries. Plus, how we use specific algorithms daily. However, some algorithms are more efficient than others. This book provides an outline of the algorithms that can help make your life easier and more enjoyable. 

613

5.2K reads

Unless we’re willing to spend eons striving for perfection every time we encounter a hitch, hard problems demand that instead of spinning our tires we imagine easier versions and tackle those first. When applied correctly, this is not just wishful thinking, not fantasy or idle daydreaming. It’s one of our best ways of making progress.

– BRIAN CHRISTIAN

635

5.17K reads

Some of the biggest challenges faced by computers and human minds alike: how to manage finite space, finite time, limited attention, unknown unknowns, incomplete information, and an unforeseeable future; how to do so with grace and confidence; and how to do so in a community with others who are all simultaneously trying to do the same.

– BRIAN CHRISTIAN

630

4.4K reads

Algorithms Do Not Just Apply to Computers

Algorithms Do Not Just Apply to Computers

Most people associate algorithms with computers and other forms of technology. However, the word actually dates back to the ninth century. The Persian mathematician, Muhammad Al-Khwarizmi, is the first person to use the word ‘algorithm.’ However, the use of concepts like algorithms dates back to the Sumerians. The Sumerians were a civilization that existed four thousand years ago. This civilization used a finite number of steps to solve problems. We use a finite number of steps to complete multiple tasks each day. Importantly, this is also the technique at the heart of algorithms. 

600

3.19K reads

As long as a set of finite steps are followed, then anything can be an algorithm. For example, a recipe is a type of algorithm. It involves a series of instructions to obtain the desired result. Writing up a list of pros and cons for doing something is an Intuitive Algorithm. 

We might consider these algorithms as more subjective than computer algorithms. Still, these algorithms use the same process and reach the same solution. In both instances, when certain conditions are met, the next step is made in the process.

593

2.7K reads

Algorithms Can Tell Us When to Stop

As well as telling us how to conduct a task step-by-step, algorithms can tell us when to stop doing a task. As humans, we struggle to know when to stop searching for something. Additionally, we have cognitive biases that impact our choices when searching. 

588

2.63K reads

The authors of this book suggest that the Optimal Stopping Algorithm is the solution to this. If there are 100 options, this algorithm will state that you should look at the first 37 without taking any of them. Use these first 37 as a standard. Subsequently, whichever item meets these standards should be taken. This algorithm will not guarantee the best result. However, it will mean you have a much higher chance of acquiring an item significantly better than just guessing. It does not matter what you are searching for: 37% of the total is where you draw your standard. 

618

2.38K reads

Algorithms Can Tell Us When to Start

Algorithms Can Tell Us When to Start

As well as advising us on when we should stop searching, algorithms can also tell us when to explore something new. In the book, the authors give the example of a slot machine. Some people will just sit at the machine until they win. However, there is always a thought in people’s minds whether they should simply walk away despite losing lots of money. Based on the alternative name for slot machines, this dilemma is called the Multi-Armed Bandit Problem. 

588

2.13K reads

One strategy often used by gamblers is to stay if they are winning and shift if they are losing. However, this isn’t a logical way of choosing when to explore something new. Alternatively, a better method is to use the Upper Confidence Bound Algorithm.

585

2.19K reads

Here are the steps to this algorithm, applied to gambling machines:

  1. Find a machine that offers the best expected value. In this case, it is the machine with the biggest jackpot as you are unaware of probabilities.
  2. While playing, make sure that you keep track of the real outcome (how much money you’re winning). The real outcome should be compared with how much you were expecting to win by this point.
  3. If the real outcome is consistently lower than your expected outcome, you should move on to another machine. This machine should be the one with the second-biggest jackpot.
  4. Repeat the process.

609

2.02K reads

Algorithms Can Help Us Organize Our Work

Algorithms Can Help Us Organize Our Work

The authors of this book explain that organized chaos can be fine. As long as you know where everything is, you will be productive. However, if your filing system is not efficiently organized, there are algorithms to improve your organization. 

582

1.89K reads

<p>The authors describe three ...

The authors describe three algorithms, specifically:

  1. Bubble Sort

This algorithm is the least efficient. With this method, you organize one pair at a time. Then, you repeat this process over and over until everything is sorted. The authors give an example of the bubble sorting algorithm for alphabetizing books. With a disorganized shelf, you would start with the letter A. You would compare the first two books and sort these two alphabetically. Then, you compare the item that is now the second book with the third book. This process is repeated until you have reached the end of the collection.

588

1.81K reads

2. Insertion Sort

2. Insertion Sort

The insertion sort method is far more efficient if you have to sort a substantial amount of items. If you consider the book analogy again, the insertion sort method would involve taking all the books off the shelf. Then, placing them back one-by-one, ensuring that the books are placed in the correct order each time you place a book.

588

1.74K reads

3. Merge Sort

Finally, the merge sort method involves dividing everything into multiple piles. Each pile should be sorted from A to Z. Then, these piles should be merged. 

581

1.72K reads

3. Merge Sort

3. Merge Sort

Finally, the merge sort method involves dividing everything into multiple piles. Each pile should be sorted from A to Z. Then, these piles should be merged. 

578

1.64K reads

Thrashing is a very recognizable human state. If you’ve ever had a moment where you wanted to stop doing everything just to have the chance to write down everything you were supposed to be doing, but couldn’t spare the time, you’ve thrashed.

– BRIAN CHRISTIAN

591

1.82K reads

Algorithms Can Help Us Schedule Our Lives

Algorithms Can Help Us Schedule Our Lives

Scheduling our lives can be highly complex and is often a daily challenge. As well as work demands, multiple other life demands make fitting everything difficult. However, some algorithms can help improve how you schedule your life. 

  • The Earliest Due Date Algorithm – A straightforward algorithm. The 1st task you complete is the one with the nearest deadline.
  • Moore’s Algorithm – It recommends skipping the task that requires the most time. Instead, you should work toward finishing more tasks overall. This algorithm is more effective when you do not have enough time to complete every task.

611

1.47K reads

The authors advise you avoid priority inversion at all costs. Priority Inversion is when you focus on too many small tasks, and none of them end up getting done. You should be aiming to solely focus on one task at a time rather than multitasking.

598

1.43K reads

If you want to be a good intuitive Bayesian—if you want to naturally make good predictions, without having to think about what kind of prediction rule is appropriate—you need to protect your priors. Counterintuitively, that might mean turning off the news.

– BRIAN CHRISTIAN

585

1.7K reads

Algorithms Can Help You Predict the Future

Algorithms Can Help You Predict the Future

Predicting probable outcomes is viable when using the correct algorithms. 

Predicting probable outcomes based on algorithms dates back to 18th century England. Reverend Thomas Bayes developed a simple way of predicting future outcomes. The authors of this book apply Bayes’ theorem to lottery scratch tickets. It recommends people who buy scratch tickets consider the prevalence of winning tickets in circulation. With this as an assumption, it is possible to calculate the probability of your tickets’ specific results. 

580

1.28K reads

As with many things, the more information you have, the more precise you will be. One method that utilizes vast amounts of information to predict future outcomes is the phenomenon’s distribution pattern. Other names for this distribution are the normal distribution or bell curve. If something is normally distributed, you can assume it will be characterized by features in the middle rather than extremes when you encounter it.

580

1.21K reads

Algorithms Prevent Data Overload

Data overload is often considered in relation to a classic thought experiment. In this thought experiment, two generals are preparing to launch a joint attack on a city. This city is located in a fortified valley. These generals are on the two hills either side of the valley. So, the only way they can simultaneously attack is by agreeing on an exact time. On top of this, they can only communicate by sending individuals through the valley where their enemies lie. This thought experiment was used by computer scientists as a way of determining algorithms for safe message transmission.

575

1.14K reads

Method I – Retransmitted Till Breakdown

Method I – Retransmitted Till Breakdown

This was the first method created. This solution involved sending multiple messengers with the hope that one would slip through undetected. However, sending too many messengers can lead to an overload. With regard to computers, this would be a server overload.

576

1.24K reads

Method II – Exponential Backoff

Method II – Exponential Backoff

If a server overload is created, then exponential back-off is a method that should work. Instead of frantically hitting refresh, you could wait a few minutes for the traffic to ease. The exponential part relates to how long you wait between refreshes. The authors suggest waiting twice as long each time you are given an error message when refreshing.

577

1.13K reads

Method III – Additive Increase, Multiplicative Decrease

This one hopes to prevent the overload from happening. It determines the max. amount of data a network can handle. It starts by only sending one package of data. Then, if this is fine, it sends double the amount. It continues this process until it reaches the point of overload.

This can be applied to your everyday life. Too much info. can lead to your brain overloading.

∴ you should start by introducing small amounts of information and test how far you can go before your brain is overloaded. Once you know the limit, you'll have a better understanding of when you should stop working on a task.

593

1.02K reads

Even the best strategy sometimes yields bad results—which is why computer scientists take care to distinguish between “process” and “outcome.” If you followed the best possible process, then you’ve done all you can, and you shouldn’t blame yourself if things didn’t go your way.

– BRIAN CHRISTIAN

602

1.09K reads

Algorithms Do Have Their Limits

Complicated scenarios often require complex algorithms to fully understand what is happening. However, algorithms are limited in the complexity with which they can be applied. The issue is that, when predicting something complex, you will be tempted to add variables until the algorithm can fully explain your data. This includes explaining the errors in the data. However, doing this is problematic as it leads to something called over-fitting. You have made the model highly complicated and specific to the data you are using. Hence, it cannot be applied flexibly to other data. 

582

1.01K reads

The greater the uncertainty, the bigger the gap between what you can measure and what matters, the more you should watch out for overfitting – that is, the more you should prefer simplicity.

– TOM GRIFFITHS

592

1.11K reads

Concluding Points

Algorithms let us go for ‘good enough’ rather than always striving for perfection. If we consistently use algorithms in our lives, we will benefit greatly and can start to relax more. Our brains are built like computers. Therefore, like computers, we should start complementing them with algorithms. 

581

1.15K reads

IDEAS CURATED BY

CURATOR'S NOTE

Compelling and entertaining, Algorithms to Live By is packed with practical advice about how to use time, space, and effort more efficiently. And it's a fascinating exploration of the workings of computer science and the human mind

Curious about different takes? Check out our Algorithms to Live By Summary book page to explore multiple unique summaries written by Deepstash users.

K 's ideas are part of this journey:

Learning A Foreign Language

Learn more about computerscience with this collection

How to practice effectively

The importance of consistency

How to immerse yourself in the language

Related collections

Different Perspectives Curated by Others from Algorithms to Live By

Curious about different takes? Check out our book page to explore multiple unique summaries written by Deepstash curators:

Discover Key Ideas from Books on Similar Topics

Minds and Computers

7 ideas

Hackers & Painters

8 ideas

The Happiness Hypothesis

14 ideas

Read & Learn

20x Faster

without
deepstash

with
deepstash

with

deepstash

Personalized microlearning

100+ Learning Journeys

Access to 200,000+ ideas

Access to the mobile app

Unlimited idea saving

Unlimited history

Unlimited listening to ideas

Downloading & offline access

Supercharge your mind with one idea per day

Enter your email and spend 1 minute every day to learn something new.

Email

I agree to receive email updates