Darwinbots Forum

Code center => Suggestions => Topic started by: k0zm0 on January 31, 2008, 09:03:54 AM

Title: self-scripting bots
Post by: k0zm0 on January 31, 2008, 09:03:54 AM
Imagine that bot would be able to rewrite it's own code.
That kind of function could be added...

Appending gene code, altering gene code, deleting gene code, altering conditions, adding defences on spot...
The same code could be used to change bots through ties, perhaps to make from each bot a different organ...

I was thinking what mechanism could be used to make such alterations and I came up with this:
define gene location -> define line of the gene -> function (delete, append, alter)...

I know that kind of feature could be used for "evil" too. I think it could be used to repair genes and to see what happens in evolutionary simulations...
Title: self-scripting bots
Post by: EricL on January 31, 2008, 10:45:49 AM
Ignoring the philosophical objections to DNA self modification (which I know some people have) there are some design issues.   Proper syntax in particular is a problem.  Given the type-value definition of base pairs, you can't just push them onto the stack for example.

Were we to allow DNA self modification, the proper way to do it I think would be to add a .thisbp sysvar and then insert and delete operators where the source, destination and range would come off the stack.

The following line for example would insert itself into a random location in the genome, sort of a self infecting virus.

*.thisbp *.thisbp 8 add 0 .dnalen rnd insert

I favor adding such capabilities for reasons having to do with allowing more direct geneotype-geneotype interaction, but have no immediate plans to do so.
Title: self-scripting bots
Post by: rsucoop on February 01, 2008, 08:07:38 AM
maybe start with a lot of junk dna, replicate it with errors and watch what happens? There is no way for a bot to create new conditions and actions beyond a mutation.
Title: self-scripting bots
Post by: EricL on February 01, 2008, 11:41:56 AM
Quote from: rsucoop
maybe start with a lot of junk dna, replicate it with errors and watch what happens?
I don't understand what yoru saying here.  Is this not called a zerobot or randombot sim?