Darwinbots Forum

Bots and Simulations => DNA - General => Topic started by: Anazasi on July 05, 2007, 05:43:11 PM

Title: Is there anyway for a bot to rewrite his DNA?
Post by: Anazasi on July 05, 2007, 05:43:11 PM
Hi everyone, I'm pretty new at this of DArwin Bots and I wold like to know if there is anyway I can make a bot to rewrite one of his own genes or add a new one?
is delgene the only way of modifying my DNA?
I hope not

(english is a foreign language for me so excuse me if I dont use it preperly)
Title: Is there anyway for a bot to rewrite his DNA?
Post by: Numsgil on July 05, 2007, 07:58:41 PM
Bots have very little control over modifying their own DNA.  However, since sysvars are all basically numbers, and the values they receive are numbers, it's possible to set up a bot that can modify its workings to a point.

Check out this experiment (http://www.darwinbots.com/Forum/index.php?showtopic=2090).

And, of course, mutations can create random changes in the DNA to provide diversity for natural selection.
Title: Is there anyway for a bot to rewrite his DNA?
Post by: Endy on July 06, 2007, 01:06:42 AM
You can duplicate genes using viruses. Has to be co-ordinated with another bot though, even then its pretty hard.

Had some success using them for horizontal gene transfer, producing more novel evolution behavior.

Still, like Nums was saying its easier to simply change the value of the variables/phenotype of the bot; rather than messing with it's base code/dna.
Title: Is there anyway for a bot to rewrite his DNA?
Post by: Anazasi on July 06, 2007, 08:25:14 AM
thats ok, but I really need to change DNA, it seems that I'll have to tell you mi idea for winning the league, I already make it work but it isn as good as it could be if I could change the dna.
I'm trying to build a chameleon, a bot that would make his myeye equeal to refeye, and since everyone uses this to identify enemies it would be untouchable.
I already make it posible adding this gene a los of times at the end of the bots DNA
cond
 *.eye1 0 >
start
stop

and this other gene deletes them. leaving stoping if the enemy has less than 4 eye calls because it uses these for eating and moving.

cond
 *.refeye *.myeye <
 *.refeye 4 > and
start
*.genes .delgene store
stop


there are two problems with this way of doing it:
1 it takes a cicle to delete a gene so they have to be as few as posible
2 I cant know how many eye calls have an enemy (actually I can jeje if I look at the bots in the league) son it has to be as many as posible.

the only way os solving this is if I could write all the needed eye calls in one cicle.

I hope you understand what I'm saying

MINI CHAMELEON
Code: [Select]
'made from animal minimalis
'by anazasi

'genes 1 to 4 animal minimalis modified to identify by aimdx instead of eye
cond
 *.eye5 0 >
 *.refaimdx *.myaimdx !=
start
 *.refveldx .dx store
 *.refvelup 30 add .up store
stop

cond
 *.eye5 50 >
 *.refaimdx *.myaimdx !=
start
-1 .shoot store
 *.refvelup .up store
stop

cond
 *.eye5 0 =
 *.refaimdx *.myaimdx = or
start
 314 rnd .aimdx store
stop

cond
 *.nrg 15000 >
start
 30 .repro store
stop

'gene 5 gene deletion gne
cond
 *.refeye *.myeye <
 *.refeye 3 > and
start
*.genes .delgene store
stop

' gene 6 and later fake eye calls
cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop

cond
*.eye1 0 >
start
stop
end
Title: Is there anyway for a bot to rewrite his DNA?
Post by: Martian on July 06, 2007, 08:37:21 AM
Take a look at blue on blue in the F2 Bestiary, it changes it's own DNA.

http://www.darwinbots.com/Forum/index.php?showtopic=1463 (http://www.darwinbots.com/Forum/index.php?showtopic=1463)
Title: Is there anyway for a bot to rewrite his DNA?
Post by: Anazasi on July 06, 2007, 09:09:46 AM
 it seems that I wasnt the first with that idea
Title: Is there anyway for a bot to rewrite his DNA?
Post by: Jez on July 06, 2007, 01:20:59 PM
Title: Is there anyway for a bot to rewrite his DNA?
Post by: Anazasi on July 06, 2007, 01:35:10 PM
Title: Is there anyway for a bot to rewrite his DNA?
Post by: Numsgil on July 06, 2007, 11:20:03 PM
Heh
Title: Is there anyway for a bot to rewrite his DNA?
Post by: abyaly on July 07, 2007, 01:01:56 AM
Also, you could set up some sort of dynamic gene that uses the *
It would probably be difficult and not incredibly useful, but it would be impressive.