BrainBlitz.org

October 11, 2009

The Magical Pathfinding Brain

Filed under: Blogorrhoea, Bloody Cool — Anthony @ 12:54 am

I was watching an 18 month old walk around yesterday. Since I’ve been obsessed with pathfinding lately, I couldn’t help but be amazed at how, with no apparent effort, a toddler could navigate through a room full of furniture, getting where he wanted to go, generally along the shortest path.

And so I started thinking – how DO we actually perform a complex task such as finding the shortest path? At first glance, there is no answer really, “we just see it, it’s obvious.” But of course, something very complex IS happening, in the unconscious nether regions of the brain.

I think the first step in approaching the problem is to remove the visual sense, as it’s a distraction. The eyes bring information from any given scene in, but the visual sense doesn’t actually have anything to do with the actual pathfinding computation. Once the “scene” is in the brain, it exists as some sort of model, described by the brain’s fundamental language, and completely hidden from our conscious mind.

Another way to think about it is that the visual representation is simply a manifestation of the model that is in the brain. You can close your eyes and visualize the scene, and find the shortest path in your “mind’s eye,” but the work isn’t being done in the “mind’s eye,” it’s simply one view of the data residing elsewhere in the brain.

For me, getting rid of the visual sense makes things much easier to work with, because understanding what the sensation of vision actually is, and how it relates to our self-awareness, is kind of an intractable task. But now it’s out of the way!

So we’re left with trying to understand the technical details of how our biological computers solve the shortest path problem, which is far more approachable.

The next problem is – how is the model represented, fundamentally, in the brain? The brain obviously has it’s own, innate language. It has nothing to do with spoken language – a person who was raised in complete isolation (therefore had no concept of language) will still find the shortest path!

Of course, once you figure out the language of the brain, you now have to find out the rules by which it manipulates the data. If the language was binary, then the manipulation would be the logic gates, based on transistors (neurons).

But, as far as I know, we have no idea what the innate language of the brain is, or the rule-set by which it processes data. I imagine it is similar to trying to visualize the 4th dimension. I don’t remember which greek philospher/scientist it was, but he thought he’d proved the fourth dimension can’t exist, because all dimensions much be mutually perpendicular to each other. So he thought, if you take a stick, and lay it across another stick so that they form a cross, you have two dimensions. If you take a third stick and hold it perpendicular to the first two sticks, you have a representation of three dimensions. His proof that no more dimensions could exist was simply that you can’t add another stick that is mutually perpendicular to the first three.

What the fellow didn’t understand, however, was that our brains, never having encountered a fourth dimension, simply can’t comprehend it. It is like someone blind from birth trying to imagine what “red” looks like. That person can’t even begin to imagine it, because his brain has no concept of color, having never experienced it. Our physical world that we live in is 3-dimensioned, and so that is all our brain can comprehend. The fact is, in reality, there can be an arbitrary number of sticks, all perpendicular to each other. Don’t go trying that, of course. : )  For whatever reason, the physical state of the universe restricts our experience to 3 dimensions.

My point in going into that tangent was – I suspect that the language and processing of the brain might be genuinely beyond comprehension.

But that doesn’t mean it’s not solvable! Mathematically, working with 4 dimensions is only slightly harder than working with 3 (mainly because the equations get much longer). Just because we can’t comprehend the fourth dimension doesn’t mean we can’t work with it. Similarily, just because we might not ever comprehend how the brain works, we can still understand it, and work with it.

And figure out how it solves problems like finding the shortest path.

But who knows, maybe I’m wrong. Heck, maybe the brain works in binary. I kind of doubt it though - I imagine the brain does not even have a discrete alphabet forming it’s language, but rather a fuzzy, statistical alphabet. Maybe the answer will be found in quantum mechanics.

The last  observation has to do with artificial intelligence. So far, we haven’t been able to work with the 4th dimension (although it has been indirectly observed, as massive objects like the sun affect it by gravity). Indeed, it seems to be beyond the realm of our physical capacity (not capability, capacity) to work with it. In the same way, maybe it’s beyond our physical capacity to reproduce what the brain is doing.

That’s a hard chunk to swallow, but – we’ve observed the effects of gravity upon light via the 4th dimension, just as we’ve observed the effects of the brain’s operations.

So it maybe creating AI IS an intractable problem. That is – it’s not that the solution is difficult; it’s simply not possible.

Of course, again, maybe it all is just the biological equivalent to binary and transistors, in which case AI is inevitable (if humans are around long enough to figure it out).

In that case, maybe, when I find my way through an obstacle course along the shortest path, my brain actually applies a grid to the scene, and runs A* on it. : D

August 31, 2009

eval() for Actionscript 3

Filed under: Bloody Cool, Programming — Anthony @ 4:33 am

Quite a long time ago I came across this page: http://riaone.com/products/deval/. Being in the thick of BoxCAD, I bookmarked it with the intent of exploring it later.

It’s been over a year now, since I first bookmarked it. Life interfered, see, so I haven’t done much of ANY programming for nearly a year. Anyway, I set myself, today, to the arduous task of learning something new.

