Darwinbots Forum

Welcome To Darwinbots => Newbie => Topic started by: Junior on March 31, 2008, 01:40:15 PM

Title: Hiya and wiki
Post by: Junior on March 31, 2008, 01:40:15 PM
Just found this game and thought I should say hello.

BTW, a lot of the wikipages take ages to load and a lot of them don't load at all. Kind of puts an end to all learning. Is it just my connection that's bad or aren't the pages there or what is it?
Title: Hiya and wiki
Post by: Testlund on March 31, 2008, 02:51:16 PM
Quote from: Junior
...game...

Hmmm. I suppose I would call it that too if I only played with the leages, but I don't. I Only run evosims, so for me it's an a-life research program.  

Quote
BTW, a lot of the wikipages take ages to load and a lot of them don't load at all. Kind of puts an end to all learning. Is it just my connection that's bad or aren't the pages there or what is it?

Happens to me too.

Anyway, welcome to the cozy DB community!  
Title: Hiya and wiki
Post by: shvarz on March 31, 2008, 02:56:34 PM
Welcome, Junior!
Wiki is slow for me too   Just ask your questions here and we'll try to answer them the best we can
Title: Hiya and wiki
Post by: Numsgil on March 31, 2008, 05:29:50 PM
I know the wiki's slow.  I'm going to try and put aside some time in the next few days and figure out why.
Title: Hiya and wiki
Post by: asterixx on March 31, 2008, 06:49:27 PM
Yeah, the pages tend to be slow. But that certainly isn't the end of all learning. I can't say that I'll be overly helpful but their are a lot of friendly, helpful people on these forums who have a lot of experience with DB, three of whom have posted above me   .

Title: Hiya and wiki
Post by: Commander Keen on March 31, 2008, 07:56:54 PM
I've never had any problems with wiki speed, but I'm on dialup, so maybe I'm just rather patient  
Title: Hiya and wiki
Post by: Junior on April 01, 2008, 01:14:43 AM
Wow, thanks for the massive and immediate response.

Well, I got as far as to tie feeding but I can't seem to open the wiki tutorial on MBs. Anyone got another way to get a hold of it?

PS. And why do some bots explode into lots of small attached uh... bits?
Title: Hiya and wiki
Post by: Numsgil on April 01, 2008, 01:21:12 AM
When you can't load a page, wait like 3 minutes and try again.  Make sure you clear your cache (not sure if it matters, but it can't hurt.  It's either shift F5 or ctrl F5).  What seems to be wrong is someone (yahoo maybe?) is doing a huge query that slows the whole thing down.  The query eventually will end, and you should be able to load a page successfully.  It's not related to what page you try to load.
Title: Hiya and wiki
Post by: fulizer on April 01, 2008, 08:58:45 AM
Quote from: Junior
And why do some bots explode into lots of small attached uh... bits?
this happens due to mutation in the bots reproductive organ (normally)
when this happens it will remove the limit that causes the bot to reproduce woth enough enrgy meaning that it activates every cycle causing it to reproduce into hundreds of smaller children due to body sharing during reproduction.
this is called a cancorus bot.
normally they tend to die though
also (before someone corrects me) it also happens when a bot dies it lets of a series of shots which dont normally do anything but can include energy (I think)
Title: Hiya and wiki
Post by: Junior on April 01, 2008, 11:12:07 AM
Oh, they do, but it takes some time and slows down the entire simulation until they're dead. Can I do something to stop this from happening or make them die as soon as it does?
Title: Hiya and wiki
Post by: EricL on April 01, 2008, 11:38:04 AM
Quote from: Junior
Oh, they do, but it takes some time and slows down the entire simulation until they're dead. Can I do something to stop this from happening or make them die as soon as it does?
Don't start from hand-authorred bots.  Start from a population of zero bots or at a minumum, a hand-authorred bot that is already cancerous.  

