[Fwd: Re: Glenn Part II]

Stephen Jones (sjones@iinet.com.au)
Wed, 19 Jul 95 06:13:22 EDT

Group

Here is another forwarded message from Robert van de Water. Please
reply to Robert direct (and cc. Reflector):

=========BEGIN FORWARDED MESSAGE=========
To Glenn Morton and interested refletorites,

Reluctant Greetings and Salutations,

Professor Morton has given me an F!!! This is very distressing.
How will I ever get a job? What of my chances of getting into medical
school?

Seriously, Glenn has pointed out that I misquoted him. Actually, I
was giving
him the benefit of the doubt. If Glenn intends his program to mimic
life,
then he has made a very fundamental (yet simple) error. This post
is intended to show the nature of this error and explain why Glenn's
program does not mimic life.

First of all, let us consider a scheme that mimics life.

X1 ---> g(X1) ----> M1

In this equation we have genome X1 yielding morphology M1 by a complex

mapping function g. Now consider the reproduction process.

X1 + X2 ----> f(X1,X2) ----> X3

In this equation we have two creatures with genomes X1 and X2 coming
together
to produce genome X3 (a sexual species, obviously) by some complex
function
f.

For an asexual species, the equivalent relation would be:

X1 ----> f(X1) ----> X2

Now f includes mutations, sexual recombination etc... So how do we
determine the morphology of the genome X3? (or any genome X?)

X3 ----> g(X3) ----> M3

and so on.

Let us now consider Glenn's program: (I will use his basic program,
even though he has admitted that it contains an error. I have
ascertained that the same error exists in his Pascal program so
it doesn't make any difference.)

5 RANDOMIZE:CLS:KEY OFF:SCREEN 9:AA=0
6
LINE(0,0)-(0,480),3:LINE(0,0)-(620,0),3:LINE(620,0)-(620,480),3:LINE(6
20,349)-
(0,349),3
7
LINE(75,0)-(75,349),3:LINE(150,0)-(150,349),3:LINE(225,0)-(225,349),3:
LINE(300
,0)-(300,349),3:LINE(375,0)-(375,349),3:LINE(450,0)-(450,349),3:LINE(5
25,0)-(5
25,349),3
8
LINE(0,75)-(620,75),3:LINE(0,150)-(620,150),3:LINE(0,225)-(620,225),3:
LINE(0,3
00)-(620,300),3
10 DIM X(4),Y(4):E=10
20 X(1)=0:X(2)=0:X(3)=0:X(4)=0
30 Y(1)=0:Y(2)=0:Y(3)=0:Y(4)=0:X=.84:Y=.84:Z=.84
35 X1=X(1):X2=X(2):X3=X(3):X4=X(4):Y1=Y(1):Y2=Y(2):Y3=Y(3):Y4=Y(4)
40 REM

This is the initialization sequence. It draws the first grid and
initializes
all of the values.

50 A=INT(4*RND)+1:REM PRINT A,Y-Y(A),Y,Y(A)

This statement assigns A a value from 1-4 using the computers random
number
generator. Note that the REM statement indicates that the following
code
is comment (My guess is that it was used to debug the program.)

55 L=L+1
60 Y=ABS(COS(2*(Y-Y(A))/3)):X=ABS(COS(2*(X-X(A))/3)):A1=ABS(X-160)+A1

This statement sets the value of Y to a function of Y and Y(A).
(Specifically
this function is the absolute value of the cosine of twice the
difference
of Y and Y(A) divided by three). X is assigned a value in the same
way. Note
that A1 is not used in the program.

61 Z=ABS(COS(2*(X+Y+Z)/2)):IF Z>.1 THEN CC=1
62 IF Z>.2 THEN CC=2
63 IF Z>.3 THEN CC=3
64 IF Z>.4 THEN CC=4
65 IF Z>.5 THEN CC=5
66 IF Z>.6 THEN CC=6
67 IF Z>.7 THEN CC=7

These statements randomly select a color based on the value of z
(which was
generated in a manner similar to X and Y)

68 IF (40*X+CNT*75+30<CNT*75) OR (40*X>CNT*75+75) THEN GOTO 80
69 IF (40*Y+CNT2*75+30<CNT2*75) OR (40*Y>CNT2*75+75) THEN GOTO 80

These two statements check to make sure that the point X,Y is within
the grid space.

70 LINE((
40*X+CNT*75+30),40*Y+CNT2*75+30)-((40*X+CNT*75+30),40*Y+CNT2*75+30),CC

This statement plots the point X,Y. (Note that there are two points
specified
and they are the same, and a line between a point and a point is a
point)

80 REM LOCATE 1,24:PRINT A1
90 IF L=5000 THEN GOSUB 1000
95 IF CNT2=4 THEN GOTO 200
100 GOTO 40
200 END

These statements loop at fixed intervals and end the program.

So what does all of this mean? His program basically boils down to
the
following:
y = func(y,y(a)) x = func(x,x(a))
plot (x,y)
loop for a bit (sub)
mutate x(a) and y(a)
loop for a bit (main)

Now if I understand Glenn's program correctly, each point x,y is
intended to
represent some morphology. So what would this look like according to
our
scheme above?

X1 -----> gf(X1) ----> M1
M1 + X1 -----> gf(X1,M1) ----> M2
M2 + X1 -----> gf(X1,M2) ----> M3
mutate
M3 + X2 -----> gf(X2,M3) ----> M4
M4 + X2 -----> gf(X2,M4) ----> M5

etcetera...

In this scheme "gf" represents some hybrid genome to morphology genome
to
genome function. Glenn's chaotic behavior arises because the GENOME
of the offspring is a function of the MORPHOLOGY of the parent instead
of the GENOME of the offspring being a function of the GENOME of the
parent
only. He has combined the two functions g and f into one function gf
and, as
a consequence his genome behaves chaotically.

The critical flaw in the program is in the following line:

Y = ABS(COS(2*(Y-Y(A))/3))

Where Y is playing the role of both the genome of the offspring and
the
morphology of the parent. (This is true for x also)

Glenn's screen creatures have no notion of physically realistic
heredity
and his simulation is, for that reason, biologically meaningless.

God Bless,

Robert Van de Water

=========END FORWARDED MESSAGE=========

Stephen
----------------------------------------------------------------
| Stephen Jones | ,--_|\ | sjones@iinet.net.au |
| Perth | / Oz \ | http://www.iinet.net.au/~sjones/ |
| Australia | -> *_,--\_/ | phone +61 9 448 7439 |
------------------------- v ------------------------------------