Emergence of behavior through software

Alik Widge aswst16+@pitt.edu
Sun, 01 Oct 2000 12:26:53 -0400

--On Saturday, September 30, 2000 11:42 PM -0700 "Lynn H. Maxson" 
<lmaxson@pacbell.net> wrote:

> A reasonable argument.  Let me provide you with a definition
> within the context of this discussion.  Are the results consistent
> with the embedded logic of the software?  If they are, then no
> volition, no "independent" action on the part of the software

All right. That's a definition. Now I ask for a justification. Why can 
volition not arise within the constraints of a rule set?

> rather deep hole.  Now you have to take something not derived from
> single-cell life, expanding the definition of organism such that
> it becomes the universal class as now there is nothing which we
> cannot consider in some manner belonging to it, e.g. my radial
> saw.  All we have to have is a system and bingo we have an
> organism.

I personally would put some requirements on that, such that a system which 
wished to be an organism must at least be capable of sustaining itself 
indefinitely, but otherwise, I do not see this as a problem.

> Software by itself cannot execute.  It must reside in a machine
> and together they constitute a computing system.  The software in
> or out of the machine is not alive nor is the host machine.  Thus
> we do not have what biology defines as an organism.

Careful. A parasite cannot survive on its own --- it must live in a host. 
In fact, all known species exist only as part of ecosystems. Being 
dependent on other parts of a system does not preclude being an organism.

> Secondly you may have inherited physical traits, but you certainly
> did not inherit behavior.  Behavior in society is not inherited,
> neither the society's behavior nor the individuals which compose
> it.  The behavior of software is not inherited for software does
> not engage in procreative activities as organisms do.

1) Behavior has been shown to be partially inherited, especially in the 
case of mental disorders. It's not a very strong effect, but it's 
statistically significant. (I will admit that I was being loose with the 
word "inherit" and including those things I picked up from my parents by 
simple imitation.)

2) Why can software not procreate? What about viruses? I could program a 
virus (well, if I knew anything about virus-writing) which went around and 
extracted bits of code from programs on its host and then tried to breed 
with other copies of itself. It would take a long time to be an effective 
virus, and someone would kill it first, but it could be done.

> instructions.  Organisms are not bound by logic.  They cannot be
> constructed with "and", "or", and "not" circuits.  The computer is
> not a brain and the brain is not a computer.

Again, be careful. You can't prove either of those. I have yet to find a 
task which a human can do and a Turing machine cannot. The brain and 
computer are superficially different, but that doesn't mean that they 
aren't just two implementations of a central theme.

> On the contrary it is an incredible argument.  You should stop
> listening to such drivel.  As humans we can posit the impossible,
> the sufficiently complex simulation, in this instance.  I'm not
> going to invoke Penrose here, but any time you believe that you
> can simulate a living organism to the quantum detail, you best
> rethink it.

You yourself say that  it doesn't matter whether or not we can actually do 
the prediction, as long as it's possible on paper.  Would it take more 
space and time than is available in the  universe? Sure.

> acquiring control of the processor.  There is no means from within
> software to address a non-existent set of instructions, to pass
> control to something which does not exist.  In all computing
> systems of which I am aware this generates a "hard" error (or at
> least an address exception<g>).

But they're not non-existent. Have the program create them, then pass 
control to them. I see where you're coming from --- you're saying that this 
is still the programmer telling the program to make them. But did the 
programmer have no volition if someone else told him to write that program? 
Seems like we're chasing a chain back to the Big Bang.

> Considering the logic of this I might have saved myself some
> effort by letting you destroy your own "credible argument" about a
> "sufficiently complex simulation".<g>  Nevertheless regardless of
> how small the circuits become their logical function remains the
> same.

But their conformance to that logical function does not. At some point, 
their statistical nonconformance becomes perceptible.

I'm trying to catch you in a contradiction here. If obeying some rules, any 
rules, which are mathematically expressible precludes volition, I argue 
that you must declare humans non-volitional. Since you don't seem willing 
to do that, I sense a contradiction.

> It doesn't bother me to have someone talk about doing the
> impossible, e.g. performing an operation an infinite number of
> times.  I have a somewhat clear picture of the difference between
> science fiction and science fact.

All right... I'll set myself up a warehouse of old x86es and let them 
compute for as long as they can continue to run. If they go a hundred 
years, do you think that no valid programs will be generated? Give me some 
numbers for the size (in ops) of "Hello, world" and the average 
ops-per-second for the entire warehouse, and we'll do the calculation.

> The fascination with random numbers or randomness in general as a
> source for spontaneity in a computing system I find amusing.

Hm. We keep coming back to this idea that following rules means you're not 
spontaneous. I suppose that as long as you're using that as an assumption, 
your argument is consistent.

> We keep acting as if software were only a set of instructions when
> in reality it has two inter-related spaces, an instruction space
> and a data space.  Moreover the data space has two subspaces, a
> read-only subspace and a read/write subspace.  Instructions
> operate on data or on machine state indicators e.g. branch on
> overflow.

This isn't inherent to the system, though. A processor may be able to 
detect overflow, and it may raise a signal, but it makes no requirement 
that you do anything about it. It doesn't have inherent code/data 
separation (or at least, it need not). It just fetches things from the 
memory and puts them into instruction or data registers as needed

Moreover, you can use HLLs to cheat. Consider the LISPs. Their code space 
is simply the interpreter. In the data space, one can put any executable 
program. These programs can be used to generate other programs, and in fact 
this is one of the standard stupid LISP tricks. If the instruction space 
contains "Look in data for things that look like programs and try to run 
them, letting them work on other things in the data space", you effectively 
have a single space.

> Software cannot escape its own consistency.  It cannot avoid its
> own errors.  Randomness does no more than transfer control
> (decision control structure) within consistent boundaries.  It is
> simply another way of making a decision on which path to take
> next.

All quite true, and I do not argue it. I merely challenge your further 
statement that this means software can never have volition.

> You cannot create a brain or any part of a human system with a
> computer.  One is an organism, fashioned in the same manner as any
> other, while a computer is not.  von Neumann architecture is not.
> Turing rules of computation are not.  Machines of any stripe are
> not.

This is *definitely* an assumption. All known neural pathways can be 
modeled in software. It's a statistical process, but so is the brain, from 
what we know. Now, if you want to say that that's still never going to be a 
real organism, that's fine, but you're heading for the realm of theology.

Is it hard to put an entire brain into software? Of course. We're going to 
need something that can automate the process, because the connections are 
too numerous to be coded by hand. On the other hand, the process of 
brain-construction is by definition automatable, since the brain 
self-assembles from embryonic tissue.