Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - The_Duck

Pages: [1]
1
Bugs and fixes / Multiple errors in teleporting sims
« on: April 11, 2008, 07:22:22 PM »
OK, so the bug I reported a few days ago wasn't a teleport problem at all. Maybe these are.

I set up a linear chain of three sims again connected by teleports and let it run for a while. When I checked back only one sim was left running.

The left-hand end-point sim had crashed with "Darwinbots2.43.1h.exe has stopped working...". The right-hand end-point sim had crashed because some kind of corrupted organism file had gotten into the teleport directory it was trying to import from, so it halted with "Non dbo file found in [teleport direction]. Inbound teleport deleted." The central sim, which was hooked up to the other two, was still running fine.

I don't think I had any funky settings set this time. OK, another possible bug--the sim claimed that it had deleted the inbound teleport but didn't, and kept reporting this error until I went and deleted the file. The "non dbo file" is attached as a .txt, but in reality it had no extension (which annoyed the forum software). The central sim, which must have generated the bad file and sent it to the right-hand sim, is attached. The left-hand sim, which crashed with the "stopped working" error, is attached as left.sim, but the save is likely from some time before the crash.

2
I'm trying to create a varied environment to encourage speciation by connecting four sims together on one computer, each with different settings. However, this error is preventing me from realizing this. I have them set up in a linear chain. This requires four teleporters in each sim (at least for the middle sims; the endpoints only require two). A majority of the time when I go to Edit->General Settings I get

"Runtime Error
Invalid property value."

and DB exits. I assume it's to do with the teleports because I haven't seen this error before.

I should note that I got the teleporters up and working properly, and all four sims running simultaneously. But when I went to edit the settings of any sim that DB instance crashed with the above error.

I'd post a sim but I don't think that would help because there's too much specific to my file system. To reproduce just create two sims and connect them with an inbound and outbound teleport each. If that doesn't cause a crash connect one of the sims to a third in the same way.

3
Evolution and Internet Sharing Sims / Thoughts on speciation
« on: April 07, 2008, 01:31:27 AM »
Disclaimer: I'm new to this, so take the below with as many grains of salt as you think prudent.

As I understand it, the steady state of pretty much all evosims, when run long enough, is one with exactly two species: one heterotroph and one autotroph. There's simply not enough diversity in the environment to support many species: two heterotroph species or two autotroph species are always competing for the same resources, and one of them will be better at getting them, and will win out. This is a bad thing if we want complex ecosystems to evolve.

We can create some diversity in the environment by running several sim instances connected by teleports. We can even create a "frontier" by making a bunch of sims in a row with gradually changing settings, ranging from easy-living to extreme unlivable conditions. Someone should try this; I think it will induce speciation as organisms emerge that can survive farther and farther into the frontier.

However, this is not enough; while a frontier like this might induce speciation, the two species won't mix; they will stick to their own habitats, to which they are best adapted, and repel intruders. We want to get two species to coexist stably in the same sim.

OK, how about looking at real life. In nature, animal species always differ in certain key areas, or they would compete too fiercely with each other and one would die out. Species distinguish themselves by things like
-what they eat
-where in the habitat they live (I.e., tree-dwellers and ground-dwellers)
-the size scale they live on (I.e., insects do not really compete with mammals, even though they may live in the same places and eat the same stuff)
-any other important stuff?

If two species do not share all of the above characteristics, they can probably coexist peacefully.None of these really work in DB, though (maybe pond-mode and/or gravity allows species to specialize in certain areas of the habitat?). The habitat is pretty homogenous, there is only one food (the veggie), and all bots are pretty much the same size. Perhaps we could create some diversity in food sources, though. Can an environment be created in which several significantly different autotroph species stably coexist? The competition between autotrophs is at least as fierce as that between heterotrophs: the species that is best at not being eaten will be the sole survivor.

Perhaps I simply don't understand how to set up a stable predator-prey environment in DB. In the sim I'm running I got frustrated trying to get a predator-prey equilibrium and took an easy way out by forcing total sim energy to remain constant, eliminating population spikes and crashes. This method, though, won't work if there are multiple autotroph species; one of them will still outcompete the other. However, if you have, say, two different veggie species and two different heterotroph species that each eat different veggies, it should be possible for each food chain to reach a predator-prey equilibrium. But I foresee problems arising when a heterotroph emerges that can eat more than one kind of veggie at least moderately well: it will hunt one veggie to extinction before its population crashes, and then you have lost the diversity in food sources and the whole sim will collapse to a two-species sim.

So why doesn't this happen in nature? Well, different plant species occupy different parts of a habitat; for example, there are different plants at different heights in a rainforest. This can't be all that keeps plant species from outcompeting each other though; how is it that many plant species coexist on the forest floor? I don't know.

So I guess what I'm thinking is that it should be possible to arbitrarily vary the sim settings at different areas in the sim, providing sub-habitats suitable for distinct species of autotrophs and heterotrophs. This is pretty much what inter-sim teleporters provide, but it is hard and ugly to set up teleporters to create many distinct subsims and gradually varying conditions.

Is it possible to modify the new bucket code to allow for different sim settings in different buckets? It would be especially neat if the settings could change over time.

Is the code at http://opensvn.csie.org/DarwinbotsVB/ current?

</rambling>

4
DNA - General / How do they reproduce?
« on: April 03, 2008, 12:18:46 PM »
I was looking at the DNA of the bots in my evosim (descended from Animal Minimalis) and to my eye it looks like they should all be sterile. Nevertheless the sim survives; a representative bot is below (I watched it reproduce). Can someone help me understand how they ever store anything in .repro?

