Archive

Posts Tagged ‘recursive dreaming’

Recursive Dreaming

December 3rd, 2007

Those of you who are computer geeks may be familiar with the concept of recursion already. Those of you who don’t recognize the term may need some background. Recursion, in computer programming terms, is a concept where a program repeatedly calls itself to complete a task. Imagine that you were programming a robot to open up one of those little Russian nested dolls. Using recursion, your program might look like this:

Function OpenTheDoll()
Remove the lid from the doll
Remove the smaller doll from inside the larger doll
Put the lid back on the larger doll.
If the smaller doll can be opened, OpenTheDoll(smaller doll)
Otherwise, stop.

Thus, on the first time through, our imaginary program will open up the outermost doll, remove the smaller doll from it, put the lid back on the larger doll, then call itself to open the smaller doll. When it calls itself, it opens the smaller doll, removes the “even smaller” doll, closes up the original doll, and tries to open the “even smaller doll” and so on until all the dolls are opened.

A function like the one above could open a nested doll whether it had only one smaller doll inside it or a million, since it will keep calling itself as many times as it has to in order to get to the point where the doll can no longer be opened.

Now that you hopefully understand the concept, let’s apply that idea to dreaming, with a real-world example. Last night I had a dream that my wife woke me up to tell me it was time to get ready for work. In that dream, I fell asleep and had a dream. Thus, this last dream was “recursive” in that I was “dreaming that I was dreaming”… I can’t begin to tell you how confused my brain was when I woke up from two levels of dreams. It took several seconds for “reality” (whatever that is) to sink in.

admin Life , , , , ,