dishtiny

distributed hierarchical transitions of individuality

  • The Channel Viewer shows the arrangement of hereditarily-defined resource-collecing cell groups.
  • Color saturation (e.g., light green vs. intense green ) differentiates low-level groups.
  • Color hue (e.g., light blue / intense blue vs. light purple / intense purple ) differentiates high-level groups, which are groups of low-level groups.
  • White borders divide low-level groups that are part of the same high-level group.
  • Black borders divide high-level groups.
th update
Channel
Resource Stockpile
Resource Sharing
Resource Flow
Reproduction
Apoptosis
Taxa
Resource Wave Level 0
1
Channel Generation Level 0
1
Expiration Level 0
1
Reproductive Pause Level 0
1
2
How many unique genotypes are there in the population?
How many steps long is the line of descent to extant cells?
How many unique root ancestors have extant offspring?
How updates have elapsed since the most recent common ancestor of all extant organisms?
How many cellular generations have elapsed?
How many channel generations have elapsed?
How many channel generations have elapsed?
          
COUNT:10 Fn-0 01101111011001100010100111010001: QueryStockpile 7 5 TestEqu 1 0 4 CopyMem 2 4 Fn-1 10100000000000110110110010010111: TestNEqu 1 2 0 SetRegulator 0 PauseRepr 4 Fn-2 10110110010111001001011100111111: PutMembraneBlocker 01011011100010101101010010111111 2 4 DuplicateReturn SenseRegulator 4 Pull 1 6 DuplicateDec 3 SetReproductionReserve 4 4 Fn-3 01011111100101110000001001101011: DoApoptosisComplete DuplicateInput 3 0 SendBigFracResource 0 1 Fn-4 00010000100011101010011110101010: QueryIsLive 7 0 DuplicateMod 1 1 3 DuplicateDiv 3 0 2 DuplicateTerminate UnsetHeir 8 DuplicateSetRegulator 1 Pull 3 3 BcstMsgExternal 01010101100100001101011111011001 Nop TestEqu 1 3 0 QueryChannelGen-Lev0 4 SendBigFracResource 1 3 SetMembraneRegulator 3 Fn-5 10101010011011111000101110010111: DuplicateNop QueryIsCellChild 3 2 DuplicateCommit 4 0 DuplicatePull 1 1 SetHeir 2 Pull 2 3 CopyMem 1 4 DuplicateIf 0 DuplicateInput 1 3 DuplicateOutput 1 7 SetStockpileReserve 4 3 Fn-6 01010010001001000001111010110111: TryReproduce-Lev1 1 Mult 4 0 1 SetCellAgeBooster-Lev0 6 2 0 QueryChannelGen-Lev0 1 Terminate TryReproduce-Lev1 4 DuplicateSenseOwnRegulator 4 DuplicatePull 4 4 SetGiveSharingFalse 1 2 1 SetRegulator 1 DuplicateAdjRegulator 1 3 Terminate TryReproduce-Lev1 4 DuplicateSenseOwnRegulator 1 DuplicatePull 4 4 SetGiveSharingFalse 5 2 1 SetRegulator 3 DuplicateAdjRegulator 1 3 SetStockpileReserve 0 0 Fn-7 00101010101110110010111100101001: Pull 2 3 DuplicateMult 0 4 3 PauseRepr-Lev1 2 SenseRegulator 3 QueryIsOlderThan 1 4 DuplicateExtRegulator 3 5 DuplicateCommit 3 1 Fn-8 01011000100101101001110001111010: DuplicateClose AdjMembraneRegulator 1 4 DuplicateRng 3 Break PutInternalMembraneBringer 00100101000011011111000110111100 7 0 TestNEqu 5 3 4 QueryIsPropaguleParent 0 4 Input 3 4 DuplicateInput 2 1 DuplicateIf 2 DuplicateSenseRegulator 3 Close DuplicateSenseRegulator 0 Fn-9 00011101010110000010100100110100: Terminal1 4 TryReproduce-Lev0 1 DuplicateOutput 3 2 SetCellAgeBooster-Lev1 3 2 2 DuplicateDec 4 Fn-10 01011100110000110001000111001011: DuplicateTerminate Fn-11 10110111011101111111011011001001: Sub 2 3 2 Fn-12 10101000010111100110011100100111: DuplicateMult 3 4 0 Fn-13 11111100100000110001000111001011: DuplicateTerminate Fn-14 00010000100011101010011110101010: QueryIsLive 7 0 PauseRepr-Lev1 1 DuplicateMod 1 1 3 DuplicateDiv 3 0 2 DuplicateTerminate UnsetHeir 8 DuplicateSetRegulator 1 Pull 3 3 BcstMsgExternal 01010101100100001111011111011001 Nop TestEqu 1 3 0 QueryChannelGen-Lev0 4 SendBigFracResource 0 3 SetMembraneRegulator 3 Fn-15 10101000010111100110011110100111: DuplicateMult 3 4 0
  • Hey! You can adjust any of these parameters right in your web browser using URL query parameters. For example, appending ?SEED=2&MUTATION_RATE=0.1 in your web browser's URL bar and refreshing will change the random number generator seed and mutation rate.
  • Do agents have function active sensors?
    What ratio of EVENT_RADIUS should the limit on cell age be?
    What fraction of REP_THRESH is recovered to heirs after apoptosis?
    Per-instruction/argument subsitution mutation rate.
    What amount of resource should be provided to cells at each update?
    Should channels have any effect in the instruction set and event triggers?
    How often to step the CPUs?
    Can environment signals trigger functions?
    How often to fire environmental trigger events?
    How many channel generations should resource collection be allowed after a cell's expires channel generation counter?
    Per-function rate of function deletion mutationss.
    Per-function rate of function duplication mutations.
    How often should we increase cell generation counters?
    How many tiles tall should the grid be?
    How many tiles wide should the grid be?
    How many hardware steps to run per update?
    Max call depth of a hardware unit.
    Max number of hardware cores; i.e., max number of simultaneous threads of execution hardware will support.
    Capacity of a cell's messaging inbox.
    Per-instruction deletion mutation rate.
    Per-instruction insertion mutation rate.
    Per-instruction/argument subsitution mutation rate.
    What is the minimum resource level required to stay alive?
    Should cell reproductions be targeted to neighbor cells?
    What percentage of offspring should experience mutations?
    Number of hierarchical resource levels.
    Maximum argument value for instructions.
    Maximum argument value for instructions.
    Used for mutating SGP programs. At most, how many functions can we have?
    Used for generating SGP programs. At most, how many functions do we generate?
    Used for mutating SGP programs. At most, for each function how many instructions can we have?
    Used for generating SGP programs. At most, for each function how many instructions do we generate?
    Minimum argument value for instructions.
    Minimum argument value for instructions.
    Used for mutating SGP programs. At least, how many functions can we have?
    Used for generating SGP programs. At least, how many functions do we generate?
    Used for mutating SGP programs. At least, for each function how many instructions can we have?
    Used for generating SGP programs. At least, for each function how many instructions do we generate?
    What percentage of propagule offspring should experience additional mutations?
    How more more resource than your target do you need to trample them?
    How much should replication cost?
    Should cells be able to use stockpiled resource to block incoming reproduction?
    How much resource should remain each update?
    What apoptosis rate should be applied to ID2 individuals?
    Random number generator seed.
    Per-function rate of slip mutations.
    How much resource should a cell start with?
    How often should the stochastic event fire?
    Per-bit mutation rate of tag bit flips.
    How many replicates of the wave system should operate concurrently?
  • Parameters below are locked in at compile time, so you can't adjust them here... :(
  • 6f79f47-dirty
    0ff7980-dirty
    Selector: Ranked Selector (ThreshRatio: 9/8) / Metric: 32-bit Symmetric Wrap Metric
  • Comments, questions, concerns? I started a twitter thread so we can chat!
  • You can also reach me at m.more500@gmail.com.
  • Find the C++ and HTML source on GitHub. MIT licensed, contributions welcome!
  • Data from and tutorials for the native version of the software is hosted on the Open Science Framework.
  • The Empirical C++ Library for efficient, reliable, and accessible scientific software is the secret sauce behind the web visualization and digital evolution framework.
  • Emscripten compiled it to javascript so it can run in your web browser.
  • Bootstrap makes it look pretty and play nice with mobile devices.
  • Charles Ofria, Emily Dolson, Alex Lalejini, Jake Fenton, Matthew Andres Moreno, Steven Jorgensen, … Anya Vostinar. (2019, February 22). Empirical (Version v0.0.3). Zenodo. http://doi.org/10.5281/zenodo.2575607
  • Smith, John Maynard, and Eors Szathmary. The major transitions in evolution. Oxford University Press, 1997.
  • Lalejini, Alexander, and Charles Ofria. "Evolving event-driven programs with SignalGP." Proceedings of the Genetic and Evolutionary Computation Conference. ACM, 2018.
  • Moreno, Matthew Andres, and Charles Ofria. "Toward open-ended fraternal transitions in individuality." Artificial life 25.2 (2019): 117-133.