Monday, August 7, 2017

Finding your Utility Function, a Discussion on Existentialism

As a preface, this essay reflects my beliefs and opinions at the moment, which I felt would be interesting to capture for future references. I want to emphasize that my beliefs change over time and that I don't want to impose anything on you; feel free to form your own opinions.

I found this paragraph from Vitalik Buterin's personal website especially interesting:
In late 2011, I participated in a high school programming competition where players program the code for a team of simulated robots that then fight each other. I won third place. Someone asked me: what was my strategy? Others gave command-and-control strategies such as "I went for the center". I simply replied "I gave each agent a utility function and let them independently act to maximize their own objectives". That moment would inform my political beliefs for years to come.
Although thinking about life in terms of maximizing utility is just another mask for expressing existentialism, a topic already discussed in abundance, Vitalik's paragraph resonated with me because it helped me think about the meaning of life in an impersonal way.

It's very tempting to compare ourselves against each other, and for society to measure individual success on a standardized ruler. Last semester, there was a period when my friends were getting higher grades on tests while studying less than I was, and simultaneously having enough time to work on cool personal projects. I felt really stupid and my self esteem took a hit.

A couple things helped me escape my unhealthy thoughts. I finally accepted that it was not possible, nor worthwhile, to aim for straight As at MIT, which allowed me to put in less effort into my classes and instead focus on more meaningful pursuits. Another breakthrough, which ironically helped me do much better on tests, was learning how to freakin' stop worrying about things.

Unexpectedly, I discovered how to stop worrying while working on a solution in Google foobar using Dijkstra's algorithm. Dijkstra's algorithm allows you to find the shortest path from a starting node to a target node through evaluating weights to decide on the next node to visit. The idea that Dijkstra's algorithm guarantees that you find the shortest path to a goal helped me internalize the mindset that everything will be alright. Sure, this confidence is unfounded, but it helped me learn how to stop worrying about my goals, and instead focus on the most productive thing to do in the present.

We learn best when we are able to receive feedback for our actions. In the absence of a more abstract goal, feedback can be social validation or money, or anything that fulfills a person's basic needs (see Maslow's hierarchy of needs). I admit that I am incredibly privileged because I was born into a circumstance that has allowed me to focus on more abstract goals. Nonetheless, in order for the analogy of Dijkstra's algorithm to life to work correctly, we need to have a pre-prescribed goal and a clear way of evaluating our path to it.

Given that you are like me, which is privileged as fuck, this is where values come into play. I interpret values as guidelines that people live by. Because "values" sounds too passive to me, I really benefited from interpreting life as a utility function instead. I want to emphasize that seeing life as a utility function is different from adopting values because a utility function means that you are actively trying to maximize your utility, and constantly gauging whether or not your actions are productive in this context.

For example, the utilities that I'm trying to maximize at the moment are to work on interesting problems and make a positive impact on the world, whereas Richard Feynman's probably were to learn as much about the world as possible and to be happy. These are very different motivations and it makes sense that we would approach life differently.

Understanding that everyone's utility functions are different has not only helped me understand people I care about in a deeper way, but also learn how to stop judging people based on my own metrics. Everyone has different motivations in life, and as long as they're not hurting anyone else, that's okay. Nonetheless, I enjoy interacting with people who have evaluated their utility functions at all because it means they've created meaning in their lives, they're more likely to be independent thinkers, and they're more likely to be active in their lives.

In summary, I've recently started to think of life as a utility function while using Dijkstra's algorithm to justify that I will reach my goals in the end, given I am focused on using my time as productively as possible in the present. I really enjoy thinking about these more abstract ideas in the context of computer science concepts. It shows that the humanities and sciences are really more similar than popular perception likes to think.

2 comments:

  1. Haha, great thought!

    Here is a video for you. It's Stephen Boyd got asked about if one's life is convex (and can potentially be solved via convex optimization).

    https://youtu.be/McLq1hEq3UY?t=37m25s

    Have fun :)

    ReplyDelete

Leave a comment!