From: Adrian Tymes (wingcat@pacbell.net)
Date: Wed Apr 16 2003 - 22:13:06 MDT
--- Keith Elis <hagbard@ix.netcom.com> wrote:
> Has a software architecture been
> described in enough
> detail to settle that a program can successfully
> modify itself?
Actually, I've written some. Rather crude, and only
allowed to run for a few generations before the
solution was good enough to use, but it was
self-modifying code.
> How in
> the world does it work?
The approach I used was some basic genetic algorithms,
examples of which you should be able to find by
googling for that, with a fixed judgement package (in
my case, comparing to known correct answers over a
certain number of test cases). In theory, if one
could
write a judge to test for "intelligence" (which
requires defining such), allowing the judge to form
its own questions consistent with some rules so the
algorithms are more likely to adapt for the rules than
just for the judge, one could run an approach like
that
over many many generations. The difficulties there
lie
in writing a good judge (you can't do manual judging,
since you need short generation times), and the large
number of generations - and thus runtime - needed
(even
with 1 second generation times, if it takes a billion
generations...). Neither one is a problem to be taken
lightly.
This archive was generated by hypermail 2.1.5 : Wed Apr 16 2003 - 22:20:47 MDT