Code: [Select]
''''''''''''''''''''''''  Gene:  1 Begins at position  1  '''''''''''''''''''''''
 start
 *.eye5 *.refeye *.myeye !=

''''''''''''''''''''''''  Gene:  1 Ends at position  5  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  2 Begins at position  6  '''''''''''''''''''''''
 start
 *.refveldx .dx store
 *627 48 .up store
 stop
''''''''''''''''''''''''  Gene:  2 Ends at position  14  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  3 Begins at position  15  '''''''''''''''''''''''
 cond
 *.eye5 58 >
 *683 *.myeye !=
 start
 -1 .shoot dec
 *.refvelup .up store
 stop
''''''''''''''''''''''''  Gene:  3 Ends at position  29  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  4 Begins at position  30  '''''''''''''''''''''''
 cond
 *.eye5 =
 *.refeye *.myeye =
 or
 start
 345 .aimright store

''''''''''''''''''''''''  Gene:  4 Ends at position  40  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  5 Begins at position  41  '''''''''''''''''''''''
 cond
 <

''''''''''''''''''''''''  Gene:  5 Ends at position  42  '''''''''''''''''''''''
''''''''''''''''''''''''  Gene:  6 Begins at position  43  '''''''''''''''''''''''
 cond
 *.nrg 22880 >
 start
 store
 <
 .repro store
 stop
''''''''''''''''''''''''  Gene:  6 Ends at position  52  '''''''''''''''''''''''

''''''''''''''''''''''''  Gene:  7 Begins at position  53  '''''''''''''''''''''''
 cond
''''''''''''''''''''''''  Gene:  7 Ends at position  53  '''''''''''''''''''''''

5
Evolution and Internet Sharing Sims / First Evosim
« on: April 01, 2008, 12:34:30 AM »
Hi all,

I've started up my first real attempt at a long-term evosim. I'd appreciate any suggestions about parameters and such to encourage evolution.

Details:

-I am trying to evolve Animal Minimalis. Any other suggestions for a simple bot to evolve?

-The food chain is Alga Minimalis -> Animal Minimalis -> Shepherd bot.

-Sim size = 4

-The shepherd is handcoded, virus/mutation immune, omnivorous, and much better than Animal Minimalis; a cond for all genes is "*.totalbots *.totalmyspecies div 4 >" so that it hibernates when it is too large a percentage of the total population.

Shepherd code:
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']'all genes (except for birth-tie breaking) predicated on .totalbots / .totalmyspecies

cond
  *.robage 0 =
start
  .tie inc
  314 628 rnd add .aimdx store
stop

cond
  *.robage 1 =
  *.numties 0 > or
start
  *.tiepres .deltie store
stop

cond
  *.nrg 4000 >
  *.totalbots *.totalmyspecies div 4 >
start
  50 .repro store
stop

cond
  *.totalbots *.totalmyspecies div 4 >
start
  5 .up store
  *.nrg 4 div .strbody store
  *.body 2 div .fdbody store

  .shoot .vloc store
  0 .venval store

  *.velscalar 40 >
    314 rnd .aimdx store
stop

cond
  *.totalbots *.totalmyspecies div 4 >
  *.nrg 500 >
  *.venom 100 <
start  
  10 .strvenom store
stop

cond
  *.totalbots *.totalmyspecies div 4 >
  *.eye5 0 >
  *.refeye *.myeye !=
start
  *.refveldx .dx store
  *.refvelup 80 add .up store
  *.eye6 *.eye4 sub *.eye4 *.eye6 sub abs div 5 mult .aimdx store
stop  

cond
  *.totalbots *.totalmyspecies div 4 >
  *.eye5 50 >
  *.refeye *.myeye !=
start
  *.refveldx .dx store
  *.refvelup .up store
  *.eye6 *.eye4 sub *.eye4 *.eye6 sub abs div 5 mult .aimdx store
  .shoot dec

  'sometimes shoot venom
  10 rnd 1 =
    -3 .shoot store
    *.venom .shootval store
stop


cond
  *.totalbots *.totalmyspecies div 4 >
  *.eye5 0 =
  *.refeye *.myeye = or
  *.shflav 0 !=
  *.shflav -2 !=
start
  *.shang 314 add .aimdx store
stop

end


------------
I am trying to get smooth, regular predator-prey cycles going between Animal Minimalis and Alga Minimalis. I have veg population capped at 100; Currently the Animals will slowly overpopulate the sim while the Alga population stays stuck to the ceiling; then suddenly the Alga population crashes and the Animal population declines slowly, until suddenly Alga populations surge again, and so on. I want a smoother cycle; I guess the problem is that the delay between Animal and Alga populations is too long. I was thinking a well-tuned constant tax on nrg for Animals might help; it would make the Animals die off more quickly when their food source disappears. Also I might uncap the veg population. Any thoughts?

Actually it looks like the population stabilized with the algae at the population cap and Animal Minimalis at the shepherd in equilibrium. I don't like the veggie population sitting at the cap, so I uncapped it; veggie population is now 1000 and rising. I guess I'll play around with the energy fed to veggies to stabilize them.

A problem with the shepherd is that .totalbots includes veggies, so that it starts playing rough with Animal Minimalis when veggie populations spike. I think this delays the restoring force that would otherwise be applied to spiking veggie populations. Also the shepherd's venom disarms its target for a while, making it harder for Animal Minimalis to control the veggies.

I'd appreciate any help, and I'll report any interesting results here.

Pages: [1]