-
Notifications
You must be signed in to change notification settings - Fork 113
Quirks
emilydolson edited this page Feb 24, 2014
·
3 revisions
This page is a list of random trivia that you probably wish you would have known before your experiments failed for an obscure reason:
- Printing genomes during a run changes the outcome of the run. Printing genomes passes orgs through the test cpu. The test cpu process pulls random numbers from the context. Thus, a run cannot be repeated if events calling print genomes are introduced, removed, or otherwise changed.
- The ZeroMutations action does not work on update 0. It gets overridden by the configs. It also does not take effect immediately. Or rather, it immediately sets all mutation rates to zero -- but these can only take effect when the organism actually checks them; in many cases, this is only when an organism divides (see Mutations Settings. Technically you won't have a 0 mutation rate until all the currently-living organisms have been replaced.
- The default behavior of BIRTH_METHOD=3 (replace empty local cells) is to replace the parent if no cells are empty. (Generally, if you wish to allow only empty cells, you must also set ALLOW_PARENT to 0. However, this does not work for BIRTH_METHOD=3 yet.)
- The default behavior for what happens when demes divide (DEMES_DIVIDE_METHOD=0) is for both the source and target deme to be replaced.
- Selecting to leave the state of the mother untouched (DIVIDE_METHOD=0) in fact only leaves part of the mother's state untouched. Specifically, it leaves the pointers and register values intact. Almost everything else is reset, though.
- If you have a limited spatial resource with no diffusion that is inflowing on a part of the grid with no organisms (an empty deme for example), it's quantity of resource in the environment doesn't get reported, despite the rate of inflow. (AWC -- 3/29/12)
- When offspring are allocated, their genomes are initialized to be entirely nop-A instructions. As a result, the count of nop-A across all genomes does not actually reflect the frequency with which nop-A is being used, because it includes these placeholder nop-As from offspring that are in the process of being created.