Author Topic: Is there anyway for a bot to rewrite his DNA?  (Read 3414 times)

Offline Anazasi

  • Bot Neophyte
  • *
  • Posts: 11
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« 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)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7728
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« Reply #1 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.

And, of course, mutations can create random changes in the DNA to provide diversity for natural selection.
« Last Edit: July 05, 2007, 07:59:51 PM by Numsgil »

Offline Endy

  • Bot Overlord
  • ****
  • Posts: 852
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« Reply #2 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.
« Last Edit: July 06, 2007, 01:08:16 AM by Endy »

Offline Anazasi

  • Bot Neophyte
  • *
  • Posts: 11
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« Reply #3 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
« Last Edit: July 06, 2007, 08:35:36 AM by Anazasi »

Offline Martian

  • Bot Neophyte
  • *
  • Posts: 44
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« Reply #4 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

Offline Anazasi

  • Bot Neophyte
  • *
  • Posts: 11
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« Reply #5 on: July 06, 2007, 09:09:46 AM »
 it seems that I wasnt the first with that idea

Offline Jez

  • Bot Overlord
  • ****
  • Posts: 788
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« Reply #6 on: July 06, 2007, 01:20:59 PM »
If you try and take a cat apart to see how it works, the first thing you have in your hands is a non-working cat.
Douglas Adams

Offline Anazasi

  • Bot Neophyte
  • *
  • Posts: 11
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« Reply #7 on: July 06, 2007, 01:35:10 PM »

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7728
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« Reply #8 on: July 06, 2007, 11:20:03 PM »
Heh

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Is there anyway for a bot to rewrite his DNA?
« Reply #9 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.
Lancre operated on the feudal system, which was to say, everyone feuded all
the time and handed on the fight to their descendants.
        -- (Terry Pratchett, Carpe Jugulum)