Author Topic: Challenge #5: Eusociality  (Read 8905 times)

Offline Elite

  • Bot Overlord
  • ****
  • Posts: 532
    • View Profile
Challenge #5: Eusociality
« on: October 01, 2007, 02:18:43 PM »
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?

Offline fulizer

  • Bot Destroyer
  • ***
  • Posts: 198
    • View Profile
Challenge #5: Eusociality
« Reply #1 on: January 14, 2008, 08:56:15 AM »
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)
"If this is coffee bring me tea, If this is tea, bring me coffee"

Offline rsucoop

  • Bot Destroyer
  • ***
  • Posts: 166
    • View Profile
Challenge #5: Eusociality
« Reply #2 on: February 06, 2008, 09:03:09 PM »
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.

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Challenge #5: Eusociality
« Reply #3 on: February 23, 2008, 09:27:54 AM »
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.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Challenge #5: Eusociality
« Reply #4 on: February 23, 2008, 09:20:59 PM »
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.

Offline fulizer

  • Bot Destroyer
  • ***
  • Posts: 198
    • View Profile
Challenge #5: Eusociality
« Reply #5 on: March 14, 2008, 09:55:59 AM »
letting a bot grow up sounds like a god idea a gene to define a child from adult yould be something like
cond
*robage=X
start
X .type store
stop

I bet that has some typo in it but until they invent a syntax corrector then I will never be any use to anyone
"If this is coffee bring me tea, If this is tea, bring me coffee"

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Challenge #5: Eusociality
« Reply #6 on: March 17, 2008, 05:39:04 PM »
Having multicelular orgnaisms should create a need to protect newlyborns while they form...
Then maybe a tendency to give birth in thick crowds could arise... or something like that...
But I think ties work in an odd way, you can't realy comunicate propperly through them and the angle seems to change when you form new ties...
Also it seems like you can't stiffen the birth tie, and it's hard enough to form a new tie to the newly born without confusion, so evolving naturaly to form a usefull body could be hard. It seems like stiff ties should be able to have angles fixed relatively to eachother without inhibiting the aim of the bot, like an anchor point inside it. It seems to me like this would be easyer to controll, especialy if you can just stiffen a birth tie and then align it according to the angle of the last bot.
And IMO when ties are stiffened they shouldn't get a fixed angle or move the angle of other ties... I think it would be better if fixing tie angles where an evolutionary step... and maybe the stiffness of the angle should be adjustable.
I think it would be easyer for "shapes" to evolve, like tentacles or maybe even something able to rise to the surface using physics in pond mode...
It also seems like it would be hard to take full advantage of having several cells, since the cells are all "the same" serving no real purpose. I could imagine using bots with a lot of shell as a surface could be usefull, but it would probably still be hard to for the bots on the inside to drag them around.
I'm thinking maybe just having energy costs to the advantages isn't enough, it seems like makng a lot of shell should do more than just slow you down. All the bots in an organism are equaly good at everything, if a bot could specialize, sort of adjusting stats over some time, like increasing sight range, shell, venom, poison, shot power, speed, or maybe gain a bonus to drained energy and body. So you could have a shell that can't shoot but offers a strong defence, or dedicated eyes, or internals to maximize the gain from food or tentacles with strong tie abilities (taking more cycles to break, or with stronger initiative) or venom... as long as increasing your strength in one area weakens you in another. I'm not sure if certain strengths should weaken specific traits or if you should be able to manage it, like starting with no real strengths and being able to increase your "stats" gradualy at a cost with a maximum amount of strength to distribute.
It just seems like multicelular organisms would have a hard time staying stable and would be likely to end up acting more like a fungus. I can't even get a multibot to work propperly, and most definatly not if it tryes to tie feed since it messes up all the tie angles.

I know it's a lot of unpolished ideas, but it just seems like there should be more to ties, you can't comnicate with them, you can barely controll them, it's complicated to keep track of which tie you're acting on. It seems like it's too big a step for netural evolution to take within the timeframe of evo sims. (If we had millions of years it could probably work)
Not trying to be too critical, I just wanted to make a multibot earlyer on but ended up using reproduction to form the shape in needed for the short time it was needed (I posted the code I was working on as TieFighters, but it's nowhere near done, doesn't beat Pacifist and Etch II). I just want to see some more uses for ties so I can make a cool multibot, even though the leagues may be too fast paced it would still be fun to try and create a base for a real multibot to evolve... and generaly make interesting multibots.

Offline abyaly

  • Bot Destroyer
  • ***
  • Posts: 363
    • View Profile
Challenge #5: Eusociality
« Reply #7 on: March 17, 2008, 06:01:35 PM »
I think nums is doing that in DB3

Also, a multibot named Helios used to dominate the leagues
Light (the author of excalibur, which is still fearsome after so many version changes) made it.
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)

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Challenge #5: Eusociality
« Reply #8 on: March 17, 2008, 08:28:41 PM »
Yeah, multibots are my primary focus for DB3.  The current physics engine causes probably half the problems with modern MBs.  It's a little too springy to be totally predictable.  So I'm presently working on physics engine that can handle multibots (Most existing physics engines I've tried lack one or two key features DB needs, so I had to write my own).  And I do mean presently.  Did some work on it this last weekend.

Physics aside, communication is another huge issue.  I think a lot will depend on how the control scheme works from the DNA.
« Last Edit: March 17, 2008, 08:29:46 PM by Numsgil »

Offline SlyStalker

  • Bot Destroyer
  • ***
  • Posts: 132
  • nomnomnomnom
    • View Profile
Re: Challenge #5: Eusociality
« Reply #9 on: March 11, 2013, 01:45:19 AM »
i think a caste system is good for this challenge
Knowledge is knowing that a tomato is a fruit; Wisdom is not putting it in a fruit salad.

Offline spike43884

  • Bot Overlord
  • ****
  • Posts: 656
    • View Profile
Re: Challenge #5: Eusociality
« Reply #10 on: November 08, 2014, 03:13:59 PM »
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)
Fulizer, I can just give you the code from coloniser and then you just tone-down the aggression, and make it less energy-consuming
(Coloniser is my non-released bot from evolution, its similarish to aggressive dwarfs, but its VERY aggressive, and dies quite quickly...I've not even got close to understanding the code of it...evolved code to weird dude.)
Autism can allow so much joy, and at the same time sadness to be seen. Our world is weird, and full of contradiction everywhere, yet somehow at moments seems to come together, and make near perfect sense.