Determinism (Computer Science)
A deterministic algorithm is an algorithm which, given a particular input, will always produce the same output, with the underlying machine always passing through the same sequence of states.
Nondeterminism (Computer Science)
A nondeterministic algorithm is an algorithm that, even for the same input, can exhibit different behaviors on different runs, as opposed to a deterministic algorithm.
When I was younger, I was really focused on making specific choices. I wanted to seek a determined life. Doing the right things, knowing what I wanted, and achieving a specific outcome was my primary goal. In the early stages, this philosophy held up well. I had to go through life and make a lot of specific decisions about school, interests, and careers. I was living alongside peers who were also making specific decisions about those three topics.
I put a lot of pressure on myself to you know what I wanted and to figure things out mentally. If I did not know what I wanted or if things did not make sense mentally, I would reject an experience. My experiences had to come from specifically knowing what I wanted.
Those specific decisions put me on a path to doing something enjoyable and useful for the world. For most of my life, I admired people who knew what they wanted, went after it, and got it. I admired people who were “deterministic” in nature.
In this next phase of my life, I think having a “deterministic” attitude towards life will make me miss a lot of opportunities. I will be less adaptive to social situations & will not consider the best possibilities of life and others. And I want to help explain how I came to this consideration.
When you go through life, you have to often make a decision with imperfect (or fraudulent) information. It is becoming increasingly clear that approaching existence from a “non-deterministic” perspective can provide a much more meaningful & fulfilling existence.
When things are known & predictable, when the future aligns into measurable buckets, you are unable to consider the unknown variables.
- Known knowns (“I know that I know this”) (“I know this variable exists and I know its value”)
- Known unknowns (“I know that I don’t know this”) (“I know this variable exists but I don’t know its value”)
- Unknown knowns (“I don’t know that I know this”) (“I don’t know this variable exists, but I do know its value”)
- Unknown unknowns (“I don’t know that I don’t know this”) (“I don’t know this variable exists, and I don’t know its value”)
Items 2 through 4 deal with unknowns. In our existence, how can we come to deal with unknowns? Dealing with unknown information, considering multiple options in a single state is the hallmark of a “non-deterministic” outlook. It is also perfectly reasonable to never fully integrate unknown unknowns into knowns. Non-determinism does not necessitate an outcome. A “deterministic” lifestyle begins with “I know” & a non-deterministic lifestyle begins with “I don’t know”.
A few ideas on having a more “non-deterministic” outlooks towards life?
- Assume you know less, be willing to accommodate new schemas that go against existing beliefs & ask questions to discover unknown information.
- Be open to the possibilities of others & experiences. Seek the unknown of their unknown possibilities. Seek the things you did not even consider. Seek uncertainty when it can lead to serendipity.
- Seek shared experiences. Share experiences can lead to unexpected outcomes, responses, and challenges.
- Understand the nuances of your personality. Understand what pushes your buttons, where you need to grow, and what you are most comfortable with. You can leverage your personality to challenge things outside of your comfort zone to find unexpected new information.
Perfectly knowing what you want all-the-time means you’re choosing to limit & protect yourself from other options. Opening yourself to risk & challenges is difficult.
Finding ways to make unexpected choices given the same condition could play out in numerous ways over a lifetime.