The act of observation in quantum physics and computing complicates matters significantly. The wave-particle duality of light is a property also known to physicists as superposition. Until an object like an electron or Schrodinger’s cat is observed to be in a particular state, then it is actually in all possible states. The electron exists at all points along a wave until it is observed to be in one discrete position. Our unfortunate feline friend is both alive and dead inside the box the instant before it is observed to be either alive or dead. Observation simplifies matters for our simple, dualistic minds; however, observation complicates what seems to be the more natural state of the universe by forcing things at even subatomic scales to pick a position and stick to it. The same issue arises in computing.
I received an email yesterday from my brother, and with his permission, I am sharing it here. David holds a degree in Computer Programming and is a voracious enthusiast of coding in his free time. While he attended school, he lived with Dixie and me and would bring conversation topics like this, often over an evening cigar or a beer.
Please do not let the coding itself daunt you. I would encourage you to take your time to understand the basic arguments he spells out, because the parallel that will be drawn between computing and the brain is a powerful one. Enjoy!
I’ve been contemplating the nature of computing; and how our brains relate to computers. I found a parallel I’d like to share.
Let’s take the following code (C#):
This code will initialize a place in memory to 0, and increment it to 10000. Essentially counting from 0 to 10000 and doing nothing with the value.
This code takes 418 ticks (0.0000418 seconds) to run on my computer.
Now, let’s observe the value of i every time it increments:
This code will print the value of i to the console every time it increments. So it will display 1 2 3 4 5 6 … to a console window, until it reaches 10000.
This code takes 76,107,513 ticks (7.611 seconds) to run on my computer.
Developers know that observing memory in a human readable format is the most costly operation to take. According to the above, it takes 182,075 times more time to observe what is going on inside my computer.
A computer is optimized to think internally, in language that it understands. When I ask to see output, it has to do considerable work. It is in my best interest to only inquire on these values when it is absolutely necessary.
If I count from 1 to 10,000 in my head. It will take considerably longer than 7 and a half seconds. But certainly my mind can count much faster. There is a space in my brain that is holding my current value as I count. I would like to believe that my brain can increment that memory to 10000 in 418 ticks. But if I try to observe that happening, I am inherently slowing the operation down. I can’t even think the word “one” in 418 ticks.
However, I don’t have a way to consciously instruct my brain to execute the first set of code. I don’t know how to tell it to do something if I am not observing it. This leads to the conclusion that our brains are only reporting a minuscule amount of their internal processing.
Let’s look at the side of a die:
Let’s pretend that your brain hasn’t memorized that image and knows it to be six (called memoization in computing).
If I ask my brain to tell me how many dots are in this image, the only logical method it can take is to scan the image, and increment a counter every time it encounters a dot. And finally, tell me the final value of the counter.
To pretend I can write brain code, I imagine it would look like this:
Now consider how a toddler would determine the amount of dots. The would likely say out loud “one, two…”. They are observing their brains. They are interrupting what is extremely fast, and asking for a process that is extremely slow.
To conclude, this all leads me to wonder; what is my brain up to when I’m not watching? Has my brain made decisions that I have yet to observe? Is meditation beneficial because we stop observing our brains, and in doing so allow it to work at maximum speed? Can I learn to stop observing my brain so much and only retrieve output when it is necessary?
– David Henning