Emergence of behavior through software

Lynn H. Maxson lmaxson@pacbell.net
Mon, 25 Sep 2000 11:26:33 -0700 (PDT)


Fran=87ois-Ren=82  VB Rideau wrote:

"What part of "universal machine" don't you understand?  Just 
every kind of information processing doable with a device in 
classical physics is emulable in constant time factor overhead by 
any universal machine ..."

Fran=87ois-Ren=82  VB Rideau quoted:

"Alan Turing thought about criteria to settle the question of 
whether machines can think, a question of which we now know that 
it is about as relevant as the question of whether submarines can 
swim. -- Dijkstra"

Wow.  And to think I was accused of platitudes with my "Let people 
do what machines cannot and machines do what people need not."  
The only question remaining with respect to this "universal 
machine" lies in whether such a division of labor is necessary, 
whether people are necessary or not.  Fare, I believe we are 
entitled to your answer to insure no confusion on this point.  
More to the point do you believe sentient behavior possible in a 
machine?

You see I don't confuse information processing by a machine, 
universal (whatever that means) or not, as intelligent behavior.  
Coming from the "data processing" days I have yet to see any 
difference arising out of upscaling it to "information 
processing".  Humans apply "meaning" to data.  If a human doesn't 
understand the data presented it is "meaningless".  It's the same 
data, only the human is different.  That implies that meaning 
itself is somewhat arbitrary, in relativity terms dependent upon 
the observer.

There is no question that we can use machines as tools with which 
to do data mining.  The question is can machines use machines to 
do data mining?  Given its absence previously (as occurs in 
humans) how does a machine develop a concept of data mining?  
Through sophistication, elaboration, unlimited levels of dynamic 
meta-programming, or by accident?  How do you program accidental 
behavior?  Certainly not through any machine-producable, random 
selection process?

"Oh, you may certainly check that each step in the multi-gigabyte 
trace is correct, but that won't make you _understand_ the 
computer's work at all."

Then I probably will take comfort in that the computer will not 
know that it does not understand.  Therein lies the difference.  
In none of your examples does the computer "know" what it is doing 
it simply does.  What it does we have to verify to insure that we 
instructed it correctly.  The computer (the hardware and the 
software) has no such means available to it.

I do not say any of this out of fear.  I do not fear their gaining 
this capability, but so far we have been unable to transfer (or 
even understand) what allows it in us to them.  For example, 
regardless of variations on a theme all computers use sequential 
(linear) memory.  It is a distinct hardware component.  Yet no 
such memory, no such component exists in the human brain.

The question arises, not out of fear, is the behavior intrinsic to 
the constuction, the composition?  If it is, then how much of it 
is possible to emulate within a different construction, 
composition?  As I pointed out in a private response to Derek 
Verlee you can neither sit nor cool yourself in the shade of a 
simulated tree.

"By automating physical work, machines freed our bodies.
By automating intellectual work, they will free our minds."

I found this one more than a little interesting.  Obviously the 
unwritten but necessary "our" after the "By" means that the 
machines did as they were told, not that they took it upon 
themselves.<g>  I have no argument with any of your examples of 
such automation that allows us to achieve with machines that we 
could not reasonably achieve on our own.  In none of them did the 
machines "know" what they were doing nor did they take it on their 
own to do anything not conforming to the instructions given.

"Don't fear machines. Welcome their enhancement, and learn to use 
them.  Or better even, enhance them for the betterment of 
mankind."

As one whose career lay in automating client processes automation 
had no fear for me.  In fact my current (other) project lies in 
the (greater) automation of software development and maintenance, 
which as in other successful automated processes will lead to a 
significant decline in the IT population.  With luck it will 
reduce computer science to an option under some other major.<g>  
If successful, it will certainly lead to the betterment of mankind 
in further elimination of repetitive, non-intellectual (where you 
definition differs from mine) tasks.<g>

"It is irrational fear only that makes you think this
and dismiss the most fundamental result of computer science:
the existence of universal machines"

I must have missed this one.  We must have a different definition 
of universal.  A universal machine by definition must be capable 
of replacing any other.  I am not aware that computer science, 
one, had this as a goal, or, two, achieved it.  If by this you 
mean some existing computer architecture produced by computer 
science, then we are wasting our time with Intel-based nonsense.

"Moreover, your presentation of software as "externally imposed 
instructions" is flawed at best. You make it sound as if an 
all-understanding designer would provide a complete detailed 
design from which all the behavior of the machine would 
deterministically follow.

Indeed, no human may create any emerging behavior this way
(by very definition of emergence)!"

Exactly.  What part of software design do you not understand?  
Where in any of your examples do you stray from the intrinsic 
determinism of the software?

"To create an emergent behavior, you precisely have to loosen on 
the design, and let behavior gradually appear, not fully 
"externally imposed", but precisely "internally grown", from the 
feedback of experience."

