Recent Posts

Pages: 1 ... 3 4 [5] 6 7 ... 10
41
Newbie / Re: coexistence
« Last post by hdggDalton on March 17, 2022, 12:58:30 AM »
what the hell no way the bots are ganging up on my terminator cannibots, like if i put one down next to a bunch of bots, they won't run away to get picked off one by one, they'll freaking gangbang the cannibot to death, but it's so weird because they seem to be able to tell who's native to the simulation, they don't attack fellow native bots but rather do the thing where they try to stay away from each other, but the moment i put down a cannibot everyone tries to kill it. have the bots become too smart??? the context of the picture is, i put a cannibot down inside a triangle of 3 bots, it went after the smallest bot which was quickly killed, but then these 2 remaining completely unrelated bots (well they probably have a common ancestor but their colors were pretty different) gang up on the cannibot and kill it, and then they go their separate ways!

anyways here is the code of the current best bot, i caught him feasting on some plants and popping out some babies, so i already know he won't be a horribly mutated mess, and at one point he had 50 descendants out of a population of 200, making up an amazing 1/4 of the entire population!!! so i know it's gonna be good
Code: [Select]
*.eye5 .out10 store
 negstore
 .out7 store
 pow 13475 2 xor
 *-610
 start
 25696 5 .up store
 *.tielen1 *.refage swapbool
 13771 * stop
''''''''''''''''''''''''  Gene:  1 Ends at position  22  '''''''''''''''''''''''
 ~=
 *.tiepres
''''''''''''''''''''''''  Gene:  2 Begins at position  25  '''''''''''''''''''''''
 cond
 *.eye5 *.tiepres >
 *.refeye *.myeye !=
 start
 -6 .shoot store
 sin ceilstore
 20551 *.refveldx .dx store
 !=
 .out7 store
 pow *.readtie floor ceil !%=
 stop
''''''''''''''''''''''''  Gene:  2 Ends at position  50  '''''''''''''''''''''''
 573 dist multstore

''''''''''''''''''''''''  Gene:  3 Begins at position  54  '''''''''''''''''''''''
 start
 .eye9dir store
 475 sgn *.availability *.dnalen *.refdx substore
 314 rnd *.thisgene 205 .tielen3 store
 sub .aimright store
 102 sin
''''''''''''''''''''''''  Gene:  3 Ends at position  73  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  4 Begins at position  74  '''''''''''''''''''''''
 else
 sqr
''''''''''''''''''''''''  Gene:  4 Ends at position  75  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  5 Begins at position  76  '''''''''''''''''''''''
 start
 div *.refvelup !%=
 swapbool
 *274 21 *.nrg 23486 >
 *.tieang *.vel .repro store