D.eval is basically an AS3 interpreter that will run arbitrary code on the fly.

I was floored by the possibilities this offered. Obviously at the time, BoxCAD was on my mind, and so my initial excitement was so directed. Over time though, new possibilities made themselves evident. Basically, this API opens the door to limitless application extensibility. Using BoxCAD as my primary example, this API could allow end-users to add new, powerful functionality to the application, in a language they already know (my target audience in BoxCAD was AS3 developers).

Or, as in the swf below, it can serve as a very interactive tutorial tool. Go ahead… define functions, variables, loops, etc, and then run it. As you’ll note in the default code, variables are created and dynamically typed on the fly.

Now, for the really nifty thing, copy this in: removeChild(txtDevalOut);

txtDevalOut is simply the name of the output TextArea object. The base class extends sprite, so all sprite methods are available (i.e. removeChild, addChild, etc).

The way I set up D.eval in this little app is such that the context is that of the base class. So you have access to every property and function of the compiled class! The application can modify itself.

There are so many possibilities here. Mutating/Genetic code, dynamic loading of user-coded modules, scripting, etc.

Thanks to the folks at http://riaone.com. The simple app in this post is just a trivial example of the capabilities of the API.

Here’s the code. You’ll have to install the component (free) from the aforementioned website.

  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Yahoo! Bookmarks

January 17, 2008

One neuron at a time…

Filed under: Bloody Cool — Tags: , — Anthony @ 9:37 pm

Consider these points:

1. In a few years, we are able to write a program that perfectly mimicks one single neuron in the brain. (Not currently possible, as we don’t completely understand every possible response to every possible stimuli in a neuron).

2. In 30 years, via nanotechnology, we are able perform surgery on individual cells. I don’t mean “nanotechnology” in it’s current, frequently misused form. I mean fully functional machines on the order of a few dozen to several thousand atoms. (Quite a ways off, but far from being fundamentally impossible).

Now, consider this scenario:

Using atomically sized surgical tools (automated perhaps, although I’d hesitate to say “robots”), a surgon could disconnect one single neuron from the brain, and replace it’s tiny little armsies with atomically thin wire; wire that runs to a computer, which is running a perfect simulation of a neuron.

Now, stop and consider for a moment. If you were the “brain,” how would you know a neuron had been replaced by a simulation? You couldn’t. THAT’S how.

Continuing. One of that simulated neuron’s still-biological neighbors is replaced via the same process. And then another. Throughout the process, the brain never ceases normal function. The organ is so massively redundant that a neuron here and there would cause no perceptible difference to the owner of it. After awhile, a small clump of “brain” is running 100% on simulated neurons.

What is to stop the replacement of EVERY neuron in the brain with a simulated neuron? At any point in the process, it’s functionality would never even hiccup.

And this is where things would get bizarre.

First of all, a purely technical consideration. I have no idea how fast computers will be running those days. I have no idea how fast neurons can work compared to how fast they can be simulated. I think it’s safe to assume, however, that the speed will be orders of magnitude faster than the biological operation. What does this mean for a human whose brain has been transfered, in its entirety, to a computer? Imagine if YOUR brain speed increased 10-fold. What would it be like? My guess is – you wouldn’t notice that you were thinking faster. You’d simply wonder why the bloody heck your mouth was moving so slow when you tried to talk…. like when you’re outside for a long time on a frigid day, and your face muscles get stiff and slow. “And why is my vision so jerky?” Because we replaced the neurons, you dolt, not the eyeball. If you hook up a 2008 webcam to a 2050 Pentium 32 with 512 Peta’s of RAM, the image is still gonna be a crappy 2008 webcam image.

At least it probably won’t be the other way around, and you won’t find your body flailing around with your brain always one step behind.

So anyway, you would be horribly annoyed by your body (asumming you were still even hooked up to your physical body) and the world around you moving in super-slow motion. But that just brings us to the REAL whacky stuff -

Can someone be “annoyed” if that someone is not self-aware?

This is more speculative than the rest of this already-speculative post, because – we don’t really have a firm grasp on what self-awareness is, biologically.

If self-awareness IS lost, at what point is it lost? Is it a gradual transition as the transfer takes  place? But whatever happened to the brain being incapable of noticing it’s neurons are being transferred?

If self-awareness is NOT lost, how weird would THAT be? You could save the state of your brain to a file, send it over the net at nearly 186,000 miles per hour (with the new fiber-optic internet backbone), and have it loaded up into a computer somewhere else. Absolutely no break in awareness would occur between shutting the brain off, saving it, transferring it, and fireing it back up. You’d just… “suddenly” be somewhere else. But then, physical location would be pretty meaningless, wouldn’t it? You’re just a bunch of ones and zeroes, for crying out loud! You can go anywhere. Or you can bring anything to yourself. Want to visit the moon? Just link in to one of the robot bodies sitting up there in the moon dust. Now it’s YOUR body.

All of that sounds pretty far-fetched, yes. But it’s all based on those first two points – both of which are well within the realm of possibility, albeit not achievable for a couple decades or so…

