General > Bot Challenges

Challenge #5: Eusociality

(1/3) > >>

Elite:
Antbots are the most farmiliar examples of eusociality in DB: a central queen in every colony, and workers which gather food and bring it to the queen. What sort of new stuff can be done with antbots? Is there scope for more efficiency and ability in terms of antbots (can anyone produce an antbot that survives in the internet metaverse)? How about a batterybot queen? Can more efficient territory defence strategies be formulated?

There are also many other ways of implementing eusociality. What sort of stuff can be done with eusociality and bot centralisation?

fulizer:
hmm I think I will need to invent the civilisation bot.
like an antbot but uses a castle made of its own species rather than a queen.
that way you can take vegs into the castle and then the walls tiefeed of them while sharing their energy.
will that be cool or what?
ill need to learn some wtuff about coordinating bots though (in the same way that antbots go and feed the queen)

rsucoop:
Take a look at Slim Evo, it already acts like a multi-bot with no real central commander, more of a total systematic commune of bots trying to remember a location and return to it when they have provided energy for themselves. The problem with a queen, is that you need a lot more independent workers in the begining, and less dependancy on a Queen, beyond reproduction. In reality, the Queen uses sent communication which is far more advanced than the out/in system or tie communications in DB. But if we look at a previously built ineffective government (I.e. United States of America) we see that it mostly realies on the workers to make faster decissions, as apposed to using a so called 'middle-person'. The Queen as a President, or something the bots care for (I.e. a parent or child) would simply emmote a communication, such as feed me, or I have a virus! This type of implicate communication is far more effective than the beurocratic method of information transfer, which is more likely to be corrupted due to mutations.

Moonfisher:
I don't know if this would count... but I have a bot (Pacifist) which never feeds by itself, it just lies around as a seed and spreads a virus which forces the alge to move around and feed it.... I know the alge isn't exactly the same species, and they're not exactly herding the alge.... but they are distributing tasks (Just to other species).

Anyway according to wiki the terme includes taking care of the young, and I realy doubt any of the bots out there take special care of other bots with a low robage, so tecnicaly none of the current bots are displaying true eusociality...

But since we're talking about cells and not insects I guess you can't realy take the meaning of the word literaly, since insects lay eggs and cells just split...
I guess you could always reproduce small babyes and feed them till they reach a certain age or energy level... but I can't think of a good purpose for it (Other than watching it and finding it interesting).

Or maybe I can.... I guess you could let the elder generation fetch alge and place them in the middle og small nests of "babies".
The babies would be tied together with short stiff ties on the inside and longer ties on the outside....
This would allow the parents to place alge in the gaps on the outside, the nest would then bring the alge to the center and feed on it's energy and body without killing it.
If anything hostile enters the gaps the babies should be able to defend themselves, either by tieing at the same time (To make people loose track of incoming ties) or just various shots and venoms, either way if enemyes enter the gaps they'll be surounded.
On the outside there could be parrents patrolling, and the nest could possibly spray out random memmory shots if we have the energy for it (To make enemyes turn or take off backwards or sideways or such).
And if using memmory shot is ineffective or too costly you could always sacrifice a baby by draining it's energy and turning it into a decoy (Prefferably drawing the enemy towards the parents), although I'm having doubts about that strategy...

Either way you would have small clusters of babies that will keep making new babies and growing adults to hunt food.

You could ofcourse always split up parrents further, to have hunters, defenders, harvesters, colonizers (Turns into babies once it's attached to an alge) , scavengers (If bodyes are enabled) asf...
And ofcourse you could use energy shots or ties to feed the babies, but I would only use certain parrent types for that.
So harvesters would only "refill" their tank to go look for more alge, while hunters would kill the alge and feed babies with energy shots when they meet them.
And oddly enough only the babies (And colonizers) would make babies and the grownups would be sterile, this way if certain parent behaviors are proving to be inefective their numbers would be low but they would never completely die out.

If you seperate the code between babies and parents well and try to ensure that the babie behavior doesn't mutate too much then different parrent types could evolve from this while having a "steady" base.

Also make sure the conspec is good and steady, best I can think of so far would be what I sugested for the whole cross species recognition idea :

[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']cond
*.eyef 0 !=
start
*.body *.nrg add *.aim sub .out1 store
stop

cond
*.eyef 0 !=
*.refbody *.refnrg add *.refaim sub *.in1 !=
start
'Kill
stop

I would probably add *.totalmyspecies to the equation unless I plan to use viruses that take over other species or alliances or something.
Now the conspec would have to be deeply embeded in certain actions (Like shooting) to make sure evolution doesn't favor canibalism too much.
But no matter what the conspec probably wouldn't last, best I can think of would be to keep the algorith as short as possible, like *.totalmyspecies *.nrg add, to make it less likely to mutate, and then have a lot of genes that stear agressive parrents away from other bots or lock the shoot values and stuff like that.
Again this would not last forever not even if every single gene was dependant on the conspec, so another way to try to keep the conspec from completely breaking down would be to make them very dependant on eachother, let them cry for help, hunt in flocks, and stuff like that. This way if a bot kills it's own flock it will be easy prey for other bots.

You could also try to implement a signature....
So you would have your conspec ID on out1, your communication of state on out2 (states like, being attacked, hunting, being attacked by canibal, transmitting a canibal ID, transmitting enemy coordinates, transmitting nest coordinates, asf), enemy coordinates (Or other additional info, such as a canibals fixed ID) on out3 and out4, and that would just leave space for a fixed ID value on out5.
This way if a bot gets atttacked by a canibal it would comunicate his fixed ID to the others allowing them to indetify the threat among them....
The real trick would be to seperate canibals from bots that are just louzy shots...

And yeah I know this isn't exactly cost effective, since you see something every second you would be comunicating constantly. So you would spend 0.2 energy per cycle just on comunication whenever you see anything, however if what you see isn't friendly then you would be spending 2.0 per shot and 2.0 per tie, and probably lots of energy on mutated genes that  aren't mutualy exclusive, storing different values into the same locations, or just wasting energy on usless comands.
So all in all I don't realy think 0.2 nrg per cycle is a disaster if it will help your bot evolve as a flock....


I guess I kinda got a litle off track with all this, but I'll be starting to work on my thesis soon, so I doubt I will have any time for DB till I'm done.  (I hope too see some mean F1 bots tearing Ebola and Pacifist to pieces when I get back, so I have a new challenge, I mean whats the point of building a league bot if noones gonna try and beat it).

But in the meantime I guess I wanted to air some ideas for all the people running Evo sims and IM out there, since I won't have time to play with them for a while I might have the luxury of seing them in other bots.

Numsgil:
True eusociality probably requires multicellularity.  My thinking is that the only reason you'd care for your young is if the young take a while to develop.  If/when we get something going that allows complex multibots to be evolutionarily stable, I'm sure caring for young will make sense and some ant bots might actually appear.

Navigation

[0] Message Index

[#] Next page

Go to full version