Algorithms to Live By
After listening to the 80,000 hours podcast episode 48 I realized that this book was right up my alley and decided it was worth a book review awhile ago but never put it together until now.
Key Concepts and Algorithms:
-
Optimal Stopping – The Secretary Problem.
-
Optimal Stopping with full information (Threshold rule). Set a threshold and anyone over that threshold.
-
Multi-Armed Bandit Problem.
-
Regret Minimization Framework (upper confidence bound).
-
A/B Testing.
-
Adaptive Trials.
-
Time Complexity Analysis:
Worst case: O(Of a thing)
Average Case: Θ(Of a thing)
Best Case: Ω(Of a thing)
-
Err on the side of messiness
-
Caching: Lots exist but here are some easy ones I like.
a) First in first out (FIFO)
b) Last in first out (LIFO)
c) Least recently used (LRU)
-
Minimizing Maximum Lateness.
-
Moore’s Algorithm: the official “oh shit, that’s due super soon” algorithm.
-
Thrashing, how do I remove it as an issue.
-
Interrupt Coalescing: batching related tasks into a specific timeframe.
-
Response-Time vs Throughput: being available for stuff vs getting stuff done.
-
Overfitting, Cross Validation.
-
The traveling salesman problem.
-
Constraint Relaxation.
-
Computational Kindness
Ask for meetings, appointments, etc. at specific times. Adding constraints to problems helps elimination ambiguity.
Say your preferences instead being “open to whatever.”