Freaky huh?

  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Yahoo! Bookmarks

August 14, 2007

Vision & Neurology & Stuff

Filed under: Bloody Cool — Anthony @ 1:36 am

You may not have heard of Oliver Sacks (or your knowledge of him may be limited to a brief mention in psychology 101) – but most people have heard of the movie Awakenings (with Robin Williams and Robert De Niro). The movie was based on one of many real-life cases he worked on and wrote about during his long career as a neurologist. He has produced a few books, I believe. I’ve read two of them (An Anthropologist on Mars and The Man Mistook His Wife for a Hat) – and find them absolutely fascinating. They shed light – odd light – on the inner workings of the human brain. Explanations are not always forthcoming in his books (because they often are not known); indeed, the only thing they clarify for me is how very unclear our understanding of the brain is!

But I’m getting off track (in the first paragraph, of all places!). This post is about some thoughts I had as I read a case in An Anthropologist on Mars. The particular case is about a man who was born blind, then received his site as an adult.

I’d actually wondered, as I’m sure many people have, about how wonderful it would be to have your sight “restored” after being blind for years. It must be the most indescribably amazing feeling in the world – to see the world in all it’s blazing, colorful glory, after being stuck in darkness for years and years.

So…. it turns out that is a pretty naive thought. Would you believe that in cases where blind-from-birth people receive site, suicide is common? I don’t remember the statistics exactly. But the thing is – the brain learns to interpret the reams of data streaming from the eyes from day one. After a dozen or so years of age (again, don’t remember exactly, it’s been awhile since I read this), the brain “solidifies” into an adult brain. If certain abilities have not been established before the point of “solidification,” then the “set” brain will not be able to learn them. We’ve all heard of the cases of “wild” children locked in closets with no human interaction for the first 5.. 10… 15… years of their lives. These people never will learn to speak. They can’t learn to speak. Why? Because speech is something that must be learned in the first few years of life, before that solidification point. The same is true for sight. If the brain matures before it learns to interpret “sight” – it will be missing the basic infrastructure necessary to process sight. Therefore, no matter how much “practice” the individual performs – it’s simply impossible to learn those tasks later in life.

Back to the case I read about. The fellow was born blind, and sometime late-ish in life, had the opportunity to undergo sight restoring surgery. I don’t remember the exact circumstances. Obviously, very few blind-from-birth people have a corretable problem like this man did. For some reason, even though his condition was treatable, he slipped through the cracks, and remained blind until adulthood.

So they did the surgury. The big moment came, and they removed the bandages from his eyes. I don’t know what it was like right then, but a year ago I would have imagined the scene to be something like… it was a fairly dark room – wouldn’t want to expose them never-used retinas to anything very intense. He blinks a few times, clearing the blearyness away. The image comes into focus. For the first time, his wife’s face comes into focus, and smiles at him… in wonderment, he looks around. A tear – rolling down a face… “mother? Is that you?”

Sadly, that’s not very realistic. In actuality, it was more…. They take the bandages off. He opens and closes his eyes a few times. An unknown sensation floods his brain. A complex swarming of irritating flashes overwhelm him. He closes his eyes, breaths for a few moments, slowly opens them – in the mess of  stimulation called “vision” he sees a smudge that stands out from the rest. He focuses on it. Suddenly, the smudge changes – it’s moving. Simultaneously with the movement, he hears his wife saying his name. Suddenly it registers – that smudge is his wife’s face, and she’s talking to him. He is again overwhelmed, and closes his eyes.

Again, I don’t remember exactly how it went, but it was something along those lines.

The brain does not have the infrastructure necessary to process the signals from the eyes, and so it is simply overwhemled by the onslaught of information.

It might be easier understand the problem if you consider this. Someone who is blind from birth does not simply “not know what things look like.” Someone who is blind from birth has a far more severe issue: he has no concept of what “look like” is. Color has no meaning. It’s not like he knows what colors are, and simply can’t see them. He has no concept of the very idea of color. Visually, he has no concept of curves or angles. Light and shadows. He has no sense of visual distance. If he sees two cars, and one is 10 times smaller than the other, then it may very well be a nonsensically small car (as opposed to simply “far away”).

When “normal” humans see an object from one angle, we can generally recognize the object from any angle. We take this ability for granted – in fact, we never really notice it, but it is actually a result of astounding computational capabilities of the brain. The ability to utilize light patterns, color, past experience and more to subconciously generate fuzzy transformations of the object, and then run incoming data from the eyes through the “database” to see if the current visual image can be associated with any of these tranformed objects – is unthinkably complex. How many terabytes – petabytes – zettabytes – of information does the brain have to sift through? How many nanoseconds does it take to sift the data, making these fuzzy comparisons?

Man, I wonder what programming language…. no no, I wonder what bloody logical paradigm the brain is based on. It sure is heck isn’t binary.

  • Print this article!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • StumbleUpon
  • Yahoo! Bookmarks
Older Posts »

Powered by WordPress