Emergence of behavior through software

Lynn H. Maxson lmaxson@pacbell.net
Sat, 30 Sep 2000 09:44:20 -0700 (PDT)


I have to thank Jecel Assumpcao for clarifying some issues about 
emergent and non-deterministic behavior in software.  I did not 
set up the two-question pair to Fare as trick questions.  I use 
"consistent" as the qualifying term to determine whether the 
results conformed to the embedded logic of the software or not.

If they (the results) did, then regardless of anyone's ability to 
fathom or predict them, the software executed as instructed and 
thus brought nothing "extra" or "special" to the process.  In 
short it did nothing on its own "volition".

If they did not conform, then we have to account for (1) the means 
through which it achieved "take off", the ability to fly on its 
own, and (2) why given this "independence" it would choose (as 
clearly it has the choice) to continue to pursue the "original" 
purpose and not determine to pursue a different one as part of its 
"nonconformist" behavior.

Fare despite his cybernetic leanings will not grant the software 
any choice other than pursuit of the original purpose.  He will 
allow it to improve upon its internal logic, but this raises now a 
larger issue.  How does software on its own organize itself 
internally to "develop", "recognize", and "construct" higher level 
of abstractions from the only thing it can execute: the machine 
instruction set.

You see, how do we bridge this gap from externally set, 
instruction-conforming behavior to internally set, 
instruction-conforming behavior?  What initiates the internally 
set behavior from the externally set?  If we disallow passing it 
to it somehow as a form of inheritance, which we must disallow in 
order for its "new" behavior to be its "own", then we are left 
with the issue of "spontaneous generation", something occurring on 
its own independent of the current consistent execution.

You see it cannot occur through meta^n-programming regardless of 
levels.  That presupposes that we have some ability to encode a 
"triggering" event in the execution which will spawn the necessary 
spontaneous generation.  We do not.  What we have is the machine 
instruction set, the only thing that the software can direct the 
machine to execute.  

The only direction it can offer is that externally set by its 
authors.  The authors may or may not know (predict) the results.  
They may or may not take or have the time necessary to retrace the 
executed logic.  But what they do know (something that the 
non-intelligent software cannot) is that whatever results is 
consistent with the encoded logic.

Truth is that Fare knows this as well.  He knows that there are no 
triggering events not present in nor otherwise determined 
inconsistent with the embedded logic of the software.  It can't 
happen, because in von Neumann architecture any such occurrence is 
an "error", something to be fixed.  Contrary to his statement that 
no one can know completely the internal logic of the machine, I 
began my career being trained to know just that.  If it failed, if 
the results differed from the expected result of a machine 
instruction execution, the embedded IPO (input-process-output) 
logic of a machine instruction, my job was to diagnose and repair.

Spontaneous generation then in a von Neumann machine is an error, 
again something to be fixed.  The hardware does not support it 
except as an error.  There is no means in software translated into 
machine instructions to make this possible.

Fare in acceding that software retains its "purpose" throughout 
knows this.  He also knows that regardless of our ability to 
predict or fathom software-produced results it has nothing to do 
with the results consistency with the encoded logic.  We may be 
surprised.  The non-intelligent software lacks this altogether.

This is true for AI systems whether rule-based or neural-net.  
Neural-net implemented in software is rule-based.  Rule-based 
software systems created by humans may reflect the result of human 
"intelligence" (determining the set of rules), but neither the 
input, the process, nor the output (result) do more than "reflect" 
but not "absorb", that intelligence.  In an of themselves absent 
of an "observer" they cannot produce information.  For information 
implies meaning.  Meaning does not exist in data or software.  
Meaning, if it exists at all, does so only in the observer.

Are the results consistent with the embedded logic of the software 
regardless of our ability to fully predict or fathom them?  If the 
answer is yes, then we do not differ in terms of causes and 
effects.  If the answer is no, then what spontaneous generation 
does not occur in error?  If it does occur, how does it still stay 
within the "purpose" encoded in the software?

If we can all agree on results consistent with the embedded 
software logic, then we can ignore considering inconsistency.  
That leaves us then free to differ in our degree of individual 
wonderment relative to what "we" have "created" through software.  
Therein we can expect that in terms of wonder some are less or 
more so than others.  If that's the only thing which separates us, 
then we can return to the main Tunes list.<g>