Overcoming Overthinking with Markov Chains (Part 2)
Last month I wrote about Markov Chain theory to cure overthinking. The theory says that your future probability is purely independent of your past, aka the memoryless property. What matters is only your current state. My friend with the existential crisis actually tried to apply this algorithm to his brain.
The result? Quite radical and somewhat funny.
In the first week, he acted like someone with amnesia. Every time he made a stupid mistake, like spilling coffee on his laptop keyboard, he just stayed silent for five seconds, then immediately wiped the table without saying a single word. When I asked why he did not throw a tantrum like usual, he casually said that the coffee spill is already a past state, and throwing a tantrum now will not change the probability of his laptop turning back on. Fair enough.
But entering the second week, the implementation of this algorithm started showing bugs.
Because he became too fanatic about the memoryless concept, he started forgetting things that actually require historical data. He asked out the exact same girl who just brutally rejected him last month. When I reminded him that he had already been rejected, he used the Markov Chain excuse: his probability of getting accepted today does not depend on last month's rejection.
I immediately smacked his head.
This is the danger of learning probability halfway. Markov Chains indeed assume the memoryless property to calculate state transitions, but the transition matrix itself is built from a probability distribution formed by the system's historical (empirical) data.
If that girl rejected you last month because you smelled bad and were cheap, and today your state is still smelling bad and being cheap, then your transition probability of getting rejected again remains 99 percent bro. Memoryless does not mean you get amnesia about real-world feedback. Memoryless means you do not need to bring past emotions into today's objective calculations.
Overthinking is different from evaluating. Overthinking is when you think about things you cannot control repeatedly until you paralyze yourself. While evaluating is looking at past logs, finding what variables caused you to error, and then updating your parameters so in the next iteration you do not get the same error.
If you just clear your cache every day without ever fixing the bugs in your code, your life program will stay exactly the same. You might not be overthinking, but you become a foolish person who does not learn from mistakes.
Eventually I had to reconfigure my friend's mindset. I told him, you can apply Markov Chains to things outside your control, like your lecturer's mood or the weather. But for your skills, appearance, and behavior, you need a Reinforcement Learning algorithm. You must receive punishment from past failures so your agent can learn to choose smarter actions in the future.
Now he is somewhat normal. He still smells a bit bad, but at least he is not asking out the same girl three times. Progress is progress.
- Khay