Cancerous bots (bots that attempt to reproduce every cycle) are the norm in all long running evo sims but you usually only notice them early in an evo sim that begins with an artifical starting point I.e. hand authorred bots instead of zerobots.  Hand authorred bots with hand-authorred conditional reproduction genes represent a lot of artifically stored nrg (body actually, since that is the key resource necessary for reproduction) that can suddenly be released by a mutation like a damn bursting and trigger a flurry of explosive reproduction.  Like a damn, this hand-authorred code is totally artificial and ineffecient from selection's perspective.   Not reproducing when you could gets selected against eventually.   Naturally evolved bots will not store nrg needlessly waiting to reproduce.  They will reproduce whenever they can (whenever they aquire enough body that the simulator allows them to).

Given the right environmental conditions such as preditor - prey co-evolution, we might eventually see selection favor larger bodies at the expense of more frequent reproduction.  One can imagine conditions where having larger offspring is critical to survival and thus the storing of nrg (as well as the conversion of nrg into body) before reproducing might be heavily selected for in such conditions but that hasn't been seen yet, at least not outside of internet mode.  It is possible the competition between different species in IM demands larger bots with more nrg reserved from combat and thus serves to provide enough selection pressure to preserve conditional reproduction logic, but this is largly conjecture on my part at this point.  To my knowledge, we have yet to see a bot evolved from a zerobot ancestor develop any sort of conditional reproduction logic.  (Doing so would qualify for winning the Conditional Logic Prize.)

If you want to stick with a hand-authorred starting point, you can use autocosts to jack CostX up when population spikes occur to keep it under control.  You might also try the latest drop 2.43.1f.  It's a lot faster for larger, sparser sims, but the benifits will be limited when you get dense clusters of cancerous growth.  It will help, but you will still see the slowdown when bots reproduce explosivly.  Eventually your hand authorred bots will all devolve and 10 million cycles down the road, your sim will be full of tiny bots that try to reproduce every cycle no matter where you start from.  They will all be cancerous, but with no artifically stored reserve to exploit.
Title: Hiya and wiki
Post by: Moonfisher on April 12, 2008, 04:24:44 AM
Doesn't that depend on the sim ? If it's a not a veggy and it devolves to break it's repro gene it'll become too small to gather energy from shots and ties won't it ? So eventualy anything with a broken repro gene should die out if it's not an alge...
Either way I had the same problem, and I had huge bots, so when one of them mutated it could spawn lik 5000 litle bots...
And since I'm very impatient I used the following gene :

cond
*.body 20 <
*.robage 0 >
start
0 .repro store
-2 shoot store
31999 .shootval store
stop

This should clear out those growths rather fast, so they don't slow down the sim for too long...
Title: Hiya and wiki
Post by: Testlund on April 12, 2008, 11:11:11 AM
Quote from: EricL
Naturally evolved bots will not store nrg needlessly waiting to reproduce.  They will reproduce whenever they can (whenever they aquire enough body that the simulator allows them to).

I find this fascinating. The program has something to teach us here. For instance, when programming bots everyone uses '.repro', but in an evosim the program choses 'inc' instead. When I ran my long evosim last year, more than half a year around the clock, I don't think I ever saw .repro in the dna. The program kind of shows us what it has been designed for. I'm thinking here that in the computer world there is no such thing as absolut randomness. I'm thinking that a program makes choices even though it has been designed to be random.
When I found that I couldn't load my saves because they got corrupted, I started over by loading a sim from when I first started this sim, which contained bots wirth only zeros in it. After between 100000-200000 cycles I got reproduction going just like last time. I also discovered a bot that had the same position and offspring with the same colors after this time, as when I ran it the first time. So the mutations must have occured exactly the same as the first time. First I thought that DB must bee seeded instead of random, but that doesn't make sense either. Here's a screenshot of the bot with it's offspring:
Title: Hiya and wiki
Post by: EricL on April 12, 2008, 12:39:56 PM
Quote from: Testlund
First I thought that DB must bee seeded instead of random...
If you started from a saved sim as opposed to beginning a brand new sim, then the seed is the same and the sim should play out the same subject to version differences and external influences beyond the local simulator's control such as internet mode and teleporters.
Title: Hiya and wiki
Post by: Testlund on April 13, 2008, 03:42:50 AM
You mean the mutations are pre-set when to occure from the beginning and in what order? What if I run a sim for several years, or forever? I don't see how it could be possible for the program to calculate that much mutations before starting the sim, or maybe the mutations goes through a limited list and then start from the beginning, making the same mutations repeat themselves. These bots got the same colors and chosed to reproduce and place themselves exactly like the first time.
Title: Hiya and wiki
Post by: Numsgil on April 13, 2008, 04:18:45 AM
When you start or load a simulation, the random number generator is seeded.  The way computers do random numbers, it actually produces a list of numbers that's always the same for the given seed.  So yes, you could run two simulations, with identical seeds, on two computers, for years, and in theory they should always behave exactly the same even down to which mutations occur when.

