Bots and Simulations > Evolution and Internet Sharing Sims

Idea: Evolving puppeteer genes

(1/5) > >>

Welwordion:
Ok by realising in my "niemand"(genetic template bot) project that virus based modularity currently works just to slow, I came up with a different  project idea, how about  storing each gene in a different bot and then letting them work collectively and modular?
My first thought was letting them form a big multibot, but the problems involved with that are just to large son instead I came up with a different method, do not let the genebots operate themself, no create an empty, dnaless puppet and let the genebots only operate this  puppet by information shoots.

What do you think of the idea? Whats the best way to bind the success of the genebots to their puppets?
How do I ensure energy share among all bots with the minimum amount of extra Dna and only 4 ties from the puppet?
Particulary the genebots have to be as minimalistic as possible to not be able to evolve and succeed without their puppets.

EricL:
Controling via info shots is probably also prone to lots of reliability problems.  Shots missing, etc.

I think you might want each bot to contain all genes, but only activate certain genes in certain cells by setting some state via genetic memory.  Not every cell woudl reproduce for example.  Then perhaps you control the overall organism centrally through the in/out sysvars.

Welwordion:
You seem to misunderstand this is not about the controlling of multibots its about independant evolution of genes.
And while the in and out method allows a suitable data transfer it does not change swarm specific problems like independant positions that need specific calulation to correct aim etc.
By having a bunch of extremely small bots that only read and manipulate the genes of a larger puppet bot we can evolve genes which later can be combined into the genome of one bot.

But your mentioning of genetic memory gave me an idea, I can probably treat my puppeteer bots like classic
template bots place their numbers into the genetic memory and  write a mutation gene thats get apllied to these numbers.

Numsgil:
It would work reasonably well if your pupeteer bots stay at point blank range to the larger puppet.  Use velocity matching.  And while using the in/out sysvars to communicate from the puppeteers, you can use it to communicate from the puppet.  Information that refvars don't provide, eyes, etc.  You'd just need the puppet bot to do some simple things like:

*.eye5 .out1 store

Welwordion:

--- Quote from: Numsgil ---It would work reasonably well if your pupeteer bots stay at point blank range to the larger puppet.  Use velocity matching.
--- End quote ---

Right  thats what I had in mind, as for the rest:

cond
0 *.memloc =
start
*974 .memloc store
stop


cond
*973 abs *975 3 mod sgn abs 1 sub abs mult *.memval abs *975 3 mod sgn abs 1 sub abs mult =
*973 abs *.memval abs *975 3 mod 1 sub sgn abs 1 sub abs mult >
*973 abs *975 3 mod 2 sub sgn abs 1 sub abs mult *.memval abs <
start
*971 .shoot abs store
*972 .shootval store
stop

How about this instead of in and out? *971 ---> .shoot  *972  ---> .shootval  *973  -->hard value for condition
*974  --> puppets memory location to investigate *975 ---> determines if = > or < is used for condition.

 A gene to sometimes change these values randomy at robage 0 has yet to be added:

cond
*.robage 0 =
start
1000 rnd *971 1 rnd mult 1 rnd mult 1 rnd mult 1 rnd mult store
1000 rnd *972 1 rnd mult 1 rnd mult 1 rnd mult 1 rnd mult store
1000 rnd *973 1 rnd mult 1 rnd mult 1 rnd mult 1 rnd mult store
1000 rnd *974 1 rnd mult 1 rnd mult 1 rnd mult 1 rnd mult store
1000 rnd *975 1 rnd mult 1 rnd mult 1 rnd mult 1 rnd mult store
stop

edited: I attach my first try of the puppeteer , probably the intialization is a little to random

Navigation

[0] Message Index

[#] Next page

Go to full version