''''''''''''''''''''''''  Gene:  5 Ends at position  89  '''''''''''''''''''''''
on closer inspection i was really surprised that it kept this line: "*.refeye *.myeye !=" which is the line that i think stops them from devolving into endless cannibalism. but how does it tell apart native bots, some of which have deviated really far by the way, from the cannibot? another point of interest is that it uses its velocity to determine how big of a baby it should make? very interesting method of variance given the range is 0-60 (max velocity is 60)
42
Newbie / Re: coexistence
« Last post by hdggDalton on March 15, 2022, 11:33:06 PM »
i got some interesting news, the sim is now doing well, they're really good at hunting even small moving corpses. i think it's a side effect of the very high chloroplast cost, which means a lot of plants die trying to achieve 32000 chloroplasts, leaving a ton of corpses behind, and i suspect corpses are a big food source for them, which is why they became better at eating them. oh yeah also the waste threshold is really low, it's at 1000 so no fat bois who can't reproduce keep getting fatter and fatter, but also means when one plant dies it's likely the waste will spread to other plants, making them die, and then the waste keeps spreading to other plants as well, killing a lot of plants and leaving them as corpses. the bots seem to be very distrustful and try to stay away from each other. i'm not sure why this happened, maybe the bots figured that if it saw a fellow bot, there's no food there, so they go the other way and spread out more. maybe it's a reaction to cannibalism, like there was this one bot that seemed to have its attractions reversed - generally the bots are attracted to food (plants) and corpses and repelled by other bots, but this bot was attracted to other bots and repelled by plants and corpses, so it acted a bit like a predator! i gave it a bunch of energy so it could reproduce but it instantly ate its child. even though the bot managed to chase down most of the bots it came across and eat them, the energy balance of this bot still trended down because of its ridiculous refusal to eat plants and corpses. but suddenly i realized this bot could be useful for prodding the other bots to develop cool defense mechanisms through natural selection, without the possibility of it taking over (because it can't eat plants and corpses, and really likes eating its own children) so i saved it and named it cannibot! and now i can pop down a whole army of terminators to terrorize the bots whenever i want XD
43
Newbie / Re: coexistence
« Last post by hdggDalton on March 13, 2022, 02:07:36 PM »
oh my god... the sim got overrun by bots evolving into plants, despite the increased chloroplast cost

i think i'll just rewind from a previous save
44
Newbie / Re: coexistence
« Last post by hdggDalton on March 12, 2022, 05:20:36 PM »
i started a new simulation yesterday to test out if shapes could increase diversity, i left drifting shapes on but at the slowest setting because i like things to be more dynamic, but all the shapes just seem to get stuck outside of the map? anyways it seems to work well enough though i haven't seen any dramatic differences, probably need to make the map bigger

Code: [Select]
Female DNA len  61 and male DNA len  61 had offspring DNA len  61 during cycle  520005

:o what is this? it showed up once in the mutation details, but hasn't showed up again ever since. did the bots have an extraordinary accident that allowed them to sexually reproduce, but just that once? because right now no one is sexually reproducing

oh man they figured out how to make chloroplasts... dont worry though i think i figured out how to keep them under control, raise the cost of chloroplasts from 0.2 to 0.5 though now they're almost extinct XD

ok so i have 1 picture of the whole simulation, 2 pictures of some bots tying though they always seem to die, one of them is just tying to every passing bot it can and the other seems to be stuck spinning with another one, and the last picture is an almost cancer bot that has really low energy need for reproduction (1500) feeding and encircling some plants... unfortunately they all died as soon as the food ran out. in the general population, some of them are moving in a corkscrew like pattern, while most are thrashing about randomly
45
Newbie / Re: coexistence
« Last post by Numsgil on March 11, 2022, 02:42:10 AM »
Yeah that might work.  Only one way to find out :)
46
Newbie / Re: coexistence
« Last post by hdggDalton on March 11, 2022, 12:45:13 AM »
The idea goes that an isolated population tends to become genetically homogenous over time.  Sometimes beneficial mutations develop, sometimes harmful ones, sometimes lots of neutral mutations, but generally things have a tendency to spread out and either become universal or extinct.  It's possible for such a population to even drive itself to extinction by accidentally getting into evolutionary dead ends.
yes that's it, over a long enough period of time there's very little space in between death and domination

i wonder if you can just put down a ton of shapes to block off the map into several different areas, with small gaps so bots can pass through sometimes, and that will do the trick of regularly isolating and recombining populations as you say
47
Newbie / Re: coexistence
« Last post by Numsgil on March 03, 2022, 12:10:58 AM »
This gets in to areas of actual biology research so smart people have had different opinions on the matter over the centuries, but personally I ascribe to a kind of haystack model.  That's often discussed in terms of the problem of altruism but I think it works for the evolution of complex behavior generally.

The idea goes that an isolated population tends to become genetically homogenous over time.  Sometimes beneficial mutations develop, sometimes harmful ones, sometimes lots of neutral mutations, but generally things have a tendency to spread out and either become universal or extinct.  It's possible for such a population to even drive itself to extinction by accidentally getting into evolutionary dead ends.

Now imagine having dozens or hundreds of such populations, all from a common ancestor, and having them isolated long enough that they're all a bit different.  Now suddenly mix them together into a single population.  Each line has to fight for survival and a line with a beneficial mutation has an edge.  Wait for the larger population to become homegenous again, then split the population back up into the original enclaves.  Now repeat this on different time and size scales with different groups in a chaotic soup of isolating and recombining populations.  You end up with a red queen's race of competing genetic lines fighting against each other.  The lines that do this well survive, the ones that don't, don't.  In sexual and horizontal gene transfer organisms the different lines can even create hybrids during the mixing process so you can have mutations that are neutral or even slighytly negative independently find each other and produce a beneficial result.

That's the theory.  If you wanted to mimic something like this in Darwinbots you would run a simulation for a while until there are some number of mutations in the population and things seem to have stagnated.  Then find an examplar bot and create a new simulation with clones of that bot and the original line.  Run that for a while, find an examplar bot, then create a new simulation with the original, the 1st round examplar and this new examplar.  Repeat ad nauseum, choosing which examplars go together in a sim arbitrarily/randomly.  You end up with strong selective pressure without the possibility of a mutation meltdown.  This is an awful lot like what DeepMind did for their Starcraft2 research: they built a ladder and pitted new versions of the AI against old version of the AI periodically to protect against "catastrophic forgetting".  The ones that did well had to do well against not just their peers but previous iterations of themselves.  The difference in biology is that there's no external fitness function outside of keeping your line represented in the future somehow.

It's worth noting as a human you can put your thumb on the scale and select for things you find interesting, but you don't have to and it'd be perfectly fine to choose your examplars randomly.

Also worth noting, in Darwinbots it's hard for DNA to get longer.  There's some mutations set up for it but practically speaking it doesn't happen very often.  You can help things along a bit if you add a bunch of 0s to your bots' DNA to give it a bit more room to develop mutations in.
48
Newbie / Re: coexistence
« Last post by hdggDalton on March 01, 2022, 11:05:40 PM »
long term stability is interesting in its own right, but as long as there's some mutations I imagine something will change sooner or later.

true i nevver thought of it that way, it is hard to get bots to evolve interesting adaptations since, the way it looks to me, if the bots are already doing well in their environment, they will just stagnate or add junk code because if they're doing well enough, i tried to come up with an explanation i call "beneficial mutation usefulness" to explain it

the possibility of a beneficial mutation = a
the positive effect of a potential beneficial mutation on a creatures ability to survive and reproduce = b
the creature's current ability to survive and reproduce = c
ideally, c+(a*b) should be quite higher than c in order for beneficial mutations to occur sufficiently often and sufficiently increase fitness so that natural selection favors them and they become more widespread in the population.

a is generally very low as neutral mutations that do nothing and harmful mutations like mutations that remove a creature's ability to reproduce or cause it to move uncontrollably are far more likely, to increase beneficial mutation usefulness, we can increase mutation rate which is a bit dodgy since it increases neutral and harmful mutations which may drown out the beneficial mutations (genetic drift)

b is random, a lot of the time it's extremely low like a small numerical change like going from needing 20000 energy to reproduce to 20348, but very rarely b becomes very high due to introducing completely new behavior like adding the ability to produce shell that wasn't there before, but i think on average b is very low. b is not manipulable because the nature of mutations make them completely random and out of control

c is determined by the environment, which includes environmental conditions like gravity and friction, amount of food (algae), potential prey, predators, even members of the creature's own species can fall in either category if they're cannibalistic (which happens sometimes). to increase beneficial mutation usefulness, we can decrease the survivability of the current environment, some ways to decrease c might be decrease amount of food, decrease light energy, increase energy cost for living and doing stuff, introduce predators, etc.

if c is relatively high, and they're prospering and thriving, the difference between c+(a*b) and c, which is a*b, is miniscule compared to c and the beneficial mutations are lost to randomness and genetic drift
but if c is too low everyone dies before beneficial mutations can even be introduced

so i feel there is this very small goldilocks zone where beneficial mutations are needed enough that they can take over, but the environment is not so dangerous that everyone dies, i think it's just really interesting how it works when YOU'RE the one trying to manipulate the environment so that they evolve cool stuff for our own amusement :D do you have any tips how to reach this goldilocks zone? my sim almost died once because i gave them too little food D:

edit: it has recovered since though, here is the current best bot with 25 descendants:
Code: [Select]

 cond
 *.eye5 *.trefvelyourdn >
 *.tin3 .eye4width store
 start
 *.refveldx .dx store
 822 .up addstore
 ceil 7805 mult *348
''''''''''''''''''''''''  Gene:  1 Ends at position  18  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  2 Begins at position  19  '''''''''''''''''''''''
 cond
 inc
 *.eye5 281 >=
 *.refeye *.maxvel inc
 start
 -6 .shoot store
 *317 *.trefnrg 822 .up substore
 .memloc store

''''''''''''''''''''''''  Gene:  2 Ends at position  37  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  3 Begins at position  38  '''''''''''''''''''''''
 start
 %=
 <
 rndstore
 24835 17302 sqr .aimright floorstore
 *.refaim .mkchlr store
 *.trefshoot *.venom *131 *.memval sqr 542 300 *.nrg 24591 >
 *.in5 addstore
 addstore
''''''''''''''''''''''''  Gene:  3 Ends at position  62  '''''''''''''''''''''''
49
Newbie / Re: coexistence
« Last post by Numsgil on February 26, 2022, 06:51:31 PM »
long term stability is interesting in its own right, but as long as there's some mutations I imagine something will change sooner or later.
50
Newbie / Re: coexistence
« Last post by hdggDalton on February 26, 2022, 01:16:44 AM »
aha! you thought i was gone, but nah, i got some more pictures for you. it's just been boring because these guys wouldn't mutate at all even tho it's been 17 million cycles, so they're just boring point and shooters. amazing they manage to retain the ability to eat accurately though, i guess the gravity makes it a huge advantage cause otherwise you lose your food D:
Pages: 1 ... 3 4 [5] 6 7 ... 10