| 
A
conceptual & irreverent Introduction
Consider
a 3D program, the type that makes animated movies or interactive
video games. It can simulate all the laws of physics -
gravity, momentum, light refraction etc.
Consider
a library of objects, characters and motion behaviors,
run, jump, crawl, explode, float etc. These motion vectors
can be applied to any particular object character.
Consider
the process of motion and shape morph tweening. filling
in the missing frames of action between disparate objects
or locations.
OK,
so you run random simulation scripts and you get chairs
jumping, heads exploding, cats boxing, candles dancing
through walls etc. Total gibberish.
Now,
instead of random scripts, you run script precedents.
Say from all the animation movies and games you've ever
seen.
Chairs
now stay quite still, candles flicker quietly, warriors
enter dungeons, sportsmen kick footballs and everyone
shoots laser blasters...
OK,
so instead of video game precedents, we use real life
precedents. Every house, chair, beach, cat, tree, person,
factory, machine, or whatever you can remember, placed
into a 3D object category with a series of behavior precedents
attached.
Draw
up any particular scene of characters, and things look
pretty normal now. No dancing cats, or anything weird
like that.
But
what happens next - and who cares.

Say
you program a human character to hit a golf ball toward
a window. You have a fairly fast computer, within a few
milliseconds it has simulated the action and estimates
an accurate scene. But it takes about 5 seconds for you
to watch the rendered scene in 'human time'.
So
in this example, the computer can predict what would happen
in the future. Which of course, so could you. But unlike
yourself, the computer cannot grade the result. The representation
of shattered glass has no meaning.
OK,
still pretty boring, you can watch vases fall and smash,
Jeeps drive off cliffs, birds fly around, humans sit down,
stand up, walk - yeah yeah yeah. no big deal, just a boring
computer making silly patterns.
OK,
so now, rather than you personally guide the scripts,
you run behavior rules on the human, animal and machine
characters. For example:
For
cat characters...
- purr if you get stroked
- meow if no food for a while
- chase any object that's in view, is small and moves
fast.
- run away from objects that are big and noisy.
- etc.
For human characters...
- if a cat is near, stroke it.
- if a cat meows - feed it
- if the door bell rings open the front door.
- if the daylight fades, turn on the lights
- if no food for a while - go eat
- if it's much past midnight - go to bed and sleep
- etc.
Now agreed, this is a pretty sterile environment. No language,
no 'free will'. But based on a few simple rules, the computer
can now start to statistically predict the action
of animate characters as well. Now I don't know for sure
what you are going to do next, but I can guess you might
read on; you are unlikely to go eat a tennis ball. The
computer model could predict that kind of thing, based
not on math, but on precedent.
OK,
so what's this got to do with AI. And what about creativity,
feelings, art and intelligence.
Well
first let us at least appreciate how far we have come.
A cat, a chimp or even a young child cannot predict the
effect of a vase falling, a ball-window collision, or
even fading daylight on a human indoors - but our computer
can. And that is no trivial thing.
But
there are still some big pieces yet missing.
1)
First, this is still only a virtual world - it has no
link to reality - in or out. Just simple 'cartoons'
dancing in a puff of virtual wind.
2)
predicting 'some' action is not the same as 'originating'
new action.
OK
let's say you strap a camera to the side of your head
and feed the signal into your computer. As we both know
- nothing whatsoever will happen. But what if you start
writing software to recognize objects from your library
and to orient and place them in the virtual scene to match
the vision - Don't tell me - it will never happen - never,
not even in a million years it won't. OK - but lets say
some smart kid does it - what then?
Well,
we'd actually have a simultaneous scene running alongside
reality. If the computer, like for the golf ball example,
kept running predictions ahead of real time, it could
be predicting action based on prior learned behaviors,
but now 'of the real world' - before it even happens -
'in the real world'. Pretty cool really!
If
every object and action had a name tag. Our computer could
then describe the scene ahead and tell you what might
happen next, instead of showing it on the screen. Or you
could describe a script to the computer, and it could
construct the 3D scene and tell you what's likely to happen
next - based on character precedents, gravity, momentum
etc.
So
now
our geek has an earpiece and a mic. and his computer can
whisper hints about the future. Of course, most of the
time he can guess what's going to happen anyway. But it
would sure be eerie, a computer whispering - "you're
going to pour a coffee; you're going to drink the coffee;
you're going to answer the ringing phone; a 90% chance
you'll watch Buffy in 5 minutes on TV ..... - "OK,
OK, enough already!!"
So
how far into the future will this 'thing' see. Not much
further really than the fall of an object, or the completion
of some human action. After all that work, it sounds pretty
pointless to me! So what if our character gets in his
Jeep and drives off? Sure, I understand he's not going
to drive straight into the neighbors' auto - because of
'precedent' and all that. But where's he going
to go, and why? And what if he slips on a banana skin
on the way out. No computer's gonna predict that - huh!
Well
neither did he, if he slipped on it! But anyway, based
on prior experience 80% of the time he goes to work, 10%
goes for pizza, 5% to the cinema, so statistically our
computer could make a pretty good guess. But sure, he
could be going to a new fairground in town - the first
time ever. Or maybe he does crash into his neighbors'
auto - because he's mad; or to prove he's got free will;
or just because he's a teenager. So the computer got it
wrong, time to pack our bags I guess, and give up on all
this AI stuff.
OK,
let's say we're no longer so interested in predicting
what everyone does next, our geek decides to program the
computer instead, to start grading the predictions. In
other words, he writes a program for emotions. Also, he
say's to it - "don't just sit their like a moron
waiting for camera input, predicting and whispering silly
messages to me - do something useful - go enter your virtual
world of all those objects and places you have in memory.
But wherever you go and whatever you do be sure to grade,
grade and then grade some more, according to this schema
here. Then come and tell me what you find out!" -
Of course he writes this behavior in a very clever and
highly advanced computer instruction code:
|
-
WARNING - HIGHLY ADVANCED
COMPUTER CODE |
FOR
|
-
{ always } |
IF |
-
{ nothing much happening with vision } |
GO |
-
{ explore virtual worlds, grade them and report
back to geek! }
|
| |
-
END OF WARNING - |
and for emotional schema he codes...
- time is valuable
- money is valuable
- reputation is valuable
- blue eyed blondes in short skirts are valuable
- food is valuable - Papa John's is more valuable
- new knowledge is valuable
- and did I mention blue eyed blondes?
- and if trials fail - start afresh. - cpu cycles are
cheaper than real life.

