Algorithms to Live By – The Computer Science of Human Decisions
blog.galowicz.de
blog.galowicz.de
1. reject the first ≈ 37% of candidates; 2. choose the subsequent candidate that is better then any seen so far.
Podcast and transcript on it here. https://www.econtalk.org/russ-roberts-and-mike-munger-on-wil...
For me the key thing is that when something is too complicated to quantify, attempting to quantify it will result in worse decisions. A bit like Hayek's calculation problem for the economy but for personal decisions.
It's a useless (tautological) statement unless we start with a good definition of what is and is not an "algorithm". From a cursory glance, this seems trickier than it looks, and once we have a constrained definition it's not clear any more that human minds operate in the same framework (strong claims require strong evidence).
Eg: If we define algorithms as what can be implemented on a Turing machine, then we're necessarily talking deterministic algorithms (allowing pseudorandomness), etc.
For example, say there’s a goose looking for a mate and they only look at geese of the opposite sex, but in fact, that specific goose’s optimal mate type is a black swan. Maybe it’s just me, but at the point you’re able to limit yourself to a type of X then you likely known Y are the attributes that best define it.
Am I missing something other than the obvious point that as the selector you aware of a finite set or the spectrum of quality within it, but lack control over the order for which possible candidates are presented for selection?
The assumption is you don't known the set of potential matches, or the order they come in, or anything really. But there is a deadline for the decision (or a maximum number of attempts). So how to balance making attempts to gather information with committing to a final decision so you don't run out of time? All else being equal, the rule is 1/e. Spend the first 37% of your time/attempts gathering information, then commit to the next option that's better than you've seen.
This doesn't guarantee a good match (or even a match!) but probabilistically the strategy is optimal.
For what value function? It is basically never the case that my value function is "all choices other than the optimal are equally bad" -- which is what this rule is based on.
As a personal opinion, this drives me up the wall. There is a great problem here, and there is a whole area (several of them, actually!) of applied math dedicated to it (Statistical Decision Theory, Reinforcement Learning, you name it). Instead we get this toy version -- which at best is an oversimplified intro to he subject, and at worst an excuse to bamboozle with math-fairy-dust -- brought out as some kind of rule "to live by". Your algorithm is bad, and you should feel bad.
That is, this may be a simplified version of the problem, but it is a legit problem from that field. And the results being presented here don't disagree with the legit problem, do they?
Now, is it a simplification of a simplification? Sure. I'm not clear on why it is as bad as you are putting forth, though.
Don't get me wrong, I love algorithms, CS and math and very much liked learning the secretary problem and solution. I just wouldn't think of it as practically useful.
"We don't have an objective or preexisting sense of what makes for a good or bad applicant; moreover, when we compare two of them we know which of the two is better, but not by how much." (p. 18)
They then go on to explain stopping thresholds in the cases when you do have full information.
I think the key thing is that a priori you don't know what the spectrum of quality is in the initial set. You're basing "the bar" on what you've just seen. It's like dating, you might pass on some great people before you realize what the dating pool really looks like.
"[…] focusing on production metrics led supervisors to neglect maintenance and repairs, setting up future catastrophe. Such problems can’t simply be dismissed as a failure to achieve management goals. Rather, they are the opposite: The ruthless and clever optimization of the wrong thing."
Southwest Airlines.
Once Upon An Algorithm, By Martin Erwig https://mitpress.mit.edu/9780262545297/once-upon-an-algorith...
Wonder if anyone has read it and has thoughts.
Edit: the stopping and explore/exploit chapters mirror my career too
It causes a fair amount of friction with housemates, though. Have you figured out any way to alleviate that when it comes to areas used by multiple people?
Honestly, I'm still pretty shit at finding things, but this strategy has helped considerably.
This also works great, for example, to answer whether you should make plans for Christmas 2023 with the girl you have been seeing for two months now: probably not yet.
Quite often though, you know a little about some thing. How do you adjust your heuristics then? What about the job that I started two months ago, should I expect to work there by December 2023? If the US was founded in 1776, how long will it still exist?
When you know more, you certainly should adjust. For the job example, you might think "how long have I usually stayed jobs that have lasted least two months?", "how long do people usually stay in jobs if they make it through the first two months?". Generally speaking, Bayes' theorem is the technical answer to "how do you adjust". Not that I ever actually do that...but I think it's the technically correct answer.
In my case, I hate cutting people off because I know people can change. What I do to manage relationships is run a forgiving version of exponential backoff. Start off friendly and forgiving. If someone becomes transgressive, increase the latency between interactions. If the transgressions continue, double the latency. If bad interactions persist, the time latency can go on to months or even years which means you'll probably never interact with that person again. Conversely, if an interaction goes well, reduce the delay for when you're willing to meet again. E.g. say an irritating individual causes the latency to go to once a month. If you have an interaction that goes well then the latency drops to 2 weeks. If interactions continue to go well they drop further to say no latency, i.e. you're willing to meet this person whenever. Obviously it's not perfect but it suites my needs quite well.
I also found his chapter on "overfitting" excellent. I like to think of it as "smart person disease." Big idea is that having more data can actually hamper decision making instead of enhance it because you winde up solving the wrong problem.
> Caching gives us the language to understand what’s happening. We say “brain fart” when we should really say “cache miss”.
Sorry, but how can anyone find this book insightful? Doesn't it sound dumb to anyone else? Seems as if the author made list of bunch of algorithms and filled up hundreds of pages with lazy analogies. Having read a bunch of similar books (classic self-help crap), I must say that these books are a giant waste of time. It reminds me of mental models. Reading about mental models isn't going to magically make you smarter, you'll likely develop on your own from experience. But hey, if it helps you, awesome. Just giving my two cents as a person who has largely become disillusioned with books like these.
I can warmly recommend the book, though.