# Training Regime Day 4:  Murphyjitsu

# Introduction

Recall that applied rationality is being able to [properly decide which advisors to use during decision making](https://www.lesswrong.com/posts/xhQxJ7WSZZRkzNZJ8/training-regime-day-1-what-is-applied-rationality).

Imagine that I am throwing a ball up into the air and catching it. Occasionally, I might drop the ball because I am not very good at catching. Now, imagine that I throw the ball up and at the top of the arc, the ball just freezes. Are you surprised?

There is an advisor that is always trying to guess what move the world is going to make next. This part of you is called the inner simulator, or inner sim for short. This advisor has many powers but is particularly underused by most people. This technique aims to extract a lot of useful information from the inner sim.

## Inner Simulator

Here are some prompts that will allow you to get in touch with your inner sim:

1. Imagine your closest companion. Imagine going up to them and flicking them on the nose. How do they react?
2. Imagine that the weather suddenly shifts. If it’s currently sunny, there is now a torrential downpour. If it’s currently raining, the rain abruptly ceases. How surprised are you?
3. Imagine throwing a rubber ball at the wall. How does it bounce? You can probably see the trajectory pretty well, but if I asked you to calculate it explicitly, would you be able to do it?

All of these events are pretty complicated, and yet it seems like most humans are easily able to make reasonably accurate predictions. Even more impressively, these predictions can be made extremely quickly. The inner sim is a very fast and powerful advisor. 

Of course, speed and power have costs. The inner sim requires a lot of data. You (and your evolutionary lineage) live on Earth, where there is gravity and physics is generally Newtonian. Correspondingly, your inner sim is extremely well trained on Newtonian physics with Earth gravity. There are many reasons that humans find things like orbital mechanics and relativity so hard; one of them is that your inner sim is not very good at dealing with non-Newtonian situations that aren’t on Earth.

Similarly, you (and your evolutionary lineage) spend a lot of time interacting with other humans. Correspondingly, your inner sim is fairly good at navigating extremely complex social situations and modeling other people with high accuracy. However, if you've spent most of your life among people of a certain culture, your inner sim will make a lot of errors if you ever use it on people from a culture you haven't been exposed to before.

The inner sim is powerful and fast, but doesn't generalize very well.

# The Techniques
## Surprise-o-meter

Your inner simulator is always trying to predict what is going to happen next. Sometimes, what actually happens does not agree with inner sim's predictions. We call these prediction errors "surprise." 

The key insight is that your inner sim can tell you whether or not you're surprised about an event _without the event actually happening._ By imagining an event happening and calling on inner sim, feelings of surprise can be generated by events that only exist in your brain. 

In different terms, usually, in order to explicitly figure out how probable something is, you have to have a model and some knowledge about the world and some distributions over likely events and then you have to do math, which is hard and takes a long time.

However, the inner sim is a _probability oracle._ You can take any event in the world and just simulate it and your inner sim just tells you how likely it was! (Of course, it doesn't give you a number, it just gives you a vague sensation that you have to interpret, but that's still pretty amazing). We call this use of the inner sim the surprise-o-meter.

Here are some prompts that hopefully help you figure out how to use surprise-o-meter:
1. Imagine that an alarm suddenly goes off. How surprised are you?
2. Imagine that something you thought you had to get done by next week actually needs to be done by tomorrow. How surprised are you?
3. Imagine that you had a doctors appointment yesterday that you forgot about. How surprised are you?
4. Imagine that the device you're using to read this suddenly shuts off. How surprised are you?

A common failure mode when using surprise-o-meter is to do an explicit query instead of an inner sim query. For example, for the alarm prompt, you might think something like "Well, I know that my dorm has a fire alarm system that goes off when there's smoke. I know it's the weekend so people might be cooking. I know it went off twice last week, so I guess I would be a little surprised but not that surprised.” While you're thinking these thoughts, your inner sim is standing in the corner of your mind, neglected.

One way around this is to pay attention to what your body is doing when you imagine events. When I imagine a fire alarm going off, I notice that my face scrunches slightly. From my experience, that means I'm pretty surprised at something. In general, the art of noticing surprise is very difficult.

Another way around this is to check how long you think it would take you to respond to the event. If my computer suddenly shut off while I was writing this, I would continue to sit in my chair for a few seconds and be confused. However, when events line up with my inner sim's expectations, I generally am not confused and am able to act quickly. Noticing confusion and noticing surprise are similar, but they have different effects on your body, so you might be able to notice one more reliably than the other.

## Prehindsight

Disclaimer: I don't remember the details of this story, so I'm just making some up. The core of the story is based in truth.

An engineer has a job manufacturing prototype devices for a lab. Before each prototype can be moved into mass production, it must undergo a series of extensive testing that takes about a month. Since these tests cost a lot of time and money, it is advantageous for the engineer to only submit working prototypes.

The engineer manufactures a prototype, thinks that the design is rock solid, and sends it to the testing facility. One month passes and the engineer sees a lab technician walking towards his desk. The engineer thinks "oh no! The disk snapped." When the technician arrives at the engineers desk, they say "I'm sorry - the disk snapped during testing" and the engineer says "I know, I know." 

Knowing what you know about this story, how could the engineer devise a strategy to produce better prototypes in the future?

One possible strategy is to get the lab technician to walk towards the engineers desk _before_ submitting the prototype. This strategy is inconvenient for the technician, but it might be worth it. Another strategy is for the engineer to just _imagine_ that the lab technician is walking towards their desk. This is the essence of prehindsight.

In general, the way to apply prehindsight is to imagine that something went wrong and to ask your inner sim why it went wrong. Your inner sim contains pretty detailed models of how most things in the world work (especially yourself), so most of the time it will be able to give you a good answer as to the most likely failure case.

Here are some prompts that hopefully help you figure out how to use prehindsight:
1. You're late for work. What happened?
2. You forget to do <important task>. What happened?
3. You sleep poorly. What happened?
4. Your close friend is mad at you. What happened?

The common failure mode when using surprise-o-meter extends to prehindsight as well. When trying to figure out why you're late for work, it's tempting to think something like "Oh, I'm usually not late for work, but in the past, when I've been late for work, it's because there was a traffic jam. This means that what probably happened is that there was a traffic jam." This does not mean that the answer isn't going to be a traffic jam; rather, doing explicit reasoning means the speed and power of inner sim is being neglected. (Also, your inner sim can be wrong and you can use explicit reasoning to realize this and make better predictions, if you have the time.)

In my experience, properly using your inner sim to do prehindsight results in an extremely quick answer with almost no explicit thinking. If I forgot to do an important task, my inner sim nearly instantly tells me that I forgot to check my calendar. The speed at which you arrive at an answer gives you information as to whether or not inner sim was involved.

# Murphyjitsu

[Murphy's Law](https://www.wikiwand.com/en/Murphy%27s_law) says that "anything that can go wrong will go wrong." Murphyjitsu is the art of making plans in which nothing can go wrong, which implies that nothing will go wrong (take that Murphy!). 

Murphyjitsu combines surprise-o-meter and prehindsight to make an iterative method of plan improvement. The steps are as follows:

1. Have a plan.
2. Imagine that the plan fails
   1. Use surprise-o-meter to figure out how surprised you are that your plan failed
   2. Use prehindsight to figure out what the most likely cause of the failure was
3. Use your brain to generate a new plan that avoids/addresses the most likely cause of failure
4. Now you have a new plan, so go back to (1)

When do you stop? The optimistic answer is until you are infinitely surprised that your plan fails and prehindsight generates no possible causes of failure. The realistic answer is when you're surprised enough that your plan fails that you are comfortable executing it. Remember that if A and B are both plans to accomplish a goal, "Do A and do B" is probably a better plan to accomplish that goal. If it is very important that you accomplish a goal, pursuing multiple strategies is probably a good idea.

The way it's presented above, murphyjitsu is a linear process. However, you can always branch and backtrack to move between different plans. For example, if I have some plan with some failure mode, I can think of multiple possible ways to address that failure. I can then use surprise-o-meter to figure out which strategy is most likely to avoid that failure mode.

One possible failure mode is that you can't think of an original plan. To this, I say that _the trivial plan is a plan._ If I want to get to work on time, the plan "get to work on time" is a (trivial) plan to get to work on time. I can then apply murphyjitsu on it. One of the powers of murphyjitsu is that you only have to expand the plan/add detail for parts of the plan that are likely to fail. If there is some part of the plan that your inner sim is very confident in, then you never have to flesh out what actually happens.

Another possible failure mode is failures of imagination. Sometimes your plan is something vague like "eat more vegetables." It is difficult to imagine what failing to "eat more vegetables" even looks like. In these scenarios, you can either make your plan more specific ("eat 3 servings of vegetables"), make the imagined failure more specific ("It's 11pm and you realize that you have not eaten a single vegetable") or do both. A strategy that often works for me is to come up with an extremely specific failure event because my inner sim seems to deal better with specificity. 

As the [haiku](https://twitter.com/rationalhaikus/status/1228964738777976833) goes:

>I have a good plan.

>I imagine it failing.

>I have a bad plan.


# Exercise
0. Pick a bug
   * remember to [build form](https://www.lesswrong.com/posts/NeGC3TFXMX8sxLNdY/training-regime-day-3-tips-and-tricks)
1. Come up with a plan to solve your bug
2. Apply murphyjitsu until you're surprised enough that it fails 
3. Execute your plan (this step is probably the most important step)