My Photo

Artist Credits

Blog powered by TypePad

« March 2007 | Main | May 2007 »

April 2007

April 21, 2007

Traffic Pulse

Last summer Michelle and I were driving home to Olympia from her 20th high school reunion in Eugene, OR.  It was a sunny Sunday afternoon, and we had about a 5 hour drive straight up the I-5 corridor into Olympia.  I-5 is the major thoroughfare from San Diego to Seattle, and in several spots, it is the only way to get from point A to point B. 

We passed through the busy downtown Portland area after some outlet mall shopping, and began the last leg home.  The drive from Portland to Olympia is about 2 hours, and there really aren't any towns of size in between, just lots of farmland, the Columbia River, and Mt. St. Helen's National Park.  Michelle was driving and I was playing DJ, when I felt the car start to slow down.  I looked up, we were climbing a steady low grade hill that allowed me to see the cars ahead of us for about a half-mile.  I could see the brake lights starting at the lead cars, and slowly making their way back through the pack that we happened to be in.  The slight slow down a half-mile ahead eventually led to our vehicle coming to a complete stand still.  What was once a quiet, uncongested road, was now a full blown traffic jam, in the middle of nowhere.

There wasn't an accident ahead of us, there weren't even that many cars.  What happened was that drivers ahead of us had packed so tightly together, that one vehicle tapping the brakes caused a chain reaction a half mile later, that eventually led to a stop in all traffic.  I termed this phenomenon "traffic pulse", and then proceeded to bore Michelle for the next 2 hours as I fixated on why this occurs, and the method I could develop to solve it. 

We have all witnessed traffic pulse before, and if you would like to see it in action in a virtual setting, check out this site.    Microsimulation of Road Traffic

I have since begun the patent disclosure process within IBM so that I can patent my idea.  I'll post more on my ideas once that process has completed and I legally allowed to discuss it.  Until then, it, like all my ideas, is the property of IBM.

April 10, 2007

Virtual Life

I find myself becoming more and more obsessed with this subject.  There are many instances of virtual life already available today.  One of the more popular forms is in the gaming world, where everyone seems to be living their own virtual life.  In games like World of Warcraft, you can interact with other live players, and then go and complete quests and kill things together.  Only the things you kill are rather dumb.  They die and reappear again in a few minutes, just as dumb as the last time they spawned.

Why cant the villans have intelligence?  What if killing a monster or a villain in a cemetery caused the monster's wife and family to become enraged, aggressive, vicious, and vengeful?

And what if they didn't reappear?  What if the other villains needed to reproduce to new villains, nurture their young, and develop villain relationships that will bond them for life, or virtual life if you will.

And what if these villains could be reformed, bargained with, or even tricked.  They may even have individual personalities.

This is the idea of replicating some of the functions of the human brain in a programming model.  The idea is to network the relationships of emotion and personality to probability determination.  We all act differently in different situations, even though we may have very similar experiences.  Some are shy in a crowd, while others are outgoing, and talkative. 

When we get angry or defensive, we shut off other functions in order to focus.  This is a survival technique adopted in our evolution.  Anger strengthens our muscles, stops digestive processes, constricts blood vessels, and reduces pain receptors.  Programmatically, anger has relationships  to other physiological functions.  As anger increases, some of these other receptors, may or may not be triggered, depending on your predisposition, or in this case, your temper.

These are some of the attributes of virtual life I am presently attempting to model and develop.  I need to work on how to store experience, and reuse it at the various functional nodes.  I have to keep the experiences small and focused, and be able to index and access them quickly across various nodes.  Its hard to define such arbitrary elements in a program.  Its almost JIT datatyping.

April 04, 2007

Machine Learning and Artificial Intelligence

A child tries to scoop liquid out of a cup with a fork, and doesnt get much to drink.  The child then tries a spoon, and gets some success.  The memory is registered, forks arent good for scooping liquid, spoons are.  One problem found, two options tried, one option equals success, one equals failure, and the child gains experience.

This seems like a pretty simple problem, but it's actually more complex than we might think.  What if the liquid is hot?  What if the liquid is bitter, and the child tastes the bitterness on the end of the fork?  Good thing we didnt try the spoon first.

Learning and gaining experience is about more than just selecting from a set number of  possible choices and measuring the outcome.  As humans, we 'feel' the experience.  We register every event in multiple ways.  We feel pleasure with some outcomes, and we feel pain with others.  These influences are critical to our ability to gain knowledge.

So how do we teach machines to feel, to measure the satisfaction of an experience?  To determine pleasure or pain?  Anger or happiness?  Good or evil?

I'm starting to work on this problem from a programming perspective using some of the concepts developed with neural nets or parallel distributed processing.  Neural nets are actually an older technology and from what I have seen, they are pretty limited in their capabilites.  But the idea of establishing highly specialized neural nodes that work in unison to make complex decisions is still very valuable.

My idea is to take the neural net concept and twist it around a bit.  I need a system is that is focused enough to draw from previous occurances, and draw inferences based on probability, and in some cases, inprobability.  The concept is closely related to the science of synchronous events, think of hive behaviors such as ants and bees.  Anybody read Ender's Game?

BlackJack is going well...   more soon.