From: Dawsonzhu@aol.com
Date: Sat Nov 01 2003 - 00:14:50 EST
Walter Hicks wrote:
> I can say as others have said to me: If you want to understand GA, you need
> to get a book and read it.
>
>
Fair enough, so why not suggest a leading book on the subject so
we can all decide for ourselves if there is something significant in
this or not.
Working from a different angle of computer programming, I notice
that a common approach I use is to start with a working program and
modify it to make it to work for another project. I will also combine
different programs together to build a new one. As I build more related
programs, I have more tools to exchange between them, and a kind of
natural evolution of the program occurs. I also sometimes have
subprograms I leave decommissioned, only to discover that it can be
re-invoke with minor modification at some point. I also might switch
between decommissioned subprograms, and the newer one for various
reasons. Within all of this, there are fundamental parts of the program
that simply do not change or change only in the most superficial ways.
So these have remote analogies with simple mutations, horizontal
transfer, neutral mutations, and pseudogenes.
As long as the modifications are reasonably small, that strategy works,
so given one has the machinery one needs, it's not hard to work toward
a goal. But there are times when I find I really have to rethink the
approach
because the old way just cannot meet the requirements. It is not the
efficiency issues in my case (which is a whole different matter from just
doing a job), it is a matter of the fundamental needs of the task. In such
cases, I may have to do a major rewrite and the result is something that
has little resemblance to the original, except for possibly some retained
variables. When it can be modified step by step toward that ultimate goal,
it is again a clear cases of a selection process, but sometimes I must make
the whole modification before I even have the chance to test it. It is not
just an "enough time" issue, it is really building a whole module from
scratch.
It is also not a mere issue that I have built extra stuff that could have
found
an easier way to the goal, there is no way to the goal except by building
that
new module from scratch. I do not like to waste time writing major code from
scratch unless I have to.
If we introduce efficiency issues, that would make the matter worse because
special algorithms designed for speed are less amenable to major
modification.
So in short, I can grant you some room there.
What I can realize from this comparison is
(1) Extinction is most likely to occur when the rate of adaptation required
is faster than the intrinsic capacity of an organism to make that adaptation.
(2) It leaves me with some unresolved questions about where new functional
genes come from.
(3) In connection to (2), I must ask what level of complexity is required for
any given adaptation in the history of the earth.
(4) I think introducing RNA/DNA is of minor significance, it helps preserve
neutral mutations in functional genes, but aside from physical issues of
biopolymers typically possessing a persistence length of the order of 3
nucleotides (persistence is a measure of the bendability of the polymer), it
would be just as efficient if there was one single index. So aside from
ribosomal RNA being a living fossil, I would dismiss that as a relevant
argument.
Point (3) is what requires some unpacking. What I am asking is
(a) Could we start with some core fundamental machinery
(both RNA/DNA and protein components) and build all of life with it?
This is my opinion, but I don't really think a _pure_ RNA world is feasible.
There must have been some mutual co-development of these two
systems.
(b) Can we trace our way back to these core pieces of machinery?
(c) Are these core pieces of machinery sufficiently simple that such
units could occur in a hydrothermal vent or some other proposed location
of natural development? And, are they enough that all other functional
proteins could (in principle) develop? I think we should not ignore the
challenge of _how_ to get a piece of ribosomal RNA and gene replication
machinery started in the first place and this is something that molecular
evolution often seems to ignores taking it as "given". We have the low
end in the pea soup of life, and _given_ rRNA etc, we _may_ have the high
end, but it is hard to see a lot of simple steps in-between.
This is not a defense intelligent design or irreducible complexity,
I think these are largely unanswered questions. We may find
answers to them, but most of them are only currently partially
resolved.
At any rate, a genetic algorithm (GA) can only help if the components put
into the pool are sufficient for the job. If the programmer didn't give
the GA enough to do the job in the first place, the programmer cannot
expect a stupid GA to help him/her do the work that he/she was supposed
to do himself/herself. It would be nice to have a computer like on Star Trek
where I just order the computer to do some arbitrary job and it simply does
following my _intended_ request and not what I asked it to do. Wow, what
a remarkable machine that is!
It does put some onus on people who simply take as given that some very-
very-very powerful machines are just simply there (dropped down from the
sky I suppose). But, at the same time, where we draw the line on what is
feasible remains unanswered also. I addition, even when given, what is
sufficient is yet an unanswered question.
by Grace alone we proceed.
Wayne
This archive was generated by hypermail 2.1.4 : Sat Nov 01 2003 - 00:17:16 EST