Wow again.  No wonder I'm such a moron.  I have no idea of how to 
do any of these.  Not to worry because what I can't impose 
obviously the software which has somehow acquired the "feedback of 
experience" (cognizant that both are present and creating names 
for them) will do on its on.  I do have difficulty believing that 
you teach this in computer science.

"Instead of designing the machine, you meta^n-design it so that it 
grows the right behavior."

I thought so.  It's not a computer you're talking about.  Or at 
least not one that we have managed to design so far.  I'm still 
having difficulty with how it can "precisely internally grow" and 
at the same time not interfere with the "meta^n-design" producing 
a behavior that it deems "right" on its own.

"You cannot dismiss well-established theory by mere belief.
You cannot even reasonably believe that the human brain is more
complex than what our industry can already or may soon 
manufacture; the raw accumulated computing power of general 
purpose processors in the world is already superior to all known 
estimates for the complexity of the human brain (10^12 nerve 
cells, each with thousands of connections); with a grossest 
overestimation, you may encode a brain and its state with 2^60 
bits, which will be, by Moore's Law, on every desktop by 72 
years."

Whee, not even a wow this time.<g>  The wrong one of us is 
accusing the other of dismissing "well-established theory by mere 
belief".<g>  Allow me.

Yes, I can reasonably believe "that the human brain is more
complex than what our industry can already or may soon 
manufacture".  It is not a numbers game.  The brain is not a 
computer (nor is a computer a brain).  What we call computing is 
but a fraction, perhaps even an infinitesimal one, of the total 
brain activity.  Whether you use the example of Big Blue or some 
other herculean effort to try to match the capability of the 
brain, you still come up short when it comes to "packaging" the 
entire product.  Short of duplicating it exactly (forget 
emulation) you are not going to do it.  Specifically you are not 
going to do it with computers (machines) as we know them 
today--linear memory, von Neumann architecture, Turing rules, 
etc..

"As the systems becomes more elaborate, we'll switch to 
higher-and-higher level languages!"

It's amazing that thus far we have only managed a few generations 
of HLLs up from machine code.  What is not amazing is that each 
generation builds on the previous.  For better that twenty years 
now we have been stuck with a mere handful (by my count 5).  Thus 
far nothing suggested for a Tunes HLL has changed any of that.  
Certainly not Slate.  Nor Self.  Scheme.  Or any other candidate.

The problem here with any higher level language is that a clear 
path must exist between it and the language of the machine.  
Currently that path flows downward through the previous 
generations.  I draw from that that an higher HLL may allow an 
"expressive ease" but not a "behavior" (emergent or otherwise) not 
inherent in the lower levels.  Basically it gets down to not doing 
anything not possible in the machine instruction set.  Now you may 
have found a way free of such dependence, but I know of none.

Ultimately it gets down to the machine instruction set and the 
design of a machine which can create its own.  That implies an 
ability to create its own architecture.  To evolve.  I don't fear 
such machines.  I simply don't know how to make them other than 
the way they have occurred since the beginning which lead to our 
existence.

More to the point you neither design (loosely or otherwise) such 
machines.  If you don't design them, then you certainly don't 
program them with software.  You have no need for a HLL regardless 
of level.<g>  Moreover "it" has no need for one that "you" 
develop.<g>  At this point "you" become unnecessary.  In the 
ultimate "wisdom" of a dynamic universe in which things appear and 
disappear that is a "truism".<vbg>

In geometry the whole is equal to the sum of its parts and is 
greater than any one of them.  I see in your writing in the Tunes 
project a desire to change the first equality.  I have seen 
writings in which such a claim made for living organisms.  I'm not 
here to argue one way or the other.

When I objected at the beginning of this series of messages to 
your continued reference to the "system" doing this or that for a 
system under development I did so because we are engaged in 
producing a single system, not one in which we could separate an 
activity from its dependents.  It only "does" it if we have "done" 
it previously and thus have a reference to it.  If we have not, 
then the system is incomplete (and possibly either impossible or 
incorrect).

I read into what you have written a belief that a little 
"something extra" can spontaneously occur in software not inherent 
in the instructions provided (externally).  You have confirmed 
that.  I do not argue against it in the sense of opposing it.  I 
do not fear it in the sense of any danger it offers.  I just think 
that in the interest of the "science" in computer science as you 
have defined it that you will state how you feel it will occur.  
The continued references to sophisticate, elaborate, 
meta^n-programming in software somehow evolving to such a state is 
to this moron unconvincing based on experience to date.  To the 
best of my knowledge (and within all the examples you have quoted) 
such has never occurred.

If you believe in "spontaneous generation" in software, then 
certainly we should set up the scientific conditions in which in 
your terms such is "predictable", "reproducible", and 
"repeatable".  So far no software hierarchy developed in any 
language, singularly or in combination, has experienced this 
phenonmenon.  Until it does it remains speculative and so stated 
in references.  Otherwise it is misleading.