Now
for every second of real time, his computer could build
about 1000 seconds of script trial segments - what's the
cat going to do next; what's the vase going to do next;
what's geek going to do next. But he noticed that still
left about 99% of the cpu idle, so he says to the computer
- "instead of predicting a few seconds ahead, widen
the timeline way up. Predict where I'll be in an hour,
a day, a year even, and fill in the blanks as best you
can. Stick all those memorized prediction segments you
have for every object into little life histories that
fit together. And also, don't be so boring. Try mixing
them up a bit to see what happens. You know, the timelines.
Like I wake up in the morning in the office, or in Alaska,
and run the behavior script from there. And build metaphor
- make the cat act like a human; or a vase like a bird.
And instead of morphing the same old object to it's new
position, try mixing those up too. When the scene gets
boring, give up on it. And don't forget to grade everything,
I don't want to know about all that silly nonsense unless
I benefit somehow from a script segment - you know, based
on those grading schemes I gave you - then come and tell
me about it."

So,
our geek then waits, and he waits some more. Then finally,
one day while at the mall, he here's a faint whisper.
"Hey, geek! - Next time you're at the checkout, if
you put your hand in the till and grab, you'll get money
for free .... and money is valuable right?"
"Oh
yeah, now that's a real smart plan!"
"OK,
how's this - you see that cute blonde walking this way,
the one with the real long hair, the very short skirt,
and big blue eyes...."yes, yes! I had noticed her
myself thank you very much. ".... "Well she
matches your 'most desirable female character model' -
"Yes - and I quite realize that too!" - "Well,
if you ask her for a date, she might say yes!"
"Listen,
girls like that don't date geek's like me
with cameras stuck to there face - OK!"
"Well
there is a 1.142% chance she'll say yes, but a definite
0% chance if you do nothing, so logically you should go
ask her."
"Sure,
but there's a 99% chance she's gonna laugh straight in
my face - and that sure ain't gonna feel so good. And
what if every geek in town acted that way; the poor girl
would be hit-on everywhere she goes. - Don't you understand
empathy?"
"But
you didn't put 'third party character empathy' into my
value system!"
"Well
maybe I should have?"
So
at this point our geek finally decides to give up once
and for all on this AI nonsense.
|