If you don't want this behavior, try turninig off the random number seeding in the options panel, saving, and reloading the game.  This will seed the generator with your computer's time, which should be different every time you run the program.
Title: Hiya and wiki
Post by: Endy on April 13, 2008, 04:53:47 AM
What EricL is saying is that the "random" seed number is the same for both sims. Therefore everything else should follow along the same path as before(mutations, motion, etc.).

It's both weird and cool to see in action. You can even use it to sim what parallel universes would look like, changing the physics or just moving a single bot and watching how the different sims evolve.

There's a seed number setting in the menu, if you want to specify a number yourself. Assuming the rest of the conditions are the same, you can restart a sim and have the same simulation.
Title: Hiya and wiki
Post by: Testlund on April 13, 2008, 04:58:08 AM
But that seed got to be limited, right? ..which means after it has gone through the list, in this case a number of mutations to occur, it must start over again doing the same mutations? Because a computer can't generate an endless list of instructions to continue forever, like an unlimited amount of different mutations.

Quote
If you don't want this behavior, try turninig off the random number seeding in the options panel, saving, and reloading the game. This will seed the generator with your computer's time, which should be different every time you run the program.

The random number seeding is already turned off.
Title: Hiya and wiki
Post by: EricL on April 13, 2008, 12:57:42 PM
Quote from: Testlund
But that seed got to be limited, right? ..which means after it has gone through the list, in this case a number of mutations to occur, it must start over again doing the same mutations? Because a computer can't generate an endless list of instructions to continue forever, like an unlimited amount of different mutations.
A seed is just a place to start, a way to "randomize" the random number generator.  The code "seeds" the random number generator at the start of a new sim, either with the time or with a human specified number.   The random function is then used in various places in the code when needed in an ongoing manner and it returns a supposedly random number every time it is called.  It can be called a jillion, zillion times and each time, it returns a supposed random number.  The problem is that software is deterministic and it takes something comign from "outside" a determinisitc program to make it not so.  Call the random() function a thousand times in a row and you will get a thousand numbers but that sequence of thosuand numbers will be the same if you start with the same seed I.e. the 12th number will be X every time, the 13th number will be Y every time, etc.   This is why replaying sims with the same seed result in the same outcomes.  Call it a jillion, zillion times and you will get the same sequence of a jillion, zillion numbers for any given seed.

To get true random numbers, you need random influences from outside the program such as teleportation from other sims runnign on other computers at other rates with potential human and other non-deterministic influeneces.  True random generators use non-deterministic hardware based means such as heat noise for generating random numbers.  It's bascially impossible to generate truly random numbers in software alone, at least not when running on deterministic hardware.    

Title: Hiya and wiki
Post by: EricL on April 13, 2008, 01:36:09 PM
One thing I could do is to optionally use clock time to influence random numbers.  This would mean you could optionally choose to continue a saved sim in a non-deterministic manner.  When excatly you restarted it as well as what else was going on on the computer as it ran would influence random number generation.  Other running programs would have an influence on DB exectuion speed which would influence the specific time when random numbers are generated making things more non-deterministic.  Differences would accumulate over time.  Choosing this option would bascially mean replayed sims would not repeat...
Title: Hiya and wiki
Post by: Testlund on April 13, 2008, 03:26:40 PM
Sounds like a cool idea to me.   As I got similar outcomes of the same sim I don't think it matters right now if the seed is checked or not.
Title: Hiya and wiki
Post by: Numsgil on April 13, 2008, 04:14:22 PM
I think what happens is that even if "use seed" is unchecked, it generates a seed from the computer time at the start and saves that seed to the save data.  So even with it unchecked, you still get a deterministic game.